返回顶部
首页 > 资讯 > 精选 >JVM的秘密空间是什么
  • 677
分享到

JVM的秘密空间是什么

2023-06-16 11:06:23 677人浏览 薄情痞子
摘要

本篇内容介绍了“JVM的秘密空间是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!软件运行或者程序开发中,有时候会需要写一些临时文件,那写

本篇内容介绍了“JVM的秘密空间是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

软件运行或者程序开发中,有时候会需要写一些临时文件,那写这些临时文件的目录在哪呢?不同的软件,不同的语言,以及不同的操作系统都有所区别。在 Java  语言的世界里,因为是跨平台的语言,而且每个人的设置并不相同,所以这对应到具体当前系统的临时文件在哪,可以通过在代码里获取环境变量。

System.getProperty("java.io.tmpdir") 来看。

这个目录除了我们可以做为临时目录外,是不是我们不写文件的时候就用不到了呢?

其实并不是。这个目录相当于 JVM 的「秘密花园」,虚拟机会在这里记录许多的信息。

例如每一个 java 的进程,都会在该临时目录下的 `hsperfdata_$USER(你自己的用户名)`目录生成一个进程ID对应的文件。

可能有人遇到这种问题,Java 程序可以正常执行,但是通过 jps 命令不能把进程给列出来。这种一般都是和 tmpdir  有关,直接查看是否有对应的写权限,磁盘是否已满。

以后你无论是执行jps 命令,还是其他监控诊断类的应用需要 attach 到JVM 的时候,如果需要提供Java  进程列表,都会从这儿读取。而且这个进程文件并不是个空文件,里面有大量的内容。

所以我们常用的 jstat 以及我们以前文章中提到的JConsole、JVisualVM、SA 等工具,都会从这个文件这里读内容,再进行展示。

文件的内容哪里来的呢?

这了支持对 JVM 的监控,虚拟机里特地开辟了一块内存,用来存放这些性能统计相关的数据,统称为 PerfData,这也是前面目录称为  hsperfdata的原因。随着 Java  进程的不断运行,那些不断变化的监控值,虚拟机一般会通过共享内存的方式将内存与这个文件进行映射。并在数据变化的时候刷新到文件。

比如我们可以通过命令来查看加载类的信息,以及像GC 的一些数据

jstat -class file:///<path>/hsperfdata/<pid> jstat -gc file:///<path>/hsperfdata/<pid>

还不过瘾,可以试试这个命令,查看更多的监控信息

jstat -J-Djstat.showUnsupported=true -snap  pid

选项默认是开启的,对性能的影响基本可以忽略,如果想要关闭,可以通过-XX:-UsePerData 来操作,

这个JVM参数官方说明如下

-XX:+UsePerfData

  • Enables the perfdata feature. This option is enabled by default to allow JVM  monitoring and perfORMance testing. Disabling it suppresses the creation of the  hsperfdata_userid directories. To disable the perfdata feature, specify  -XX:-UsePerfData.

这个文件就是我们通过外部监控工具 attach 到 JVM 的时候,读到的那些内容。

这个秘密空间,在 JVM 内部是通过 PerfMemory 的模块来统一管理的,负责创建、分配和销毁。

正常情况下JVM 退出时会把该文件同步删除,但如果异常kill 的情况,那文件会保留下来,一直留着。下次执行哪怕一个简单的 jps 等命令时,只要启动了  java 进程,都会判断下该目录下文件对应的进程是否存在,没有就会删除了。

“JVM的秘密空间是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: JVM的秘密空间是什么

本文链接: https://lsjlt.com/news/283269.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JVM的秘密空间是什么
    本篇内容介绍了“JVM的秘密空间是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!软件运行或者程序开发中,有时候会需要写一些临时文件,那写...
    99+
    2023-06-16
  • php空间是什么
    本篇内容主要讲解“php空间是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php空间是什么”吧!能够正常运行PHP程序的主机空间就把它称为PHP空间(虚拟主机)。那么在选购php空间的时候...
    99+
    2023-06-07
  • 什么是PHP空间
    这篇文章主要讲解了“什么是PHP空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是PHP空间”吧!PHP是英文超级文本预处理语言(PHP:Hypertext Preprocessor)...
    99+
    2023-06-07
  • 什么是asp空间
    这篇文章主要讲解了“什么是asp空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是asp空间”吧!ASP是Active Server  Page的缩写,意为“动态服务器页面”...
    99+
    2023-06-07
  • shopex空间是什么
    shopex空间是指提供给用户存放网站文件、数据库等信息的服务器空间,用于搭建和运行基于shopex平台的电商网站。用户可以通过购买...
    99+
    2023-05-31
    shopex空间 空间
  • MySQL的表空间是什么
    今天我要跟你分享的话题是:“大家常说的表空间到底是什么?究竟什么又是数据表?” 这其实是一个概念性的知识点,当作拓展知识。涉及到的概念大家了解一下就好,涉及的参数,留个印象就好。 一、什么是表? 但凡是用过MySQL...
    99+
    2022-05-23
    MySQL MySQL 表空间
  • Linux中Kconfig/kbuild的秘密是什么
    这篇文章给大家分享的是有关Linux中Kconfig/kbuild的秘密是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Kconfig构建内核的第一步始终是配置。Kconfig 有助于使 Linux 内核高度...
    99+
    2023-06-16
  • 什么是JVM
    一、什么是JVM Java虚拟机(JVM)是一个全面的信息处理和分析系统,是一个集成了各种Java技术和工具的系统平台,能够运行Java字节码,从而为Java程序提供一个运行环境。Java虚拟机通常包括类装载器、运行时数据区、执行引擎...
    99+
    2023-10-29
    JVM
  • oracle表空间是什么
    Oracle表空间是用来存储数据库中表、索引、视图等对象的物理存储空间。每个Oracle数据库可以包含多个表空间,每个表空间可以包含...
    99+
    2024-05-11
    oracle
  • 国内空间和国外空间的区别是什么
    1. 价格:国内空间相对便宜,而国外空间价格较高。2. 速度和稳定性:由于国外空间的服务器距离较远,导致访问速度较慢,并且受网络波动...
    99+
    2023-06-04
    国内空间 空间
  • php空间的优势是什么
    本篇内容介绍了“php空间的优势是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!所谓的php空间(虚化主机)就是php独特的语法混合了 ...
    99+
    2023-06-07
  • mysql表空间指的是什么
    MySQL表空间是指存储表数据和索引的物理空间。在MySQL中,每个数据库都由一个或多个表空间组成,每个表空间又由一个或多个数据文件...
    99+
    2023-10-19
    mysql
  • asp.net空间的作用是什么
    ASP.NET空间是用于开发ASP.NET应用程序的一组类库和工具。它提供了许多功能和组件,使开发人员能够构建强大的Web应用程序和...
    99+
    2024-04-15
    空间 asp.net
  • Python全局空间和局部空间是什么
    这篇“Python全局空间和局部空间是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python全局空间和局部空间是什么...
    99+
    2023-06-29
  • java空间换时间的方法是什么
    Java空间换时间的方法是使用缓存。在程序运行过程中,将一些计算结果或者数据保存在缓存中,当需要使用的时候直接从缓存中取出,避免了重...
    99+
    2023-05-31
    java空间 java 空间
  • sed模式空间和暂存空间的区别是什么
    本篇内容主要讲解“sed模式空间和暂存空间的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“sed模式空间和暂存空间的区别是什么”吧!sed编辑器逐行处理文件,并将输出结果打印到屏幕上。...
    99+
    2023-06-09
  • 云存储空间是什么
    云存储空间是指网络中的虚拟个人存储空间,可将数据上传至第三方托管的虚拟服务器中,从而实现数据备份的操作,比如你将手机或电脑上的资料上传到云存储空间中,需要查看信息内容时,无论在哪里,都可以通过网络连接,使用手机或电脑查看云存储空间的数据信息...
    99+
    2024-04-02
  • JSP空间优势是什么
    本篇文章给大家分享的是有关JSP空间优势是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 JSP(Java Server  Pages)是一种java的...
    99+
    2023-06-07
  • ASP空间是什么意思
    这篇文章主要介绍“ASP空间是什么意思”,在日常操作中,相信很多人在ASP空间是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ASP空间是什么意思”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!&n...
    99+
    2023-06-07
  • JavaScript内存空间是什么
    这篇文章给大家介绍JavaScript内存空间是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述变量对象与堆内存var a = 20;var b = &...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作