
jvm
dongdong_java
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从JVM内存管理的角度谈谈静态方法和静态属性 和 java对象引用与JVM自动内存管理
试着从JVM的内存管理原理的角度来谈一下静态方法和静态属性的问题,不对的地方请指正。 (joezheng123.javaeye.com/blog/264695)JVM的内存分为两部分:stack和heap : stack(栈)是JVM的内存指令区。stack管理很简单,push一定长度字节的数据或者指令,stack指针压栈相应的字节位移;pop一定字节长度数据或者指令,stack指针弹转载 2014-01-14 17:18:15 · 833 阅读 · 0 评论 -
JVM GC
总结内存多占1G左右,CPU利用率没有明显变化,但随着CMS收集抖动,最高达40%,CPU load平均高出1.0左右。几乎0停顿,相比于之前每隔5分钟应用停顿3-4s,调优后的应用几乎没有停顿时间,每次”stop the world”由youngGC引起,最高也不过200+ms。GC总时间开销显著减小20%多,吞吐量显著提升。应用超过500ms的请求响应时间减少3%(一小时的观察转载 2014-04-30 16:35:33 · 1288 阅读 · 0 评论 -
JVM 回收流程图
先看一下JVM的内存模型: 从大的方面来讲,JVM的内存模型分为两大块: 永久区内存( Permanent space )和堆内存(heap space)。 栈内存(stack space)一般都不归在JVM内存模型中,因为栈内存属于线程级别。每个线程都有个独立的栈内存空间。 Permanent sp转载 2014-04-30 16:40:31 · 858 阅读 · 0 评论 -
JVM 结构图
一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。转载 2014-04-30 15:56:34 · 10053 阅读 · 1 评论 -
Java中的CopyOnWrite容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。转载 2014-05-08 13:21:43 · 723 阅读 · 0 评论 -
面向GC的Java编程
Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题。以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象,就交给GC来做吧!甚至有人说,如果在编程过程中频繁考虑内存问题,是一种退化,这些事情应该交给编译器,交给虚拟机来解决。这话其实也没有太大问题,的确,大部分场景下关心内存、GC的问题,显得有点“杞人转载 2014-05-08 10:36:10 · 688 阅读 · 0 评论