JAVA从入门到进阶3
常见的七种查找算法基本查找说明:顺序查找适合于存储结构为数组或者链表。
基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线的一端开始,顺序扫描,依次将遍历到的结点与要查找的值相比较,若相等则表示查找成功;若遍历结束仍没有找到相同的,表示查找失败。
示例代码:
1234567891011121314151617181920212223242526272829303132public class A01_BasicSearchDemo1 { public static void main(String[] args) { //基本查找/顺序查找 //核心: //从0索引开始挨个往后查找 //需求:定义一个方法利用基本查找,查询某个元素是否存在 //数据如下:{131, 127, 147, 81, 103, 23, 7, 79} int[] arr = {131, 127, 147, 81, 103, 23, 7, 79}; ...
Node.js入门指南:从零开始构建高性能的Web应用
Buffer(缓冲器)
概念Buffer 是一个类似于数组的 对象 ,用于表示固定长度的字节序列Buffer 本质是一段内存空间,专门用来处理 二进制数据
特点
1. Buffer 大小固定且无法调整
2. Buffer 性能较好,可以直接对计算机内存进行操作
3. 每个元素的大小为 1 字节(byte)
使用
Node.js 中创建 Buffer 的方式主要如下几种:
Buffer.alloc
12//创建了一个长度为 10 字节的 Buffer,相当于申请了 10 字节的内存空间,每个字节的值为 0let buf_1 = Buffer.alloc(10); // 结果为 <Buffer 00 00 00 00 00 00 00 00 00 00>
Buffer.allocUnsafe
12//创建了一个长度为 10 字节的 Buffer,buffer 中可能存在旧的数据, 可能会影响执行结果,所以叫unsafelet buf_2 = Buffer.allocUnsafe(10);
Buffer.from
1234//通过字符串创建 Bufferle ...
谈谈计算机网络技术
定义和特点网络
网络是一个统称,泛指把人或物连接起来的网络
定义
计算机网络是用通信线路将分散在不同地点并具有独立功能的多个计算机系统相互连接,按照网络协议进行数据通信,实现共享资源的计算机之集合。
要点:计算机是独立,在协议的支持下进行工作,目的是实现资源共享,互联的手段是多种多样的(无线或有线)
计算机网络的精准定义未被统一,书本的定义是:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特殊目的。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用
功能
实现资源共享
提高系统的可靠性和可用性
特点
连通性
共享
组成
由核心和边缘部分组成
边缘部分
由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享
端系统间的两种连接方式:
客户-服务器方式(C/S),客户是服务请求方,服务器是服务提供方
客户程序:
被用户调用后运行,在通信时主动向服务器发起通信,所以客户程序必须知道服务器程序的地址
不需要很复杂的操作系统
服务器程序:
专门用来提供某种服务的程序,可以同时 ...
JAVA从入门到进阶2
Math类概述Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。
Math类包含执行基本数字运算的方法,我们可以使用Math类完成基本的数学运算。
Math类中的方法都是静态的,因此在使用的时候我们可以直接通过类名去调用。
常见方法Math的常见方法如下所示:
12345678public static int abs(int a) // 返回参数的绝对值public static double ceil(double a) // 返回大于或等于参数的最小整数public static double floor(double a) // 返回小于或等于参数的最大整数public static int round(float a) // 按照四舍五入返回最接近参数的int类型的值public static int max(int a,int b) // 获取两个int值中的较大值public static int min(int a,int b) // 获取两个int值中的 ...
AI智能车方向的认识
说说这里是学习部分知识的记录
总线370电机介绍
电源:总线接口既是通信接口又是电源输入接口,输入电源范围 DC:6-12V
通信接口和电源接口共用一个接口,其中 VCC/GND 表示电源引脚,DATA 是信号引脚
【工作灯】:输入电源正常工作时,指示灯 1S 闪烁一次即为正产,常亮或者常灭均有问题,需立即拔下电源检查问题所在。【转向灯】:当一个灯亮起时的转动定义正向转动时,另一个灯亮起即表示反向转动。
B (测速信号)``CH1 (驱动信号)``CH2 (驱动信号)``A (测速信号)
麦克纳姆轮控制原理
1234567891011121314151617181920212223242526272829303132''' 通过串口发送指令控制电机的转速,时间 参数: speed_l1---左前轮 speed_r1---右前轮 speed_l2---左后轮 speed_r2---右后轮 (-1000~1000)负值后退,正值前进,绝对值越大转速越高。 time 代表车轮转动时间,0 代表一直转动,1 ...
Ubuntu 22.04 桌面美化Mac风格
前言Ubuntu默认的桌面也是一个不错的样式,但千篇一律的主题很容易让人疲惫。本文描述了如何通过安装 gnome 桌面主题和动画,使桌面趋向于 Mac 的样式。
美化后的样式如下,请参考:
安装 tweaks
打开终端,执行更新命令
1sudo apt update && sudo apt upgrade
安装美化插件扩展支持
1sudo apt install gnome-tweaks gnome-shell-extensions -y
安装完成后在应用中可以搜索到一个名为(tweaks/优化)的应用。或者终端输入
1gnome-tweaks
安装主题
主题 Github 地址:https://github.com/vinceliuice/WhiteSur-gtk-theme
使用 git 命令 将主题内容同步到本地。(git的安装本文不赘述,也可在Github直接下载主题)
1git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git
下载完成后进入主题目录
1cd ...
Docker
什么是Docker在计算机中,虚拟化(英语: Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件对资源充分利用虚拟化技术种类很多,例如: 软件虚拟化硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。
Docker是一个开源项目,项目代码在GitHub(https://github.com/docker/docker) 上进行维护。
Docker是一个客户端服务器(C/S) 架构程序。Docker客户端只需要向Docker服务器或者守护进程发出请求服务器或者守护进程将完成所有工作并返回结果。Docker提供了一个命令行工具Docker以及一整套 ...
Web3.0 DeFi项目实战教程
Web3.0-dapp开发初识web3.0
认识区块链什么是区块链
网络
数据库
计算机
区块链的应用
众筹行为
公证书
供应链
股权证
以太坊介绍
以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。
以太坊的概念首次在2013至2014年间由程序员Vitalik Buterin受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在2014年通过ICO众筹开始得以发展。
截至2018年2月,以太币是市值第二高的加密货币,仅次于比特币。
哈希算法(Hash Function)将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。
构成哈希算法的条件:
从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)
对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同;
散列冲突的概 ...
JAVA从入门到进阶1
数据类型类型Java语言数据类型的分类
基本数据类型
引用数据类型
基本数据类型的四类八种
数据类型
关键字
内存占用
取值范围
整数
byte
1
负的2的7次方 ~ 2的7次方-1(-128~127)
short
2
负的2的15次方 ~ 2的15次方-1(-32768~32767)
int
4
负的2的31次方 ~ 2的31次方-1
long
8
负的2的63次方 ~ 2的63次方-1
浮点数
float
4
1.401298e-45 ~ 3.402823e+38
double
8
4.9000000e-324 ~ 1.797693e+308
字符
char
2
0-65535
布尔
boolean
1
true,false
整数类型和小数类型的取值范围大小关系:
double > float > long > int > short > byte
键盘录入12345678910111213// 导包,其实就是先找到Scanner这个类在哪import java.util.Scanner;pub ...
ROS移动机器人
移动机器人的组成部分
执行机构:人体的手和脚,完成具体动作的执行。驱动系统:人体的肌肉和骨骼,是整个身体运动的动力来源。传感系统:人体的感官和神经,主要完成信号的输入和反馈,包括内部传感系统和外部传感系统。控制系统:人体的大脑,实现任务及信息的处理,输出控制命令信号。
运动模式:四轮差速型,履带,麦克纳姆轮横移,四轮阿克曼
高效入门ROS的学习工具ROS2GO随身系统
深入学习参考https://class.guyuehome.com/
安装教程鱼香ros一键安装
1wget http://fishros.com/install -O fishros && . fishros