![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 79
samyang1
这个作者很懒,什么都没留下…
展开
-
JVM的垃圾回收机制
垃圾回收机制是 Java 非常重要的特性之一,也是面试题的常客。它让开发者无需关注空间的创建和释放,而是以守护进程的形式在后台自动回收垃圾。这样做不仅提高了开发效率,更改善了内存的使用状况。今天本文来对垃圾回收机制进行讲解,主要涉及下面几个问题:什么是堆内存?什么是垃圾?有哪些方法回收这些垃圾?什么是分代回收机制?什么是 Java 堆内存堆是在 JVM 启动时创建的,主要用来维转载 2017-12-11 23:04:34 · 141 阅读 · 0 评论 -
GC日志分析
深入理解Java虚拟机[JVM]Java内存区域与垃圾收集 - 思维导图[JVM]类加载机制 - 思维导图[JVM]OOM实例分析[JVM]理解Class文件(1):手动解析常量池[JVM]理解GC日志[JVM]理解Class文件(2)1. 输出GC日志通过阅读GC日志,我们可以了解Java虚拟机内存分配与回收策略。先来看一个简单的示例,通过设置VM参数"XX:+PrintGCDetails"就可...原创 2018-05-31 22:29:11 · 1394 阅读 · 0 评论 -
内存监视手段及各区域内存溢出解决
引言本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性、概念性的了解,当遇到问题时有迹可循、不至于不知所措。一、虚拟机内存监视手段虚拟机常出现的问题包括:内存泄露、内存溢出、频繁GC导致性能下降等,导致这些问题的原因可以通过下面虚拟机内存监视手段来进行分析,具体实施时...转载 2018-05-30 23:20:11 · 1026 阅读 · 0 评论 -
JPS命令使用
使用jps 要先安装 jdk(jps是jdk自带的命令)。jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准确的说是当前用户已启动的部分java进程信息,信息包括进程号和简短的进程command。 提示:曾经遇到一个这样的问题:一个nagios 插件用 jps 监控java进程。结果得不到 java进程信息。这是由于 jps 只能显示当前用户的 java 进...原创 2018-05-30 23:17:31 · 855 阅读 · 0 评论 -
Java调优经验谈
对于调优这个事情来说,一般就是三个过程:性能监控:问题没有发生,你并不知道你需要调优什么?此时需要一些系统、应用的监控工具来发现问题。性能分析:问题已经发生,但是你并不知道问题到底出在哪里。此时就需要使用工具、经验对系统、应用进行瓶颈分析,以求定位到问题原因。性能调优:经过上一步的分析定位到了问题所在,需要对问题进行解决,使用代码、配置等手段进行优化。Java调优也不外乎这三步。此外,本文所讲的性...转载 2018-06-13 10:48:40 · 193 阅读 · 0 评论 -
JVM性能监控工具-Jvisualvm
用法:Jvisualvm是JDK自带的一款性能分析工具使用方式:1.配置好JDK环境变量1.本地JVM监控略2.远程JVM监控 用JMX对Resin内存状态进行监控 ,可以看到本地所有可监控的JVM实例。原理就是通过添加一些JMX相关的JVM启动参数来控制JMX的行为,例如端口,验证信息等。Resin3.1.X版本的配置文件中有一些设置JVM args的配置项目,可以直接在里面修改。 Resin配...转载 2018-06-03 19:25:11 · 1236 阅读 · 0 评论 -
JVM问题排查
本文将介绍JDK自带的JVM排查工具。其提供的排查工具有:(1)jps:JVM Process Status Tool,显示系统内所有的JVM进程;(2)jstat:JVM Statistics Monitoring Tool,可以收集JVM相关的运行数据;(3)jinfo:Configuration Info for Java,显示JVM配置信息;(4)jmap:Memory Map for J...原创 2018-06-03 16:28:46 · 2424 阅读 · 1 评论 -
如何监控Java垃圾回收机制-下
在本文中,我将解释JVM到底是如何执行垃圾回收处理的。什么是GC监控?垃圾回收收集监控指的是搞清楚JVM如何执行GC的过程,例如,我们可以查明:1. 何时一个新生代中的对象被移动到老年代时,所花费的时间。2. Stop-the-world 何时发生的,持续了多长时间。GC监控是为了鉴别JVM是否在高效地执行GC,以及是否有必要进行额外的性能调优。基于以上信息,我们可以修改...原创 2018-05-04 00:01:56 · 317 阅读 · 0 评论 -
深入浅出Java垃圾回收机制-上
本篇主要针对GC机制进行介绍,在下一篇中,我们将重点探讨分析GC状态以及来自NHN的GC调优的例子。在学习GC之前,你首先应该记住一个单词:“stop-the-world”。Stop-the-world会在任何一种GC算法中发生。Stop-the-world意味着 JVM 因为要执行GC而停止了应用程序的执行。当Stop-the-world发生时,除了GC所需的线程以外,所有线程都处于等待状态,直...原创 2018-05-03 23:58:34 · 181 阅读 · 0 评论 -
减少 GC 开销的 5 个编码技巧
在这篇文章中,我们来了解一下让代码变得高效的五种技巧,这些技巧可以使我们的垃圾收集器(GC)在分配内存以及释放内存上面,占用更少的CPU时间,减少GC的开销。当内存被回收的时候,GC处理很长时间经常会导致我们的代码中断(又叫做”stop the world”)。背景GC用来处理大量的短期的对象的分配(试想打开一个web页面,一旦页面被加载之后,被分配内存的大部分对象都会被废弃)。GC使用一个被称作...转载 2018-05-03 23:52:59 · 138 阅读 · 0 评论 -
Jvm堆内存的划分结构和优化,垃圾回收详解
在JVM中堆空间划分如下图所示上图中,刻画了Java程序运行时的堆空间,可以简述成如下2条1.JVM中堆空间可以分成三个大区,新生代、老年代、永久代2.新生代可以划分为三个区,Eden区,两个幸存区在JVM运行时,可以通过配置以下参数改变整个JVM堆的配置比例1.JVM运行时堆的大小-Xms堆的最小值-Xmx堆空间的最大值2.新生代堆空间大小调整-XX:NewSize新生代的最小值-XX:MaxN...转载 2018-05-31 22:30:39 · 455 阅读 · 0 评论