JVM
文章平均质量分 94
JVM 性能优化相关
、楽.
放弃很容易,但坚持一定很酷!
展开
-
再也不怕JVM调优啦~
1. 常用命令在日常工作中,我们可以使用一些命令来帮助我们快速定位JVM中的问题。1.1 JPS查看java进程The jps command lists the instrumented Java HotSpot VMs on the target system.The command is limited to reporting information on JVMs for which it has the access permissions.1.2 jinfo实时查看和调整J原创 2022-01-03 22:42:30 · 598 阅读 · 0 评论 -
JVM垃圾收集算法及垃圾收集器深度刨析
这篇文章我们在讲述垃圾收集算法以及垃圾收集器之前,我们首先需要对JVM的内存模型以及对象的生命周期有个大致的了解,所以我们从JVM的内存模型开始讲解,然后逐步延伸出今天的主题。1. JVM 内存模型在之前的文章中我们对运行时数据区描述了很多,其实重点存储数据的是堆和方法区(非堆),所以内存的设计也着重从这两方面展开(注意这两块区域都是线程共享的)。对于虚拟机栈,本地方法栈,程序计数器都是线程私有的。可以这样理解,JVM运行时数据区是一种规范,而JVM内存模型是对该规范的实现。接下来我们先来大致了解原创 2022-01-02 21:43:56 · 549 阅读 · 0 评论 -
初识JVM参数
JVM参数总共分为三种类型,标准参数、非标准参数以及其他参数。接下来,我们对其依次分析。1. 标准参数标准参数就是不会由于JDK版本变化为变化的参数。-version-help-server-cp2. 非标准参数非标准参数,也就是在JDK各个版本中可能会变动。非标准参数中我们又将其分为-X参数以及-XX参数。2.1 -X参数-Xint 解释执行-Xcomp 第一次使用就编译成本地代码-Xmixed 混合模式,JVM自己来决定2.2 -XX参数该参数是使用得最多的参数原创 2022-01-02 19:48:21 · 241 阅读 · 0 评论 -
JVM 运行时数据区详解
我们在研究类加载机制的时候,可以发现在装载阶段中有运行时数据,堆,方法区等名词。在装载阶段会将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构以及在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口。说白了就是类文件被类装载器装载进来之后,类中的内容(比如变量,常量,方法,对象等这些数据得要有个去处,也就是要存储起来,存储的位置肯定是在JVM中有对应的空间)。这就是我们所说的运行时数据区。官网 :https://docs.oracle.com原创 2021-12-27 17:53:31 · 698 阅读 · 1 评论 -
详解JVM类加载机制
我们为什么要学习JVM呢?我们来看一下官方解释:Java官网 :https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-1.html#jvms-1.2Java虚拟机是Java平台的基石,其负责其硬件和操作系统的独立性,其编译的代码很小以及保护用户免受恶意程序攻击的能力。Java虚拟机是一种抽象计算机,像真正的计算机一样,它有一个指令集并在运行时操作各种内存区域。Java虚拟机不承担任何特定的实现技术、主机硬件或主机操作系统,它本原创 2021-12-27 11:20:47 · 219 阅读 · 0 评论