JVM
文章平均质量分 87
徒步凉城-Jasper
代码一撸到底
展开
-
GC工作原理和日志
GC的工作原理JVM分别对新生代和旧生代采用不同的垃圾回收机制新生代的GC:新生代通常存活时间较短,因此基于Copying算法来进行回收,所谓Copying算法就是扫描出存活的对象,并复制到一块新的完全未使用的空间中,对应于新生代,就是在Eden和FromSpace或ToSpace之间copy。新生代采用空闲指针的方式来控制GC触发,指针保持最后一个分配的对象在新生代区间的位置,当有新的对象...翻译 2018-09-21 15:52:19 · 1198 阅读 · 0 评论 -
JVM参数设置
JVM参数设置基本参数通过一张图来了解如何通过参数来控制各区域的内存大小控制参数-Xms设置堆的最小空间大小。-Xmx设置堆的最大空间大小。-XX:NewSize设置新生代最小空间大小。-XX:MaxNewSize设置新生代最大空间大小。-XX:PermSize设置永久代最小空间大小。-XX:MaxPermSize设置永久代最大空间大小。-Xss设置每个线程的堆栈大小。...原创 2018-09-21 17:55:05 · 50215 阅读 · 7 评论 -
JVM内存结构
JVM内存结构结构总览先看一张图,这张图能很清晰的说明JVM内存结构布局《深入理解Java虚拟机(第二版)》中的描述是下面这个样子的:JVM内存结构主要有三大块:堆内存、方法区和栈。堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下年轻代按照8:1:1的比例来分配;方法区存储类...转载 2018-09-21 17:59:35 · 134 阅读 · 0 评论 -
JAVA类加载器
装载验证流程每个编写的”.java”拓展名类文件都存储着需要执行的程序逻辑,这些”.java”文件经过Java编译器编译成拓展名为”.class”的文件,”.class”文件中保存着Java代码经转换后的虚拟机指令,当需要使用某个类时,虚拟机将会加载它的”.class”文件,并创建对应的class对象,将class文件加载到虚拟机的内存,这个过程称为类加载,这里我们需要了解一下类加载的过程,...转载 2018-09-21 18:00:44 · 11286 阅读 · 0 评论 -
深入理解JVM(3)-7种垃圾收集器(转)
**如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。**Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。接下来讨论的收集器基于JDK1.7 Update 14 之后的HotSpot虚拟机(在此版本中正式提供了商用的G...转载 2018-11-18 13:32:18 · 165 阅读 · 0 评论 -
JVM 性能调优监控工具
Java自带工具jpsJVM Process Status Tool,现实指定系统内所有的HotSpot虚拟机进程用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。语法结构:jps [options ] [ hostid ][options]选项 :-q: 输出VM标识符pid-m:输出main method的参数-l: 输出...原创 2018-12-26 17:58:50 · 295 阅读 · 0 评论 -
堆外内存分析
堆外内存分析需要安装google-perftools工具进行分析安装g++不然编译会报错:g++: command not found,已经安装可忽略yum -y install gcc gcc-c++安装libunwind不建议版本>0.99据说有问题,这个需要FQ# wgethttp://download.savannah.gnu.org/releases/libunwi...原创 2019-04-17 21:22:48 · 1055 阅读 · 0 评论