JVM
文章平均质量分 90
SIMON QIU
比起无为而治,我更喜欢循序渐进!
展开
-
深入理解JVM(四)-执行引擎
本文章是根据《深入理解Java虚拟机》一书,并参考网上其他文档进行的系统性的和简单容易理解的方式进行的整理。一、执行引擎 执行引擎是Java最核心的组成部分之一,具有执行代码的能力,如下图所示:1、运行时栈帧结构 栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区虚拟机栈的栈元素。栈帧存储了局部变量表、操作数栈、动态链接、方法返回地址等信息。执行引擎所运行的字节码文件都只对当前栈帧进行操作。栈帧中的局部变量表、操作数栈...原创 2021-07-20 15:49:02 · 470 阅读 · 0 评论 -
深入理解JVM(三)-类加载与执行引擎
本文章是根据《深入理解Java虚拟机》一书,并参考网上其他文档进行的系统性的和简单容易理解的方式进行的整理。 Java是解释型语言,Java编译之后的字节码文件仍需通过虚拟机解释执行,究其原因则是因为计算机仍然只能识别0和1。(PS:当然如果未来的科技不在只使用0和1时,计算机科学可能会经历很长时间的阵痛)一、文件介绍1、魔数与版本每个class文件的前四个字节表示魔数,他的唯一作用是确定这个文件是否是一个能被虚拟机接受的class文件,...原创 2021-07-13 11:00:52 · 421 阅读 · 0 评论 -
深入理解JVM(二)-工具篇
本文章是根据《深入理解Java虚拟机》一书,并参考网上其他文档进行的系统性的和简单容易理解的方式进行的整理。 借用书中的一句非常棒的话,给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。虽然工具只是处理数据的手段,但是合适的和先进的工具能节省问题的排查时间,所以个人建议能不用命令行工具则不用命令行工具。一、JDK的命令行工具1、jps工具:获取正在运行的JVM进程,功能简单但是使用频次高,用于寻找正确的JVM进程进行分析。参数...原创 2021-07-05 17:50:48 · 155 阅读 · 0 评论 -
深入理解JVM(一)-内存区域与垃圾回收介绍
程序员常常说软件不行,硬件来凑。但是针对当前对系统高可用、高并发的需求日益增大,需要程序员写出更稳定、性能更好的应用程序,开发人员需要了解虚拟机的运行原理,才会写出最适合虚拟机运行的代码。Java虚拟机是中高级开发人员必须修炼的知识。 正是由于Java虚拟机的存在,才能使Java开发的应用程序能够一次开发,处处运行。...原创 2021-07-02 13:28:24 · 201 阅读 · 0 评论 -
JVM调优-问题排查与工具使用案例一(Server服务器)
JVM调优-问题排查与工具使用原创 2020-11-02 22:59:14 · 282 阅读 · 0 评论 -
JVM调优-调优原则与思路
一、实施过程中的原则 在调优之前,我们需要记住下面的原则: 1、在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合)。 2、多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题。同时多数的Java应用不需要在服务器上进行GC优化。 3、减少使用全局变量和大对象,同时注意减少创建对象的数量;这也是Spring框架单例模式的一个优点。 4、在实际使用中,分析GC情况优化代码比优化GC参数要多得多,GC优化往往是最后的手段;...原创 2020-11-01 23:51:00 · 3640 阅读 · 0 评论 -
JVM调优-内存模型与垃圾回收
目录二、JVM介绍三、堆内存(HEAP)四、1.8版本JDK五、引用类型六、垃圾回收算法1、按基本回收策略分2、按分区对待的方式分3、按系统线程分七、分代收集1、Minor GC2、Major GC3、Full GC4、对象存活示意 在提升硬件性能无法等比例地提升程序的性能和并发能力时(即增加硬件对程序的性能没有任何改善作用),这里有Java虚拟机的原因,也有程序本身的原因(此处不考虑选择的框架本身原因)。 参考: ...原创 2020-10-31 16:29:44 · 231 阅读 · 0 评论