
JVM
文章平均质量分 65
簡箪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM快速调优手册之二:常见的垃圾收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾收集器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。HotSpot虚拟机的垃圾回收器图中展示了7种作用于不同分代的收集器,如果两个收集器之间存在连线,就说明它们可...转载 2018-11-13 15:12:53 · 123 阅读 · 0 评论 -
JVM快速调优手册之三:内存分配策略
内存分配策略了解GC其中很重要一点就是了解JVM的内存分配策略:即对象在哪里分配和对象什么时候回收。Java技术体系中所提倡的自动内存管理可以归结于两个部分:给对象分配内存以及回收分配给对象的内存。我们都知道,Java对象分配,都是在Java堆上进行分配的,虽然存在JIT编译后被拆分为标量类型并简介地在栈上进行分配。如果采用分代算法,那么新生的对象是分配在新生代的Eden区上的。如果启动了...转载 2018-11-13 15:40:10 · 139 阅读 · 0 评论 -
JVM快速调优之一:内存结构(堆内存和非堆内存)
图为Java虚拟机运行时的数据区:1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB(未验证),可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。运行时常量池:是方法区的一部分,Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项...转载 2018-11-13 11:22:37 · 789 阅读 · 0 评论 -
JVM快速调优手册之四 :堆内存分配的CMS公式解析
一.JVM 堆内存组成Java堆由Perm区和Heap区组成,Heap区由Old区和New区(也叫Young区)组成,New区由Eden区、From区和To区(Survivor)组成。Eden区用于存放新生成的对象。Eden中的对象生命不会超过一次Minor GC。Survivor Space 有两个,存放每次垃圾回收后存活的对象,即图的S0和S1。Old Generation Old区...转载 2018-11-13 15:46:19 · 591 阅读 · 0 评论 -
JVM快速调优手册之五:ParNew收集器+CMS收集器的产品案例分析(响应时间优先)
一.服务器:-双核,4个cores; 16G memory[root@alish2-cassandra-01 ~]# cat /proc/cpuinfo | grep "cpu cores"cpu cores : 2cpu cores : 2二.公式简述:响应时间优先的并发收集器,主要是保证系统的响应时间,减少垃圾收集时的停顿时间。适用于应用服务器、电信领...转载 2018-11-13 16:07:37 · 1156 阅读 · 1 评论 -
JVM快速调优手册之七:Java程序性能分析工具JavaVisualVM(Visual GC)
VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。在内存分析上,Java VisualVM的最大好处是可通过安装Visual GC插件来分析**GC(Gabage Col...转载 2018-11-13 16:22:31 · 476 阅读 · 0 评论 -
JVM快速调优手册之八: GC插件+错误"not supported for this jvm"+命令jstatd
1.插件安装tools->plugin->Available Plugin 会有值得安装的插件,如:VisualGC插件列表:https://visualvm.dev.java.net/plugins.html注意:上面提供的端口配置有些麻烦,不如直接这样做:2.要使用 VisualGC 必须在远程机上启动jstatd代理程序,否则会显示 “not supported fo...转载 2018-11-13 17:00:57 · 1022 阅读 · 0 评论 -
JVM调优手册之六:JVM参数设置及分析
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同...转载 2018-11-13 17:56:53 · 168 阅读 · 0 评论