The type sun.management.ManagementFactory is not visible

Eclipse默认将这些受访问限制的API设成了Error。
解决方法:
只要将Windows---Preferences---Java--Complicer---Errors/Warings里面的Deprecated
and restricted API中的Forbidden references(access rules) 选为Waring就可以编译过了

今天在JDK1.7中引入sun.management.ManagementFactory,会报错。之前在JDK1.6中引入并无错,刚开始怀疑是否是JDK版本升级了,此方法类过期。接着打开JDK1.7中的rt.jar中,发现是有此类的。

上网查阅,有人也出现过此问题,不过似乎不是因为JDK版本的问题,他的解决办法是更改此类的引用路径,改为java.lang.management.ManagementFactory,我试了下,确实可以的,不过至于JDK1.7版本中,为什么无法引用sun.management.ManagementFactory,我始终还不明白(如有哪位了解为什么,还望可以指点)。后来我把JDK1.7卸载掉了,装了1.6版本的,对于引用sun.management.ManagementFactory、java.lang.management.ManagementFactory均是可以的。

由于本人知识有限,暂时还不了解rt.jar中sun和java.lang中的类有啥区别,为什么都会有ManagementFactory方法类?

http://tim-fly.iteye.com/blog/1297572

http://bbs.csdn.net/topics/390083947

The type sun.management.ManagementFactory is not
visible,布布扣,bubuko.com

The type sun.management.ManagementFactory is not
visible

时间: 2024-10-25 06:27:10

The type sun.management.ManagementFactory is not visible的相关文章

引入com.sun.management.OperatingSystemMXBean 出错

不能import  com.sun.management.OperatingSystemMXBean 解决: Eclipse默认把这些受访问限制的API设成了ERROR.只要把Windows-Preferences-Java-Complicer-Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过.

使用java获取内存信息

1 public class MonitorInfoBean { 2 /** 可使用内存. */ 3 private long totalMemory; 4 5 /** 剩余内存. */ 6 private long freeMemory; 7 8 /** 最大可使用内存. */ 9 private long maxMemory; 10 11 /** 操作系统. */ 12 private String osName; 13 14 /** 总的物理内存. */ 15 private long t

java 获取系统信息及CPU的使用率(转)

java 获取系统信息及CPU的使用率 原文:http://kakaluyi.javaeye.com/blog/211492 最近做个项目,就是要取得cpu占有率等等的系统信息,一开始以为要用动态链接库了,但后来发现可以像下面这样做,不去调用jni,这样省去了很多看新技术的时间o(∩_∩)o... 在Java中,可以获得总的物理内存.剩余的物理内存.已使用的物理内存等信息,下面例子可以取得这些信息,并且获得在Windows下的内存使用率.     首先编写一个MonitorInfoBean类,用

java获取cpu,内存,磁盘等信息

原文:java获取cpu,内存,磁盘等信息 源代码下载地址:http://www.zuidaima.com/share/1550463331306496.htm package com.zuidaima.util; import java.io.File; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.ArrayList; import java.util.List; imp

Java如何获取系统cpu、内存、硬盘信息

1 概述 前段时间摸索在Java中怎么获取系统信息包括cpu.内存.硬盘信息等,刚开始使用Java自带的包进行获取,但这样获取的内存信息不够准确并且容易出现找不到相应包等错误,所以后面使用sigar插件进行获取.下面列举出了这两种方式获取系统信息的方式及代码. 2 使用Java自带包获取系统信息 2.1 使用Java自带包获取系统信息代码如下: 2.1.1 Bytes.java public class Bytes { public static String substring(String

java不用jni,也可以获得当前系统性能信息

最近做个项目,就是要取得cpu占有率等等的系统信息,一开始以为要用动态链接库了,但后来发现可以像下面这样做,不去调用jni,这样省去了很多看新技术的时间o(∩_∩)o... 在Java中,可以获得总的物理内存.剩余的物理内存.已使用的物理内存等信息,下面例子可以取得这些信息,并且获得在Windows下的内存使用率.     首先编写一个MonitorInfoBean类,用来装载监控的一些信息,包括物理内存.剩余的物理内存.已使用的物理内存.内存使用率等字段,该类的代码如下: package co

获取Pid

Java程序中获取当前进程的进程ID 标签: javainterfacesystemcompilationjvmjni 2011-12-29 16:31 15182人阅读 评论(2) 收藏 举报  分类: Java(37)  版权声明:本文为博主原创文章,未经博主允许不得转载. 之前并不知道Java中如何能够获取当前进程(也就是包含当前Java程序的JVM所在进程)的进程ID,还以为要通过JNI或者通过Runtime.exec执行shell命令等方式才能获取到当前进程的进程ID,今天在偶然中看到

JVM Management API

JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据.JVM当前所有线程及其栈相关信 息等等.各种JDK自带的剖析工具,包括jps.jstack.jinfo.jstat.jmap.jconsole等,都是基于此API开发的.本篇对 这部分内容进行一个详细的说明. 参考:http://java.sun.com/javase/6/docs/api/java/lang/management/package-summary.html 一.Manage

ManagementFactory (一) getClassLoadingMXBean

ClassLoadingMXBean case import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; public class Test { { ClassLoadingMXBean classLoadingMXBean = ManagementFactory.getClassLoadingMXBean(); System.out.println(classLo