网易首页 > 网易号 > 正文 申请入驻

清华毕业大牛带你深入解析JVM,附五大实战技术文档,总计1024M

0
分享至

前言

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

JVM特性

  • 移植性,无论是GC还是Hotspot都可以用在任何Java可用的地方。比方说,JRuby可以运行在其他平台上,Rails应用就可以运行在IBM主机上的JRuby上,而且这台IBM主机运行的是CP/CMS.实际上,由于Java和OpenJDK项目的开源,我们正在看到越来越多的平台的衍生,因此JVM的移植性也将越来越棒。
  • 成熟,JVM已有多年的历史,在过去的这些年里,许多开发者为它做出了许多贡献,使得它的性能一次又一次地提升,让JVM变得更加稳定、快速和广泛。
  • 覆盖面,JRuby和JVM上的其他语言项目已经被承认,一个例子是invokedynamic specification(akaJSR292)。JSR越来越配合新的语言,JVM已不再是Java一个人定制规则。JVM正在构建成为类如JRuby等项目的优良平台。还有一个MLVM(multiple languageVM)项目,好比是新特性的清算机构,是一个许多企业应用的开发者试图添加应用的地方,而这些应用正是他们想在JVM中看到的。而且JVM开发者互相协作、彼此影响,无疑这有利于JVM新特性的诞生。这些细节都可以看到JVM正在关注开发者的需求,扩大他的覆盖面。

JVM学习路线

JVM 五大学习技术文档

一、深入理解Java虚拟机:JVM高级特性与最佳实践

本篇一共分为五个部分:走近Java、自动内存管理、虚拟机执行子系统、程序编译与代码优化、高效并发。各个部分之间基本上是互相独立的,没有必然的前后依赖关系,读者可以从任何一个感兴趣的专题开始阅读,但是每个部分各个章节间则有先后顺序。

这里并没有假定所有读者都在Java领域具备特别专业的技术水平,因此会在保证逻辑完整、描述准确的前提下,尽量用通俗的语言和案例去讲述虛拟机中与开发关系最为密切的内容。但是,本篇毕竟是在探讨虚拟机的工作原理,不可避免地需要读者有一定的技术基础,而且本书的读者定位是中、高级程序员群体,对于一些常用的开发框架、Java类库API和Java语法等基础知识点,将假设读者已有所了解。

本篇介绍的Java虛拟机并不局限于某一个特定发 行商或者某一款特定虚拟机,只是由于OracleJDK/OpenJDK在市场占有率上的绝对优势,其中的HotSpot虚拟机不可避免地成为本篇主要分析、讲解的对象,在涉及Java虚拟机自身实现相关的内容时,大多将以HotSpot虚拟机为目标对象来进行讲解。但撰写本篇的意图并不是去做HotSpot的源码导读或者解析,所讲述的内容多为Java虚拟机的通用原理,即使读者使用了HotSpot之外的其他Java虚拟机实现,也会有所收获。

二、揭秘Java虚拟机-JVM设计原理与实现

本篇从源码角度解读HotSpot的内部实现机制,本版本主要包含三大部分- JVM数据结 构设计与实现、执行引擎机制及内存分配模型。

数据结构部分包括Java字节码文件格式、常量池解析、字段解析、方法解析。每一部分都给出详细的源码实现分析,例如字段解析一章,从源码层面详细分析了Java字段重排、字段继承等关键机制。再如方法解析一章,给出了Java多态特性在源码层面的实现方式。本书通过直接对源代码的分析,从根本上梳理和澄清Java领域中的关键概念和机制。

执行引擎部分包括Java方法调用机制、栈帧创建机制、指令集架构与解释器实现机制。这一话题是全篇技术含量最高的部分,需要读者具备一定的汇编基础。不过千万不要被“汇编”这个词给吓着,其实在作者看来,汇编相比于高级语言而言,语法非常简单,语义也十分清晰。执行引擎部分重点描述Java源代码如何转换为字节码,又如何从字节码转换为机器指令从而能够被物理CPU所执行的技术实现。同时详细分析了Java函数堆栈的创建全过程,在源码分析的过程中,带领读者从本质上理解到底什么是Java函数堆栈和栈帧,以及栈帧内部的详细结构。

内存分配部分主要包括类型创建与加载、对象实例创建与内存分配,例如new关键字的工作机制,import关键字的作用,再如java.lang.ClassL oader.loadClass()接口的本地实现机制。

三、JVM实战书籍

本篇一共分为五个部分:走近Java、自动内存管理、虚拟机执行子系统、程序编译与代码优化、高效并发。各个部分之间基本上是互相独立的,没有必然的前后依赖关系,读者可以从任何一个感兴趣的专题开始阅读,但是每个部分各个章节间则有先后顺序。

本篇并不假设读者在Java领域具备很专业的技术水平,因此在保证逻辑准确的前提下,尽量用通俗的语言和案例讲述虚拟机中与开发关系最为密切的内容。当然学习虚拟机技术本身就需要读者有一定的技术基础,且本书的读者定位是中、高级程序员,因此本书假设读者自己了解一些常用的开发框架、Java API和Java语法等基础知识。

四、JVM20道面试专题及答案

20.简述 java 内存分配与回收策略以及 Minor GC 和Major GC

1. 对象优先在堆的 Eden 区分配。

2. 大对象直接进入老年代.

3. 长期存活的对象将直接进入老年代.

当 Eden 区没有足够的空间进行分配时,虚拟机会执行一次 Minor GC.Minor Gc 通常发生在新生代的 Eden 区,在这个区的对象生存期短,往往发生 Gc 的频率较高,回收速度比较快;Full Gc/Major GC 发生在老年代,一般情况下,触发老年代 GC的时候不会触发 Minor GC,但是通过配置,可以在 Full GC 之前进行一次 MinorGC 这样可以加快老年代的回收速度。

五、JVM与性能优化知识点整理

一、 JVM内存区 域划分

1.程序计数器(线程私有)

2.Java栈(线程私有)

3.本地方法栈(线程私有)

4.堆(线程共享)

5.方法区(线程共享)

6.直接内存(线程共享)

二、JVM执行子系统

三.垃圾回收器和内存分配策略

1.Java中是值传递还是引用传递?

2.引用类型

3.基本垃圾回收算法

4.分代处理垃圾

5.JAVA中垃圾回收GC的类型

四、编写高效优雅Java程序

1.面向对象

2.方法

3.通用程序设计

五、性能优化

1.常用的性能评价/测试指标

2.常用的性能优化手段

3应用服务性能优化

’3.2异步

3.3集群

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
旁若无人!汪峰森林北秀恩爱,私密画面曝光,工作人员脸都红了

旁若无人!汪峰森林北秀恩爱,私密画面曝光,工作人员脸都红了

娱记掌门
2024-06-11 15:37:48
过的太快,艾弗森年近半百,NBA官方为其庆生,6年后将领巨额财产

过的太快,艾弗森年近半百,NBA官方为其庆生,6年后将领巨额财产

KG说球
2024-06-08 14:38:43
【速递】高温+大雨!未来一周,广东“蒸焗桑拿”模式上线!至于佛山......

【速递】高温+大雨!未来一周,广东“蒸焗桑拿”模式上线!至于佛山......

创作者_1666842142096
2024-06-11 15:05:17
少妇还是有一点姿色

少妇还是有一点姿色

记录身边事物
2024-06-11 06:34:57
赫尔利正式发声:解释拒绝邀约原因 名记曝湖人或寻其他大学主帅

赫尔利正式发声:解释拒绝邀约原因 名记曝湖人或寻其他大学主帅

醉卧浮生
2024-06-11 11:09:00
中国的两个老朋友,如今彻底倒向美国,曾出口过大量先进装备给咱

中国的两个老朋友,如今彻底倒向美国,曾出口过大量先进装备给咱

盒子里的密探
2024-06-11 18:30:13
如果你背了很多负债,惨到亲人也瞧不起你,请牢记“卖驴”思维

如果你背了很多负债,惨到亲人也瞧不起你,请牢记“卖驴”思维

阿胖读书
2024-06-08 17:10:34
有回音|北京网友反映早高峰地铁站停车难 回复:启用临时停车区

有回音|北京网友反映早高峰地铁站停车难 回复:启用临时停车区

金台资讯
2024-06-11 09:45:36
国营肉联厂公然给猪肉注水,销往各大市场,竟还是在监控下进行

国营肉联厂公然给猪肉注水,销往各大市场,竟还是在监控下进行

小南看城市
2024-06-11 07:17:23
砸2亿,瓜迪奥拉狂喜:曼城猛追18球19助中场,一石二鸟对抗皇马

砸2亿,瓜迪奥拉狂喜:曼城猛追18球19助中场,一石二鸟对抗皇马

叁炮体育
2024-06-11 15:49:16
新世界第一登基!00后辛纳改写133年历史,网友:球王当之无愧

新世界第一登基!00后辛纳改写133年历史,网友:球王当之无愧

体坛知识分子
2024-06-11 06:20:02
鹿晗浮肿发福,右手长了很多溃烂型血疮,网友质疑他得了脏病

鹿晗浮肿发福,右手长了很多溃烂型血疮,网友质疑他得了脏病

鱼真香综艺
2024-06-10 16:09:57
惊艳!各地美女龙舟鼓手走红,网友:这着装士气加10000!

惊艳!各地美女龙舟鼓手走红,网友:这着装士气加10000!

猫小狸同学
2024-06-11 10:37:40
王菲携李嫣看演唱会,男闺蜜作陪,18岁李嫣当妈妈面抽烟表情冷酷

王菲携李嫣看演唱会,男闺蜜作陪,18岁李嫣当妈妈面抽烟表情冷酷

知了娱乐
2024-06-10 16:20:31
就在刚刚,中方正式下达“逐客令”,要求这国4天内必须离华!

就在刚刚,中方正式下达“逐客令”,要求这国4天内必须离华!

小乐讲故事
2023-05-17 09:52:08
最新人事任免,涉成都多地……

最新人事任免,涉成都多地……

爱看头条
2024-06-11 14:01:20
“迷倒”刘亦菲干爹的杨采钰到底有多迷人?看看她的泳照就知道了

“迷倒”刘亦菲干爹的杨采钰到底有多迷人?看看她的泳照就知道了

木木尔时尚
2024-06-11 18:40:01
头一次见!秦L和海豹06订单多得吓到自己不敢公布,比亚迪卷全球

头一次见!秦L和海豹06订单多得吓到自己不敢公布,比亚迪卷全球

凌锐风语
2024-06-11 11:32:18
3天跌了112个点,逼近7.27,人民币汇率将跌破7.2823再创新低?

3天跌了112个点,逼近7.27,人民币汇率将跌破7.2823再创新低?

于庭财经
2024-06-11 11:52:15
因失恋接拍三级片,她被多少人男人存在硬盘?

因失恋接拍三级片,她被多少人男人存在硬盘?

华人星光
2024-06-02 15:17:31
2024-06-11 19:28:49
java架构codi
java架构codi
分享我的java世界!
189文章数 1675关注度
往期回顾 全部

科技要闻

苹果AI放大招,但中国用户或明年才能用上

头条要闻

珠宝店老板用百吨假黄金骗了200亿 前山东首富被坑惨

头条要闻

珠宝店老板用百吨假黄金骗了200亿 前山东首富被坑惨

体育要闻

侠和凯的差别,正如琼斯和霍乐迪

娱乐要闻

娄艺潇被曝新恋情,和男友甜蜜互动

财经要闻

中央定调!去库存,开始了!

汽车要闻

大家9纯电续航225km 超过5米2超混MPV开着也有劲

态度原创

家居
旅游
健康
公开课
军事航空

家居要闻

原木混搭 和谐静谧潜匿无数禅机

旅游要闻

文旅部:端午节假期国内出游1.1亿人次 增长6.3%

晚餐不吃or吃七分饱,哪种更减肥?

公开课

近视只是视力差?小心并发症

军事要闻

拜登政府解除禁令 允许乌克兰"亚速营"使用美国提供的武器

无障碍浏览 进入关怀版