JVM基本知识——运行空间

JVM(Java Virtual Machine)即Java虚拟机,是负责读取java字节码,并在实际的硬件环境中运行。

JVM可以分为三部分:类装载器(ClassLoader)子系统、内存空间、执行引擎

内存空间(运行时数据区)

方法区和堆是线程共享的

        本地方法栈:保存执行方法信息,执行java方法是使用栈,native方法使用本地方法栈

        方法区:存储被虚拟机加载的类信息、常量、静态变量。1.7的永久代和1.8的元空间都是方法区的实现

        虚拟机栈:存储局部变量表,线程私有,线程每执行一个方法就会在栈中创建一个栈阵,调用方法执行入栈、方法返回执行出栈

        堆:堆是内存最大的一部分,存储着所有对象的实例,为对象分配内存。是垃圾回收的主要区域。堆在物理存储上是不连续的,但是在逻辑上是连续的

        程序计数器:记录方法执行的jvm指令地址(native方法则为空,因为用c,不需要编译),

相关推荐

  1. jvm基础知识总结

    2024-07-18 12:48:04       54 阅读
  2. JVM-GC-基础知识

    2024-07-18 12:48:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 12:48:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 12:48:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 12:48:04       58 阅读
  4. Python语言-面向对象

    2024-07-18 12:48:04       69 阅读

热门阅读

  1. 在 Debian 12 上安装 budgie-extras-common 包

    2024-07-18 12:48:04       22 阅读
  2. 边缘计算与图像识别:打造无缝的智能体验

    2024-07-18 12:48:04       24 阅读
  3. APScheduler的调度模式

    2024-07-18 12:48:04       18 阅读
  4. Electron 应用关闭突出程序坞

    2024-07-18 12:48:04       19 阅读
  5. 数据可视化入门

    2024-07-18 12:48:04       26 阅读
  6. 用mybatis-plus-generator快速构建简单代码

    2024-07-18 12:48:04       22 阅读
  7. LinearLayout实现原理分析

    2024-07-18 12:48:04       20 阅读
  8. 存储ODS数据的时候为什么在Hive中建立Iceberg表

    2024-07-18 12:48:04       19 阅读
  9. 基于 Gunicorn、Flask 和 Docker 的高并发部署模型

    2024-07-18 12:48:04       21 阅读
  10. 残月之肃-C++

    2024-07-18 12:48:04       18 阅读
  11. 升本1.0.5-规划-英语-207天

    2024-07-18 12:48:04       22 阅读