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

相关推荐
冬夜戏雪19 小时前
实习面经摘录(六)
java
把你毕设抢过来19 小时前
基于Spring Boot的演唱会购票系统的设计与实现(源码+文档)
java·spring boot·后端
⑩-19 小时前
Redis内存淘汰策略?如何处理大Key?
java·数据库·redis
淡泊if19 小时前
eBPF 实战:一次诡异的 Nginx 高延迟,我用 5 分钟在内核里找到了真凶
java·运维·nginx·微服务·ebpf
李白的粉19 小时前
基于springboot的桂林旅游景点导游平台
java·spring boot·毕业设计·课程设计·源代码·桂林旅游景点导游平台
毕设源码-赖学姐19 小时前
【开题答辩全过程】以 花卉交易系统为例,包含答辩的问题和答案
java
weixin_7042660519 小时前
Spring整合MyBatis(一)
java·spring·mybatis
翘着二郎腿的程序猿19 小时前
Maven本地化部署与使用全指南
java·maven
历程里程碑19 小时前
Linux 49 HTTP请求与响应实战解析 带http模拟实现源码--万字长文解析
java·开发语言·网络·c++·网络协议·http·排序算法
IronMurphy19 小时前
【算法二十】 114. 寻找两个正序数组的中位数 153. 寻找旋转排序数组中的最小值
java·算法·leetcode