当前位置:网站首页>JVM内存和垃圾回收-03.运行时数据区概述及线程
JVM内存和垃圾回收-03.运行时数据区概述及线程
2022-08-02 18:40:00 【J___code】
1.概念
- 内存:硬盘和CPU之间的仓库和桥梁,承载着操作系统和应用程序的实时运行
- JVM内存布局:该布局规定了Java在运行时内存申请、分配、管理的策略,保证JVM的高效稳定运行,不同的JVM对于内存的划分方式和管理机制存在差异
- JVM和线程的运行时数据区:JVM定义了若干程序运行时使用到的运行时数据区。一些随着JVM启动而创建(可以理解为启动一个JVM进程),随着JVM退出而销毁;另一些随着线程开始和结束而创建和销毁:
图中灰色部分为单个线程私有的数据区,包括PC寄存器、栈、本地栈;红色为多个线程共享的,包括堆和堆外内存(永久代或元空间、代码缓存)
tips:
- JVM内存布局中元数据区和
JIT
编译产物合成为元空间(JDK8的名称,即方法区)- 垃圾回收主要针对堆区,小部分针对方法区
- 每个JVM只有一个
Runtime
实例(即运行时数据区)
2.线程
- 线程是程序的运行单元,JVM允许一个应用有多个线程并行执行
- 在Hotspot JVM中,每个Java线程都和操作系统的本地线程直接映射(即线程准备执行时,本地线程也会同时创建;线程执行终止后,本地线程也会回收)
- 操作系统负责将所有线程调度到任何一个可用CPU上,一旦线程初始化成功,它就会调用Java线程中的
run
方法
边栏推荐
猜你喜欢
随机推荐
WPF使用Prism登录
论文阅读_胶囊网络CapsNet
中职网络安全竞赛之应用服务漏洞扫描与利用
T5: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer
【C语言刷题】Leetcode238——除自身以外数组的乘积
Mppt photovoltaic maximum power point tracking control matlab simulation
我靠这套笔记自学,拿下字节50万offer....
说一件事
selenium installation and environment configuration firefox
T31开发笔记:metaipc测试
药品研发--检验记录与检验报告书的书写细则
有什么好用的IT资产管理软件
NIO's Selector execution process
阿里35+老测试员生涯回顾,自动化测试真的有这么吃香吗?
仿制药的未来商机--个人研发的体会
【C语言刷题】Leetcode169——多数元素
大事务故障案例
mongodb的游标
WPF login with Prism
进程与线程