《深入理解JVM》
#_
这个作者很懒,什么都没留下…
展开
-
自动内存管理机制-3.垃圾收集器与内存分配策略
目录1确定对象是否死亡1.1引用计数法1.2可达性分析算法1.3再谈引用1.4对象死亡过程与拯救1.5回收方法区2垃圾收集算法2.1标记-清除算法2.2复制算法(新生代)2.3标记整理算法(老年代)3HotSpot的算法实现3.1枚举根节点3.2安全点3.3安全区域4垃圾收集器4.1Serial收集器(新生代单线程)4.2ParN...原创 2019-04-26 17:47:26 · 210 阅读 · 0 评论 -
高效并发-12.Java内存模型与线程
目录1Java内存模型1.1主内存与工作内存1.2内存间交互操作1.3对于volatile型变量的特殊规则1.4对于long和double型变量的特殊规则1.5原子性、可见性与有序性1.6happens-before原则2Java与线程2.1线程的实现2.2Java线程调度2.3线程状态转换1Java内存模型1.1主内存与工作内存1....原创 2019-05-13 20:46:36 · 130 阅读 · 0 评论 -
程序编译与代码优化-11.晚期(运行期)优化
目录1概述2hotspot内的JIT2.1解释器与编译器2.2编译对象与触发条件2.3编译过程2.4查看及分析即时编译的结果3编译优化技术3.1优化技术概览3.2公共子表达式消除3.3数组边界检查消除3.3方法内联3.4逃逸分析1概述2hotspot内的JIT2.1解释器与编译器解释器:省去编译时间,启动迅速,节约内存编译...原创 2019-05-12 19:57:27 · 161 阅读 · 0 评论 -
程序编译与代码优化-10.早期(编译期)优化
目录1概述2Javac编译器2.1解析与填充符号表2.1.1词法、语法分析2.1.2填充符号表2.2注解处理器2.3语义分析与字节码生成2.3.1标注检查2.3.2数据及控制流分析2.3.3解语法糖2.3.4字节码生成(和)3Java语法糖3.1泛型与类型擦除3.2自动装箱、拆箱与遍历循环3.3条件编译4实战: 插入式注解处理器1...原创 2019-05-12 16:41:10 · 174 阅读 · 0 评论 -
高效并发-13.锁优化
目录1锁优化1.1自旋锁与自适应锁1.2锁消除和锁粗化1.3轻量级锁和偏向锁1.3.2轻量级锁1.3.3偏向锁1锁优化1.1自旋锁与自适应锁自旋锁:请求锁的线程不放弃处理器执行时间而是执行一个忙循环(自旋),避免挂起恢复线程的消耗。开启,默认开启JDK1.6引入自适应自旋锁,自旋次数不固定,由锁的状态(之前线程是否容易通过自旋获得锁)和前一次在锁上自旋的...原创 2019-05-14 20:52:46 · 168 阅读 · 0 评论 -
虚拟机执行子系统-双亲委派模型demo(含IO知识点)
自定义类加载器/** * 自定义类加载器 */class MyClassLoader extends ClassLoader { MyClassLoader() { super(); } MyClassLoader(ClassLoader parent) { super(parent); } @Overrid...原创 2019-05-09 20:34:49 · 153 阅读 · 0 评论 -
虚拟机执行子系统-8.虚拟机字节码执行引擎
目录1运行时栈帧结构1.1局部变量表1.1.1功能1.1.2 slot1.1.3 this1.2操作数栈1.3动态连接1.4方法返回地址(方法出口)2方法调用2.1解析2.2分派2.2.1静态分派(例如:重载)2.2.2动态分派(重写)2.2.3单分派与多分派2.2.4个人理解2.2.5虚拟机动态分派的实现2.3动态类型语言支持(...原创 2019-05-09 10:34:14 · 204 阅读 · 0 评论 -
虚拟机执行子系统-7.虚拟机类加载机制
目录1概述2类加载时机3类加载过程3.1加载3.2验证3.3准备3.4解析3.5初始化4类加载器4.1类与类加载器4.2双亲委派模型4.2.1类加载器种类4.2.2双亲委派模型4.2.3破坏双亲委派模型1概述2类加载时机虚拟机规范没有规定何时进行加载,但规定了有且只有5种情况立即初始化:3类加载...原创 2019-05-06 21:02:06 · 204 阅读 · 0 评论 -
虚拟机执行子系统-9.类加载及执行子系统的案例和实战
目录1概述2案例分析2.1Tomcat:正统的类加载架构2.2OSGI:灵活的类加载架构2.3字节码生成技术动态代理的实现1概述2案例分析2.1Tomcat:正统的类加载架构2.2OSGI:灵活的类加载架构没看懂2.3字节码生成技术动态代理的实现...原创 2019-05-09 14:42:57 · 171 阅读 · 0 评论 -
自动内存管理机制-2.Java内存区域与内存溢出异常
目录1运行时数据区域1.1程序计数器1.2Java虚拟机栈1.3本地方法栈1.4Java堆1.5方法区1.5.1运行时常量池1.6直接内存2HotSpot虚拟机对象探秘2.1对象的创建2.2对象的内存布局2.3对象的访问定位3实战:OutOfMemory异常3.1Java堆溢出3.2虚拟机栈和本地方法溢出3.3方法区和运行时常量池溢出...原创 2019-04-26 10:24:59 · 202 阅读 · 0 评论 -
1.走进java
1Java技术体系JDK:Java程序设计语言、开发工具、Java虚拟机、Java API类库JREJava虚拟机、Java API类库中的JavaSE API子集原创 2019-04-25 15:15:31 · 121 阅读 · 0 评论 -
虚拟机执行子系统-6.类文件结构
目录1无关性(平台、语言)2Class类文件结构2.1魔数与class文件版本2.2常量池2.3访问标志、类索引、父类索引、接口索引2.4字段表、方法表、属性表集合2.4.1字段表集合2.4.2方法表集合2.4.3属性表集合3字节码指令简介3.10同步指令1无关性(平台、语言)2Class类文件结构参考Class类文件的结构...原创 2019-04-30 08:46:11 · 248 阅读 · 0 评论 -
自动内存管理机制-5.调优案例分析
目录1案例分析1.1对外内存导致的溢出错误1.2Idea调优1案例分析1.1对外内存导致的溢出错误1.2Idea调优Intellj IDEA 启动参数调优原创 2019-04-29 20:43:39 · 139 阅读 · 0 评论 -
自动内存管理机制-4.虚拟机性能监控与故障处理工具
目录1概述2JDK的命令行工具2.1jps(JVM Process Status Tool):虚拟机进程状况工具2.2jstat(JVM Statistics Monitoring Tool):虚拟机统计信息监视工具2.3jinfo(Configuration Info for Java) :Java配置信息工具2.4jmap:Java内存映像工具2.5jhat:虚拟机...原创 2019-04-28 20:50:57 · 178 阅读 · 0 评论 -
14.JVM参数设置
JVM系列三:JVM参数设置、分析转载 2019-07-30 15:07:22 · 97 阅读 · 0 评论