最近看了很多面试问题,都涉及到JVM底层原理,比如JVM的内存结构以及其作用等。之前还是没怎么看这些的,但是Java和JVM( Java Virtual Machine )密不可分,我们Java程序员还是必须要了解JVM的原理的,毕竟知道上层API是远远不够的。JVM主要分为本地方法栈、虚拟机栈、程序计数器、堆区、方法区。

1.JVM结构图

① 类加载过程

JVM的内存结构

② 内存划分

JVM的内存结构

2.分区概述

虚拟机运行时内存主要分为方法区、堆、虚拟机栈、本地方法栈、程序计数器。按照线程私有和公共可分为:

  1. 线程共享区域:方法区、堆区
  2. 线程私有区域:虚拟机栈、程序计数器、本地方法栈

3.分区细说

对于这几个区域深入的分析,后面我会单独每一个区域分开来说。因为有的展开来说内容比较多。

标签云

ajax AOP Bootstrap cdn Chevereto CSS Docker Editormd GC Github Hexo IDEA JavaScript jsDeliver JS樱花特效 JVM Linux Live2D markdown Maven MyBatis MyBatis-plus MySQL Navicat Oracle Pictures QQ Sakura SEO Spring Boot Spring Cloud Spring Cloud Alibaba SpringMVC Thymeleaf Vue Web WebSocket Wechat Social WordPress Yoast SEO 代理 分页 图床 小幸运 通信原理

JVM的内存结构
JVM的内存结构