1.强引用:虚拟机回收时,就算内存不足也不会回收。2.软引用:虚拟机回收时,当内存不足时才回收。(使用时需判断是否为空)适合操作频率不高,想避免OutOfMemory异常的发生。(Bitmap)3.弱引用:虚拟机回收时,只要发现有弱应用即回收。(使用时需判断是否为空)适合操作频率高,想应用有更好的性能。(handler)4.虚引用仅持有虚引用的对象,在任何时候都可能被GC;常用于跟踪对象被GC回收
分类:
编程语言 时间:
2019-09-07 01:00:38
阅读次数:
95
本文摘自 占小狼 文章,本文比喻的很形象; 问题: 既然在触发full gc的时候,年老代和持久代都会被清理,那么为什么还会出现oom问题? 而且对于强引用,当内存空间不足,java虚拟机宁愿抛出oom错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题; 那么full gc机制 ...
分类:
其他好文 时间:
2019-09-02 14:15:45
阅读次数:
212
java 四种引用 Java4种引用的级别由高到低依次为: StrongReference SoftReference WeakReference PhantomReference 1. StrongReference 此处的 tag 引用就称之为强引用。而强引用有以下特征: 1. 强引用可以直接访 ...
分类:
编程语言 时间:
2019-09-01 11:08:29
阅读次数:
104
sed1.sed支持表准输入输出2.对文件进行修改是不能加-n选项会造成修改的文件只有匹配的哪一行。3.s替换修改时不要加p选项4.sed替换选项中w将替换成功的行保存在文件的文件不能和操作的文件名重名,否则文件为空5.sed遇到强引用的问题1.sed"变量"解决‘‘‘变量‘‘‘6.sed转化大小写方法\u大写\l小写例题1在Ce
分类:
其他好文 时间:
2019-08-11 17:46:51
阅读次数:
96
一、巧妙使用软引用和弱引用 软引用,系统内存紧张时会回收软引用对象,一般用用高速缓存,例如图片缓存,我们一般通过内存缓存图片来提高图片加载速度,但内存吃紧的时候可以通过软引用及时对图片资源回收。 弱引用,但对象没有强引用,只有弱引用时资源会在gc中被回收,具体要看系统gc的时机。 二、SparseA ...
分类:
移动开发 时间:
2019-08-01 16:10:23
阅读次数:
165
对于常规的字符串定义变量值应添加双引号,并且等号后不能 有空格,需要强引用的,则需要单引号,需要命令引用的使用反引号。 单引号:所见即所得,即输出时会将单引号内的所有内容都原样输出,或者描述为单引号里面看到的什么就输出什么,这成为强引用。 双引号:输出双引号的所有内容;如果内容中有命令(要反引)、变 ...
分类:
系统相关 时间:
2019-07-25 23:30:49
阅读次数:
168
Java虚拟机采用可达性分析算法来判断对象是否可以回收。可达性分析算法通过一系列的GC Roots对象作为起始点,向下搜索走过的路径称引用链,当一个对象到GC Roots没有任何的引用链时,证明对象是不可用的。 Java中,可作为GC Roots的对象: 虚拟机栈中引用的对象 ...
分类:
编程语言 时间:
2019-07-21 01:44:57
阅读次数:
113
1.shell中单引号和双引号的区别: 1)、单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原 封不动的使用,唯一需要注意的点是不允许引用自身; 2)、双引号属于弱引用,它会对一些被引起来的字符进行特殊处理,主要包括以下情况: 1:$加变量名可以取变量的值 ,比如: [ ...
分类:
系统相关 时间:
2019-07-15 23:54:20
阅读次数:
164
强引用 Java 默认的就是强引用 只要有强引用存在,对象就不会被回收 软引用 如果内存足够就不进行回收,内存不够的时候会进行回收 比较适合做大对象的缓存 弱引用 如果垃圾回收发生,在线程扫描的时候,如果一个对象只有弱引用存在,那么就会被回收 如果这个对象是偶尔的使用,并且希望在使用时随时就能获取到 ...
分类:
编程语言 时间:
2019-07-12 12:37:16
阅读次数:
103
在Java语言中,除了基本数据类型外,其他的都是指向各类对象的对象引用;Java中根据其生命周期的长短,将引用分为4类。 不同的引用类型,主要体现的是对象不同的可达性状态和对垃圾收集的影响。 1 、强引用 我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关 ...
分类:
编程语言 时间:
2019-07-06 13:24:45
阅读次数:
123