codecache.jar

Code出处:http://hellojava.info/?p=119

# vi codecache.java    #名称应尽量与public class后面的名称一样。

import java.io.File;

import javax.management.MBeanServerConnection;

import javax.management.ObjectName;

import javax.management.remote.JMXConnector;

import javax.management.remote.JMXConnectorFactory;

import javax.management.remote.JMXServiceURL;

import com.sun.tools.attach.VirtualMachine;

public class codecache {

private static final String CONNECTOR_ADDRESS =

"com.sun.management.jmxremote.localConnectorAddress";

public static void main(String[] args) throws Exception {

if(args.length != 1){

System.err.println("Must enter one arg: pid");

System.exit(0);

}

VirtualMachine vm = VirtualMachine.attach(args[0]);

JMXConnector connector = null;

try {

String connectorAddress = vm.getAgentProperties().getProperty(

CONNECTOR_ADDRESS);

if (connectorAddress == null) {

String agent = vm.getSystemProperties()

.getProperty("java.home")

+ File.separator

+ "lib"

+ File.separator + "management-agent.jar";

vm.loadAgent(agent);

connectorAddress = vm.getAgentProperties().getProperty(

CONNECTOR_ADDRESS);

}

JMXServiceURL url = new JMXServiceURL(connectorAddress);

connector = JMXConnectorFactory.connect(url);

MBeanServerConnection mbeanConn = connector.getMBeanServerConnection();

ObjectName name = new ObjectName(

"java.lang:type=MemoryPool,name=Code Cache");

System.out.println(mbeanConn.getAttribute(name, "Usage"));

}

finally {

if(connector != null)

connector.close();

vm.detach();

}

}

}

# javac -verbose codecache.java

[search path for class files............... /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/ext/dnsns.jar.......

codecache.java:9: package com.sun.tools.attach does not exist    #如果报此错误,则说明tools.jar包没找到。

import com.sun.tools.attach.VirtualMachine;

# ln -sv /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/lib/tools.jar /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/ext/tools.jar

# javac -verbose codecache.java               #编译通过。

# java codecache JavaPid                      #测试是否能正常运行。

# jar -cvf codecache.jar codecache.class    #下面步骤用于生成jar文件。

added manifest

adding: codecache.class(in = 2298) (out= 1219)(deflated 46%)

# java -jar codecache.jar

no main manifest attribute, in codecache.jar

# jar -xf codecache.jar

# cp /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre/lib/ext/tools.jar ./

# vim META-INF/MANIFEST.MF

Manifest-Version: 1.0

Created-By: 1.7.0_75 (Oracle Corporation)

Class-Path: tools.jar

Main-class: codecache           #添加此行,并在后面添加一个空行。

# rm -rf codecache.jar

# jar -cvfm codecache.jar META-INF/MANIFEST.MF codecache.class

# java -jar codecache.jar 27696

javax.management.openmbean.CompositeDataSupport(compositeType=javax.management.openmbean.CompositeType(name=java.lang.management.MemoryUsage,items=((itemName=committed,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=init,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=max,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)),(itemName=used,itemType=javax.management.openmbean.SimpleType(name=java.lang.Long)))),contents={committed=22085632, init=2555904, max=67108864, used=20885568})

上面的信息显示Code Cache区域初始化的时候为2555904,最大为67108864,已占用了22085632,使用了20885568。

时间: 2024-10-14 19:10:24

codecache.jar的相关文章

maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理

maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入. 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF

jar安装

安装sdk jar 安装到本地 mvn install:install-file -Dfile=F:\workspace\api-cookbook\java\src\main\lib\sdk-1.10.0.jar -DgroupId=org.zstack -DartifactId=sdk -Dversion=1.10.0 -Dpackaging=jar 安装到私服, ReasonPhrase: Unauthorized. mvn deploy:deploy-file -DgroupId=org.

jdbc驱动jar导入eclipse

在使用JDBC编程时需要连接数据库,导入JAR包是必须的,导入其它的jar包方法同样如此,导入的方法是 打开eclipse 1.右击要导入jar包的项目,点properties 2.左边选择java build path,右边选择libraries 3.选择add External jars 4.选择jar包的按照路径下的确定后就行了. Java连接MySQL的最新驱动包下载地址 http://www.mysql.com/downloads/connector/j 有两种方法导入jar包,第一种

maven的jar包存储的位置

从Maven中心仓库下载到本地的jar包的默认存放在"${user.home}/.m2/repository"中,${user.home}表示当前登录系统的用户目录(如"C:\Users\gacl"), 点击进入repository文件夹, Jar包存放在这个位置不太好,我们希望能够自己定义下载下来的jar包的存放位置,因此我们可以自己设置下载到本地时的jar包的存放目录. 在"E:\"目录下创建一个"repository"文

MySql Jar 包下载

MySql JAR 包下载 我们要使用Spring 链接MySql  需要两个Jar 包   一个是C3p0   一个是MySql 的Connection Jar  包 C3p0: 进入下面的网址 http://www.mchange.com/projects/c3p0/ 按照黄色的指示  下载 2. MySql Jar 包 进入MySql 官网 https://dev.mysql.com/downloads 选择需要的Jar 包  下载   解压

Maven的国内镜像(解决jar下载过慢)

Maven简介 maven作为一个项目管理工具确实非常好用,结果在使用时候,你会发现下载jar速度不如自己在网上下载.之前oschina的中央仓库可用,现在oschina的maven服务器关了,只能拿国内镜像来替代.在网上发现阿里云公开了一个中央仓库,就顺手写下来了,方便以后使用. 修改Maven目录中的conf/settings.xml 找到mirrors节点,添加到节点下 1.这是阿里云仓库 <mirror> <id>alimaven</id> <name&g

maven的两种可运行jar打包方式。1、内置依赖,2、外部依赖。

maven打可运行jar包的两种方式 maven常用的普通打包方式分为pom,jar,war等,至于这些打包类型就不介绍啦. 如果不进行特殊配置,那么打包出来的jar包是不可运行的.只能当作普通依赖包使用. 下面就介绍两种maven打可运行jar包的方式: 方式一:内置打包法 <plugins> <!-- 内置打包法 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <!-- 

log4j的1.2.15版本,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:jar:1.1 from https://maven-repository.dev.java.net/nonav/repository......

在动态网站工程中,添加了Pom依赖,当添加log4j的1.2.15版本依赖时,在pom.xml中的顶层project报错错误: Failure to transfer javax.jms:jms:jar:1.1 from https://maven-repository.dev.java.net/nonav/repository......,如下图 这是因为 https://maven-repository.dev.java.net/nonav/repository 这个域名已经无法解析了. 而

jar打包命令详解

:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是说,制作一个可执行的 JAR 文件包,就可以像.chm 文档一样双击运行了:而另一种回答,则是使用 JET 来进行编译.但是 JET 是要用钱买的,而且,据说 JET 也不是能把所有的 Java 程序都编译成执行文件,性能也要打些折扣.所以,使用制作可执行 JAR 文件包的方法就是最佳选择了,何况它还能保持 Java 的跨平台特性.先来看看什么是 JAR 文件包: 1. JAR 文件包 JAR 文件就是 Java Archi