最近在跟人聊java的容器,在聊到WeakHashMap时,被问Weak是什么意思,当时没能回答出来,后面同事继续问java有哪几种引用,当时便有一种智商严重不足的感觉。于是便整理出这篇文章,希望各位多提意见。
java中提供了4个级别的引用:强引用、软引用、弱引用和虚引用。这4个引用在java.lang.ref包下:
一、强引用(FinalReference)
...
分类:
编程语言 时间:
2016-05-27 12:29:43
阅读次数:
172
类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 3.2 类和结构 类与结构的区别是它们在内存中的存储方式、访问方式(类似存储在堆上的引用 ...
WeakReference弱引用概述 http://www.cnblogs.com/xrq730/p/4836700.html,关于Java的四种引用状态具体请参看此文 Java里一个对象obj被创建时,被放在堆里。当GC运行的时候,发现没有任何引用指向obj,那么就会回收obj对象的堆内存空间。 ...
分类:
其他好文 时间:
2016-05-18 12:15:36
阅读次数:
168
本章以实际案例分析在android开发中,性能方面的优化和处理。设计到知识点有弱引用,memory monitor,Allocation Tracker和leakcanary插件。 1.测试demo 下载bug项目:https://github.com/lzyzsd/MemoryBugs,请注意配合 ...
分类:
移动开发 时间:
2016-05-18 01:40:10
阅读次数:
357
引用的类型主要关注的是该引用如何与GC交互。1.Strong References
java中常见的引用类型:StringBuffer buf = new StringBuffer();这里buf就是一个强引用。如果一个对象在一条强引用链上可达,那么它不适合GC,也不会被回收。2.Weak References
弱引用,是一种较弱的引用,它不会阻止GC回收只被弱引用引用的对象。
当一个对象最强...
分类:
编程语言 时间:
2016-05-13 00:55:56
阅读次数:
253
Map
Map用于保存具有映射关系的数据
key和value对应,单向的一对一关系
key在一起组成了一个Set集合(key不可以重复,Map.keySet()返回这个集合)
大部分和Set集合是一样的
Properties类是Hashtable类的子类。其对象用于处理属性文件(windows下是ini文件)
WeakHashMap实现类,只保持key对实际对象的弱引用...
分类:
编程语言 时间:
2016-05-12 18:46:31
阅读次数:
203
之前面试过很多家企业,一直没有时间总结一把,今天把面试中遇到的一些经典题目列出来,答案则会稍后补充,以供大家学习:
1、ARC中weak和assign区别,分别用在什么场景,weak的实现原理是什么?
weak 用来修饰弱引用的属性,在ARC环境下,所有指向这个对象的weak指针都将被置为nil。
asssign 相于于指针赋值,不对引用计数进行操作,注意原对象不用了,一定要把这个设置为ni...
分类:
移动开发 时间:
2016-05-10 12:57:35
阅读次数:
372
界面库中值得注意的一点就是对象响应事件的时候自身被删除了,那么后续的访问自然就会出问题,所以需要在响应事件之后先添加引用,相关处理之后再查看自身是否已经被删除,如果已经被删除那么就直接退出。juce中通过BailOutChecker来进行这处检查,内部实现很简单也就是通过弱引用来进行,关于弱引用请看 ...
分类:
其他好文 时间:
2016-05-09 01:32:20
阅读次数:
161
首先大家应该都知道Java从1.2起提供了四种引用类型,他们分别是其引用(StrongReference),软引用(SoftReference),弱引用(WeakReference)以及PhantomReference(虚引用),他们被GC回收的可能性从大到小排列。如下图可以看到Reference是继承自Object,而又有三个直接的子类,就是我们要介绍的几个类了。另外还有一个Reference...
分类:
编程语言 时间:
2016-05-07 09:27:01
阅读次数:
230
成员变量,本例中的是实例成员变量,是作用于整个类对象内的。从生命周期来看,它比局部变量要长一些,但它默认是私有的,其他对象是无法访问到的。
比如你一个变量放在@interface 中,你申请一个实体时,变量存活周期跟你实体一样。
因为成员变量的作用域是整个类对象内,所以在ARC环境下OC里面的成员变量应该是
strong属性的。
链接:http://www.zhi...
分类:
移动开发 时间:
2016-05-06 12:53:25
阅读次数:
690