JVM工具-基础

news/2024/11/19 23:24:57/文章来源:https://www.cnblogs.com/nxjblog/p/18432847

Jvm内存

1.堆内存(Heap):

堆内存是Java中用于存放对象实例的内存区域,几乎所有的对象实例(包括数组)都在这里分配内存。

堆内存由垃圾回收器(Garbage Collector,GC)自动管理,程序员不需要手动释放。

堆内存可以细分为年轻代(Young Generation)、老年代(Old Generation)和永久代(PermGen,在Java 8及以后版本中改为元空间Metaspace)等,但这种划分主要基于垃圾回收的考虑,并非Java内存结构的直接组成部分。

2.栈内存(Stack):

栈内存主要用于存储局部变量和方法调用的上下文信息(如方法的参数、返回地址等)。

每个线程都有自己的栈内存,栈内存中的数据以栈帧(Stack Frame)的形式存在,每个栈帧对应一个方法调用的执行上下文。

当方法被调用时,会创建一个新的栈帧并将其压入调用线程的栈中;当方法执行完毕时,对应的栈帧会被弹出并销毁。

3.方法区(Method Area):

方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

在Java 8及以前版本中,方法区也被称为永久代(PermGen),但由于永久代的内存分配方式不够灵活,且容易导致内存溢出,因此在Java 8中被元空间(Metaspace)所取代。

4.本地方法栈(Native Method Stack):

本地方法栈与虚拟机栈所发挥的作用非常相似,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则为虚拟机使用到的Native方法服务。

5.程序计数器(Program Counter Register):

程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。

6.直接内存(Direct Memory):

直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,但是这部分内存也被频繁地使用,而且也可能导致OutOfMemoryError异常出现。

Java NIO引入了基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用Native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用进行操作。这样能在一些场景中显著提高性能,因为避免了在Java堆和Native堆中来回复制数据。

jps(Java Process Status):查看正在运行的Java进程

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/803899.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学生订阅如何免费获得2台Azure ArchLinux虚拟机

微软Azure 的学生订阅可以免费开 Windows 和 Linux 虚拟机各一台,但是只有1G内存,在Windows Server里面跑不动程序。 下面记录了我将安装了Ubuntu和Windows Server的2台虚拟机都重装成ArchLinux的过程。 一、登录github学生账号,登入https://portal.azure.com/ 分别开通两台…

教你玩转MySQL8物理备份利器Xtrabackup

教你玩转MySQL8物理备份利器Xtrabackup 原创 我科绝伦 小周的数据库进阶之路2024年09月22日 00:00 重庆热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者频率比较的内容,希望…

双面打印机:激光打印、复印、扫描一体机LaserJet Pro MFP 4104dw

双面打印机: 型号:LaserJet Pro MFP 4104dw 功能:激光打印、复印、扫描一体机

【计算几何】凸包问题 (Convex Hull)

【计算几何】凸包问题 (Convex Hull) 引言 凸多边形 凸多边形是指所有内角大小都在\([0,π]\)范围内的简单多边形 凸包 在平面上能包含所有给定点的最小凸多边形叫做凸包。 其定义为:对于给定集合 X,所有包含 X 的凸集的交集 S 被称为 X 的 凸包。 实际上可以理解为用一个橡皮…

2535. 数组元素和与数字和的绝对差

给你一个正整数数组 nums 。 元素和 是 nums 中的所有元素相加求和。 数字和 是 nums 中每一个元素的每一数位(重复数位需多次求和)相加求和。 返回 元素和 与 数字和 的绝对差。 注意:两个整数 x 和 y 的绝对差定义为 |x - y| 。 示例 1: 输入:nums = [1,15,6,3] 输出:9…

[34](CSP 集训)CSP-S 联训模拟 1

A 几何 重复若干次 -> 不能重叠,因此考虑直接暴力 DP 设 \(f_{i,j,k}\) 表示主串匹配到第 \(i\) 位(将前 \(i\) 位分别归为两类),其中 \(x\) 在重复了若干次后,又匹配到了第 \(j\) 位,\(y\) 在重复了若干次后,又匹配到了第 \(k\) 位 转移非常好写,枚举 \(i\),尝试把…

ShiftAddAug:基于乘法算子训练的最新无乘法网络方案 | CVPR24

不包含乘法的运算符,如移位和加法,因其与硬件的兼容性而日益受到重视。然而,采用这些运算符的神经网络(NNs)通常表现出比具有相同结构的传统NNs更低的准确性。ShiftAddAug利用成本较高的乘法来增强高效但功能较弱的无乘法运算符,从而在没有任何推理开销的情况下提高性能。…

ubuntu录屏转格式 webm转mp4

起因 想着将一些操作录屏记录下来。之前在win上面,使用EV录屏或者用CS(CamtasiaStudio)。这次用ubuntu,发现系统自带的录屏似乎就可以用,于是试了一下。操作确实很方便,但录屏生成的文件是.webm后缀,似乎要上传一些平台需要转格式。遂祭起AI大旗。 AI协助转格式 在Ubunt…

飞驰云联亮相”电子半导体数智化年会” 获”数据交换领域最佳厂商奖”

2024年9月20日,“2024第二届电子半导体/智能制造数智化年会暨品牌出海论坛”于上海隆重开幕,Ftrans飞驰云联作为国内领先的数据安全交换厂商,应邀携半导体全场景产品和解决方案亮相此次峰会。会上进行了“智象奖”评选,Ftrans飞驰云联凭借创新的技术以及优质的服务,荣获“…

智能同步,效率倍增:Ftrans文件自动化实时同步技术革新!

随着企业结构分散化,企业内部数据流转更加频繁,为了保证数据在不同平台和设备之间的一致性和可用性、保障数据的安全性并有效支撑业务开展,越来越多的企业需要将内部数据在多个数据中心之间、多台服务器之间、多云和本地间进行服务器文件自动化实时同步处理。通过同步软件,…

跨地域协作新篇章:异地传输文件的最优方案!

基于市场拓展、获取丰富资源、实现长期战略目标、分散运营风险等考量,企业会在多个城市或国家设立分支机构,用以覆盖更广泛的市场和客户群体,提高业务的可靠性和稳定性。企业在实现总分支机构之间异地传输文件时,会面临以下挑战: 1.管理难统一 不同业务部门、机构之间进行…

鸿蒙应用开发——Scroll/List组件无法触发滑动,检查子组件的高度是否被固定/是否内嵌了Tabs组件

鸿蒙应用开发——Scroll/List组件无法触发滑动,检查子组件的高度是否被固定/是否内嵌了Tabs组件鸿蒙应用开发——Scroll/List组件无法触发滑动 一、检查子组件的高度是否被固定 若Scroll/List组件的子组件的高度超出了Scroll/List组件高度则能够滚动,此时子组件的高度固定且不…