计算机网络
未读数据在五层网络中的传输https://mp.weixin.qq.com/s?__biz=Mzg2NzA4MTkxNQ==&mid=2247485105&idx=1&sn=c045b7599c1637776dd89890cac5a9b5&chksm=ce404d65f937c4736257f0795a0243a5cbe3526d88013074277fa2f44fa809e76f0330796bee&scene=21#wechat_redirect
五层网络模型中,自底向上的讲解一台计算机是如何找到另外一台计算机并且把数据发送给另一台计算机的。
1.物理层计算机之间要进行通信,第一件事当然是通过光纤,电缆,双绞线等介质把计算机互相连接起来。物理层就是负责把两台计算机连起来,然后在计算机之间通过高低电频来传送0,1这样的电信号。
2.数据链路层 传输的叫帧物理层传输的0,1电信号如果毫无规则的话,计算机是解读不了的。因此我们需要制定一套规则来进行0,1的传送。例如多少个电信号为一组啊,每一组信号应该如何标识等等。于是,有了以太网协议。
(1).以太网 ...
计算机网络
未读对称加密技术原理:文件加密和解密使用相同的密钥特点:使用起来简单快捷,密钥较短,加密效率高。
对称加密算法存在几个问题:1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥。3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份。4、对称加密是基于共同保守秘密来实现的,如果一方泄露那么加密信息也就不安全了。常用算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK
非对称加密技术原理:对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey)。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
特点:算法强度复杂,速度远低于对称加密,安全性高。使用过程:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能 ...
计算机网络
未读子网掩码子网掩码它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
计算方式根据子网数:如欲将B类IP地址168.195.0.0划分成27个子网:
1231)27=11011 2)该二进制为五位数,N=5 3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0即为划分成27个子网的B类IP地址 168.195.0.0的子网掩码(实际上是划成了32-2=30个子网)。
根据主机数如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
123451) 700=1010111100 2)该二进制为十位数,N=10 3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255 然后再从后向前将后10位置0,即为:11111111.11111111.11111100.00000000即25 ...
Ruby 入门随笔变量全局变量定义:在变量名前加"$"
例如:
1$testString = "23333"
类成员123456class test #静态变量(类变量) @@A #普通类成员 @Bend
静态变量(类变量)定义:在变量名前加"@@"
普通类成员定义:在变量名前加"@"
访问类中的变量为变量设置getter方法 123def At @@Aend
这样一来就可以通过 $变量名.At 来调用@@A
通过attr_accessor为指定的属性创建 12345class test @@A @B attr_accessor :A,:Bend
等价于
123456class test @@A @B attr_reader :A,:B attr_writer :A,:Bend
与
1234567891011121314151617class test @@A @B def A @@A ...
计算机语言
未读shell 入门随笔判断1234567if [ command1 ];then codeelif [ command2 ];then codeelse codefi
循环for循环12345678910for 变量 in 列表do codedonefor ((i=0;i<n;i++))do codedone
while循环1234while [ command ]do codedone
文件读取12345cat 文件path | while read -r linedo#在这里line的最后一行有/r换行符,需要用sed过滤掉 newline = $(echo $line | sed 's/\r//')done
注:在声明变量时,变量名与值之间,等于与值之间不能有空格
不要使用rm -rf ./* 这种指令,如果目录不对非常危险,可以先cd..退出目录 ,再rm -rf ./文件夹名/
ArrayList和linkedListhttps://www.cnblogs.com/lingshang/p/10897912.html
List是一个接口,不可以实例化。List有两个重要的实现类:ArrayList和LinkedList
ArrayListArrayList: 可以看作是能够自动增长容量的数组(感觉跟C++STL中的Vector很像也是一个动态数组)ArrayList的toArray方法返回一个数组
ArrayList的asList方法返回一个列表
ArrayList底层的实现是Array, 数组扩容实现
LinkListLinkList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.当然,这些对比都是指数据量很大或者操作很频繁。
链表不需要连续的空间, 大小不确定
扩容机制,源码分析等继续参考https://www.cnblogs.com/lingshang/p/10897912.html
IDEA连接mysql-Server returns invalid timezone. Go to Advanced tab and set serverTimezone prope ‘serverTimezone’ prope 没有设置时区并且没有配置mysql匹配的驱动
https://blog.csdn.net/liuqiker/article/details/102455077
计算机语言
未读java的三种随机数生成方式完全取自这篇大佬文章:https://www.cnblogs.com/blogxjc/p/9687297.html
随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:
第一种: new Random()第一种需要借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random()和Random(long seed)。第一个就是以当前时间为默认种子,第二个是以指定的种子值进行。产生之后,借助不同的语句产生不同类型的数。
种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。以代码为例。
123456789public static void main(String[] args){ Random r = new Random(1); for(int i=0 ; i<5 ; i++) { int ran1 = r.ne ...
计算机语言
未读常用注解取自B站视频:https://www.bilibili.com/video/BV19K4y1L7MT?p=12&spm_id_from=pageDriver
@Configuration 与 @Bean123456789101112@Configurationpublic class test{ @Bean public User user1(){ return new User("滑稽","18"); } @Bean("tom") public Pet cat(){ return new Pet("tomcat"); }}
@Configuration告诉Springboot这是一个配置类,其作用相当于配置文件
@Configuration(proxyBeanMethods = true)
外部无论对配置类中的这个组件注册方法调用多少次获取的都是之前注册容器中的单实 ...
英语考研规划题型重点把握:阅读和作文
客观题完形填空20*0.5=10要求: 带入符合语境,意思
阅读理解20*2=40发力点在于逻辑关系
1.正向(没有转折句):子的总体趋势相通,都在说一件事【2011-2】The decision to quit a senior position to look for a better one is unconventional. For years executives and headhunters have adhered to the rule that the most attractive CEO candidates are the ones who must be poached. Says Korn/Ferry senior partner Dennis Carey: “I can’t think of a single search I’ve done where a board has not instructed me to look at sitting CEOs first.”28 . ...
参考自官方的博客:https://blog.nowcoder.net/n/699c671bf3e24676a6df403f68686d73
题目题面有一个 n 个数的数组,代表 n 栋建筑,有如下两种操作:
修改:区间 l 到 r 内的建筑增高 k(正整数)
查询:对于某个位置 x,求 y 的数目( y \gt xy>x ,且对于位置 y ,位置 x 到位置 y 的这段区间的最小值是位置 y 的值)
Input第一行两个数字 n 和 m , 表示数字个数和操作个数第二行 n 个数字,表示建筑高度后面 m 行指令:c l r k或者:q x数据范围: 1≤n,m≤2×10^5,1≤l,r≤n1≤x≤n,1≤k≤10^4
Output对于每个查询,输出答案,每个答案一行
ExamplesInput12345675 51 2 3 4 3q 3c 1 3 3q 2c 5 5 4q 5
Output123120
思路思路就是线段树,但是要对val,在l与r区间内能组成下降数列的数不断进行更新(感觉有点像dp了。。。)直接用线段树的话就会超时(还是太菜了)题目中y的数量实际上就是从 ...
参考自大佬的博客:https://blog.csdn.net/gg_gogoing/article/details/38753567
题目题面一个岛上有神与恶魔两个种族,神会说真话,恶魔会说假话。已知神与恶魔的个数,但不知道具体个人是属于哪个。
n,x,y
这个人问n次 ,x为神的个数,y为恶魔的个数。
每次的问题为 xi,yi,a 问xi ,yi是否为神? a为yes/no。注意xi,yi可能为同一个人
若最终可得出哪些是神则从小到大输出神的编号,并最终输出end
否则输出no
Input输入格式如下:
1234567n p1 p2 xl yl a1 x2 y2 a2 ... xi yi ai ... xn yn an
第一行有三个非负整数 n, p1, 和 p2. n 是 Akira 问的问题数. p1 和 p2 是在传说中记载的神族和恶魔族的人口数量。下面的每 n 行包括两个整数xi, yi和一个单词 ai。 xi 和 yi 是每个人的编号,号码范围从 1 到 p1 + p2。 ai 可能是 yes 或者 no。如果居民 xi 想让你认为 yi 是神族,他会回答 ...









