2018年12月20日

摘要: 九 线程完全与锁优化 1 Java语言中的线程完全 线程安全:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。 按照线程安全的“安全程度”,可以将 阅读全文

posted @ 2018-12-20 16:43 zy学习专用 阅读(84) 评论(0) 推荐(0) 编辑


2018年12月19日

摘要: 八 Java内存模型与线程 1 Java内存模型 主要目标:定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 此处的变量和Java中的变量有所区别,它包括类字段、实例字段和构成数组对象的元素,但不包括局部变量和方法参数。 Java内存模型规定: · 所有的 阅读全文

posted @ 2018-12-19 22:22 zy学习专用 阅读(416) 评论(0) 推荐(0) 编辑

摘要: 七 晚期(运行期)优化 1 即时编译器(JIT编译器) 当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”,包括被多次调用的方法和被多次执行的循环体。 为了提高热点代码的执行效率,在运行时,虚拟机就会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化,完成这个任 阅读全文

posted @ 2018-12-19 15:23 zy学习专用 阅读(157) 评论(0) 推荐(0) 编辑

摘要: 六 早期(编译期)优化 1 “编译期”的含义 · 可能是指一个前端编译器把*.java文件转变成*.class文件的过程,前端编译器如:Sun的Javac、Eclipse JDT中的增量式编译器(ECJ); · 也可能是指虚拟机的后端运行期编译器(JIT编译器)把字节码转变成机器码的过程,JIT编译 阅读全文

posted @ 2018-12-19 09:31 zy学习专用 阅读(134) 评论(0) 推荐(0) 编辑


2018年12月18日

摘要: 五 虚拟机字节码执行引擎 1 运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素。 栈帧中存储了方法的局部变量表、操作数栈、动态连接、方法返回地址和一些附加信息。 每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机里面从入栈到出 阅读全文

posted @ 2018-12-18 17:41 zy学习专用 阅读(144) 评论(0) 推荐(0) 编辑


2018年12月17日

摘要: 四 虚拟机类加载机制 1 类加载机制 概念:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 Java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的。 类的生命周期包括:加载、验证、准备、解析、初始化、使用 阅读全文

posted @ 2018-12-17 17:06 zy学习专用 阅读(180) 评论(0) 推荐(0) 编辑


2018年12月16日

摘要: 三 类文件结构 1 Java虚拟机的两种中立特性 · 平台无关性 · 语言无关性 实现平台无关性和语言无关性的基础是虚拟机和字节码存储格式(Class文件)。 2 Class类文件的结构 Class文件是一组以8位字节为基础单位的二进制流,当遇到需要占用8位字节以上空间的数据项时,则会按照高位在前的 阅读全文

posted @ 2018-12-16 11:56 zy学习专用 阅读(95) 评论(0) 推荐(0) 编辑


2018年12月14日

摘要: 二 垃圾收集器与内存分配策略 1 JVM中哪些内存需要回收? JVM垃圾回收主要关注的是Java堆和方法区这两个区域;而程序计数器、虚拟机栈、本地方法栈这3个区域随线程而生,随线程而灭,随着方法结束或者线程结束内存自然跟随着回收了,因此不需要过多考虑内存分配和回收的问题。 2 判断对象是否存活的算法 阅读全文

posted @ 2018-12-14 14:43 zy学习专用 阅读(63) 评论(0) 推荐(0) 编辑


2018年12月13日

摘要: 一 Java内存区域与HotSpot虚拟机对象 1 Java技术体系、JDK、JRE? Java技术体系包括: · Java程序设计语言; · 各种硬件平台上的Java虚拟机; · Class文件格式; · Java API类库; · 来自商业机构或开源社区的第三方Java类库。 JDK,即Java 阅读全文

posted @ 2018-12-13 12:06 zy学习专用 阅读(80) 评论(0) 推荐(0) 编辑


2018年11月17日

摘要: 运行结果为: 阅读全文

posted @ 2018-11-17 22:36 zy学习专用 阅读(147) 评论(0) 推荐(0) 编辑


Copyright © 2024 zy学习专用
Powered by .NET 8.0 on Kubernetes