如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的实现中,垃圾回收从哪儿开始的呢?即,...
分类:
其他好文 时间:
2015-03-19 21:34:44
阅读次数:
106
垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在...
分类:
编程语言 时间:
2015-03-19 21:33:30
阅读次数:
169
JVM调优工具Jconsole,jProfile,VisualVMJconsole :jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:JDK自带,功能强大,与...
分类:
其他好文 时间:
2015-03-19 21:33:23
阅读次数:
155
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可...
分类:
编程语言 时间:
2015-03-19 18:47:47
阅读次数:
223
章节:1.创建,删除库2.添加,删除,修改表3.插入,删除,修改表内容4.授权,回收用户权限5.查询(查询函数)6.多表查询一、创建,删除库CREATEDATABASE[IFNOTEXIST]db_name[CHARACTERSET=][COLLATE=];DROPDATABASE[IFEXIST]db_name;二、添加,删除,修改表CREATETABLEtb_name(..
分类:
数据库 时间:
2015-03-19 18:42:10
阅读次数:
246
存储区的概念常见的存储区域可分为:
栈
由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆
由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,程序会一直占用内存,导致内存泄漏,在程序结束后,操作系统会自动回收。由malloc等分配的内存块,它和堆是十分相似的,不过...
分类:
其他好文 时间:
2015-03-19 18:33:34
阅读次数:
261
待机后,重新进入,发现数据丢失,通过打印信息发现,原来是activity被回收掉了。为了避免数据的丢失,在androidmanifest.xml的activity中加入android:configChanges="orientation|keyboardHidden|screenSize"
分类:
其他好文 时间:
2015-03-19 13:07:28
阅读次数:
120
原Blog地址,http://www.linkedin.com/pulse/garbage-collection-erlang-tianpo-gao?trk=prof-post。 本文将简单的描述Erlang的垃圾回收,并不是深入的探讨。 在Erlang运行时环境中,Erlang进程采用复制分代回收的...
分类:
其他好文 时间:
2015-03-19 11:50:00
阅读次数:
146
前言 垃圾自动回收机制的出现使编程更加的简单,使得我们不需要再去考虑内存分配和释放的问题,而是更加的专注在我们产品功能的实现上。但是我们还是需要花时间去了解下垃圾收集机制是怎么工作的,以便后面能够更...
分类:
编程语言 时间:
2015-03-19 10:22:25
阅读次数:
388