重读JVM

jvm系列:jvm知识点总览

1. 认识Java虚拟机

默认Hotspot实现

2. 类加载机制

知道双亲委派模型

编译为class javac → 装载 class ClassLoader → 执行class 解释/编译 执行

3. 内存模型

内存空间:方法区、堆、JVM方法栈、本地方法栈、PC寄存器

内存分配:堆上分配、TLAB分配、栈上分配

内存状况分析:jconsole、visualvm、jstat、jmap、MAT

Java内存模型 (Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节。

重排序

顺序一致性

volatile

final

4. GC

garbage collection 垃圾回收

算法 Copy Mark-Sweep Mark-Compact

JDK实现 分代回收 新生代可用的GC , Minor GC触发机制及日志格式,旧生代可用的GC,Full GC触发机制及日志格式

    GC参数

    GI

4.1 回收算法

判断对象死亡算法

引用计数算法

可达性分析算法

垃圾收集算法

标记-清除算法

复制算法

标记-整理算法

分代收集算法

4.2 垃圾收集器

Serial收集器

ParNew收集器

Parallel Scavenger 收集器

Serial Old 收集器

CMS收集器

G1收集器

4.3 GC日志

GC发生时间

垃圾收集的停顿类型

GC发生的区域 与收集器有关

GC前该内存区域已使用容量 GC前java堆已使用容量

GC所占用的时间

5. 调优

6. 工具

jstack

虚拟机统计信息监控工具

jstack是java虚拟机自带的一种堆栈跟踪工具。

jmap

java内存映像工具

jconsole

最新文章

  1. java for循环冒泡排序
  2. loadrunner (一)如何查看分析、报告结果
  3. 积木(DP)问题
  4. Java的多线程机制系列:(四)不得不提的volatile及指令重排序(happen-before)
  5. Asp.net MVC23 使用Areas功能的常见错误
  6. 将一副图片编译进uboot
  7. 整个网站灰度显示css代码
  8. wget 常用参数释义
  9. a标签 download base64 下载 网络失败
  10. [Swift]LeetCode575. 分糖果 | Distribute Candies
  11. BZOJ2662[BeiJing wc2012]冻结——分层图最短路
  12. ROS与深度相机入门教程-在ROS使用kinect v1摄像头
  13. Jmeter接口测试动态传参——动态获取token值
  14. 用友时空KSOA功能挖掘之zl_func函数
  15. 记录一次服务器CPU 100%的解决过程
  16. intellij idea14 +svn配置
  17. nginx配置解决vue单页面打包文件大,首次加载慢的问题
  18. 图解HTTP之HTTPS详解
  19. 2014 linux
  20. iframe中插入代码并执行

热门文章

  1. ABAP调试
  2. [模拟赛] T2 混合图
  3. ReactNative环境配置的坑
  4. 开源一个定时任务调度器 webscheduler
  5. mysql-5.7.12安装
  6. 如何正确使用Java异常处理机制
  7. easyUi五个常用插件
  8. (译文)学习ES6非常棒的特性-深入研究var, let and const
  9. Beta第三天
  10. 2017-2018-1 20155215 第九周 加分项 PWD命令的实现