当前位置: 首页 > news >正文

JVM学习

JVM

1、JVM是一个跨语言的平台,与语言无关
2、java虚拟机规范:一流企业做标准,二流企业做品牌,三流企业做产品
JVM种类
Hotspot:Oracle 公司,有商业版和免费版
open jdk 内部包含免费版本hotspot虚拟机
Jrockit: BEA公司,曾经号称世界最快的虚拟机,后被Oracle收购,合并到Hotspot虚拟机
J9:IBM公司
Microsoft VM:微软
TaobaoVM:阿里,Hotspot深度定制版
LiquidVM:直接针对硬件,效率极高
azul zing:商业版本,速度快,垃圾回收1ms以内
垃圾回收算法被Hotspot吸收,衍生现在的ZGC
等等

3、JDK、JRE和JVM三者关系
JDK: 包括JRE和java 开发工具包
JRE: java运行是环境,包括JVM和java的核心类库
JVM: java虚拟机,运行字节码文件的平台

Class 文件

magic number:4个字节
minor version :2个字节
major version :2个字节
constant_pool_count :2个字节,常量池数量,最多存储常量数量2^16个
constant_pool :常量池,长度为constant_pool_count-1的的表
access_flags :访问标记
this_class :类名引用
super_class :父类引用
interface_count :接口数量
interfaces :接口列表
fileds_count :属性数量
fileds :属性列表
methods_count :方法数量
method_info :方法信息
attribute_count :属性数量
attribute_info :属性信息

无参构造方法执行
在这里插入图片描述

aload_0

Class文件解释器Jclasslib

Class 的加载过程包括: Loading,Linking(Verification,Perparation,Resolution),initializing

1、加载过程是通过类加载器完成的;jre内置类加载器包括Bootstarp,Ext和Application:Bootstarp 加载 jre/lib/rt.jar包中的class文件,Ext加载 jre/lib/ext路径下jar包中的class文件,Application加载classpath下的class文件;除了内置类加载器之外,用户还可以自定义类加载;遵循双亲委派原则
2、为什么要遵循双亲委派原则
2.1主要保证类加载的安全性,防止核心类被篡改
2.2同时可以提高加载效率,父加载器已经加载,则不需要再进行加载

加载不到类,抛出异常ClassNotFoundException
在这里插入图片描述

JMM Java内存模型

数据一致性
老的:总线锁
新的:缓存锁 + MESI

缓存行
缓存对齐:disruptor

乱序问题

CPU硬件内存屏障
Java内存屏障

在这里插入图片描述

运行时数据区

1、虚拟机栈

 int i = 8;
 i = i++
 sout(i)  // 8

在这里插入图片描述

http://www.dtcms.com/a/15612.html

相关文章:

  • JPA应用@Formula注解
  • Windows 11 卸载 Edge
  • intellij idea篇
  • 工厂设计模式
  • PySide (PyQt)的视图(QGraphicsView)和场景(QGraphicsScene)
  • 【鸿蒙Next】优秀鸿蒙博客集锦
  • 简单了解低代码Low Code
  • repo学习使用
  • HTTP/2 由来及特性
  • 探寻氧化铈:催化剂领域的璀璨明珠-京煌科技
  • 第39周:猫狗识别 2(Tensorflow实战第九周)
  • 上课啦 | 2月17日软考高项【5月备考班】
  • DeepSeek神经网络:技术架构与实现原理探析
  • VSCode选择编译工具(CMake)
  • HarmonyOS 5.0应用开发——Canvas制作个人签名
  • Linux开源生态与开发工具链的探索之旅
  • 通过openresty和lua实现随机壁纸
  • 基于SSM的农产品供销小程序+LW示例参考
  • 布隆过滤器详解及使用:解决缓存穿透问题
  • GDB 使用心得
  • MySQL技术公开课:Mysql-Server-8.4.4 Innodb 集群搭建与维护
  • Spring Boot 的约定优于配置:简化开发的艺术
  • mapbox V3 新特性,添加下雪效果
  • 科技查新测试有多重要?如何选择合适的第三方测试机构服务?
  • 深入浅出Java反射:掌握动态编程的艺术
  • 《图解设计模式》笔记(八)管理状态
  • 初窥强大,AI识别技术实现图像转文字(OCR技术)
  • 消防设施操作员考试题库及答案
  • 2024年12月电子学会青少年机器人技术等级考试(五级)理论综合真题
  • 广告深度学习计算:阿里妈妈大模型服务框架HighService