自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZERO

  写程序归根到底就是做两件事---算法实现和错误处理

  • 博客(7)
  • 收藏
  • 关注

原创 解释器与编译器

HotSpot虚拟机采用解释器与编译器并存的架构,HotSpot内置了两种即时编译器,分别称为Client Compiler和Server Compiler或则简称为C1编译器和C2编译器。采用编译器和解释器搭配使用的方式在虚拟机中称为“混合模式(Mixed Mode)”。   解释器能够迅速的执行程序(编译代码耗时),而编译器编译成的本地代码运行效率更高,但两种编译器也有差异:Client Co

2016-10-28 15:15:43 977

转载 JVM优化之调整大内存分页(LargePage)

转载自:http://jm.taobao.org/2009/11/21/3157/什么是内存分页?       CPU是通过寻址来访问内存的。32位CPU的寻址宽度是 0~0xFFFFFFFF,即4G,也就是说可支持的物理内存最大是4G。但在实践过程中,程序需要使用4G内存,而可用物理内存小于4G,导致程序不得不降低内存占用。为了解决此类问题,现代CPU引入了MMU(Memory

2016-10-25 19:45:34 7579

原创 JVM命令参数大全

参数选项 含义 -Xmssize 设置初始化堆内存大小,这个值的大小必须是1024的倍数,并且大于1M,可以指定单位k(K),m(M),g(G)。例如 -Xms6m。如果没有设置这个值,那么它的初始化大小就是年轻代和老年代的和 -Xmxsize 设置最大堆内存大小,这个值的大小必须是1024的倍数,并且大于2M,可以指定单位k(K),m(M),g(G)。默认值是根据运行时的系统配置

2016-10-18 13:12:51 2658

原创 栈上分配和TLAB

栈上分配  JVM允许将线程私有的对象打散分配在栈上,而不是分配在堆上。分配在栈上的好处是可以在函数调用结束后自行销毁,而不需要垃圾回收器的介入,从而提高系统性能。   栈上分配的一个技术基础是进行逃逸分析,逃逸分析的目的是判断对象的作用域是否有可能逃逸出函数体。另一个是标量替换,允许将对象打散分配在栈上,比如若一个对象拥有两个字段,会将这两个字段视作局部变量进行分配。   只能在server模

2016-10-14 16:06:02 5701 1

转载 Shell中特殊变量

Bash shell中的位置参数$#,$*,$@,$0,$1,$2…及特殊参数$?,$$等的含义

2016-10-13 17:17:44 407

原创 MaxTenuringThreshold 和 TargetSurvivorRatio参数说明

-XX:MaxTenuringThreshold 晋升年龄最大阈值,默认15。在新生代中对象存活次数(经过YGC的次数)后仍然存活,就会晋升到老年代。每经过一次YGC,年龄加1,当survivor区的对象年龄达到TenuringThreshold时,表示该对象是长存活对象,就会直接晋升到老年代。-XX:TargetSurvivorRatio 设定survivor区的目标使用率。默认50,即sur

2016-10-12 15:33:44 7285

原创 CMS垃圾收集器

        CMS收集器(Concurrent Mark Sweep),年老代垃圾收集器,最主要目标是获取最短垃圾回收停顿时间,使用多线程的标记-清除算法,实现了让垃圾收集线程和用户线程同时工作。 初始标记(CMS initial mark)只是标记一下GC Roots能直接关联的对象,速度很快,仍然需要暂停所有的工作线程。 并发标记(CMS concurrent mark)进行...

2016-10-09 19:23:24 651

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除