首页 > 编程语言 >JVM-详解Java虚拟机

JVM-详解Java虚拟机

时间:2024-09-13 11:26:01浏览次数:14  
标签:Java JVM 虚拟机 VM jvm 加载

jvm概述

Java上层技术与jvm的层次关系图
image

image

image

Java生态圈
image

image

Java不是最厉害的语音,但jvm是最强大的虚拟机

image

image

jvm的位置
image

Java代码执行流程
image

image
对上图举例
image

image

jvm的生命周期
image
image

Sun(被Oracle收购)的HotSpot:第一商用虚拟机
image

JRockit:第二商用
image

IBM的J9:第三
image

特定硬件环境中的虚拟机(即应用场景有限)
Azul VM
image

Liquid VM
image

最新且强大的虚拟机 Graal VM
image

类加载子系统的作用
image

类加载(广义的过程)包括:加载;链接;初始化

1.狭义的加载:
image
2.链接:Verify;Prepare;Resolve
image

P30

标签:Java,JVM,虚拟机,VM,jvm,加载
From: https://www.cnblogs.com/fromWell888Dare/p/16600451.html

相关文章

  • Java常见报错
    NoSuchElementException:一般都是数组或者集合的索引越界ConCurrentCheck(并发修改异常):因为集合中有自己的修改次数记录的变量,还有另一个记录地变量,一般这2个变量不一致,则会报错!mapkeyisrequired怎么解决:说明:MyBatis查询一些记录,数据涉及到两个表里的数据,需要连表查......
  • 适合初学者的[JAVA]:Redis(2:I/O多路复用模型与事件派发)
    目录说明前言I/O多路复用模型备注:用户空间和内核空间:备注:阻塞IO:(了解)非阻塞IO:(了解)IO多路复用:(重点)常见的方式有:差异:事件派发说明:Redis网络模型总结: 说明本文适合刚刚学习Java的初学者,也可以当成阿岩~的随手笔记.接下来就请道友们和我一起来......
  • 【Java】Ruoyi(若依)——6.微服务版项目启动
    http://doc.ruoyi.vip/ruoyi-cloud/document/hjbs.html#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C最早的时候,并没有打算写ruoyi框架的微服务版的安装和部署,原因如下:1.当时的项目中并没有用到微服务版。2.虽然微服务很有名,也是未来的发展趋势。但是我对微服务了解知之甚少,学起来......
  • Java成神之路-踩坑篇: SpringBoot2.7.0版本整合Swagger3.0.0。解决:项目启动报错与swa
    话不多说先上报错信息Causedby:java.lang.NullPointerException:null atspringfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWrapper.java:56)~[springfox-spring-webmvc-3.0.0.jar:3.0.0] atspri......
  • 【JUC】16-Java对象内存布局和对象头
    1.对象的内存布局 在HotSpot虚拟机里,对象在堆内存中的存储布局可以分为三个部分:对象头、实例数据和对齐填充。对象头:由对象标记和类型指针。......
  • Java/JDK下载安装与环境配置(Windows 10 超详细的图文版教程 )
    Java/JDK下载安装与环境配置(Windows10超详细的图文版教程)一.JDK的下载与安装(免安装)安装包路径:D:\work\Vue3\安装包\jdk1.8.0_66.zip二.JDK环境配置JDK环境配置是JDK安装过程中最为重要的内容,大多数初学者安装JDK最大的问题就是出在环境配置上面,所以这里我以windows10......
  • 黑马面试集合(ArrayList, HashMap)篇笔记整理,结尾附Java的集合相关高频面试题及答案
    集合操作数据的特点-算法复杂度分析数据结构算法复杂度分析为什么要进行复杂度分析?指导编写性能更优的代码评判别人写代码的好坏时间复杂度分析时间复杂度分析:来评估代码的执行耗时的假设每行代码的执行耗时一样:1ms分析这段代码一共执行多少行?3n+3......
  • Java线程状态及生命周期
    基础概念Java线程在运行生命周期中的指定时刻只可能处于这6种不同状态的其中一个状态,分别是:NEW:初始状态,这是线程被创建出来但没有被调用start()。RUNNABLE:运行状态,线程被调用了start()等待运行的状态。BLOCKED:阻塞状态,等待WAITING:等待状态,表示该线程需要等待其他线程做出......
  • JavaScript之填充数组的五种方法
    点击跳转填充字符串方法填充数组是一种常见的操作,尤其是当你需要初始化数组或填充默认值时。本文将介绍几种不同的方法来填充数组,每种方法都有其适用的场景和用法。1.使用Array.prototype.fill()fill()方法是最直接的填充数组的方式。它可以用指定的值填充数组的所有......
  • 2.Java面向对象第二章方法与方法重载
    2.Java面向对象第二章方法与方法重载文章目录2.Java面向对象第二章方法与方法重载一、方法参数传递二、值传递与引用传递三、数组,对象参数传递四、构造方法五、this六、方法重载七、成员变量和局部变量的区别一、方法参数传递方法语法:访问修饰符返回值类型......