背景
最近在学习哈工大李治军老师的操作系统视频时,发现这个课程对汇编的要求挺高的,而我之前只在学习计组的时候接触过一些汇编的皮毛,所以只好边看视频边对不懂的汇编知识(或者一些计组知识)用google查找到相关知识之后学习一下,然后顺便把链接记录在这里,以后也可以回顾。
In me the tiger sniffs the rose
最近在学习哈工大李治军老师的操作系统视频时,发现这个课程对汇编的要求挺高的,而我之前只在学习计组的时候接触过一些汇编的皮毛,所以只好边看视频边对不懂的汇编知识(或者一些计组知识)用google查找到相关知识之后学习一下,然后顺便把链接记录在这里,以后也可以回顾。
8086 有14个16位寄存器,这14个寄存器按其用途可分为(1)通用寄存器、(2)指令指针、(3)标志寄存器和(4)段寄存器等4类。
关于Storm Window原理以及用法的Demo
这个问题本来没什么值得关注,但是强转如果发生溢出,结果会有些奇怪。加上我是在写协议的校验和函数时遇到这个问题的,相关的概念很容易让人头大
目前我已知的有Stack,LinkedList,ArrayDeque,他们都支持push和pop等栈的基本操作
Stack不推荐使用,因为它是比较古老的实现,线程安全,但性能较差,如果需要线程安全的版本可以用Collections类的方法对需要的集合包装
LinkedList是基于链表实现的,ArrayDeque是基于数组实现的,基于链表和数组的特点这里不展开讲,可以自己根据需要使用。
测试ArrayList和LinkedList性能的案例
传统的(NIO之前)监控多个socket的Java解决方案是为每个socket创建一个线程并使得线程可以在read( )调用中阻塞,直到数据可用。这事实上将每个被阻塞的线程当作了socket监控器,将Java虚拟机的线程调度当作了通知机制。这两者本来都不是为了这种目的而设计的。程序员和Java虚拟机都为管理所有这些线程的复杂性和性能损耗付出了代价,这在线程数量的增长失控时表现得更为突出。