Java GC理解
来源:互联网 发布:3g网络和4g网络的速度 编辑:程序博客网 时间:2024/06/07 00:49
无用的内存对象无法被虚拟机回收
什么是内存泄漏:
1)内存不在GC回收的掌控之内了。
那么有几个问题:GC、内存;
(1)什么是垃圾回收机制-----GC?
1.吃完了自己去把垃圾倒掉 ----------C语言---手动回收内存。
2.吃完直接走人,服务员回收餐具。吃饭的方式比较爽。-----GC
服务员怎么知道他要哪个餐具回收呢?
(投诉)回收的标准低--只要有客户不走--持有了餐具就不回收
GC会找一个合适的时机,一次性回收很多。
-------开发人员的素质。
总结:某个对象不再有任何的引用的时候才会进行垃圾回收
提问:如果某个对象被别的对象引用了,就不能被GC回收吗?
否。(1)有软引用、弱引用、虚引用;
(2)最终:该对象一直往上追溯引用,能追溯到GC Root引用,能追溯到GC Root对象是谁
-------------GC回收机制原理是?-------------------------------------
内存有哪些?数据区:方法区、堆内存、栈内存
可以作为GC Root引用点的是?(JVM里有哪些内存不可以被回收的)
JavaStack中的引用的对象
方法区中静态的引用指向的对象
方法区中常量引用指向的对象
Native方法中JNI引用的对象
Thread----活着的线程
(2)怎么判断是垃圾对象呢?
什么是内存泄漏:
1)内存不在GC回收的掌控之内了。
那么有几个问题:GC、内存;
(1)什么是垃圾回收机制-----GC?
1.吃完了自己去把垃圾倒掉 ----------C语言---手动回收内存。
2.吃完直接走人,服务员回收餐具。吃饭的方式比较爽。-----GC
服务员怎么知道他要哪个餐具回收呢?
(投诉)回收的标准低--只要有客户不走--持有了餐具就不回收
GC会找一个合适的时机,一次性回收很多。
-------开发人员的素质。
总结:某个对象不再有任何的引用的时候才会进行垃圾回收
提问:如果某个对象被别的对象引用了,就不能被GC回收吗?
否。(1)有软引用、弱引用、虚引用;
(2)最终:该对象一直往上追溯引用,能追溯到GC Root引用,能追溯到GC Root对象是谁
-------------GC回收机制原理是?-------------------------------------
内存有哪些?数据区:方法区、堆内存、栈内存
可以作为GC Root引用点的是?(JVM里有哪些内存不可以被回收的)
JavaStack中的引用的对象
方法区中静态的引用指向的对象
方法区中常量引用指向的对象
Native方法中JNI引用的对象
Thread----活着的线程
(2)怎么判断是垃圾对象呢?
这是一个主观的判断。1.GC可以检测到的:2.主观
强引用:直接的对象引用
-- 软引用:当一个对象只有软引用存在时,系统内存不足时此对象会被gc回收(gc--垃圾回收机制)
-- 弱引用:当一个对象只用弱引用存在时,此对象会随时被gc回收。
阅读全文
0 0
- java GC 理解
- Java GC理解
- 理解Java的GC日志
- 理解 Java GC(一)
- 理解 Java GC(二)
- 理解 Java GC(三)
- 理解Java的GC日志
- 基于GC日志逐步理解Java虚拟机GC过程
- 理解 Java 的 GC 与 幽灵引用
- 理解 Java 的 GC 与 幽灵引用
- 理解 Java 的 GC 与 幽灵引用
- 理解 Java 的 GC 与 幽灵引用
- 理解 Java 的 GC 与 幽灵引用
- 理解Java的GC与引用
- 简单理解Java GC与幽灵引用
- 理解 Java 的 GC 与 幽灵引用
- 理解 Java 的 GC 与 幽灵引用
- 简单理解Java GC与幽灵引用
- 疯狂JAVA讲义——第二章练习题
- 如何理解Python 中的 if __name__ == '__main__'
- C# AES加密算法
- There is no tracking information for the current branch.
- iOS开发 Block声明方式
- Java GC理解
- 详解Android中的SQLite数据库存储
- Java 线程之Thread,Runnable,Callable<T>
- Dubbo系列(十三)Dubbo之将Dubbo服务打包成Jar包
- 《集体智慧编程》第12章 算法总结 个人笔记
- matplotlib中如何改变figure的布局和大小
- 初学node心得!
- webservice
- Android Studio下的JNI开发教程