网站首页 > 精选教程 正文
简介:术道并行,从零打造IT知识体系,图文视频同步更新。
本文学习章节:Java高级--01JVM篇--初始JVM
本文学习内容:简单介绍下JVM
思维导图
1 JVM的位置
JVM是运行在操作系统上,不同的系统安装与之对应的JVM。
2 常见JVM
主要了解目前最常见的JVM:
- HotSpot VM :HotSpot指热点代码探测技术
- Taobao JVM: 目前已经在淘宝、天猫上线,替换了Oracle官方JVM;
- Graal VM: Oracle 2018年4月公开,口号 Run Programs Faster Anywhere.最可能替代HotSpot的产品
3 架构图
可以说,学习JVM就是掌握这张图,能掌握到这张图,便掌握了JVM。
类加载子系统:加载字节码文件到运行数据区的方法区
执行引擎:执行字节码文件中的指令
本地方法接口:java调用其他语言的接口,与本地资源交互
运行时数据区:java内存(方法区:存储类元信息、方法元信息、常量池等;堆内存;java虚拟机栈;本地方法栈;程序计数器等)
4 指令集
由于跨平台的设计,java的指令都是根据栈来设计的,不同平台CPU架构不同,所以不能设计为基于寄存器的
栈:跨平台性、指令集小、指令多;执行性比寄存器差
寄存器:指令少
5 JVM的生命周期
启动
- 通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的
执行
- 一个运行中的java虚拟机有着一个清晰的任务:执行Java程序;
- 程序开始执行的时候他才运行,程序结束时他就停止;
- 执行一个所谓的Java程序的时候,真真正正在执行的是一个叫做Java虚拟机的进程。
退出
- 程序正常执行结束
- 程序异常或错误而异常终止
- 操作系统错误导致终止
- 某线程调用Runtime类或System类的exit方法,或Runtime类的halt方法,并且java安全管理器也允许这次exit或halt操作
- 除此之外,JNI规范描述了用JNI Invocation API来加载或卸载Java虚拟机时,Java虚拟机的退出情况。
- 上一篇: Java基础知识总结(超详细整理)
- 下一篇: 「推荐」深入浅出学习Spring框架系列
猜你喜欢
- 2024-12-02 Java学习路线总结,搬砖工逆袭Java架构师
- 2024-12-02 零基础怎么学java?怎么学好java?
- 2024-12-02 从零打造知识体系-IT-Java高级-01JVM篇-类加载
- 2024-12-02 学习方法:如何夯实基础,如何慢慢构建自己的知识体系?
- 2024-12-02 Spring框架系列(6) - Spring IOC实现原理详解之IOC体系结构设计
- 2024-12-02 Java自动化测试,必备知识梳理及面试题分享
- 2024-12-02 10幅思维导图告诉你 - 编程软件Java核心知识体系
- 2024-12-02 Java基础38个必会知识点,你知道几个?
- 2024-12-02 java初识
- 2024-12-02 「推荐」深入浅出学习Spring框架系列
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)