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

相关推荐
代码什么用9 分钟前
Java Web 21-22
java·开发语言·web
灯澜忆梦30 分钟前
【Linux】#5 | 文件与目录基础操作命令
java·linux·运维
字节跳动的猫33 分钟前
LikeShop 搜索功能优化二开:中文分词、商品权重排序与搜索热词管理
android·java·中文分词
计算机毕设定制辅导-无忧学长33 分钟前
《基于微信小程序的校园文化活动报名与管理系统》
java·spring boot·微信小程序·uniapp·校园文化活动报名与管理小程序
靠沿37 分钟前
MySQL数据库基础——索引的使用&alter、explain关键字
java·数据库·mysql
96245638 分钟前
餐饮 SaaS 优惠券系统架构演进(七)营销定价引擎设计:活动、会员价、优惠券、买赠如何在同一 PriceQuote 中可解释地组合
java·运维·算法
码匠许师傅43 分钟前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
ab12376844 分钟前
MQTT笔记
java·笔记·mqtt·学习
二宝哥1 小时前
【问题】代理转发到后端使用request.getRequestURL()地址没有端口
java
霸道流氓气质1 小时前
HashiCorp Vault 与云 KMS 入门实战:动态密钥、SecretLeaseContainer 与 Java 集成完整指南
java·开发语言