JVM(一、基础知识)

JVM虚拟机的灵魂三问

JVM是什么?

广义上是一种规范,狭义上的是JDK中的JVM虚拟机,虚拟机模拟计算机的组成部分,可以运行我们写的应用程序,是对操作系统的一层抽象,把我们的应用程序和操作系统解耦,实现JAVA中一大特性,一次编写,到处运行。

为什么要学习JVM?

JVM相当于我们应用程序运行在的操作系统,当操作系统出现oom、性能不足各种的情况,就需要根据操作系统的特性,排查这些问题,同样,在JVM中,我们都要懂JVM的原理,才能去更好的解决这些问题.

怎么学习JVM?

JVM基本概念->类加载系统->运行时数据区->对象的声明周期->GC收集器->实战

JVM架构图

  • Class Loader System:类加载系统,把应用程序的类加载到内存中运行
  • Runtime Data Area:运行时数据区,存放应用程序运行时的数据
  • Execution Engine:执行引擎

注:各个模块中的细节后续文章会解释

Java和JVM的关系

JVM是一个java语言的运行环境,更准确地说是class格式文件的运行环境,只要语言可以编译成.class文件,都可以在JVM上运行

相关推荐
2301_8166602113 小时前
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
jvm·数据库·python
chools13 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
李白你好13 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
qq_3721542314 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
U盘失踪了14 小时前
Java 的 JAR 是什么?
java·jar
LiAo_1996_Y14 小时前
CSS如何实现文字渐变效果_通过background-clip实现艺术字
jvm·数据库·python
2401_8877245014 小时前
CSS如何让表单在手机端友好展示_利用Flexbox实现堆叠排版
jvm·数据库·python
zhangchaoxies14 小时前
Layui轮播图(carousel)怎么设置自动播放间隔
jvm·数据库·python
今天又在写代码15 小时前
java-v2
java·开发语言
competes15 小时前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql