ChenRuiyz 2020-05-26
首先你应该知道,运行一个 Java 应用程序,我们必须要先安装 JDK 或者 JRE 包。这是因为 Java 应用在编译后会变成字节码,然后通过字节码运行在 JVM 中,而 JVM 是 JRE 的核心组成部分。JVM 不仅承担了 Java 字节码的分析(JIT compiler)和执行(Runtime),同时也内置了自动内存分配管理机制。这个机制可以大大降低手动分配回收机制可能带来的内存泄露和内存溢出风险,使 Java 开发人员不需要关注每个对象的内存分配以及回收,从而更专注于业务本身。
JVM 在对代码执行的优化可分为运行时(runtime)优化和即时编译器(JIT)优化。运行时优化主要是解释执行和动态编译通用的一些机制,比如说锁机制(如偏斜锁)、内存分配机制(如 TLAB)等。除此之外,还有一些专门用于优化解释执行效率的,比如说模版解释器、内联缓存(inline cache,用于优化虚方法调用的动态绑定)。
JVM如此重要,我们又怎么能得过且过呢?前段时间找到了一份阿里架构师整理的JVM魔鬼文档,真的是杠杠的!!!
看内容
主要从四个部分逐步深入,由浅入深!
01 什么是Java
02 编程语言
03 计算机[硬件]能够懂的语言
04 So JVM是什么?
05 JDK JRE JVM
JVM到底该学习什么
01 源码到类文件
02 类文件到虚拟机(类加载机制)
03 运行时数据区(Run-Time Data Areas)
04 JVM内存模型
05 Garbage Collect(垃圾回收)
01 JVM参数
02 常用命令
03 常用工具
04 执行引擎
05 重新认知JVM
01 内存
02 GC
03 CPU占用率高
04 JVM性能优化指南
05 常见问题
附资料:
阿里架构大牛说:JVM从入门到入魔,就是这么简单!
上文中提到的阿里架构牛整理的JVM从入门到入魔笔记、分布式事务实战文档、分布式系统常用技术及案例分析、深入浅出springboot等等都可免费分享原件PDF,需要请加QQ:3368213683 或Q群:471467922,备注51。