JVM从起始到调优系列-1
来源:互联网 发布:淘宝国产高仿手办 编辑:程序博客网 时间:2024/06/06 13:12
JVM是Java Virtual Machine的简称,意为Java虚拟机。
虚拟机:指通过软件模拟的具有完全硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统
虚拟机种类:VMWare、Visual Box、JVM
VMWare或者Visual Box都是使用软件模拟物理CPU的指令集,JVM使用软件模拟java字节码的指令集
1996年 SUN JDK1.0 Classic VM
-纯解释运行,使用外挂进行JIT
1997年JDK1.1发布
-AWT、内部类、JDBC、RMI、反射
1998年 JDK1.2 Solaris Exact VM
-JIT解释器混合
-Accurate Memory Management 精准内存管理,数据类型敏感
-提升GC性能
2000年 JDK1.3 Hotspot作为默认虚拟机发布 加入JavaSound
2002年 JDK1.4 Classic VM退出历史舞台 Assert正则表达式 NIO IPV6日志API 加密类库
2004年发布 JDK1.5 即JDK5、J2SE 5、Java 5
-泛型
-注解
-装箱
-枚举
-NIO 2.0
2014年 JDK8发布
-Lambda表达式
-语法增强 Java类型注解
2016年JDK9
-模块化
----------------------------
Java语言规范
-语法
-变量
-类型
-文法
—————————
JVM规范
-Class文件类型
-运行时数据
-帧栈
-虚拟机的启动
-虚拟机的指令集
——————————————————————————————————————————————————
JVM启动流程:
装载配置(根据当前路径和系统版本寻找jvm.cfg)-根据配置寻找JVM.dll(JVM.dll为JVM主要实现)-初始化JVM获得JNIEnv接口(JNIEnv为JVM接口,findClass等操作通过它实现)-找到main方法并运行
—————————————————————————————————————————————————-—
内存空间:方法区、java堆、java栈、本地方法栈
_______________________________________
PC寄存器
方法区:保存装载的类信息:类型的常量池、字段,方法信息、方法字节码
GC分代,堆也是分代的
java栈:线程私有、栈有一系列帧组成、
帧保存一个方法的局部变量、操作数栈、常量池指针、每一次方法调用创建一个帧,并压栈、java没有寄存器,所有参数传递使用操作数栈、小对象在没有逃逸的情况下,可以直接分配在栈上,大对象或者逃逸对象无法栈上分配
———————————————————————————————————————————————————
解释运行:
-解释执行以解释方式运行字节码
-解释执行的意思是:读一句执行一句
编译运行(JIT):
-将字节码编译成机器码
-直接执行机器码
-运行时编译
-编译后性能有数量级的提升
———————————————————————————————————————————————————
常用JVM配置参数
-verbose:gc
-XX:+printGC
打开gc监控开关,打印GC简单信息
-XX:+printGCDetails
-打印GC详细信息
-Xloggc:log/gc.log
-指定GC log的位置,以文件输出
-帮助开发人员分析问题
-Xmx
-指定最大堆
- JVM从起始到调优系列-1
- jvm系列(六):jvm调优-从eclipse开始
- jvm系列(六):jvm调优-从eclipse开始
- JVM系列文章(1):JVM内存分配
- OpenStack源码系列---起始篇
- JVM系列
- JVM 系列:
- jvm系列
- JVM系列
- JVM系列
- 【JVM】JVM系列
- 从内存到JVM--跟着大牛@RednaxelaFX深入JVM系列--(目录摘要)
- oracle截取字符串并做比较-SUBSTR("字符串",起始位-从1开始数,截取长度)
- 设置UITextView光标从起始位置开始
- 起始
- 起始
- 起始
- 起始
- memcached高可用集群原理及介绍
- 一些疑问
- 大数的四则运算之除法----Java代码实现
- Polya定理学习总结
- HDU6059(两棵字典树)
- JVM从起始到调优系列-1
- hdu1114 完全背包
- Android BroadcastReceiver之自定义无序、有序广播
- jmeter的三种参数化
- Apache服务器访问过慢分析及解决
- [PAT乙级]1013. 数素数 (20)
- form标记
- 化学试剂
- 第一个自己做的东西!