1、个人总结和想法: (1)、ThreadLocal的内存泄漏问题? ThreadLocal 我们应该关注它的内存泄漏问题,原因虽然JDK开发者已经使用了弱引用的键来尝试解决这个问题,不过是依然存在很大风险的,因为当使用static的ThreadLocal时会使其生命周期和类一样,这样是没有必要的, ...
分类:
其他好文 时间:
2018-02-26 16:22:56
阅读次数:
193
原文:https://www.cnblogs.com/huajiezh/p/5835618.htmlJava内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。java对象的引用包括 强引用,软引用,弱引用,虚引用Java中提供这四种引用类型主要有两个... ...
分类:
编程语言 时间:
2018-02-26 11:14:17
阅读次数:
186
java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。 java对象的引用包括 强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型主要有两个目的: 第一是可以让程序员通过代码的方式决定某些对象的生命周期; 第二是有利于JVM进行垃圾回收 ...
分类:
编程语言 时间:
2018-02-25 12:58:25
阅读次数:
186
threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. ** 最好的做法是将调用threadlocal的remove方法.**: 把当前ThreadLocal从 ...
分类:
其他好文 时间:
2018-02-14 17:53:08
阅读次数:
133
void *objc_destructInstance(id obj){ if (obj) { Class isa_gen = _object_getClass(obj); class_t *isa = newcls(isa_gen); // Read all of the flags at onc ...
分类:
其他好文 时间:
2018-02-01 23:14:00
阅读次数:
183
#概念我们希望能描述这样一类对象:在内存空间还足够时,则能保留在内存之中;如果内存空间在进行垃圾收集后还是非常紧张,则可以抛弃这些对象。在JDK1.2之后,Java对引用的概念进行了扩充,将引用分为强引用(StrongReference)、软引用(SoftReference)、弱引用(WeakReference)、虚引用(PhantomReference)。强引用永不回收。强引用就是在程序代码之中
分类:
其他好文 时间:
2018-01-25 12:06:18
阅读次数:
191
说说WeakReference弱引用 Java弱引用(WeakReference)的理解与使用 侧重说下弱引用:因为ThreadLocal用到了弱引用,而线程局部变量被广泛的应用在各种框架中。 了解如何定义和使用: 当gc执行:WeakReferenceCar关联的对象Car被回收掉了。 值得注意的 ...
分类:
其他好文 时间:
2018-01-19 11:52:44
阅读次数:
135
1.弱符号与强符号 对C/C++而言,编译器默认函数和初始化了的全局变量为强符号。未初始化的全局变量为弱符号。此处弱符号与强符号均是针对定义来说的,不是针对符号的引用。也可以通过GCC的 “__attribute__((weak))”来定义任何一个强符号为弱符号。 [cpp] view plain ...
分类:
其他好文 时间:
2018-01-11 19:20:03
阅读次数:
171
GCC中的弱符号与强符号 我们经常在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了一个全局整形变量global,并将它们都初始化,那么链接器将A和B进行链接时会报错: [htm ...
分类:
其他好文 时间:
2018-01-11 19:09:23
阅读次数:
268
■ Java 引用的相关知识 1. 强引用 强引用是Java 默认实现 的引用,JVM会尽可能长时间的保留强引用的存在(直到内存溢出) 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题:只有当没有任何对象 ...
分类:
其他好文 时间:
2018-01-02 17:27:38
阅读次数:
245