阿里架构师花费4年时间用心整理JVM与性能优化核心知识分享

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

Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

JVM总体上是由类装载子系统(ClassLoader)、运行时数据区、执行引擎、垃圾收集这四个部分组成。其中我们最为关注的运行时数据区,也就是JVM的内存部分则是由方法区(Method Area)、JAVA堆(Java Heap)、虚拟机栈(JVM Stack)、程序计数器、本地方法栈(Native Method Stack)这几部分组成。

由于文章篇幅过长,小编整理成一套PDF文档的格式把JVM以及性能优化解析整理完成,获取该文档方式:关注我点这里即可

记得帮忙点赞分享此文后点这里哟!

目录

从五个方面全面解析了JVM、性能优化

1、JVM内存区域划分

2、JVM执行子系统

3、垃圾回收器和内存分配策略

4、编写高效优雅Java程序

5、性能优化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6kBuqLoJ-1609385847055)(//upload-images.jianshu.io/upload_images/22840365-98aa7b014089253f?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJSG3Zsw-1609385847057)(//upload-images.jianshu.io/upload_images/22840365-66150d305d7a7443?imageMogr2/auto-orient/strip|imageView2/2/w/595/format/webp)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxZ2yrbx-1609385847059)(//upload-images.jianshu.io/upload_images/22840365-534c67efcd74a347?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]

一、JVM 内存区域划分

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

2.Java栈(线程私有)

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

4.堆(线程共享)

5.方法区(线程共享)

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NIrSVLRT-1609385847061)(//upload-images.jianshu.io/upload_images/22840365-e278184c9c61f1c3?imageMogr2/auto-orient/strip|imageView2/2/w/544/format/webp)]

二、JVM执行子系统

1.Class类文件结构

2.字节码指令

3.类加载机制

4.类加载器

5.Tomcat类加载机制

6.方法调用详解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G5iedgXH-1609385847062)(//upload-images.jianshu.io/upload_images/22840365-7c17c79ac1cd3046?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]

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

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

2.引用类型

3.基本垃圾回收算法

4.分代处理垃圾

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-590Wr9Xw-1609385847064)(//upload-images.jianshu.io/upload_images/22840365-708576d71b656850?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]

四、编写高效优雅Java程序

1.面向对象

2.方法

3.通用程序设计

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6XGsEhLu-1609385847064)(//upload-images.jianshu.io/upload_images/22840365-e84eebfbab958bf9?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]

五、性能优化

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

2.常用的性能优化手段

3应用服务性能优化

(1)异步

(2)集群

(3)应用相关

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Xgfe3b4-1609385847065)(//upload-images.jianshu.io/upload_images/22840365-ba0b7de680d381ef?imageMogr2/auto-orient/strip|imageView2/2/w/640/format/webp)]

由于文章篇幅过长,小编整理成一套PDF文档的格式把JVM以及性能优化解析整理完成,获取该文档方式:关注我点这里即可

记得帮忙点赞分享此文后点这里哟!

猜你喜欢

转载自blog.csdn.net/lyl5454/article/details/112005739