java 引用被回收_java GC 静态List 如果没有引用会被回收吗
垃圾收算法
1.引用计数法(Reference Counting Collector)
2.tracing算法(Tracing Collector)
3.compacting算法(Compacting Collector)
4.copying算法(Coping Collector)
5。generation算法(Generational Collector)
6.adaptive算法(Adaptive Collector)
一个新的对象被创建,由于它没有使用,所以该对象迅速地变为不可达,程序编译后,执行命令: java -verbosegc TestGC 后结果为:
[Full GC 168K->97K(1984K), 0.0253873 secs]
机器的环境为,Windows 2000 + JDK1.3.1,箭头前后的数据168K和97K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有168K-97K=71K的对象容量被回收,括号内的数据1984K为堆内存的总容量,收集所需要的时间是0.0253873秒(这个时间在每次执行的时候会有所不同)。
需要注意的是,调用System.gc()也仅仅是一个请求(建议)。JVM接受这个消息后,并不是立即做垃圾回收,而只是对几个垃圾回收算法做了加权,使垃圾回收操作容易发生,或提早发生,或回收较多而已。
一旦垃圾回收器准备好释放对象占用的存储空间,首先会去调用finalize()方法进行一些必要的清理工作。只有到下一次再进行垃圾回收动作的时候,才会真正释放这个对象所占用的内存空间。
http://blog.csdn.net/zsuguangh/article/details/6429592
看能否对你有用
2014年5月14日 13:36
java 引用被回收_java GC 静态List 如果没有引用会被回收吗相关推荐
- java的函数传值_java 函数形参传值和传引用的区别[转]
java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清. (一)基本数据类型:传值,方法不会改变实参的值. publicclassTestFun { publicstaticvoidt ...
- java 父类引用子类对象_java多态,如何理解父类引用指向子类对象
java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是"向上转型". 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过 C ...
- java值传递和引用传递简单_Java里的值传递与“引用传递”——一些想法
这两天在看Java的时候看到了方法中的值传递与引用传递,对于值传递我们都可以理解,非常的简单,但是对于引用传递,对于我们学过c++的人来说,那可不就来劲了吗,直接写一个函数来用"&& ...
- 符号引用,动态链接,静态链接,直接引用的区别
在类加载的时候会有5部分:加载,验证,准备,解析,初始化 静态链接 在解析的时候将符号引用变为直接引用,该阶段会把一些静态方法比如mian方法 替换为指向数据所存内存的指针或者句柄等(直接引用) 动态 ...
- Java垃圾回收(GC)、找垃圾的方式、GC Root、GC停顿、引用、垃圾收集算法、收集器、GC日志、安全点、安全区域
1.垃圾回收 1.1概念 在Java语言中,垃圾回收(Garbage Collection,GC)是一个非常重要的概念. 它的主要作用是回收程序中不再被使用的内存,Java提供的GC功能可以自动监测对 ...
- java gc回收算法_Java GC回收算法-判定一个对象是否可以回收
开源推荐 推荐一款一站式性能监控工具(开源项目) Pepper-Metrics是跟一位同事一起开发的开源组件,主要功能是通过比较轻量的方式与常用开源组件(jedis/mybatis/motan/dub ...
- java 静态数组 垃圾回收_java垃圾回收
参考文献: 1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象.该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引 ...
- java gc会回收类么_Java GC 垃圾回收机制
一.Java GC是什么? Java垃圾回收是对JVM(Java Virtual Machine)中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,自动的回收内存,永不停息(Nerver ...
- java对象什么时候回收_Java对象的生命周期与垃圾回收以及四种引用
创建对象的方式用new语句创建对象. 使用反射,调用java.lang.Class或java.lang.reflect.Constructor的newInstance()实例方法. 调用对象的clon ...
最新文章
- Mysql学习总结(11)——MySql存储过程与函数
- LeetCode 454 4Sum II(哈希法)
- TraceRoute原理
- http2.0 的时代来了
- 再见 Typora,这款 Markdown 编辑器开源又免费!
- 现代软件工程 作业 最后一周总结
- java接口+Java支持多继承吗?
- 前台性能和服务器性能是什么,前端性能优化指南[2]--什么是Web性能?
- Jetty 和tomcat 比较研究初探
- 了解第三方授权OAuth
- 技术栈是什么_我从找不到实习到拿大厂offer经历了什么?
- 毕设题目:Matlab图像修复
- 一、操作系统的基本概念
- html无法显示echarts地图,pyecharts 地图不显示问题
- 工程项目管理系统源码
- 如何将瀚高数据库单机数据导入HGDW
- Ubuntu Desktop 22.04 LTS系统(树莓派4B)配置系统输入法
- MapGuide 和 Google Map
- Django使用旧有的数据库
- mysql 查询一个订单下多个商品_如何商品信息多个sql查询搜索
热门文章
- 文档基本结构标签的作用
- 编写高质量代码改善C#程序的157个建议——建议130:以复数命名枚举类型,以单数命名枚举元素...
- Hadoop源代码分析(二)
- HDOJ-1257 最少拦截系统
- c语言 用一维数组存储二叉树,用一维数组存储二叉树时,总是以前序遍历顺序存储结点。( ? )...
- 自动产生fsm代码的工具_代码自动生成工具
- sql查询php,SQL查询或PHP?
- java创建对象过七夕,想 new 个对象过七夕,她却抛了异常
- mysql 5.5半同步复制_(5.5)mysql高可用系列——MySQL半同步复制(实践)
- webgl 游戏_如何选择 WebGL 框架和引擎?