BIO (block io) 同步阻塞IO
线程池:伪异步IO,实际上也是同步阻塞IO
NIO(同步非阻塞)
selector会主动轮询,与客户端建立通信(channel)
每一个server会有一个selector
AIO(异步非阻塞)
当客户端通知我(回调),我再去连接
单线程模式:所有的IO操作都由同一个NIO线程处理
主线程组,从单线程模型
主从线程组模型,具有一个主线程族和从线程组,主线程组去建立channel,从线程组会去进行处理
java跨平台 实现java跨平台只需要在相应的平台安装对应的虚拟机,我们就可以使用统一的接口进行开发。
java通过不同的系统,不同的版本,不同的位数,来屏蔽不同的系统指令集的差异,对外提供统一的接口
java中int数据占几个字节 java中有几种基本数据类型?8种
基本类型:byte 二进制位数:8 包装类:java.lang.Byte 最小值:Byte.MIN_VALUE=-128 最大值:Byte.MAX_VALUE=127 基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 最大值:Short.MAX_VALUE=32767 基本类 …
pattern:斑图
是一种构型,是一种系统,不关心是使用的什么物质去实现
把各种方法论抽取出来
complexity:复杂性科学
按照复杂性思维去设计虚拟世界
仿真 层次 初始条件的影响 时间之箭? 因果箭头 movie:黑客帝国,盗梦空间,时间之箭,超体,蝴蝶效应,前目的地
book:失控
我们需要对抗的是复杂系统
根据用户去决定复杂系统
设计的系统? 涌现的系统?
区块链:ai,算法管理社会
奇点,技术奇点
TCP的三次握手和四次挥手
三次握手: 为什么需要三次握手? 客户端:我可以发东西给你(确保客户端的发送能力) 服务器:我可以收到,你能收到么?(确保服务器的接受和发送) 客户端:我能收到!(确保能收到)
连接建立!
如果是四次握手? 没必要啊,第三次已经确认可以收到消息了
如果是两次握手? 当网络阻塞时,客户端会发送两次,第一次请求到达服务器的时间慢于第二次 如果当时通信结束,服务器又收到了第一次阻塞的消息,如果是两次握手,就会分配资源 然而客户端已经完成了通信,不需要再连接了,会造成资源的浪费和安全隐患
四次挥手: 客户端:我说完了,我想停止发送请求了 服务器:我知道你要停止发送了,我会停止接受消息 ( 服务器停止接受消息,但是 …
rust学习 所有权
Rust 的核心功能(之一)是 所有权(ownership)。虽然该功能很容易解释,但它对语言的其他部分有着深刻的影响。
所有运行的程序都必须管理其使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时不断地寻找不再使用的内存;在另一些语言中,程序员必须亲自分配和释放内存。Rust 则选择了第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查。在运行时,所有权系统的任何功能都不会减慢程序。(其他的GC会不断运行来寻找垃圾)
因为所有权对很多程序员来说都是一个新概念,需要一些时间来适应。好消息是随着你对 Rust 和所有权系统的规则越来越有经验,你就越能自然地编写出安全和高效的代 …