https://www.cnblogs.com/yw-ah/p/5830458.html Java四种引用包括强引用,软引用,弱引用,虚引用。 强引用: 只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels ...
分类:
编程语言 时间:
2017-12-02 20:19:34
阅读次数:
251
在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引 ...
分类:
编程语言 时间:
2017-11-11 22:56:13
阅读次数:
218
一、强引用。无论什么时候,垃圾回收器都不会回收他,若是内存不足会抛出OOM异常,也不回收强引用对象。 二、软引用。通过类SoftReference。它的作用告诉垃圾回收器,在内存不足的时候,会被回收器回收,如果释放了这些对象后内存仍然不足,会抛出OOM。{适合做缓存}强。 三、弱引用。WeakRef ...
分类:
编程语言 时间:
2017-10-02 23:03:42
阅读次数:
186
Java对象的大小 Java对象的大小 基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句: 这样在程序中完成了一个Java对象的生命,但是 ...
分类:
其他好文 时间:
2017-09-21 13:16:40
阅读次数:
131
ThreadLocal 前几天看了@华为kim的threadlocal的博文深有感触,所有在这再次总结一下我对threadlocal的源码理解,以及内部机制。 数据结构 下面看一下threadlocal的数据结构:每一个Thread内部都有一个 ThreadLocal.ThreadLocalMap ...
分类:
编程语言 时间:
2017-09-14 20:05:52
阅读次数:
278
WeakReference与SoftReference的区别?这点在四种引用类型中已经做了解释,这里简单说明一下即可:虽然WeakReference与SoftReference都有利于提高GC和内存的效率,但是WeakReference,一旦失去最后一个强引用,就会被GC回收,而软引用虽然不能阻止被回收,但是可以延迟到JVM内存不..
分类:
编程语言 时间:
2017-09-02 00:06:24
阅读次数:
213
1.Java基础 1.集合框架的结构 Java集合框架中抽象有序列表的接口是(List),无序列表的接口是(Set),他们的共同父接口是( Collection),用于对集合进行特殊操作如排序的工具类是(Collections),他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 2 ...
分类:
编程语言 时间:
2017-08-24 15:33:23
阅读次数:
443
简介: 本文主要介绍JAVA中的四种引用: StrongReference(强引用)、SoftReferenc(软引用)、WeakReferenc(弱引用)、PhantomReference(虚引用)的作用。同时我们还将介绍ReferenceQueue和WeakHashMap的功能和使用示例。 欢迎 ...
分类:
编程语言 时间:
2017-08-21 19:43:40
阅读次数:
311
如何判断对象生死? 有2种方法:引用计数算法、可达性分析 引用计数法: 有地方应用的话,计数就+1,没有的话就-1。虽然效率高,但是存在缺点,就是对象的相互循环引用的问题。 引用的分类: 强引用、软引用、弱引用、虚拟引用 整个类加载过程分为7部: 加载-》验证-》准备-》解析-》初始化-》使用-》卸 ...
分类:
其他好文 时间:
2017-08-04 18:20:14
阅读次数:
116
java的引用类型分四种:强引用-软引用-弱引用-虚引用 1、强引用: java默认的引用就是强引用,尽管jvm内存不足,在gc的时候也不会进行回收,会抛出内存溢出的异常。 Person p = new Person();就是一个强引用 2、软引用: 软引用在jvm内存充足的时候,不会被回收,在不充 ...
分类:
其他好文 时间:
2017-08-01 15:42:40
阅读次数:
127