3.1可见性 为了确保多个线程之间对内存写入的可见性,就必须使用同步机制 在没有同步的情况下,编译器、处理器以及运行时等都可能对操作的执行顺序进...
要编写线程安全的代码,核心在于对状态访问操作进行管理,特别是共享的(Shared)和可变的(Mutable)访问 对象的状态指存储在状态变量(实...
1.1并发简史 操作系统多进程出现的原因 资源利用率:一个程序等待某个外部操作的时候运行另一个程序 公平性:粗粒度的时间分片共享计算机资源 便利...
13.1概述 13.2线程安全 当多个线程访问一个对象的时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调...
12.1概述 衡量一个服务端的好坏,每秒事物处理数(Transactions Per second,TPS)是最重要的指标之一 12.2硬件的效...
11.1概述 为了提高热点代码的运行效率,在运行时,虚拟机会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任务的编译器称...
10.1概述 Java语言的“编译期”其实是个“不确定”的过程: 前端编译器:把Java文件编译成class文件,例如Sun的javac、Ecl...
9.1概述 在class文件格式和执行引擎这部分内容中,用户程序能直接影响的并不多,Class文件以何种形式存储,类型何时加载、如何连接,以及虚...
8.1概述 执行引擎:输入字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果 8.2运行时栈帧结构 栈帧是虚拟机用于方法调用和方法执行...