JVM调优(最关键参数为:-Xms-Xmx-Xmn-XX:SurvivorRatio-XX:MaxTenuringThreshold)代大小调优:避免新生代大小设置过孝避免新生代大小设置过大、避免Survivor设置过小或过大、合理设置新生代存活周期。-Xmn调整新生代大小,新生代越大通常也意味着更多对象会在minorGC阶段被回..
分类:
编程语言 时间:
2017-06-27 13:51:18
阅读次数:
101
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有ps、top、printf、jstack、grep。 第一步先找出Java进程ID,服务器上的Jav ...
分类:
编程语言 时间:
2017-06-18 18:08:51
阅读次数:
148
-一、基础概念01.数据类型①基本数据类型:byte,short,int,long,char,float,double,Boolean②引用数据类型:类类型,接口类型和数组02.堆与栈①栈是运行时单位,而堆是存储的单位。②堆中存的是对象,栈中存的是基本数据类型和堆中对象的引用。③由于程序运行在栈中进行,所以..
分类:
其他好文 时间:
2017-05-26 14:27:20
阅读次数:
241
转自:http://blog.csdn.net/chen77716/article/details/5695893 一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存 ...
分类:
其他好文 时间:
2017-05-01 00:20:47
阅读次数:
284
对JVM的设定将会很大程序上影响程序的运行,在不理想的情况下,即使服务器资源还比较充足,也容易出现运行缓慢或OutOfMemory的状况。 对JVM的调优首先要了解JVM的执行状况,Java提供了一些工具帮助我们了解JVM的情况。其中jmap可以看到启动程序的参数设定后的总体状况。 使用jmap - ...
分类:
其他好文 时间:
2017-04-28 21:23:14
阅读次数:
180
能整理出上面一些东西,也是因为站在巨人的肩上。下面是一些参考资料,供大家学习,大家有更好的,可以继续完善:) · Java 理论与实践: 垃圾收集简史 · Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning · Improv ...
分类:
其他好文 时间:
2017-04-27 13:26:45
阅读次数:
141
常见配置汇总 堆设置 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n:年轻代中Eden ...
分类:
其他好文 时间:
2017-04-27 13:25:00
阅读次数:
203
垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受的。这类应用可能要求请求的返回时间在 ...
分类:
编程语言 时间:
2017-04-27 13:23:40
阅读次数:
249
可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark- ...
分类:
编程语言 时间:
2017-04-27 12:43:54
阅读次数:
132