主要部分: SoftReference(软引用)是java中一个用来实现缓存内容的类.通过此类,可以观察某对象什么时候会被垃圾收集的执行绪清除.被 Soft Reference 指到的对象,即使没有任何 Direct Reference(强引用),也不会被清除.一直要到 JVM 内存不足时且 没有 Direct Reference(强引用) 时才会清除. SoftReference 是用来设计 object-cache(对象缓存) 之用的.如此一来 SoftReference 不但可以把对象 c…
Java 2 平台引入了 java.lang.ref 包,其中包括的类可以让您引用对象,而不将它们留在内存中.这些类还提供了与垃圾收集器(garbage collector)之间有限的交互. 1.先“由强到弱”(只的是和垃圾回收器的关系)明确几个基本概念:      strong references是那种你通常建立的reference,这个reference就是强可及的.这个不会被垃圾回收器自动回收.例如:      StringBuffer buffer = new StringBuffer…
Java.lang.ref 是 Java 类库中比较特殊的一个包,它提供了与 Java 垃圾回收器密切相关的引用类.这些引用类对象可以指向其它对象,但它们不同于一般的引用,因为它们的存在并不防碍 Java 垃圾回收器对它们所指向的对象进行回收.其好处就在于使者可以保持对使用对象的引用,同时 JVM 依然可以在内存不够用的时候对使用对象进行回收.因此这个包在用来实现与缓存相关的应用时特别有用.同时该包也提供了在对象的“可达”性发生改变时,进行 提醒的机制.本文通过对该包进行由浅入深的介绍与分析,使…
最近在看netty的时候看到直接内存的相关概念,为了更详细的了解一下具体原理,搜到了一篇不错的文章 http://lovestblog.cn/blog/2015/05/12/direct-buffer/  因为文章中又涉及到PhantomReference的概念,又为了更详细的了解一下具体原理,又搜到了另一篇不错的文章 https://blog.csdn.net/xlinsist/article/details/57089288 这些概念很多文章中都有讲解,下面主要是针对各个Reference的…
引言: 即使对于Java的很多老鸟来说,如果忽然问他引用的类型,大概率是一脸茫然,不知所措的-.Java中的引用还分类型,神马情况??? 本文将针对这些类型进行分析,帮助您一文知所有类型. Java的类型 在Java中存在的类型有两大阵营: 基本数据类型和Java Class. 所谓的基本数据类型包括: byte, char, int, float, double, long, boolean. 数组是一个特殊的数据结构,其中可以使用基础数据类型,也可以是各种类. 除了基本数据类型之外,就是以J…
Reference 是一个抽象类,而 SoftReference,WeakReference,PhantomReference 以及 FinalReference 都是继承它的具体类.接下来我们来分别介绍和分析强引用以及 java.lang.ref 包下各种虚引用的特性及用法.StrongReference, SoftReference, WeakReference 以及 PhantomReference 的特性及用法 StrongReference: 我们都知道 JVM 中对象是被分配在堆(h…
目录 1,引用类型 2, FinalReference 2.1, Finalizer 3, SoftReference 4, WeakReference 5, PhantomReference 6, ReferenceQueue 7,Cleaner 8, Reference 引用实例的几个状态 重点源码解析 总结 1,引用类型 java.lang.ref整体包结构 类型 对应类 特征 强引用 强引用的对象绝对不会被gc回收 软引用 SoftReference 如果物理内存充足则不会被gc回收,如…
导语 移动互联网时代,很多用户趋向于将大量的资料保存在移动设备上.但在给用户带来便利的同时引发了一个新的问题——保存在移动设备上的资料该怎样共享出去?到了思考时间,普通青年这样想:折腾什么劲啊,直接用数据线不就行了:而文艺青年可能这样想:咱们建个群吧,大家有好的东西都可以共享:二逼青年不高兴了,都特么互联网时代了,来点新意,好么?直接上网盘啊,大家互相研究研究,你懂的,嘿嘿.然而我是这样想的:都特么别BB,技术要以时俱进,来个新潮点的不行么?直接上Wi-Fi Direct.好用简单不解释.那么我…
elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介.Java REST Client.Java Client.Spring Data Elasticsearch) 一.ES Client 简介 1. ES是一个服务,采用C/S结构 2. 回顾 ES的架构 3. ES支持的客户端连接方式 3.1 REST API ,端口 9200 这种连接方式对应于架构图中的RESTful style API这一层,这种客户端的连接…
说明: 在本文中, Garbage Collection 翻译为 "垃圾收集", garbage collector 翻译为 "垃圾收集器"; 一般认为, 垃圾回收 和 垃圾收集 是同义词. Minor GC 翻译为: 小型GC; 而不是 次要GC Major GC 翻译为: 大型GC; 而不是 主要GC 原因在于,大部分情况下, 发生在年轻代的 Minor GC 次数会很多,翻译为次要GC明显不对. Full GC 翻译为: 完全GC; 为了清晰起见,一般直接译为…