VIM 技巧
match & replace match the whole word(eg: match printf but not snprintf/fprintf)You can use \ to match the end:
%s/\/PRINTF/gc
match the current...
分类:
其他好文 时间:
2015-05-06 12:44:36
阅读次数:
139
1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的 唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而 我们的很多对象都是朝生夕死的,如果分代的话...
分类:
其他好文 时间:
2015-05-05 15:58:23
阅读次数:
98
垃圾收集器(GarbageCollector,GC)对Java程序员来说,基本上是透明的,但是一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应..
分类:
编程语言 时间:
2015-05-05 12:45:52
阅读次数:
123
一.gc日志查看与分析 在sever端的run.xml中run和debug中加入如下参数: 启动server端后发现server文件夹下多了一个名为gclogs的文件。查看gclogs文件的内容如下:2015-04-29T11:17:40.703+0800: 2.456: [Full...
分类:
其他好文 时间:
2015-05-04 23:48:29
阅读次数:
204
引用计数算法:
Python使用的
给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。
缺点:很难解决对象之间的相互循环引用的问题。
互相引用着对方,导致它们的计数都不为0,于是引用计数算法无法通知GC收集器回收它们。
根搜索算法:
Java,C#,Lisp用的是这个。
通过一系...
分类:
编程语言 时间:
2015-05-04 22:11:09
阅读次数:
183
一:Session与CookieSession:在服务器端创建并存放在服务器的内存中的,Session的内容存储是键值对的列表,格式:名称 | 类型:长度:值Session的生命周期:在php.ini中session.gc_maxlifetime为session设置了生存时间(默认为1440s)客户...
分类:
其他好文 时间:
2015-05-04 21:44:22
阅读次数:
124
Stop-the-world意味着 JVM 因为要执行GC而停止了应用程序的执行。当Stop-the-world发生时,除了GC所需的线程以外,所有线程都处于等待状态,直到GC任务完成。GC优化很多时候就是指减少Stop-the-world发生的时间。GC创建垃圾回收器会在下面两种前提假设(hypotheses)成立的情况下被创建:
大多数对象会很快变得不可达
只有很少的由老对象(创建时间较长的对...
分类:
其他好文 时间:
2015-05-04 08:43:57
阅读次数:
163
通过前面一系列文章的学习,我们知道了ART运行时既支持Mark-Sweep GC,又支持Compacting GC。其中,Mark-Sweep GC执行效率更高,但是存在内存碎片问题;而Compacting GC执行效率较低,但是不存在内存碎片问题。ART运行时通过引入Foreground GC和Background GC的概念来对这两种GC进行扬长避短。本文就详细分析它们的执行过程以及切换过程。...
分类:
其他好文 时间:
2015-05-04 01:16:22
阅读次数:
385
一、多线程JVM实例一个JVM实例可以包含很多个线程。一个实体机器包含多个JVM实例,绑定不同的端口。线程共享的区域:方法区,常量缓冲池,堆。每个线程私有:程序计数器,栈,本地方法栈。二、JVM运行机制JVM执行程序:1)加载.class文件。2)管理并分配内存3)进行GC。JVM的两种机制:1)装...
分类:
其他好文 时间:
2015-05-03 23:29:49
阅读次数:
159
接上篇使用RCU技术实现读写线程无锁,在没有GC机制的语言中,要实现Lock free的算法,就免不了要自己处理内存回收的问题。
Hazard Pointer是另一种处理这个问题的算法,而且相比起来不但简单,功能也很强大。锁无关的数据结构与Hazard指针中讲得很好,Wikipedia Hazard pointer也描述得比较清楚,所以我这里就不讲那么细了。
一个简单的实现可以参考我的gith...
分类:
其他好文 时间:
2015-05-03 22:11:14
阅读次数:
158