IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JVM内存模型详解 -> 正文阅读

[Java知识库]JVM内存模型详解

👏👏👏

哈喽!大家好,我是【学无止境小奇】,一位热爱分享各种技术的博主!😍😍😍

?【学无止境小奇】的创作宗旨:每一条命令都亲自执行过,每一行代码都实际运行过,每一种方法都真实实践过,每一篇文章都良心制作过。???

?【学无止境小奇】的博客中所有涉及命令、代码的地方,除了提供图片供大家参考,另外会在图片下方提供一份纯文本格式的命令或者代码方便大家粘贴复制直接执行命令或者运行代码。🤝🤝🤝

?如果你对技术有着浓厚的兴趣,欢迎关注【学无止境小奇】,欢迎大家和我一起交流。😘😘😘

??????感谢各位朋友接下来的阅读??????

一、JVM内存模型

1、JVM虚拟机

1.1、虚拟机栈

存放局部变量

栈帧:
1.局部变量表:存放局部变量。
2.操作数栈:数据在计算过程中需要一块中转内存空间用来存放,就是操作数栈。
3.动态链接:在程序运行过程中,将符号引用变为直接地址引用。
4.方法出口:指向调用该方法的其它方法。例如A方法第三行调用B方法,那么B方法的方法出口指向A方法的第四行。

1.2、本地方法栈

运行native本地方法。调用c语言编写的代码。

1.3、堆

new一个对象就会放到堆中

1.4、方法区

常量,静态变量,类信息

1.5、程序计数器

存放当前线程运行到哪行代码的行号,为了是如果此时cpu去运行别的线程后再返回来的时候可以知道之前运行到哪里了,可以接着运行。

2、堆详解

2.1、年轻代-Eden区

新new的对象会先放入Eden区中。

2.2、年轻代-Survivor区

Survivor区中有两个相同大小的区域,为S0和S1区,当Eden区满了的话,会进行Minor Gc,将存活的对象放入到S0中,然后将Eden区中的垃圾对象全部清理,当Eden中又满了的话,会将Eden中存活的对象和S0中存活的对象一起放入S1中,依次类推。当存活次数达到15次,对象就会被放入到老年代中。

2.3、老年代

对象在年轻代存活15次后会被放入老年代中。当老年代放满了后会进行Full Gc。

二、STW

1、停止用户线程

1.1、停止用户线程

在进行Minor Gc或者Full Gc的时候会停止用户线程,用户会感觉到卡顿。Full Gc卡顿比Minor Gc
更严重,所有我们要避免程序经常Full Gc。

三、方法区详解

1、方法区容量动态伸缩

1.1、默认初始

方法区默认初始值为21M,当方法区满了的话也会触发Full Gc,所以我们一般会手动设置方法区的容量,设置方法区的初始值和最大值命令: -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256

四、线程栈空间设置

1、线程栈空间设置

1.1、含义

线程栈是我们每一个线程中栈的总大小,默认为1M,可以通过命令修改:-Xss128k
结论:-Xss设置的越小一个线程的栈空间越少,但是能创建的线程数就会越多。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:26:07  更:2022-02-22 20:27:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:55:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码