摘要:
线程安全 当多个线程访问一个对象时,如果不考虑这些线程在运行环境下的调度和交替执行,也不需要进行额外的同步,或者在调用地方进行额外的协调操作,调用这个对象的行为都可以获得正确的结果,那么这个对象是线程安全的。 Java的线程安全 各种操作共享的数据分类5类: 线程安全的实现方法 互斥同步 互斥是实现 阅读全文
摘要:
硬件效率与一致性 处理器需要与内存交互,但处理器运算速度与对内存的I/O操作速度相差几个数量级,因此现代操作系统不得不加入尽可能接近处理器运算速度的高速缓存来作为内存与处理器之前的缓冲。这样处理器就不用等待缓慢的内存读写。 Java内存模型 主存与工作内存 Java内存模型的主要目的是定义程序中各个 阅读全文
摘要:
概述 虚拟机类加载机制:把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 类型的加载、连接和初始化过程都是在程序运行期间完成的。 类加载的时机 类从被加载到虚拟机内存中开始到卸载出虚拟机内存为止,生命周期包括:加载、验证、准备 阅读全文
摘要:
Java虚拟机不和包括Java在内的任何语言绑定,它只与Class文件这种特定的二进制文件格式所关联。 Class类文件结构 任何一个Class文件都对应着一个唯一一个类或接口的定义信息。但反过来说,类或接口不一定都得定义在文件里(可通过类加载器直接生成)。 Class文件是一组以8位字节为基础单位 阅读全文
摘要:
对象存活判定算法、垃圾收集算法、垃圾收集器、内存分配与回收策略 阅读全文
摘要:
运行时数据区域、Java堆的内存分配 阅读全文
摘要:
包含Java技术体系和编译OpenJDK8的具体过程 阅读全文