2017年8月24日

摘要: 如果有多个线程访问共享资源,可能会出现当一个线程没有处理完业务,然后另一个线程进入,从而导致共享资源出现不安全的情况。 日常例子:银行取钱,A和B有拥有同一个银行账户,A用存折在柜台取钱,B在取款机取钱。取钱有两个关键步骤: (1)判断账户里的钱的余额是否大于所取钱数 (2)如果大于所取钱数,则账户 阅读全文
posted @ 2017-08-24 00:17 adamo_chen 阅读(374) 评论(0) 推荐(0) 编辑

2017年8月8日

摘要: 1、引用计数算法 给对象中添加一个计数器,每当一个地方引用它时,计数器值就加1;当引用失效时就减1。如果两个对象存在相互的引用,尽管这两个引用已经不再被使用,但还是不能被清除。通过一些实验可得SUN公司的JVM没有采用这种算法。 2、根搜索算法 该算法的基本思路是通过一系列的名为“GCRoots” 阅读全文
posted @ 2017-08-08 23:11 adamo_chen 阅读(653) 评论(0) 推荐(0) 编辑

2017年7月26日

摘要: 本内容由《深入理解java虚拟机》的部分读书笔记整理而成,本读者计划连载。 通过如下图和文字介绍来了解几个运行时数据区的概念。 方法区:它是各个线程共享的区域,用于内存已被VM加载的类信息、常量、静态变量、即时编译器编译的代码等数据。JVM规范对这个区域的限制很宽松,如同堆一样不需要连续的内存、可选 阅读全文
posted @ 2017-07-26 22:28 adamo_chen 阅读(273) 评论(0) 推荐(0) 编辑

导航