WeakReference 学习和使用】的更多相关文章

本文转自:http://qifuguang.me/2015/09/02/[Java%E5%B9%B6%E5%8F%91%E5%8C%85%E5%AD%A6%E4%B9%A0%E4%B8%83]%E8%A7%A3%E5%AF%86ThreadLocal/ 这里也留着以后自己方便再看. 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路,ThreadLocal的目的是为了解决多线程访问资源时的共享问题,bal…
在学习ThreadLocal时发现ThreadLocalMap里的Entry使用到了WeakReference,所以重新学习WeakReference 查看相关博客例如: https://blog.csdn.net/qq_33663983/article/details/78349641 https://www.cnblogs.com/szlbm/p/5504645.html 他们都没有将 car = null 应该还存在强引用,会什么car会被回收呢? 在第一个博客里这么写:“即使有car引用…
SoftReference可以用于bitmap缓存 WeakReference 可以用于handler 非静态内部类和匿名内部类容易造成内存泄漏 private Handler mRemoteHandler = new SafeHandler(this); ; /** * safe handler 静态内部类 */ private static class SafeHandler extends Handler { private final WeakReference<MainActivity…
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: 一些JVM的跟踪参数的设置 Java堆的分配参数 -Xmx 和 –Xms 应该保持一个什么关系,可以让系统的性能尽可能的好呢?是不是虚拟机内存越大越好? Java 7之前和Java 8的堆内存结构 Java栈的分配参数 GC算法思想介绍 –GC ROOT可达性算法 –标记清除 –标记压缩 –复制算法 可触及性含义和在Java中的体现 finalize方法理解 Java的强引用,软引用,弱引用,虚引用 GC…
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制只回收堆内存中的对象,不回收数据库连接.IO等资源,所以才要在finally中关闭 要回收,但什么时候回收是不一定的,即使显式的调用了System.gc() 垃圾回收程序在真正回收之前,会先调用被回收对象的finalize()方法,这是Object的protected方法,每个类都要继承的,这个方法…
Context作为最基本的上下文,承载着Activity,Service等最基本组件.当有对象引用到Activity,并不能被回收释放,必将造成大范围的对象无法被回收释放,进而造成内存泄漏. 下面针对一些常用场景逐一分析. 1. CallBack对象的引用 先看一段代码: @Override protectedvoid onCreate(Bundle state){ super.onCreate(state); TextView label =new TextView(this); label.…
PS:其实这一篇和上一篇很类似,都是为了解决内存不足(OOM)这种情况的发生... 学习内容: 1.对象的引用类....   最近也是通过项目中知道了一些东西,涉及到了对象的引用类,对象的引用类分为多种,强引用(其实就是正常的引用),使用SoftReference实现软引用,Weak Reference(弱引用) PhantomRefrence(虚引用)...这三个引用类我只详细的介绍一下SoftReference实现软引用...其他的就一笔带过.... 强引用: Object darker=n…
给出一个学习的链接讲的很全.. http://ifeve.com/java-nio-all/ 上边的是中文翻译的这里是原地址:http://tutorials.jenkov.com/java-nio/overview.html Channel: FileChannel DatagramChannel SocketChannel ServerSocketChannel Buffer: ByteBuffer CharBuffer DoubleBuffer FloatBuffer IntBuffer…
转自: http://jishu.zol.com.cn/12893.html 在整理前几篇文章的时候有朋友提出写一下ListView的性能优化方面的东西,这个问题也是小马在面试过程中被别人问到的…..今天小马就借此机会来整理下,网上类似的资料蛮多的,倒不如自己写一篇,记录在这个地方,供自己以后使用,不用再翻来翻去的找了,用自己写的…呵呵,不多讲其它了,说起优化我想大家第一反应跟小马一样吧?想到利用ViewHolder来优化ListView数据加载,仅仅就此一条吗?其实不是的,首先,想要优化Lis…
作者: nuanyangyang 标  题: Java学习路线图(整理中,欢迎纠正) 发信站: 北邮人论坛 (Mon Aug 11 19:28:16 2014), 站内   [以下肯定是不完整的列表,欢迎补充]   Java是一个通用的编程语言,其实可以干很多事,怎么学Java就看怎么用了.   但有一些一般的步骤:   1. 熟悉一种文本编辑器,比如Vim, Emacs, Notepad++, TextMate等.知道哪些是开源的,哪些是闭源的,哪些要收费.养成不用盗版软件的习惯. 2. 安装…