JVM 对象状态判断01
package com.dusk.service.jvm; /**
* @Authgor: gosaint
* @Description:
* @Date Created in 22:14 2018/9/10
* @Modified By:
*/
public class RefrenceCountingGC { public Object instance =null;
private static final int _1MB=1024*1024;
private byte[] bigSize=new byte[2*_1MB]; public static void main(String[] args) {
RefrenceCountingGC refrenceCountingGC1=new RefrenceCountingGC();
RefrenceCountingGC refrenceCountingGC2=new RefrenceCountingGC();
refrenceCountingGC1.instance=refrenceCountingGC2;
refrenceCountingGC2.instance=refrenceCountingGC1; refrenceCountingGC1=null;
refrenceCountingGC2=null; System.gc();
}
}

运行后查看GC日志:
[GC (System.gc()) [PSYoungGen: 6764K->728K(38400K)] 6764K->736K(125952K), 0.0017376 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[Full GC (System.gc()) [PSYoungGen: 728K->0K(38400K)] [ParOldGen: 8K->648K(87552K)] 736K->648K(125952K), [Metaspace: 3422K->3422K(1056768K)], 0.0083313 secs] [Times: user=0.03 sys=0.00, real=0.01 secs]
Heap
PSYoungGen total 38400K, used 998K [0x00000000d5f80000, 0x00000000d8a00000, 0x0000000100000000)
eden space 33280K, % used [0x00000000d5f80000,0x00000000d6079b20,0x00000000d8000000)
from space 5120K, % used [0x00000000d8000000,0x00000000d8000000,0x00000000d8500000)
to space 5120K, % used [0x00000000d8500000,0x00000000d8500000,0x00000000d8a00000)
ParOldGen total 87552K, used 648K [0x0000000081e00000, 0x0000000087380000, 0x00000000d5f80000)
object space 87552K, % used [0x0000000081e00000,0x0000000081ea22b8,0x0000000087380000)
Metaspace used 3437K, capacity 4496K, committed 4864K, reserved 1056768K
class space used 375K, capacity 388K, committed 512K, reserved 1048576K
[GC (System.gc()) [PSYoungGen: 6764K->728K(38400K)] 6764K->736K(125952K), 0.0017376 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

JVM 对象状态判断01的更多相关文章
- JVM对象存活判断方法
一.GC主要针对什么区域 1. 程序计数器.虚拟机栈.本地方法栈,3个部分随线程而生死.每个栈桢分配多少内存基本上是在类结构确定下来时就已确定,大体上可认为是 编译期可知. 2. 而 堆 和 方法区 ...
- [转]session缓存机制和三种对象状态
摘自 http://blog.csdn.net/csh624366188/article/details/7612142 Hibernate 的Session就是其中的一个,它提供了基本的增,删,改, ...
- C# MVC 用户登录状态判断 【C#】list 去重(转载) js 日期格式转换(转载) C#日期转换(转载) Nullable<System.DateTime>日期格式转换 (转载) Asp.Net MVC中Action跳转(转载)
C# MVC 用户登录状态判断 来源:https://www.cnblogs.com/cherryzhou/p/4978342.html 在Filters文件夹下添加一个类Authenticati ...
- [Nhibernate]对象状态
目录 写在前面 文档与系列文章 对象状态 瞬时态(Transient) 持久态(Persistent) 托管态(Detached) 对象状态转换 总结 写在前面 前面两篇文章介绍了SchemaExpo ...
- 1.1Hibernate持久化类和Hibernate持久化对象状态
一.持久化对象po类 1.po定义 PO,是Persistent Object的缩写,是持久化类.PO是由PO=POJO+hbm映射配置组成. 2.通俗理解 PO类即持久化类,其实就是一个普通的Jav ...
- NHibernate教程(18)--对象状态
本节内容 引入 对象状态 对象状态转换 结语 引入 在程序运行过程中使用对象的方式对数据库进行操作,这必然会产生一系列的持久化类的实例对象.这些对象可能是刚刚创建并准备存储的,也可能是从数据库中查询的 ...
- hibernate框架学习第三天:对象状态、一级缓存、快照等
对象的状态 瞬时状态: 瞬时对象(TO) 应用程序创建出来的对象,不受H3控制 注意:TO对象不具有OID,一旦为TO赋值OID,那么此时就不是TO 持久化状态:持久化对象(PO) 受H3控制的对象, ...
- 5 -- Hibernate的基本用法 --5 3 改变持久对象状态的方法
1. 持久化实体 Serializable save(Object obj) : 将obj对象变为持久化状态,该对象的属性将被保存到数据库. void persist(Object obj) : 将o ...
- NHibernate之旅(21):探索对象状态
本节内容 引入 对象状态 对象状态转换 结语 引入 在程序运行过程中使用对象的方式对数据库进行操作,这必然会产生一系列的持久化类的实例对象.这些对象可能是刚刚创建并准备存储的,也可能是从数据库中查询的 ...
随机推荐
- ADO.Net入门(2)
(转载) 作者:可米小子 出处:http://liuhaorain.cnblogs.com 1. 什么是连接池? 在上篇文章<你必须知道的ADO.NET(四) 品味Connection对象> ...
- git 生成公钥与私钥
一. 第1步:创建SSH Key.在windows下查看[c盘->用户->自己的用户名->.ssh]下是否有id_rsa.id_rsa.pub文件,如果没有需要手动生成.打开git ...
- 创建Oracle数据库需要注意的几点
规划表和存储空间,防止出现空间不足或者空间的浪费 规划快速恢复区,将快速恢复区定义在与数据文件不同的存储区域,减少IO争用 规划数据库的名称,db_name,db_main,sid 规划spfile内 ...
- 安装g++,在centos上执行yum -y install gcc gcc-c++ libstdc++-devel
Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirrors.1 ...
- 在javascript中使用提示信息来熟悉当前的程序流程
最近,因为需要,开始了解javascript,这个对我来说是个新的东西,在分析现有程序的功能的时候,需要增加一些提示信息来帮助了解程序的处理流程.于是在网上了解了一下提示信息的使用和区别.在此整理一下 ...
- 剑指offer-第五章总结
优化时间和空间效率的方法: 1,时间换空间. 2,动态规划. 3,找规律.
- Django--django-admin.py on windows does not work
使用命令:Python django-admin.py startproject projectname 使用django-admin.py startapp myblog没有创建新的app,使用下面 ...
- android中状态栏透明
设置 Acitivity 所在 window 的属性 @Override protected void onCreate(Bundle savedInstanceState) { super.onCr ...
- Oracle中遇到的错误
1. ORA-00937: 不是单组分组函数 和 不是group by表达式 --select count(corp_tn),state_code from t_oa_main where cor ...
- Linux下查询一个包是32位还是64位
Linux下查询一个包是32位还是64位 [root@localhost ~]# rpm -qa --queryformat %-{name}-%{version}-%{release}-%{arc ...