- 浏览: 91260 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
assasszt:
写的很透彻,厉害!能不能问个 问题:cookie 应该是浏览器 ...
Tomcat之Session和Cookie大揭密 -
赵武艺:
有时间把全部代码贴出来看看,只看这个看不懂?
Ajax请求,利用JFreeChart,页面无刷新画带“map”的图 -
e_soft:
解决办法:
拔了网线就好了,具体什么原因正在查找.
我也在 ...
MyEclipse开发JSP页面假死问题解决办法
本文来源:jdk1.6中文文档
java.lang.management
接口 MemoryMXBean
public interface MemoryMXBean
Java 虚拟机内存系统的管理接口。
Java 虚拟机具有此接口的实现类的单一实例。实现此接口的实例是一个 MXBean
,可以通过调用 ManagementFactory.getMemoryMXBean()
方法或从平台
MBeanServer
方法获得。
在 MBeanServer 中唯一标识内存系统的 MXBean 的 ObjectName 为:
java.lang:type=Memory
内存
Java 虚拟机的内存系统管理以下类型的内存:
1. 堆
Java 虚拟机具有一个堆 ,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。对象的堆内存由称为垃圾回收器 的自动内存管理系统回收。
堆的大小可以固定,也可以扩大和缩小。堆的内存不需要是连续空间。
2. 非堆内存
Java 虚拟机管理堆之外的内存(称为非堆内存 )。
Java 虚拟机具有一个由所有线程共享的方法区 。方法区属于非堆内存。它存储每个类结构,如运行时常量池、字段和方法数据,以及方法和构造方法的代码。它是在 Java 虚拟机启动时创建的。
方法区在逻辑上是堆的一部分,但 Java 虚拟机实现可以选择不对其进行回收或压缩。与堆类似,方法区的大小可以固定,也可以扩大和缩小。方法区的内存不需要是连续空间。
除了方法区外,Java 虚拟机实现可能需要用于内部处理或优化的内存,这种内存也是非堆内存。例如,JIT 编译器需要内存来存储从 Java 虚拟机代码转换而来的本机代码,从而获得高性能。
内存池和内存管理器
内存池
和内存管理器
都是抽象实体,对
Java 虚拟机的内存系统进行监视和管理。
内存池表示 Java 虚拟机管理的内存区域。Java 虚拟机至少有一个内存池,而且可以在执行期间创建或删除内存池。内存池可以是堆内存,也可以是非堆内存。
内存管理器负责管理一个或多个内存池。垃圾回收器就是一种内存管理器,负责回收不可到达对象占用的内存。Java 虚拟机可以有一个或多个内存管理器。可以在运行期间添加或删除内存管理器。一个内存池可以由多个内存管理器进行管理。
内存使用量监视
对于内存系统而言,内存使用量是一个非常重要的监视属性。例如,内存使用量可以指示:
- 应用程序的内存使用量,
- 自动内存管理系统上的工作负载,
- 潜在的内存泄漏。
可以采用三种方式监视内存使用量:
- 轮询
- 使用量阈值通知
- 集合使用量阈值通知
具体细节在 MemoryPoolMXBean
接口中指定。
内存使用量监视机制旨在用于负载平衡或工作负载分布。例如,应用程序在其内存使用量超过特定阈值时,将会停止接收任何新的工作负载。它不适合用于供应用程序进行检测并从低内存情况恢复。
通知
此 MemoryMXBean
是一个 NotificationEmitter
,如果任何一个内存池支持使用量阈值
或集合使用量阈值
(可以通过调用 MemoryPoolMXBean.isUsageThresholdSupported()
和 MemoryPoolMXBean.isCollectionUsageThresholdSupported()
方法确定),它将发出两种类型的通知
。
-
使用量阈值超过通知
- 用于通知内存池的内存使用量增加,已达到或超过其使用量阈值 。 -
集合使用量阈值超过通知
- 用于通知在 Java 虚拟机对内存池中不使用的对象进行了回收工作之后,该内存池的内存使用量已大于或等于其集合使用量阈值 。
发出的通知是一个 Notification
实例,其用户数据
设置为
CompositeData
(表示包含构造该通知时内存池信息的
MemoryNotificationInfo
对象)。CompositeData
包含 MemoryNotificationInfo
中描述的各个属性。
NotificationEmitter
ManagementFactory.getMemoryMXBean()
返回的 MemoryMXBean
对象实现了 NotificationEmitter
接口,该接口允许在 MemoryMXBean
中将侦听器注册为通知侦听器。 以下示例代码将注册 MyListener
以处理
MemoryMXBean
发出的通知。
class MyListener implements javax.management.NotificationListener { public void handleNotification(Notification notif, Object handback) { // handle notification .... } } MemoryMXBean mbean = ManagementFactory.getMemoryMXBean(); NotificationEmitter emitter = (NotificationEmitter) mbean; MyListener listener = new MyListener(); emitter.addNotificationListener(listener, null, null);
<!-- ========== METHOD SUMMARY =========== --><!-- -->
void
|
gc
()
运行垃圾回收器。 |
MemoryUsage
|
getHeapMemoryUsage
()
返回用于对象分配的堆的当前内存使用量。 |
MemoryUsage
|
getNonHeapMemoryUsage
()
返回 Java 虚拟机使用的非堆内存的当前内存使用量。 |
int
|
getObjectPendingFinalizationCount
()
返回其终止被挂起的对象的近似数目。 |
boolean
|
isVerbose
()
测试内存系统的 verbose 输出是否已启用。 |
void
|
setVerbose
(booleanvalue)
启用或禁用内存系统的 verbose 输出。 |
<!-- ============ METHOD DETAIL ========== --><!-- -->
getObjectPendingFinalizationCount
int getObjectPendingFinalizationCount ()
getHeapMemoryUsage
MemoryUsage getHeapMemoryUsage ()
返回的内存使用量中已使用内存量为活动对象和尚未回收的垃圾对象(如果有)所占用内存的总量。
MBeanServer 访问
:
MemoryUsage
的映射类型为
CompositeData
,具有 MemoryUsage
中指定的属性。
MemoryUsage
对象。getNonHeapMemoryUsage
MemoryUsage getNonHeapMemoryUsage ()
MBeanServer 访问
:
MemoryUsage
的映射类型为
CompositeData
,具有 MemoryUsage
中指定的属性。
MemoryUsage
对象。isVerbose
boolean isVerbose ()
setVerbose
void setVerbose (booleanvalue)
此方法的每次调用都会全局启用或禁用 verbose 输出。
value
- 为 true
将启用 verbose 输出;为 false
将禁用输出。
SecurityException
-
如果存在安全管理器,且调用方不具有 ManagementPermission("control")。gc
void gc ()
gc()
实际上等同于调用:
System.gc()
System.gc()
<!-- ========= END OF CLASS DATA ========= -->
发表评论
-
版本管理
2010-07-27 11:08 0几个分布式vcs比较 http://blog.csdn.ne ... -
UML工具
2010-07-14 15:51 0Enterprise Architect,java编程思想作者 ... -
设计模式
2010-07-13 13:47 0代理模式 可以在不改变接口的前提下 ... -
java
2010-07-13 13:45 846我们为什么一直选择Java http://blog.cs ... -
eclipse
2010-07-12 18:14 1127eclipse 分屏 http://www.coderanc ... -
在java中利用动态编译实现eval
2008-12-24 04:49 999我们知道,在很多脚本语言中都有eval涵数,它可以把字符串转换 ... -
Java入门--认识理解Java中native方法
2008-12-25 01:18 1230Java不是完美的,Java的不足除了体现在运行速度上要比传统 ... -
Java的数据类型
2008-12-25 21:36 1100Java的简单数据类型 数据类型 数据类型就 ... -
解读JAVA内存优化编程的三个方法
2008-12-25 21:43 1116一.代码优化 内存会溢出肯定和代码逃不了关系,99 ... -
JDK1.5新特性介绍
2008-12-26 03:36 851JDK1.5新特性介绍 2004-09-11 00: ... -
java源代码分析----jvm.dll装载过程
2008-12-27 02:37 1288本文来源:http://www.matri ... -
Java 泛型的理解与实现
2008-12-27 04:04 41很多人不知道Java 泛型 ... -
selectmethod=cursor的含义及其使用
2008-11-01 02:49 862连接字符串中碰到的SelectMethod=cursor ... -
数字格式化
2008-11-02 23:48 729Double sum = 78342 .0d; ... -
JAVA命令说明
2008-12-06 23:04 1860一、运行class文件 执行 ... -
主题:-jar参数运行应用时classpath的设置方法
2008-12-07 04:11 728当用java -jar yourJarExe.jar来运行一个 ... -
SDK、JDK、JRE和JVM的关系
2008-12-14 15:43 1033摘自: http://hi.baidu.com/lxcry ... -
Dom4j的使用(全而好的文章)
2008-12-15 12:23 615Dom4j 使用简介 作者:冰云 iceclo ... -
Antlr入门详细教程
2008-12-18 16:24 2363一、 Antlr 的主要类: ... -
深入浅出CGlib-打造无入侵的类代理
2008-12-18 20:38 547CGlib是什么? CGlib是一个强大的,高性能,高质量的 ...
相关推荐
具有Hibernate OGM和Arqillian多维数据集单元测试的JAX-RS Web服务示例该项目包含两个JAX-RS Web服务的实现: 记忆服务返回查询java.lang.management.MemoryMXBean的结果人事服务演示对存储在Mongo数据库中的任意...
单片机开发资源,基于51单片机的开发程序,供学习参考。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
【工程源码】
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
2024-2030中国板端光伏连接器市场现状研究分析与发展前景预测报告
用法链接:https://menghui666.blog.csdn.net/article/details/138544047?spm=1001.2014.3001.5502 基于QT+C++实现的随机图形验证码,带有一些可人的交互与动画+源码 基于QT+C++实现的随机图形验证码,带有一些可人的交互与动画+源码 基于QT+C++实现的随机图形验证码,带有一些可人的交互与动画+源码 该项目实现了可交互的动画验证码控件,趣味性十足: 字符变换动画 噪音动画 可拖动交互
操作系统实验-基于uCore OS内含源码以及说明书可以自己运行复现.zip
2024-2030中国半导体零件清洗机市场现状研究分析与发展前景预测报告
python教程-04-获取和设置标签内容(innerHTML).ev4.rar
s 气泡图 s 面积图 s 雷达图 s 玫瑰图 s 3D图表
去白底图标
001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮
单片机学习代码资料
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
2022级高等数学A2期中试题B.doc
新手指南之玩转实验楼内含源码以及说明书可以自己运行复现.zip