本月博客排行
-
第1名
龙儿筝 -
第2名
johnsmith9th -
第3名
wy_19921005 - zysnba
- sgqt
- lemonhandsome
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- benladeng5225
- wy_19921005
- fantaxy025025
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- javashop
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ranbuijj
- ganxueyun
- sichunli_030
- xyuma
- wangchen.ily
- jh108020
- lemonhandsome
- zxq_2017
- jbosscn
- Xeden
- luxurioust
- lzyfn123
- zhanjia
- forestqqqq
- johnsmith9th
- ajinn
- nychen2000
- wjianwei666
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
再看SoftReference和WeakReference
java中的SoftReference和WeakReference已经出来很久了,但是到现在为止开发的程序里几乎都没有直接用到它们。
用不到,那就说明还没有碰到需要用它们的场景,当然也有一个原因,就是不知道怎么用。
简单来说,java中的引用默认都是强引用,只要当引用存在(就是能从根引用遍历到),GC就不会回收。
有时候,我们无法自己决定还要不要用一个实例,可能需要根据情况决定,那么 ...
深入探讨 java.lang.ref 包
回顾了一下三年多前写的文章https://www.ibm.com/developerworks/cn/java/j-lo-langref/,发现还是有一些错误之处,转载于此,并一并改正。
概述
Java.lang.ref 是 Java 类库中比较特殊的一个包,它提供了与 Java 垃圾回收器密切相关的引用类。这些引用类对象可以指向其它对象,但它们不同于一般的引用,因为它们的 ...
不只是给面试加分 -- Java WeakReference的理解与使用
前言: 看到篇帖子, 国外一个技术面试官在面试senior java developer的时候, 问到一个weak reference相关的问题. 他没有期望有人能够完整解释清楚weak reference是什么, 怎么用, 只是期望有人能够提到这个concept和java的GC相关. 很可惜的是, 20多个拥有5年以上java开发经验的面试者中, 只有两人知道weak reference的存在 ...
java.uitl.WeakHashMap
在上篇文章中我提到过java.lang.ref.Reference类,这个东西有点用。
http://wangxinchun.iteye.com/blog/1954187
今天我就介绍下jdk中关于这块的一个应用:WeakHashMap,一个永不满的hashmap,一个和垃圾回收器相依相偎的缓存Map。
先看一个例子:
package com.qunar.flight.tts.policy.c ...
ThreadLocal使用及原理解析
1.ThreadLocal干什么的?
我们知道,在多线程程序中,同一个线程在某个时间段只能处理一个任务.我们希望在这个时间段内,任务的某些变量能够和处理它的线程进行绑定,在任务需要使用这个变量的时候,这个变量能够方便的从线程中取出来.ThreadLocal能很好的满足这个需求,用ThreadLocal变量的程序看起来也会简洁很多,因为减少了变量在程序中的传递.
2 ...
Android内存管理-SoftReference的使用
Android内存管理-SoftReference的使用
很多时候我们需要考虑Android平台上的内存管理问题,Dalvik VM给每个进程都分配了一定量的可用堆内存,当我们处理一些耗费资源的操作时可能会产生OOM错误(OutOfMemoryError)这样的异常,Android123观察了下国内的类似Market客户端设计,基本上都没有采用很好的内存管理机制和缓存处理。
如果细 ...
Java 引用方式
Java中的引用方式有StrongReference, SoftReference, WeakReference和PhantomReference。先来看一个来mindprod
的一个图表:
Soft vs Weak vs Phantom References
Type
Purpose
Use
When GCed
Implementing Class
...
java对象软、弱和虚引用
java.lang.ref包下提供了三个类SoftReference,phantomReference WeakReference,分别代表软引用,虚引用和弱引用
C#中没有这些概念
强引用,最常见的引用,程序创建一个对象,并把这个对象赋值给一个引用变量,通过该引用来实际操作对象
软引用,需要通过SoftReference类来实现,当一个对象只有一个软引用,它有可能被垃圾回收机制回收。内存空间足够时 ...
java 内存回收
三种引用:
软引用,虚引用和弱引用
SoftReference,
PhantomaReference,
WeakReference
对象可获取程度分为五种:
strongly reachable,
softly reachable、
weakly reachable、
phantomly reachable、
unreachable
弱引用和软引用的区别是决定清空和将加入队列的时间点不同:
S ...
java的引用探讨
Reference 是一个抽象类,而 SoftReference,WeakReference,PhantomReference 以及 FinalReference 都是继承它的具体类。
接下来我们来分别介绍和分析强引用以及 java.lang.ref 包下各种虚引用的特性及用法。
StrongReference, SoftReference, WeakReference 以及 PhantomRef ...
内存优化的两个类:weakReference、 softReference
如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,你必须要用一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 reference 数目一直无法为零, 使得对象无法被清除。
java.lang.ref.WeakReference
不过,现在有了 Weak Reference 之后,这就可以迎刃而解了。如果你希望能随时取得某对象的信息,但又不 ...
【转】SoftReference 和 WeakReference
Java 和 Android 内存优化的两个类:SoftReference 和 WeakReference Posted on 2010-10-22 00:55 charley_yang 阅读(436) 评论(0) 编辑 收藏 如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集的执行绪清除,你必须要用一个 reference 记住此对象,以便随时观察,但是却因此造成此对象的 refer ...
Java中软引用、弱引用和虚引用的使用方法示例
在Java引用中,使用最多的无疑是强引用类型,对于其余三种级别的引用类型用得比较少。它们使用的方式与强引用也有些区别。下面使用一个例子来介绍一下其余三种引用(包括软引用、弱引用和虚引用)的使用方法。
import java.lang.ref.*;
import java.util.*;
class Grocery {
private static final in ...
关于漫谈设计模式4.2.3章节的一点申明
之前比较懒,对ThreadLocal代码未做细细研究,而是受一些影响,而导致对其产生了一些误解,最近考略到jvm对classloader的回收问题时,我才意识到可能犯了一个错误,我把这个错误写在博文里,链接是http://redhat.iteye.com/blog/1057974,读者可以查阅该文章,关于这个章节的一点错误,如果我的书籍能够出版的话,我将在里面进行更新,或者我会给出新版本电子书籍,如 ...
ThreadLocal的误解
可能大部分人的想法和我当初的想法一样,都是以为在ThreadLocal里使用一个Map,这个Map的键为Thread,值为绑定的变量。其实如果这样做是有问题的:
1. 就是当线程回收时,该线程绑定的变量不能被自动的回收,因为变量存储在ThreadLocal里,必须显式的去回收。如果此变量存储在线程里,那么线程回收时,这个变量没有被其他引用指向的话,它便随着线程一起回收。
2. 另外不这样做还有一个好 ...