`
42087743
  • 浏览: 233722 次
  • 性别: Icon_minigender_1
  • 来自: 合肥&上海
社区版块
存档分类
最新评论

JVM学习笔记2--强/弱/软应用

阅读更多
1.强引用
引用

一般声明对象时虚拟机生成的引用,强引用环境下,垃圾回收时需要严格判断当前对象是否被强引用,如果被强引用,则不会被垃圾回收


2.软引用
引用

一般被做为缓存来使用。与强引用的区别是,软引用在垃圾回收时,虚拟机会根据当前系统的剩余内存来决定是否对软引用进行回收。如果剩余内存比较紧张,则虚拟机会回收软引用所引用的空间;如果剩余内存相对富裕,则不会进行回收。虚拟机在发生OutOfMemory时,肯定是没有软引用存在的。


3.弱引用
引用

与软引用类似,都是作为缓存来使用。但与软引用不同,弱引用在进行垃圾回收时,不论剩余内存是否紧张,是一定会被回收掉的,因此其生命周期只存在于一个垃圾回收周期内。

分享到:
评论

相关推荐

    java学习笔记

    10. 内存管理:简述Java的垃圾回收机制,理解引用类型的区别,如强引用、软引用、弱引用和虚引用。 通过这样的学习过程,读者不仅可以掌握Java编程的基本技能,还能逐渐熟悉Java的编程思想,为将来进一步学习Java ...

    java学习笔记之大鹏JAVA终级总结

    - 对象引用:了解强引用、软引用、弱引用和虚引用的区别。 4. **多线程** - 线程的创建:通过Thread类和Runnable接口创建线程。 - 线程同步:理解synchronized关键字,死锁与活锁,以及Lock接口。 - 线程池:...

    SCJP真题+个人笔记

    文档scjp1.doc、scjp2.doc、scjp3.doc和scjp4.doc可能包含了模拟试题、解析和学习笔记,涵盖了以下几个核心知识点: 1. **Java语言基础**:这部分包括了Java语法的基本元素,如变量声明、数据类型(基本类型与引用...

    java面试笔记最新java面试笔记

    3. **内存管理**:Java使用垃圾回收机制进行自动内存管理,面试时可能会问及内存模型、堆和栈的区别、对象引用(强引用、软引用、弱引用和虚引用)以及内存泄漏。 4. **集合框架**:熟悉ArrayList、LinkedList、...

    SCJP1.4考试笔记大整理

    还要理解引用的概念,如强引用、软引用、弱引用和虚引用的区别。 四、接口和访问修饰符 接口在Java中用于实现多继承,考生应理解接口的作用和实现方式。同时,理解public、private、protected和默认(package-...

    Ocjp6 考试笔记及心得总结

    3. **内存管理:** 内存区域的划分,如堆、栈、方法区、程序计数器等,以及垃圾回收机制,包括GC的工作原理、引用类型(强引用、软引用、弱引用、虚引用)和内存泄漏的理解。 4. **类和对象的生命周期:** 构造器的...

    JAVA解惑.大全和问题解析

    - 对象引用:强引用、软引用、弱引用、虚引用的不同及应用场景。 - 垃圾收集:理解GC的工作原理,如何避免内存泄漏。 4. **集合框架**: - List、Set、Map三大接口的实现类及其特性。 - 集合操作:添加、删除、...

    scjp笔记 考过scjp的学生的第一手资料 强烈推荐

    4. **内存管理与垃圾回收**:Java使用垃圾回收机制自动管理内存,理解对象生命周期、引用类型(强引用、软引用、弱引用、虚引用)以及如何避免内存泄漏。 5. **集合框架**:包括List、Set、Queue、Map等接口以及...

    jdk1.4 版本

    为了更好地控制内存管理,JDK 1.4引入了弱引用(WeakReference)和软引用(SoftReference)。这两种引用类型允许程序员创建对象,但允许垃圾收集器在内存不足时提前回收它们,有助于避免内存泄漏。 6. **改进的...

    scjp.rar_scjp

    4. **内存管理**:垃圾收集机制、引用类型(强引用、软引用、弱引用、虚引用)、对象生命周期。 5. **集合框架**:ArrayList、LinkedList、Vector、HashSet、HashMap等数据结构的使用和理解。 6. **IO流**:输入...

Global site tag (gtag.js) - Google Analytics