赵计刚
每天进步一点点

随笔分类 -  Java内存管理

记录一些GC相关的知识
第十章 常用的JVM参数记录
摘要:GC -XX:+PrintGC 打印GC日志 -XX:+PrintGCDetails 打印详细的GC日志 -Xloggc:/var/gc.log 将GC日志打印在根目录的var文件夹下的gc.log文件中 class -verbose:class 打印类加载和卸载信息 堆内存 -Xmx2048m 最 阅读全文
posted @ 2017-05-28 12:22 赵计刚 阅读(1798) 评论(0) 推荐(0) 编辑
第九章 JVM调优推荐
摘要:说明:本文主要参考自《分布式Java应用:基础与实践》 1、JVM的调优主要是内存的调优,主要调两个方面: 各个代的大小 垃圾收集器选择 2、各个代的大小 常用的调节参数 -Xmx -Xms -Xmn -XX:SurvivorRatio -XX:MaxTenuringThreshold -XX:Pe 阅读全文
posted @ 2016-02-08 17:50 赵计刚 阅读(1400) 评论(0) 推荐(0) 编辑
第八章 JVM性能监控与故障处理工具(2)
摘要:注意:该篇博客主要记录自《深入理解java虚拟机(第二版)》 说明:关于命令行的JVM性能监控与故障处理工具见《第七章 JVM性能监控与故障处理工具(1)》 1、图像化的故障处理工具 Jconsole visualVM 2、Jconsole 进入"E:\Java\jdk1.6\bin",双击"jco 阅读全文
posted @ 2016-02-08 14:58 赵计刚 阅读(884) 评论(0) 推荐(0) 编辑
第七章 JVM性能监控与故障处理工具(1)
摘要:1、定位系统问题 依据 GC日志 堆转储快照(heapdump/hprof文件) 线程快照(threaddump/javacore文件) 运行日志 异常堆栈 分析依据的工具 jps:显示指定系统内的所有JVM进程 jstat:收集JVM各方面的运行数据 jinfo:显示JVM配置信息 jmap:形成 阅读全文
posted @ 2016-02-07 18:23 赵计刚 阅读(2341) 评论(0) 推荐(1) 编辑
第六章 JVM垃圾收集器(2)
摘要:上一章记录了几种常见的垃圾收集器,见《第五章 JVM垃圾收集器(1)》 R大的建议:小于8G的都用CMS,大于8G的选择G1。 1、G1 说明: 从上图来看,G1与CMS相比,仅在最后的"筛选回收"部分不同(CMS是并发清除),实际上G1回收器的整个堆内存的划分都与其他收集器不同。 CMS需要配合P 阅读全文
posted @ 2016-02-06 12:37 赵计刚 阅读(1487) 评论(0) 推荐(0) 编辑
第四章 JVM垃圾回收算法
摘要:说明:在阅读本篇之前,需要知道怎么判断对象的存活与否,见《第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程》 注意:本文主要参考自《分布式Java应用:基础与实践》,与《深入理解Java虚拟机(第二版)》中的一些说法有一些不同,但是原理一致 1、三种垃圾回收算法 标记-清除(年老代 阅读全文
posted @ 2016-02-05 16:04 赵计刚 阅读(3018) 评论(0) 推荐(0) 编辑
第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
摘要:注意:本文主要参考自《深入理解Java虚拟机(第二版)》 说明:查看本文之前,推荐先知道JVM内存结构,见《第一章 JVM内存结构》 1、内存回收的区域 堆:这是GC的主要区域 方法区:回收两样东西 无用的类 废弃的常量 栈和PC寄存器是线程私有区域,不发生GC 2、怎样判断对象是否存活 垃圾回收: 阅读全文
posted @ 2016-02-05 13:05 赵计刚 阅读(1971) 评论(0) 推荐(1) 编辑
附 Java对象内存布局
摘要:注意:本篇博客,主要参考自《深入理解Java虚拟机(第二版)》 1、对象在内存中存储的布局分为三块 对象头 存储对象自身的运行时数据:Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit),包含如下信息: 对象hashCode 对象GC分代年龄 锁状态标志(轻量级锁、 阅读全文
posted @ 2016-02-03 22:19 赵计刚 阅读(5277) 评论(1) 推荐(1) 编辑
第二章 JVM内存分配
摘要:注意:本篇博客,主要参考自以下四本书 《分布式Java应用:基础与实践》 《深入理解Java虚拟机(第二版)》 《突破程序员基本功的16课》 《实战java虚拟机》 说明:关于JVM内存结构,查看《第一章 JVM内存结构》,下面所讲的JVM内存分配主要是指在Hotspot JVM下新建对象在堆内存中 阅读全文
posted @ 2016-02-03 20:41 赵计刚 阅读(4792) 评论(0) 推荐(3) 编辑
第一章 JVM内存结构
摘要:注意:本系列博客,主要参考自以下四本书 《分布式Java应用:基础与实践》《深入理解Java虚拟机(第二版)》《深入分析Java web技术内幕》《实战java虚拟机》 1、为什么要了解JVM内存管理机制 JVM自动的管理内存的分配与回收,这会在不知不觉中浪费很多内存,导致JVM花费很多时间去进行垃 阅读全文
posted @ 2016-02-03 15:40 赵计刚 阅读(5335) 评论(1) 推荐(1) 编辑