jvm
文章平均质量分 90
小码农叔叔
这个作者很懒,什么都没留下…
展开
-
Eclipse Memory Analyzer(MAT) 使用总结
前言在日常的开发工作中,遇到生产环境报OOM的问题时,你首先会想到采用哪些方式并使用什么样的工具对OOM问题进行分析,定位和解决呢?实际现场环境无非有这么两种,第一种,如果项目所在的生产服务器不允许导出日志或者数据之类的,那就只好依靠线上操作相关的JVM命令进行分析排查;第二种,如果条件允许,则可以外接JVM相关的排查工具,直接连接生产的项目进程,进行实时分析第二种方式下,通常可利用JDK自带的一些工具,比如jconsole,jmap等工具连接进程,但更多的场景是,问题已经发生了,也就是犯罪现场出现了原创 2021-05-16 15:53:30 · 4893 阅读 · 0 评论 -
JVM常用垃圾收集器
前言在上一篇,我们谈到了JVM中的常用垃圾回收算法,并了解了JVM中针对堆区中不同的分代采用不同的垃圾回收算法在了解了垃圾回收算法之后,很多伙伴不禁在想,既然是分代垃圾回收,自然新生代和老年代的垃圾收集器也是不同的,事实上确实是这样,分代的回收算法也产生了不同的垃圾收集器,先来看一下下面这张简图左边表示年轻代中可选的垃圾收集器,右边表示老年代中可选的垃圾收集器,任何两个连线之间的两种垃圾收集器可以进行组合使用,在年轻代中,Parallel Scavenge 是默认的GC收集器,而在老年代中,Seri原创 2021-01-31 22:31:11 · 5619 阅读 · 0 评论 -
jvm垃圾回收算法详解
前言相比C语言,JVM虚拟机一个优势体现在对对象的垃圾回收上,JVM有一套完整的垃圾回收算法,可以对程序运行时产生的垃圾对象进行及时的回收,以便释放JVM相应区域的内存空间,确保程序稳定高效的运行,但在真正了解垃圾回收算法之前,有必要对JVM的对象的引用做一个简单的铺垫JVM对象可达性分析算法Java虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着GC Root对象为起点的引用链找到该对象,找不到表示可以被回收想象一下,对象在什么情况下会被认为是垃圾对象呢?原创 2021-01-31 17:09:55 · 6851 阅读 · 0 评论 -
Java虚拟机栈详解
前言虚拟机栈也称为Java栈,每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(Stack Frame)栈特点基本介绍Java虚拟机栈属于线程私有,它的生命周期与线程相同(随线程而生,随线程而灭)虚拟机栈说明了线程运行时的瞬时状态每次方法调用,都会产生对应的栈帧栈帧包括局部变量表、操作数栈、动态链接、方法返回地址和一些附加信息每个方法被调用至执行完毕的过程,就对应这个栈帧在虚拟机栈中从入栈到出栈的完整过程栈的深度有限制局部变量表局部变量表(Local Variable T原创 2021-01-23 22:44:38 · 6373 阅读 · 0 评论 -
JVM类加载器详解
前言在上一篇中,通过下面这幅图大致了JVM整体的内部运行结构图,在JVM的结构中,类加载子系统作为连接外部class文件与真正将class文件加载到运行时数据区,承担着重要的作用类加载器是什么?有什么作用?1、负责从文件或者网络加载class文件字节流2、读取字节码中的信息,并在运行时存储到JVM的内存区域3、检查并确保加载的class文件信息符合JVM字节码规范...原创 2021-01-11 23:12:03 · 6129 阅读 · 2 评论 -
jvm常用监控命令总结
前言在生产环境中,为了保证Java应用的健康运行,需要动态检测应用运转过程中的各种指标,比较常见的像CPU利用率,内存使用,堆栈是否正常等另一方面,生产环境中出现的各种问题,包括异常信息等,都可以通过一些监控指标进行呈现,通过这些指标指导运维和开发人员快速排查问题定位问题与解决问题但说到底,监控的本身离不开原始数据的采集,而JVM本身可以通过相关的命令得出许多有助于分析,排查和定位问题的源信息,本篇将介绍开发过程中常用的一些JVM监控命令,方便工作中快速查阅命令说明常用形式jp原创 2021-01-03 15:40:05 · 1131 阅读 · 0 评论 -
JVM基础总结
前言作为一名Java开发人员,有必要对JVM有一个全面系统的认识,从而更好的指导在开发过程中指导我们更高效的开发,以及解决生产中的问题1、什么是JVMJVM全称Java虚拟机,即Java应用运行的环境(Java二进制字节码的运行环境)Java虚拟机是一台执行Java字节码得虚拟计算机,拥有独立得运行机制,但是其运行的Java字节码文件未必由Java语言编译而成,可以理解为一套标准定义的规范JVM平台支持的各种语言可以共享Java虚拟机带来的跨平台性、优秀的垃圾回收器,以及可靠的即时编译器Jav原创 2021-01-02 22:52:17 · 5251 阅读 · 0 评论 -
深入理解jvm和jvm基本调优参数
Java虚拟机原理所谓虚拟机,就是一台虚拟的机器。他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为:系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box、Vmare就属于系统虚拟机,他们完全是对物理计算的仿真,提供了一个可以运行完整操作系统的软件平台。程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java自己码指令。...原创 2019-04-06 21:33:13 · 26028 阅读 · 0 评论 -
java垃圾回收理解与算法
垃圾回收机制概述Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一般情况...原创 2019-04-06 21:45:34 · 6886 阅读 · 0 评论