总结篇(14)---JVM(java虚拟机) (1)JVM虚拟机概括

本文介绍了Java虚拟机(JVM)的概念及其关键组成部分,包括类加载器子系统、运行时数据区、执行引擎和本地库接口。此外,还详细阐述了JVM如何实现跨平台运行,并提供了深入理解JVM所需的进一步阅读材料。

JVM

  • JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是虚拟出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

一、JVM的作用


  • 实现了与平台的无关性:JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多个平台上不加修改的运行。

二、JVM概括图


三、JVM中每个模块介绍


  1. 类加载器子系统:负责加载class文件,class文件在文件开头有特定的文件标示,并且类加载器只负责class文件的加载,至于它是否可以运行,则由执行引擎决定。
  2. 运行时数据区:存放数据的,分为五部分(堆、方法区、虚拟机栈、本地方法栈、程序计数器)。几乎所有的关于java内存方面的问题,都集中在这块。
  3. 执行引擎:Class文件被加载后,会把指令和数据信息放入到内存中,执行引擎负责把这些命令解释给操作系统。
  4. 本地库接口:负责调用本地接口的。它的作用是调用不同语言的接口给JAVA用,它会在本地方法栈中记录对应的本地方法,然后调用该方法时就通过执行引擎加载对应的本地方法库。

备注:

1)Jvm oom问题如何排查和解决?

步骤 1:生成堆转储

heapdump /tmp/oom.hprof

步骤 2:MAT 分析

比如会发现 ConcurrentHashMap 占用了 80% 内存,其 Key 为订单 ID,Value 为订单对象。

步骤 3:Arthas 追踪写入逻辑

比如:

watch com.example.OrderCache addOrder "{params, returnObj}" -x 3 # 监控缓存写入

比如会发现订单支付完成后未调用 removeOrder 方法清理缓存。

步骤 4:修复代码

比如根据指示修改代码使用 WeakHashMapCaffeine 缓存,设置过期时间。

更多java基础总结(适合于java基础学习、java面试常规题):

总结篇(1)---复用类

总结篇(2)---多态

总结篇(3)---内部类 (1)内部类的基本概念

总结篇(4)---内部类 (2)内部类之静态内部类

总结篇(5)---内部类 (3)内部类之成员内部类

总结篇(6)---内部类 (4)内部类之局部内部类

总结篇(7)---内部类 (5)内部类之匿名内部类

总结篇(8)---序列化

总结篇(9)---字符串及基本类 (1)字符串及基本类之基本数据类型

总结篇(10)---字符串及基本类 (2)字符串及基本类之java中公共方法及操作

总结篇(11)---字符串及基本类 (3)String对象

总结篇(12)---字符串及基本类 (4)Integer对象

总结篇(13)--- Java注解及元注解

总结篇(14)---JVM(java虚拟机) (1)JVM虚拟机概括

总结篇(15)---JVM(java虚拟机) (2)类加载器

总结篇(16)---JVM(java虚拟机) (3)运行时数据区

总结篇(17)---JVM(java虚拟机) (4)垃圾回收

总结篇(18)---JVM(java虚拟机) (5)垃圾回收算法

总结篇(19)---JVM(java虚拟机) (6)JVM调优

总结篇(20)---反射

总结篇(21)---Java IO

总结篇(22)---Java 进程

总结篇(23)---Java线程及其相关(1)线程介绍

总结篇(24)---Java线程及其相关(2)多线程及其问题

总结篇(25)---Java线程及其相关(3)线程池及其问题

总结篇(26)---Java线程及其相关(4)ThreadLocal

总结篇(27)---Java并发及锁(1)Synchronized

总结篇(28)---Java并发及锁(2)Volatile

总结篇(29)---Java并发及锁(3)Lock

总结篇(30)---Java并发及锁(4)常见锁及分类

总结篇(31)---JUC工具类(1)CountDownLatch

总结篇(32)---JUC工具类(2)CyclicBarrier

总结篇(33)---JUC工具类(3)Semaphore

总结篇(34)---JUC工具类(4)Exchanger

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sun cat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值