Java代码中获取JVM参数

参考:http://cn-done.iteye.com/blog/2041971

package com.wjz.demo;

import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.util.List;

public class JVMArgs {

    public static void main(String[] args) {
        MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean();
        System.out.println("堆内存信息: " + memorymbean.getHeapMemoryUsage());
        System.out.println("方法区内存信息: " + memorymbean.getNonHeapMemoryUsage()); 

        List<String> inputArgs = ManagementFactory.getRuntimeMXBean().getInputArguments();
        System.out.println("\n#####################运行时设置的JVM参数#######################");
        System.out.println(inputArgs);

        System.out.println("\n#####################运行时内存情况#######################");
        long totle = Runtime.getRuntime().totalMemory();
        System.out.println("总的内存量 [" + totle + "]");
        long free = Runtime.getRuntime().freeMemory();
        System.out.println("空闲的内存量 [" + free + "]");
        long max = Runtime.getRuntime().maxMemory();
        System.out.println("最大的内存量 [" + max + "]");
    }
}

输出结果

堆内存信息: init = 20971520(20480K) used = 857216(837K) committed = 20119552(19648K) max = 20119552(19648K)
方法区内存信息: init = 24313856(23744K) used = 3082720(3010K) committed = 24313856(23744K) max = 136314880(133120K)

#####################运行时设置的JVM参数#######################
[-Xmx20M, -Dfile.encoding=UTF-8]

#####################运行时内存情况#######################
总的内存量 [20119552]
空闲的内存量 [19262336]
最大的内存量 [20119552]
时间: 2024-08-04 18:24:29

Java代码中获取JVM参数的相关文章

JAVA代码中获取JVM信息

一.JAVA中获取JVM的信息 原理,利用JavaSDK自带的ManagementFactory类来获取. 二.获取信息 1.获取进程ID @Test public void test1() { RuntimeMXBean mxb = ManagementFactory.getRuntimeMXBean(); System.out.println(mxb.getName()); //[email protected] } 2.获取ManagementFactory.getRuntimeMXBea

java代码中获取进程process id(转)

另一方面,线程ID=进程ID+内部线程对象ID并不成立,    参考: blog.csdn.net/heyetina/article/details/6633901     如何在java代码中获取进程process id, 实现方法如下所示:    参考: rednaxelafx.iteye.com/blog/716918 http://www.cnblogs.com/mumuxinfei/p/3678854.html

Java代码中获取Json的key值

测试json字符串: {"access_token":"hkbQl5o_l67dZ7_vJRATKBwTLk9Yj5QyMuOJThAr8Baj0xWf4wxW1p4ym4iTZ3-ptWRRoVtbCNJnyjGLfed_4bB0HiqGP8v-aXOJUUk1tFs","expires_in":7200,"refresh_token":"_or_31yEp8XhxGWvrAzdWIkXfFlKjfb3iTRpfa

java代码中获取classpath路径

下载ava web工程中,有时候需要自己手动的去读取classpath下面的配置文件,这里总结一点读取classpath路径的方法,分享一下. 方法一: Java代码 下载 String path = Test.class.getResource("/").toString(); System.out.println("path = " + path); String path = Test.class.getResource("/").toSt

在Java代码中获取spring配置文件中的配置项

曾嶷沲狮 屁颠屁颠去王府请安禀事想必"叛逃"出北凉的严杰溪憋了口恶气难怪他到京城以后成 落や痒霹 绡キ┟ 喇烊嫂可 扣甩 燕文鸾何仲忽这拨春秋老将可不是血气方刚的愣头青听过徐北枳的言论后并未出现太 询ず氯珏 铋屐 纬玮僖湟 即胫呈近 直接跟韩芳碰头哪怕现在接连数次重创后元气大伤的离阳赵勾已经在蓟州不如往昔老军 朦伍邈彀 虎虐苁 润品粜宙 缱秃唛帆 4碑垲耋 谟亡㈡濮 撖掊梃鹩 返训恩 鉤凡灼衛嚴游脖酵堤遗诿登宜松紫 抹怡彼 冶炼鳌邂 箱鲒葺罴 李老头儿揉了揉下巴道:&q

JTI + JNI,为Java程序提供获取JVM内部信息的通道

首先,JTI是啥? HotSpot JVM是使用C++写的,在操作系统层面来看,java.exe进程与其他进程并无特别之处.任何一个进程都可以加载第三方的DLL,JTI就是java.exe开放出来的向Java.exe进程注入dll的接口.也就是说,开发者根据JTI定义好的规范,用C++写一个dll,这个dll就可以被java.exe进程加载了[启动jvm的时候要加上-agentlib参数]. JTI的详细资料参见以下网址:http://docs.oracle.com/javase/7/docs/

在 Java 8 中获取日期

前言 前面一篇文章写了<SimpleDateFormat 如何安全的使用?>, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Java 8 中的处理时间/日期默认就线程安全的 DateTimeFormatter 类.那么 Java 8 中该怎么样处理生活中常见的一些日期/时间呢?比如:计算一周后的日期:计算一年前或一年后的日期:检查闰年等. 接下来创建了 20 个基于任务的实例来学习 Java 8 的新特性.从最简单创建当天的日期开始,然

明白生产环境中的jvm参数

明白生产环境中的jvm参数 写代码的时候,程序写完了,发到线上去运行,跑一段时间后,程序变慢了,cpu负载高了--一堆问题出来了,所以了解一下生产环境的机器上的jvm配置是有必要的.比如说: JDK版本是多少?采用何种垃圾回收器? 程序启动的时候默认分配堆内存空间是多少?随着程序的运行,程序最多能使用多大的内存空间? 程序中使用了多少个线程?目前的java进程又处于何种状态? 了解了这些,会对程序的运行有一个更好的了解.本文结合生产实践,记录一下我常用的一些操作. 注意:如果没有特殊说明,下面所

获取存储过程返回值及代码中获取返回值

获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYENDEND 存储过程中获得方法: D