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

清华毕业大牛带你深入解析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-05-19 19:16:03
中国芯救活俄罗斯,89%芯片,80%半导体材料从中国进口

中国芯救活俄罗斯,89%芯片,80%半导体材料从中国进口

互联网.乱侃秀
2024-05-18 15:51:39
东北女人的地位真的很高吗?网友:晚上给我伺候的明明白白的

东北女人的地位真的很高吗?网友:晚上给我伺候的明明白白的

娱乐圈见解说
2024-05-17 01:16:41
少拿8000万美元,只为成全哈登!最强三巨头要解散,但该走的是你

少拿8000万美元,只为成全哈登!最强三巨头要解散,但该走的是你

老梁体育漫谈
2024-05-18 23:37:56
渣叔宣!克洛普:任何其他教练执教曼城,都无法达成英超4连冠

渣叔宣!克洛普:任何其他教练执教曼城,都无法达成英超4连冠

直播吧
2024-05-19 18:01:03
还没听说她谈恋爱就突然官宣生娃?震惊内娱却被猛夸人间清醒!

还没听说她谈恋爱就突然官宣生娃?震惊内娱却被猛夸人间清醒!

异想生活笔记
2024-04-29 08:36:11
本田最新战略曝光:全面转向

本田最新战略曝光:全面转向

电动知家
2024-05-17 07:08:43
“一丝不挂”不害臊,打着为艺术献身的“耍流氓”,这回藏不住了

“一丝不挂”不害臊,打着为艺术献身的“耍流氓”,这回藏不住了

莫将离
2024-05-15 23:40:46
易建联观战!湖南地质大胜青岛六十七中 首夺耐高男篮总冠军

易建联观战!湖南地质大胜青岛六十七中 首夺耐高男篮总冠军

醉卧浮生
2024-05-19 20:53:12
于文文演唱会穿紧身裤,隐私部位轮廓抢镜,网友:真的太不体面!

于文文演唱会穿紧身裤,隐私部位轮廓抢镜,网友:真的太不体面!

西瓜爱娱娱
2024-05-17 14:52:27
汪小菲与马筱梅逛王府井商场,马筱梅背百万爱马仕包,大S显寒酸

汪小菲与马筱梅逛王府井商场,马筱梅背百万爱马仕包,大S显寒酸

御弟哥哥在此
2024-05-19 13:59:26
普京称不打算拿下哈尔科夫,一切都是被迫!梅德韦杰夫发出新威胁

普京称不打算拿下哈尔科夫,一切都是被迫!梅德韦杰夫发出新威胁

鹰眼Defence
2024-05-18 17:27:13
微软宣布停止向俄罗斯客户提供服务

微软宣布停止向俄罗斯客户提供服务

亡海中的彼岸花
2024-05-18 16:27:56
250万吨!价格暴跌一半,泰越愁容满面:中国不再为高价榴莲买单

250万吨!价格暴跌一半,泰越愁容满面:中国不再为高价榴莲买单

番茄说史聊
2024-05-17 21:30:27
疯狂暗示又拍到女主播裙底,捷途汽车涉事门店账号被永久封禁

疯狂暗示又拍到女主播裙底,捷途汽车涉事门店账号被永久封禁

映射生活的身影
2024-05-18 21:16:13
郭碧婷直播关美颜登热搜,被滤镜吓到“脸很奇怪” 

郭碧婷直播关美颜登热搜,被滤镜吓到“脸很奇怪” 

楚门记
2024-05-19 16:58:49
10大反人类设计:高铁座椅,清凉油盒子,蚝油瓶,衣服标签上榜

10大反人类设计:高铁座椅,清凉油盒子,蚝油瓶,衣服标签上榜

芯怡飞
2024-05-18 00:17:04
网红“森林北”,一个能够媲美影后的人!

网红“森林北”,一个能够媲美影后的人!

刚刚
2024-05-18 18:50:56
超算预测英超冠军:41分钟时阿森纳仅1.4%,43分钟升至7.2%

超算预测英超冠军:41分钟时阿森纳仅1.4%,43分钟升至7.2%

直播吧
2024-05-20 00:15:46
何超琼被爆疑不穿内衣出行,遭男同事围绕仍淡定,网友:你管不着

何超琼被爆疑不穿内衣出行,遭男同事围绕仍淡定,网友:你管不着

帝天宇
2024-05-19 18:20:03
2024-05-20 00:24:49
java架构codi
java架构codi
分享我的java世界!
189文章数 1675关注度
往期回顾 全部

科技要闻

雷军直播开车2000万人围观!突然遭别车

头条要闻

载有伊朗总统的直升机发生硬着陆事故

头条要闻

载有伊朗总统的直升机发生硬着陆事故

体育要闻

欧文:我尽力不哭出来 我们还要走很远

娱乐要闻

《庆余年2》首播口碑出炉!有好有坏

财经要闻

洞庭湖区非法采砂 2000余亩洲滩被挖空

汽车要闻

智驾升级/月底上市 问界新M7 MAX焕新版

态度原创

旅游
时尚
亲子
健康
游戏

旅游要闻

《庆余年2》取景地 丽水“庆”你来玩

去了成都才发现:太古里满街都是“吊带+低腰裤”,时髦又养眼

亲子要闻

宝贝长大懂事了,爷爷奶奶辛苦了……

在中国,到底哪些人在吃“伟哥”?

1.36.2 PTR 3出炉:人族全面加强,KOG跌落凡尘

无障碍浏览 进入关怀版