07 2017 档案
摘要:等待方遵循的原则: 获取对象的锁,不满足条件就调用wait()方法,条件满足继续执行 通知方原则: 获取对象的锁,改变条件,然后notify 每个对象都有一个监视器锁,这个监视器锁的数据结构如下: wait()/notify()方法定义在Object类中。如果线程要调用对象的wait()方法,必须首
阅读全文
摘要:每个对象都有一个锁(Monitor,监视器锁),class对象也有锁,如果synchronized关键字修饰同步代码块,通过反编译可以看到,其实是有个monitorenter和monitorexit指令,也就是说,某个线程必须首先获得该对象的监视器锁,才能进入同步代码块,如果此时其它线程也去获取该对
阅读全文
摘要:操作系统内核是至高无尚的内功心法,只有掌握了内功,学习其他的武功才会轻而易举。 现在我们来谈谈java。JVM其实是操作系统中运行的进程,JVM有操作系统进程的所有共性,但是它却不是一个普通的进程,它有它特殊的地方,它将许多本来属于操作系统管理范畴的东西,移植到了JVM内部,减少系统调用的开销。 1
阅读全文
摘要:如果说操作系统是一辆车,那么操作系统内核就是发动机。操作系统内核是操作系统最核心的部分,负责调度cpu资源,管理进程和内存等。用户应用程序不能直接操作硬件,而是需要通过内核这个中间层,由内核真正的操纵硬件资源(硬件驱动程序也属于内核当中)。 操作系统内核的体系结构: Linux中每一个进程都依赖一个
阅读全文
摘要:操作系统中同时运行着多个进程,如何管理和调度这些进程,以合理利用系统资源,提高系统吞吐量呢? 进程是由操作系统内核创建的,每一个进程都分配得有4G的寻址空间(在32位操作系统中,一个指针长度是 4 字节,而 4 字节指针的寻址能力是从 0x00000000~0xFFFFFFFF ,最大值 0xFFF
阅读全文
摘要:计算机中的缓存大小是有限的,如果对所有数据都缓存,肯定是不现实的,所以需要有一种淘汰机制,用于将一些暂时没有用的数据给淘汰掉,以换入新鲜的数据进来,这样可以提高缓存的命中率,减少磁盘访问的次数。 LRU(Least Recently Used 最近最少使用)算法有两种策略(均以队列的方式实现),一种
阅读全文
摘要:TCP报文段格式图: 序号:seq序号,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 确认号:ack序号,只有ACK标志位为1时,确认序号字段才有效,Ack=seq+1。 标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等. ACK:确认序号有效。 SYN
阅读全文

浙公网安备 33010602011771号