首先你应该知道,运行一个 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 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 常见问题转发+关注 截图私信我获取更多ava核心技术主流资料和大厂面试题!!!!!!!!
原文地址:https://www.cnblogs.com/ming569/p/13729013.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。