2016-09-15 8 views
0

이 수업에는 정말 유용한 방법이 있습니다. 나는 그것을 반성해서 부를 수있다. 하지만 내가 왜 그렇게해야만 했지?sun.management.OperatingSystemImpl이 패키지로 표시되는 이유는 무엇입니까?

OperatingSystemMXBean을 OperatingSystemImpl로 캐스팅하고 정상적인 방법으로 호출하고 싶습니다.

미리 감사드립니다.

+0

을 사용할 수 있습니다, 적어도 그것은 http://grepcode.com/file/repository.grepcode.com/java [에서와 /root/jdk/openjdk/7u40-b43/sun/management/OperatingSystemImpl.java](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/sun/) management/OperatingSystemImpl.java) –

답변

1

당신은 설명 할 수 있습니다.

당신이 클래스는 대중 보인다 그것을

java.lang.management.OperatingSystemMXBean os = java.lang.management.ManagementFactory.getOperatingSystemMXBean(); 
    System.out.println(os.getArch()); 

또는

com.sun.management.OperatingSystemMXBean osBean = ManagementFactory 
      .getPlatformMXBean(com.sun.management.OperatingSystemMXBean.class); 
    System.out.println(osBean.getProcessCpuLoad() * 100); 
    System.out.println(osBean.getSystemCpuLoad() * 100); 
+0

os.getArch()가 필요 없습니다. os.getSystemCpuLoad()가 필요합니다. – Vitaly

+0

편집 및 추가했습니다. –

0

sun. * 패키지의 클래스는 공개/지원되는 Java API의 일부가 아니므로 직접적으로 사용하면 안됩니다. 여기

자세한 내용은 : 당신이 OperatingSystemImpl implements OperatingSystemMXBean 이후 OperatingSystemImplOperatingSystemMXBean를 캐스팅하려는 이유 http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html

+0

일반적으로 사실이지만 사물은 흑백이 아닙니다. 'sun.misc.Unsafe' 등 –