摘要: 在Java程序中,有时候可能需要推迟一些高开销的对象初始化操作,并且只有在使用这些对象时才进行初始化。此时程序员可能会采用延迟初始化。但要正确实现线程安全的延迟初始化需要一些技巧,否则很容易出现问题。比如,下面是非线程安全的延迟初始化对象的示例代码: 在UnsafeLazyInitializatio 阅读全文
posted @ 2017-01-07 18:06 又是火星人 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 系统调用(Syscall):Linux2.6之前是使用int0x80(中断)来实现系统调用的,在2.6之后的内核是使用sysentry/sysexit(32位机器)指令来实现的系统调用,这两条指令是CPU原生支持的是内核向上层库(是应用提供的接口)API的一个特例,也是从ring3到ring0的一种 阅读全文
posted @ 2017-01-07 15:12 又是火星人 阅读(560) 评论(0) 推荐(0) 编辑