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上运行

相关推荐
醇氧几秒前
【Windows】从守护到终结:解析一个 Java 服务的优雅停止脚本
java·开发语言·windows
努力发光的程序员几秒前
互联网大厂Java求职面试实录
java·jvm·线程池·多线程·hashmap·juc·arraylist
小鹿学程序5 分钟前
FileZilla连接到虚拟机
java·服务器·开发语言
Haooog11 分钟前
Docker面试题(不定时更新)
java·docker·面试
feathered-feathered21 分钟前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
毕设源码-赖学姐23 分钟前
【开题答辩全过程】以 高校排课系统的优化设计与实现为例,包含答辩的问题和答案
java·eclipse
q_191328469523 分钟前
基于SpringBoot2+Vue2的行业知识答题考试系统
java·vue.js·spring boot·mysql·毕业设计·计算机毕业设计·演示文稿
上78将24 分钟前
Java中既有编译执行又有解释执行,这个怎么理解?
java·开发语言
Mr_Xuhhh26 分钟前
JAVA期末重点
java·开发语言·python
a程序小傲34 分钟前
小红书Java面试被问:java创建对象有哪些方式?
java·开发语言·面试