jv是什么意思(jv是什么缩写)
第一个是JDK。
JDK(Java Development Kit)是Java语言的软件开发工具包(SDK)。JDK的安装目录下有一个jre目录,包含bin和lib两个文件夹。这里可以认为jvm在bin中,jvm需要的类库在lib中,jvm和lib一起称为jre。
那我们再来看看JRE。
JRE(Java运行时环境)包括JVM标准实现和Java核心类库。JRE是Java运行环境,不是开发环境,所以不包含任何开发工具(比如编译器和调试器)。
最后,JVM一目了然。
JVM是Java虚拟机(Java Virtual Machine)的缩写。JVM是计算设备的规范。它是一台虚拟的计算机,通过在实际计算机上模拟各种计算机功能来实现。
上图一目了然:
JDK是整个Java的核心,包括Java运行环境JRE、Java工具和Java基础类库。JRE是运行Java程序的必要环境的集合,包括JVM标准实现和JAVA核心类库。JVM是整个java跨平台实现的核心部分,可以运行用Java语言编写的程序。
JVM架构和工作原理:
用Java语言编写的源程序被编译成与平台无关的‘字节码程序’(。类文件,即0,1二进制程序),然后在OS之上的Java解释器中解释执行。
整个JVM类加载过程的步骤:
装载
加载过程负责找到二进制字节码并将其加载到JVM中。JVM通过类名和类的包名通过ClassLoader加载类。类似地,上面的三个元素也被用来标识一个加载的类:类名、包名、类加载器实例ID。
2.链接
link进程负责验证二进制字节码的格式,初始化加载类中的静态变量,分析类中调用的接口和类。
验证之后,JVM初始化类中的静态变量,并将它们的值赋给默认值。
最后,对类中的所有属性和方法进行验证,确保需要调用的属性和方法存在,并且具有相应的权限(如公共和私有域权限等。),这将导致NoSuchMethodError和NoSuchFieldError等错误消息。
初始化
初始化过程是执行类中静态初始化代码、构造函数代码和静态属性的初始化。初始化过程将在以下四种情况下触发:
新的;被称为;
反射调用了类中的方法;
子类称为初始化;
JVM启动期间指定的初始化类。
ClassLoader抽象类的几个关键方法:
(1)荷载等级
此方法负责加载具有指定名称的类。ClassLoader的实现方法是先寻找加载的类,如果没有,继续从父类加载器中寻找,如果还是找不到,从系统ClassLoade红豆博客r中寻找,最后调用findClass方法寻找。如果要更改类的加载顺序,可以重写此方法。
(2) findLoadedClass
该方法负责从当前类加载器实例对象的缓存中查找加载的类,并调用本机方法。
(3)查找类别
这个方法直接抛出ClassNotFoundException,所以需要重写loadClass或者这个方法,以自定义的方式加载相应的类。
(4) findSystemClass
这个方法负责从系统类加载器中找到类。如果没有找到,它将继续从引导类加载器中查找。如果仍然找到,它将返回null。
(5)定义阶级
这个方法负责将二进制字节码转换成类对象。
(6)解析类
这个方法负责完成类对象的链接。如果已经链接,就直接返回。
JVM运行时数据区:
第一:PC寄存器
PC寄存器用于存储每个线程接下来要执行的JVM指令。如果该方法是本地的,则PC寄存器中不会存储任何信息。
第二块:JVM栈
JVM栈是线程私有的,每个线程同时创建JVM栈。JVM栈中存储的红豆博客是当前线程中的局部基本类型变量(java定义的八种基本类型:boolean,C红豆博客har,byte,short,int,long,float,double),部分返回结果和栈帧。非基本类型对象只存储一个指向JVM堆栈的地址。
第三块:堆
它是JVM用来存储对象实例和数组值的区域。可以认为这里分配了Java中new创建的所有对象的内存,堆中对象的内存需要等待GC回收。
第四块:方法区。
(1)在孙,这一区域对应于永久世代,也称为持续世代。
(2)方法区存储加载的类信息(名称、修饰符等。)、类中的静态变量、类中定义为final类型的常数、类中的字段信息以及类中的方法信息。开发者在程序中通过类对象中的getName、isInterface等方法获取信息时,这些数据都来自方法区,方法区也是全局共享的。在一定条件下,也会GC。当方法区域所需的内存超过其允许的大小时,将抛出OutOfMemory错误消息。
第五块:运行时常量池。
是类中的固定常数信息、方法和字段的引用信息等。,它的空是从方法区域分配的。
第六块:本机方法堆栈。
JVM采用本地方法栈来支持原生方法的执行,这个区域用来存储每个原生方法调用的状态。
- 1bat的大数据(BAT的大数据来源)
- 2三星s8屏幕上端2(三星s8屏幕上端2个按键)
- 3三星屏幕坏了如何导出(三星屏幕摔坏了如何导出数据么)
- 4红米3x怎么关闭自动更新(红米k40s怎么关闭自动更新)
- 5微信上防止app自动下载软件怎么办(微信上防止app自动下载软件怎么办啊)
- 6押镖多少钱(押镖一个月有多少储备金)
- 7瑞星个人防火墙胡功能(瑞星个人防火墙协议类型有哪些)
- 8cf现在等级是多少(cf等级2020最新)
- 9老滑头多少条鱼(钓鱼老滑头有什么用)
- 10WPS自动调整语法(wps如何修改语法)
- 11dell控制面板防火墙(dell的防火墙怎么关闭)
- 12丑女技能升多少(丑女技能需要满级吗)
- 13智能家居系统怎么样(智能家居系统好吗)
- 14戴尔屏幕(戴尔屏幕闪烁)
- 15y85屏幕信息(vivoy85息屏显示时间怎么设置)
- 16魅蓝note3屏幕出现方格(魅蓝note屏幕竖条纹)
- 17v8手指按屏幕(触屏手指)
- 18金为液晶广告机(液晶广告机lb420)
- 19三星显示器怎么校色(三星显示器 调色)
- 20hkc显示器dvi音频(hkc显示器有音响么)
- 21康佳液晶智能电视机(康佳液晶智能电视机怎么样)
- 22做液晶画板电脑(做液晶画板电脑怎么操作)
- 23液晶屏极化现象原理(液晶屏极化现象原理是什么)
- 24企业网络安全防火墙(企业网络防护)
- 256splus黑屏屏幕不亮(苹果6s plus屏幕突然黑屏)
- 26充电导致屏幕失灵(充电导致屏幕失灵怎么办)
- 27超极本屏幕旋转(笔记本电脑屏幕旋转,怎么转过来?)
- 28igmp防火墙(防火墙配置ipv6)
- 29荣耀王者多少经验(王者荣耀经验多少一级)
- 30lol老将还剩多少(qg老将)