深入理解java虚拟机读书笔记,第五章:调优案例分析与实战

5.1概述

5.2案例分析

5.2.1高性能硬件上的程序部署

两种方式

通过64位JDK使用大内存

内存回收导致长时间停顿

现阶段,64位JDK的性能结果普遍低于32位JDK

需要保证程序稳定,因为产生堆栈溢出几乎无法产生堆转储快照,产生了也无法分析

由于指针膨胀、数据类型对齐补白等因素,64位消耗内存更大


通过若干个32位虚拟机建立逻辑集群来利用硬件资源

避免节点竞争全局资源,例如磁盘竞争

很难最高效率的利用某些资源池

各节点不可避免的受到32的内存限制

大量使用本地缓存的应用,造成内存浪费,考虑改为集中式缓存


5.2.2集群间同步导致内存溢出

5.2.3堆外内存导致的溢出错误

除了堆和永久代之外,以下区域受操作系统进程最大内存限制

Direct Momory

线程堆栈

socket缓存区

JNI方法

虚拟机和GC

5.2.4外部命令导致系统缓慢

5.2.5服务器JVM进程奔溃

5.2.6不恰当数据结构导致内存占用过大

5.2.7由windows虚拟内存导致长时间停顿

5.3实战:Eclipse运行速度调优

5.3.1 调优前的程序运行状态

5.3.2 升级jdk 1.6的性能变化及兼容问题

5.3.3 编译时间和类加载时间的优化

5.3.4 调整内存设置控制垃圾收集频率

5.3.5 选择收集器降低延迟




参考文献:

[1] 深入理解Java虚拟机 第二版 --周志明


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1 概述 Java优点: 1、结构严谨,面向对象 2、摆脱硬件平台束缚,实现了“一次编写,到处运行”的理想; ...
    viciyforever阅读 1,240评论 1 9
  • 从今天开始读《深入理解 Java 虚拟机》一书,并开设了同名专题 深入理解 Java 虚拟机。计划在 2 周内将全...
    SawyerZh阅读 10,269评论 17 215
  • 本系列文章的知识来源于周志明的《深入理解 Java 虚拟机》一书,内容经过了自己的加工整理和删减。 1. 走近 J...
    yyqian阅读 1,139评论 1 8
  • 文:波姬儿 三年的时间,说长不长说短不短,然而我却不知道我是否爱过 ,你也是否爱过。 09年,正月十五,是我们相识...
    王可淇阅读 355评论 2 3
  • 确实我们年轻 还可以重来 在面对社会现实与焦虑理想时伴随来的现实 焦虑 迷茫 焦躁 什么年纪都有烦恼 我们渐渐明白...
    雅nmmm阅读 363评论 0 2