博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深入理解Java虚拟机
阅读量:5236 次
发布时间:2019-06-14

本文共 691 字,大约阅读时间需要 2 分钟。

第一部分 走进Java

1 走进Java
第二部分 自动内存管理机制
2 Java内存区域与内存溢出异常
运行时数据区域
程序计数器
Java虚拟机栈
本地方法栈
Java堆
方法区

HotSpot虚拟机在Java堆中对象分配、布局、访问的过程

对象的创建
对象的内存布局 对象头 实例数据 对齐填充
对象的访问定位 句柄 直接指针

OutOfMemoryError异常

3 垃圾收集器与内存分配策略

哪些内存需要回收
什么时候回收
如何回收

确定对象不可能再被任何途径使用

引用计数算法
可达性分析算法
强软弱虚四种引用类型
finalize()

垃圾收集算法

标记清除算法
复制算法
标记整理算法

垃圾收集器

4 虚拟机性能监控与故障处理工具

5 调优案例分析和实战
第三部分 虚拟机执行子系统
6 类文件结构
7 虚拟机类加载机制

类加载过程

加载 验证 准备 解析 初始化

类加载器

双亲委派模型
启动类加载器 扩展类加载器 应用程序类加载器
如果一个类加载器收到了类加载的请求 它首先不会自己去加载这个类
而是把这个请求委派给父类加载器去完成 当父加载器无法完成加载子加载器才会加载

8 虚拟机字节码执行引擎

运行时栈帧结构
局部变量表 操作数栈 动态连接 方法返回地址 附加信息

9 类加载及执行子系统的案例与实战

第四部分 程序编译与代码优化
10 早期编译期优化
11 晚期运行期优化
第五部分 高效并发
12 Java内存模型与线程
13 线程安全与锁优化

转载于:https://www.cnblogs.com/huanyi0723/p/7423337.html

你可能感兴趣的文章
721. Accounts Merge
查看>>
「Unity」委托 将方法作为参数传递
查看>>
重置GNOME-TERMINAL
查看>>
redis哨兵集群、docker入门
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
oracle中anyData数据类型的使用实例
查看>>
C++对vector里面的元素排序及取任意重叠区间
查看>>
软件测试——性能测试总结
查看>>
12.4站立会议
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
客户端访问浏览器的流程
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>
python-三级菜单和购物车程序
查看>>
条件断点 符号断点
查看>>
VMware12 + Ubuntu16.04 虚拟磁盘扩容
查看>>
水平垂直居中
查看>>