memory
清风紫竹001
这个作者很懒,什么都没留下…
展开
-
Android 内存泄露原因
彻底搞懂Java内存泄露Java内存回收方式Java判断对象是否可以回收使用的而是可达性分析算法。在主流的商用程序语言中(Java和C#),都是使用可达性分析算法判断对象是否存活的。这个算法的基本思路就是通过一系列名为”GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此...转载 2018-05-19 15:17:46 · 565 阅读 · 0 评论 -
全面理解Java内存模型
Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的时候对共享变量进行同步。原始的Java内存模型效率并不是很理想,因此Ja...转载 2018-05-21 16:31:09 · 94 阅读 · 0 评论 -
Java 线程间通信
下面我从几个例子作为切入点来讲解下 Java 里有哪些方法来实现线程间通信。如何让两个线程依次执行?那如何让 两个线程按照指定方式有序交叉运行呢?四个线程 A B C D,其中 D 要等到 A B C 全执行完毕后才执行,而且 A B C 是同步运行的三个运动员各自准备,等到三个人都准备好后,再一起跑子线程完成某件任务后,把得到的结果回传给主线程如何让两个线程依次执行?假设有两个线程,一个是线程 ...转载 2018-05-21 16:47:35 · 87 阅读 · 0 评论 -
ThreadLoacl 分析 转载
在并发条件下,如何正确获得共享数据?举例:假设有多个用户需要获取用户信息,一个线程对应一个用户。在mybatis中,session用于操作数据库,那么设置、获取操作分别是session.set()、session.get(),如何保证每个线程都能正确操作达到想要的结果?/** * 回顾synchronized在多线程共享线程的问题 * @author qiuyongAaron */ publ...转载 2018-05-22 11:41:00 · 242 阅读 · 0 评论 -
Handler注意事项+ InterServices底层实现
Handler是什么Handler是Android提供的:一套更新UI的机制.一套消息处理的机制,我们可以通过Handler发送和处理消息.为什么使用HandlerAndroid在设计时,就封装了一套消息的创建、传递、处理机制,如果不遵循这样的机制,就没有办法更新UI信息,就会抛出异常信息.Google为什么只设计了Handler来解决更新UI的问题解决多线程并发问题.假设如果在一个Activi...原创 2018-05-22 16:01:23 · 1136 阅读 · 0 评论