![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
gc
择维士
专注技术分享
展开
-
触发Full gc条件
本文参考:http://blog.csdn.net/chenleixing/article/details/46706039 给出各个场景下可能触发full gc的实例代码.1.调用System.gcimport java.util.ArrayList;import java.util.List;/** * * created by: gaoxingliang@outlook.com *原创 2016-03-20 14:52:58 · 27159 阅读 · 3 评论 -
使用JMX来获取CPU利用率和GC 所占用的CPU利用率
这篇博客会介绍如何通过JMX 来获取JAVA 进程占用的CPU利用率和GC所占用的CPU利用率在使用JVisualVM的时候,发现它可以查看当前JAVA 进程占用的CPU利用率和GC 所占用的CPU利用率,很奇怪它是如何计算的或者怎么获取的. 本文会根据JVisualVM的源码来描述JVisualVM是如何计算的.获取源码GITHUB 地址: https://github.com/visualvm原创 2016-10-08 22:23:16 · 7698 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 目录
这一系列文章来自于原Oracle 上的java垃圾回收基础入门,写的很好 遂翻译了下.原文: http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html#overview译文: 1. 概览 2. Java 技术与JVM 3. 描述垃圾回收 4. 分代的垃圾回收过程 5. 自己动手观翻译 2016-04-24 13:52:58 · 570 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之6 Java垃圾回收器
Java垃圾回收器现在你知道垃圾回收的基础知识,也了解了如何在一个示例项目上观察gc过程。本节会介绍java可用的垃圾收集器和如何在命令行启用他们。通用堆相关参数JAVA中有很多命令行开关。这节展示了在本文中常用的开关。 开关 描述 -Xms 设置初始堆大小 -Xmx 设置最大堆大小 -Xmn 设置年轻代大小 -XX:PermSize 设置持久代初始大小 -翻译 2016-04-24 14:55:58 · 678 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之7 总结
总结在本文中,关于java jvm的垃圾回收系统有了一个大的了解。首先,你应该了解了为啥垃圾回收器和堆死Java JVM的关键部分。一旦你了解了这个过程,你可以通过Visual VM工具来观察。最后,你了解在HotSpot JVM中可用的垃圾回收器。 在这个初学者指南中,你学会了:Java VM 组成部分自动垃圾回收是如何工作的分代GC的过程如何使用VisualVm监控你的JVMJVM翻译 2016-04-24 14:56:49 · 827 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之5 自己动手观察
自己动手观察概览在本节观察GC过程是如何处理的.你会运行一个java应用并通过VisualVM 工具 分析GC过程. (译注:这里更多的图示是根据本地环境重新截图,更多是译者操作,使用jdk 为jdk 1.8.5 64 version)动手操作Step1 初始操作(1)安装jdk并确保java环境变量正确. (2)下载前面的java demos and samples. 百度云下载Step2翻译 2016-04-24 14:54:46 · 644 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之4 分代的垃圾回收过程
分代的垃圾回收过程现在我们知道了为什么堆被分为不同代,那么用一点时间来看看这些不同代之间是如何交付的.下面的这些图片描述了在JVM中.对象的分配和变老的过程. 1.任何新创建的对象都在eden区分配,2个survivor都是空的. 2.当eden区满了,会触发一次minor gc 3.此时还被引用的对象会移到第一个Survivor区S0.清除Eden区时,未被引用的对象被删除 4.在下次mi翻译 2016-04-24 14:52:14 · 719 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之3 描述垃圾回收
描述垃圾回收什么是自动垃圾回收自动垃圾回收是一个处理过程,包括:观察堆内存,找到哪些对象在使用,哪些没有,并且删除掉没有使用的对象.一个在使用的对象或者被引用的对象,意味这你程序的某个部分依然维系这一个指向该对象的指针.一个没有使用的对象或者未被引用的对象意味这该对象不再被你程序的任何部分引用.所以被这些不再使用的对象占用的内存可以得到回收.在一般的编程语言,比如C,内存的释放和分配都需要手动处理.翻译 2016-04-24 14:47:55 · 836 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之2 Java 技术与JVM
Java 技术与JVMJAVA概述JAVA是Sun公司在1995年发布的一个编程语言和计算平台.并在工具/游戏/商业应用上大放异彩.Java在超过850 * 百万 的个人电脑, 在10亿级的设备上运行(包括了移动设备和TV).java有一系列关键组件组成,最终构建了Java平台.Java运行时版本当你下载java后,你得到了一个Java运行时环境(Java Runtime Environment,J翻译 2016-04-24 13:59:55 · 805 阅读 · 0 评论 -
[翻译]Java Garbage Collection Basics Java 垃圾回收基础 之1 概览
概览目标本基础教程覆盖HotSpot JVM如何实现GC.主要包括如下内容: (1)了解GC如何工作的. (2)使用VisualVM监控GC过程. (3)了解Java SE 7 Hotspot JVM中的GC 收集器.预估完成时间1小时.简介这个OBE(译注:SRY,不知道啥意思,应该是一个组织的意思???),覆盖Java 中Java虚拟机(JVM) 垃圾回收(Garbage Collecto翻译 2016-04-24 13:55:12 · 493 阅读 · 0 评论 -
JVM OOM & JAVA finalizer 引发的OOM & Thread.stop
背景本文绝对干货. 某天发现客户环境一直有OOM发生,而且是阶梯状的内存增长. 比较郁闷. Abstract这个文章里面会描述以下几件事情: 1. 在java中有OOM应该怎么分析? 2. JAVA finalizer为什么会引发OOM? 3. 为什么不能使用Thread.stopJava中发生OOM应该怎么分析大多数时候Java都做得足够好. 但是没办法还是有可能会有OutOfMemor原创 2017-06-23 18:19:34 · 3876 阅读 · 1 评论