JVM调优
- 概念
- 基本垃圾回收算法
- 垃圾回收面临的问题
- 分代垃圾回收详述1
- 分代垃圾回收详述2
- 典型配置举例1
- 典型配置举例2
- 新一代的垃圾回收算法
- 调优方法
- 反思
什么是JVM?
在互联 行业,JVM毫无疑问已经是最热门的技术之一
JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
Java语言的一个非常重要的特点就是平台无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
JVM有哪些特性?
1、移植性
无论是GC还是Hotspot都可以用在任何Java可用的地方。比方说,JRuby可以运行在其他平台上,Rails应用就可以运行在IBM主机上的JRuby上,而且这台IBM主机运行的是CP/CMS.实际上,由于Java和OpenJDK项目的开源,我们正在看到越来越多的平台的衍生,因此JVM的移植性也将越来越棒。
2、成熟
JVM已有多年的历史,在过去的这些年里,许多开发者为它做出了许多贡献,使得它的性能一次又一次地提升,让JVM变得更加稳定、快速和广泛。
3、覆盖面
JRuby和JVM上的其他语言项目已经被承认,一个例子是invokedynamic specification(akaJSR292)。JSR越来越配合新的语言,JVM已不再是Java一个人定制规则。JVM正在构建成为类如JRuby等项目的优良平台。还有一个MLVM(multiple languageVM)项目,好比是新特性的清算机构,是一个许多企业应用的开发者试图添加应用的地方,而这些应用正是他们想在JVM中看到的。而且JVM开发者互相协作、彼此影响,无疑这有利于JVM新特性的诞生。这些细节都可以看到JVM正在关注开发者的需求,扩大他的覆盖面。
转发+关注后留意私信回复即可免费领取史上最全JVM实战文档
JVM内存区域划分
1.程序计数器(线程私有)
2Java栈(线程私有)
3.本地方法栈(线程私有)
4.堆(线程共享)
5.方法区(线程共享)
6.直接内存(线程共享)
JVM执行子系统
1.Class类文件结构
2.字节码指令
3.类加载机制
4.类加载器
5.Tomcat类加载机制
6.方法调用详解
垃圾回收器和内存分配策略
1.Java中是值传递还是引用传递?
2.引用类型
3.基本垃圾回收算法
4.分代处理垃圾
5.JAVA中垃圾回收GC的类型
编写高效优雅Java程序
1、面向对象
2.方法
3.通用程序设计
转发+关注后留意私信回复即可免费领取史上最全JVM实战文档
性能优化
1、常用的性能评价测试指标
1.1响应时间
1.2并发数
1.3吞吐量
2、常用的性能优化手段
2.1避免过早优化
2.2进行系统性能测试
2.3寻找系统瓶颈,分而治之,逐步优化
2.4前端优化常用手段
3、应用服务性能优化
3.1缓存
3.2异步
3.3集群
3.4应用相关
转发+关注后留意私信回复即可免费领取史上最全JVM实战文档
总目录
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!