java基础
Math
12345678public static double pow(double a, double b); // 计算a^b 注意返回值是doublepublic static long round(double a); // 四舍五入 注意返回值是longpublic static double random(); // 返回[0,1) 的随机小数public static double sqrt(double a); // 计算根号a, 注意返回值public static double log(double a) ; // 计算log以e为底 a 的值public static double log10(double a); // 以10为底
数组
初始化
1234567891011int[] nums = new int[10];int[] nums = new int[]{1,3,4};// int[] nums = new int[3]{1,3,4} 这种是不行的哦,不能指定长度又赋值int[] nums = { ...
任务清单
想干/学的事情
有想法的日期
开始的日期
做完的日期
正则表达式
2022/12/5
2023/2/17
2023/2/18
PlantUML
2022/12/10
2022/12/28
java基础
2022/12/18
2022/12/19
51单片机
2023/1/4
2023/1/4
电路原理
2023/2/11
2023/2/11
计算机组成原理
2023/2/11
spring/springboot
2023/2/18
test
计算机网络
前言
这个是跟哔哩哔哩湖科大教书匠的视频做的笔记,以及自己的思考与总结
什么是计算机网络
计算机网络是由通信介质将地理位置不同的且相互独立的计算机连接起来,实现数据通信与资源共享。
个人觉得,计算机网络就是实现如何将数据可靠,快速的从一个设备传输到另一个设备
专用术语
实体
实体是指任何可发送或接受信息的硬件或者软件
对等实体是指位于同一个层次的实体
协议
协议是控制两个对等实体进行逻辑通信的规则的集合
三个要素:
语法:定义交换信息的格式(头部)
语义:通信双方需要完成的操作(报文)
同步:定义收发双方的时序关系(tcp建立连接的过程)
服务
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
协议是水平的,服务是垂直的
每层之间的数据类型:传输层的报文,网络层的分组,数据链路层的帧,物理层的比特流
计算机网络体系结构
体系结构的作用:
分层
每一层必须要完成的功能
每一层使用的协议(TCP/IP体系结构)
分层的必要性
计算机网络是个非常复杂的系统,分层可以将庞大而复杂的问题,转化为若干个较小的局部问题,而这些较小的局部问题比较容易研究和处理
两个设 ...
单词本
word
ref
stack
dose
notion
formula
bubble
faculty
harnerss
k8s网络基础
文章一
基础知识
向外发送一个数据包
查找目的地址的路由信息,如果是直连路由,则在邻居表中找到他的Mac地址,然后把数据包直接发给他
如果不是直连路由,则在邻居表中找默认路由的Mac地址,把数据包发给默认路由对应的设备
如果找不到路由信息,那么就是不可达
如果邻居表中找不到Mac地址,就发起ARP请求询问
发出去的数据帧,Mac地址一直在变,但是只要不经历nat(snat和dnat),那么ip地址是全程不会变的
接收到一个数据包
如果数据帧的目标Mac地址不是自己的Mac地址,而且也不是广播Mac地址(ff:ff:ff:ff),且网卡没有开启混杂模式,则拒绝收包,混杂模式就是所有的帧我都接受
如果是目标地址是广播Mac地址,那就进入ARP请求处理
如果目标Mac地址就是自己的Mac地址,也要分几种情况讨论
目标ip地址是本机,则上送到上一层协议继续处理
如果目标ip不在本机,如果开启了路由转发,则转发这个分组,否则就丢弃这个分组
对于一台linux主机来说,影响网络方面的配置主要有以下几个:
网卡,网卡的配置,ip地址啊,是否开启,也可以虚拟出一张网卡
端口: 1-6 ...
go总结
环境搭建
Go设置国内镜像源
1go env -w GOPROXY=https://goproxy.cn,direct
基础教程
go.mod 是用来管理我们引入模块的信息,里面记录了我们当前模块的模块名,以及需要的模块的信息
go mod init 名字 用来创建一个模块
go mod tydy 加载模块(本地,或者远程)
init 函数会最先执行,早于main函数
go中**{**不能单独一行
一行代表一个语句结束,如果要多个语句写一起,就必须使用;分隔,但是并不推荐这样做
数据类型
注意一下不同的数据类型就行了
int 这个和c语言不同哦,c语言是int ,不过使用起来是一样的,只是声明的时候不同
函数类型 声明的时候,是可以直接用变量接收一个函数的哦
变量声明方式
方式1 var 名字1,名字2 … type (没有赋值,默认值代替)
方式二 var 名字1,名字2 类型 = 值1,值2 (值类型必须一致
方式三 var 名字 1,名字2= 值1,值2 (根据类型推断)
方式四(局部变量才可以用) 名字1,名字2:=值 相当于 var 名字1 type,va ...
thinking in java
第一章 对象入门
拟出一个计划
首先我们应该要明白我们的程序需要做什么,而不是考虑程序要怎么做,我们应该将重心放到这一阶段的核心问题上,不要纠结与一些细枝末节,同时也不要过分在意系统的**“完美”**,否则容易产生挫败感和焦虑情绪
对自己的系统做一些**“名词"和"动词”**的描述,名词成为自然对象,动词成为对象接口中的方法
根据自己的经验与直觉,对一个项目进行日程估计,然后在这个时间上再加上百分之十,如果按时完成了,那么这个百分之十的时间,可以用来完善项目
java的包名命名规范一般是域名倒着来,首先,我们是想包名唯一,正好域名是唯一的,但是域名后两个是固定的,前面又可以随便变化,所以域名符合要求,而且我们为了方便管理,还要把域名倒过来才行,假如我有个域名 djm.com 那么 ww.djm.com,abc.djm.com 不都是我的子域名么,如果正着来,不好管理啊,反着来,前面都一样,好管理
@Override 是重写 发生在子父类之间(同名,同参数,而且子类访问权限不能小于父亲,子类异常也要是父类的异常的子类)
@Overload 是重载 发生在本类中 ...
无题
什么是docker
Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术(虚拟机是属于软件层面的虚拟化技术)。由于隔离的进程独立于宿主和其它的隔离的进程(既然是一个进程,当然能够直接使用系统资源),因此也称其为容器
以下所有操作均在CentOS Linux release 7.6.1810 (Core)中进行,仅供参考哦,不同版本可能会有区别
为什么要用docker
传统的虚拟技术是利用软件虚拟出一套硬件环境,而且还需要再跑一个操作系统,所以无论执行速度,内存损耗,文件存储,都比传统的虚拟技术,而且一套dockerfile可以保证相同的环境,一次创建,到处可以运行,Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单,因此docker有以下几个优势
更高效的利用系统资源
更快的启动速度
一致运行环境
更轻 ...
hexo搭建
前言
我觉得hexo是一个非常不错的博客系统,非常轻量,非常适合程序员,我用过WordPress,我感觉它使用起来比较笨重,功能比较多,容易迷失自我,最最最让我受不了的是,你必须在那上面写文章,这是我最不能接受的(我不知道有没有什么可以改进的,至少我不知道)
安装nodejs
可以参考我的另一篇文章
安装git
这个比较简单,自行百度即可
安装hexo
1234# 全局安装hexo包npm install -g hexo-cli# 检查安装是否成功hexo -v
搭建博客
初始化博客
注意,这里是去GitHub克隆仓库,所以最好是能翻墙
12# 来到一个空目录,用来存放博客hexo init
成功后会产生上面文件
然后执行
12# 启动博客hexo s
访问后就能看到自己的博客了
博客文件解释
scaffolds
用来存放模板文件,比如文章的Front-matter内容,每次都会使用这里面的模板填充
source
用来存放文章,资源,标签,分类…这些东西的
_config.yml
用于配置网站信息的
package.json
用来存放下载的包,或者是插件这些
themes
...
51单片机学习总结
前言
我是跟着B站江科大自化协学习并且总结
学习资料: https://pan.baidu.com/s/1vDTN2o8ffvczzNQGfyjHng 提取码:gdzf,链接里压缩包的解压密码:51
前期准备
硬件
一台51单片机(stc89c52)
软件安装
这些软件都在学习资料里面安装
Keil5
功能
用来编写程序
安装
来到这个目录下(相对路径),点击这个exe文件然后安装好程序
然后点击下面这个安装包,点击里面的应用程序破解
STC-ISP
直接双击运行
用来将程序烧进单片机
驱动程序
运行这个程序安装驱动
单片机介绍
单片机可不止是一个CPU,它包含了CPU,可以算一台小型计算机了
因为英特尔开发了8051单片机内核,所以是8051内核的单片机都称为51单片机(8位)
keil5新建工程
点击project,然后选择新建一个工程
选择好路径后
搜索这个东西,选择好后点击OK
是和否都可以
烧录程序
我这里要选择STC89C52RC
然后打开程序找到hex文件
然后点下载/编程,然后重新开关单片机电源
点亮第一个LED灯
查看LED模块的 ...