- 浏览: 32740 次
- 性别:
- 来自: 北京
最新评论
-
Corwen:
INSERT ... ON DUPLICATE KEY UPD ...
mysql insert的几点操作(DELAYED 、IGNORE、ON DUPLICATE KEY UPDATE )
import java.lang.management.ClassLoadingMXBean; import java.lang.management.CompilationMXBean; import java.lang.management.GarbageCollectorMXBean; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.OperatingSystemMXBean; import java.lang.management.RuntimeMXBean; import java.lang.management.ThreadMXBean; import java.util.List; /** 本例介绍如何监控和管理Java虚拟机,包括获取Java虚拟机的内存使用情况、线程数、运行时间等。 在J2SE5.0中使用Bean监控和管理Java虚拟机,java.lang.management.ManagementFactory是管理Bean的工厂类, 通过它的get系列方法能够获得不同的管理Bean的实例。 1. java.lang.management.MemoryMXBean: 该Bean用于管理Java虚拟机的内存系统。 一个Java虚拟机具有一个实例。 2.java.lang.management.ClassLoadingMXBean: 该Bean用于管理Java虚拟机的类加载系统。 一个Java虚拟机具有一个实例。 3.java.lang.management.TreadMXBean: 该Bean用于管理Java虚拟机的线程系统。 一个Java虚拟机具有一个实例。 4.java.lang.management.RuntimeMXBean: 该Bean用于管理Java虚拟机的线程系统。 一个Java虚拟机具有一个实例。 5.java.lang.management.OperatingSystemMXBean: 该Bean用于管理操作系统。 一个Java虚拟机具有一个实例。 6.java.lang.management.CompilationMXBean: 该Bean用于管理Java虚拟机的编译系统。 一个Java虚拟机具有一个实例。 7.java.lang.management.GarbageCollectorMXBean: 该Bean用于管理Java虚拟机的垃圾回收系统。 一个Java虚拟机具有一个或者多个实例。 */ public class JDKMBean { public static void printMemoryMXBean(){ //获得单一实例 MemoryMXBean instance = ManagementFactory.getMemoryMXBean(); System.out.printf("%n---%s---%n",instance.getClass().getName()); //返回用于对象分配的堆的当前内存使用量 System.out.printf("%s: %s%n","HeapMemoryUsage",instance.getHeapMemoryUsage()); //返回Java虚拟机使用的非堆内存的当前使用量 System.out.printf("%s: %s%n","getNonHeapMemoryUsage",instance.getNonHeapMemoryUsage()); instance.gc(); } public static void printClassLoadingMXBean(){ //获得单一实例 ClassLoadingMXBean instance = ManagementFactory.getClassLoadingMXBean(); System.out.printf("%n---%s---%n",instance.getClass().getName()); //返回当前加载到Java虚拟机中的类的数量 System.out.printf("%s: %s%n","LoadedClassCount",instance.getLoadedClassCount()); //返回自Java虚拟机开始执行到目前已经加载的类的总数 System.out.printf("%s: %s%n","TotalLoadedClassCount",instance.getTotalLoadedClassCount()); //返回自Java虚拟机开始执行到目前已经卸载的类的总数 System.out.printf("%s: %s%n","UnloadedLoadedClassCount",instance.getUnloadedClassCount()); } public static void printThreadMXBean(){ //获得单一实例 ThreadMXBean instance = ManagementFactory.getThreadMXBean(); System.out.printf("%n---%s---%n",instance.getClass().getName()); //返回活动线程的当前数目,包括守护线程和非守护线程 System.out.printf("%s: %s%n","ThreadCount",instance.getThreadCount()); //返回活动线程ID System.out.printf("%s: %n","Thread IDs"); long[] ids = instance.getAllThreadIds(); for(long id : ids){ System.out.printf("%s; ", id); } System.out.println(); //返回活动守护线程的当前数目 System.out.printf("%s: %s%n","DaemonThreadCount",instance.getDaemonThreadCount()); //返回自从java虚拟机启动或峰值重置以来峰值活动线程计数 System.out.printf("%s: %s%n","PeakThreadCount",instance.getPeakThreadCount()); //返回当前线程的总CPU时间 System.out.printf("%s: %s%n","CurrentCpuTime",instance.getCurrentThreadCpuTime()); //返回当前线程在用户模式中执行的CPU时间 System.out.printf("%s: %s%n","CurrentThreadCpuTime",instance.getCurrentThreadUserTime()); } public static void printRuntimeMXBean(){ //获得单一实例 RuntimeMXBean instance = ManagementFactory.getRuntimeMXBean(); System.out.printf("%n---%s---%n",instance.getClass().getName()); //返回由引导类加载器用于搜索类文件的引导类路径 System.out.printf("%s: %s%n","BootClassPath",instance.getBootClassPath()); //返回系统类加载器用于搜索类文件的Java类路径 System.out.printf("%s: %s%n","ClassPath",instance.getClassPath()); //引用传递给Java虚拟机的输入变量,其中不包括传递给main方法的变量 System.out.printf("%s: %n","InputArguments"); List<String> args = instance.getInputArguments(); for(String arg : args){ System.out.printf("%s; ",arg); } //返回Java库路径 System.out.printf("%s: %s%n","LibraryPath",instance.getLibraryPath()); //返回正在运行的Java虚拟机实现的管理接口的规范版本 System.out.printf("%s: %s%n","ManagementSpecVersion",instance.getManagementSpecVersion()); //返回正在运行的Java虚拟机的名称 System.out.printf("%s: %s%n","Name",instance.getName()); //返回Java虚拟机规范名称 System.out.printf("%s: %s%n","SpecName",instance.getSpecName()); //返回Java虚拟机规范提供商 System.out.printf("%s: %s%n","SpecVendor",instance.getSpecVendor()); //返回Java虚拟机规范版本 System.out.printf("%s: %s%n","SpecVersion",instance.getSpecVersion()); //返回Java虚拟机实现名称 System.out.printf("%s: %s%n","VmName",instance.getVmName()); //返回Java虚拟机实现提供商 System.out.printf("%s: %s%n","VmVendor",instance.getVmVendor()); //返回Java虚拟机实现版本 System.out.printf("%s: %s%n","VmVersion",instance.getVmVersion()); //返回Java虚拟机的启动时间 System.out.printf("%s: %s%n","startTime",instance.getStartTime()); //返回Java虚拟机的正常运行时间 System.out.printf("%s: %s%n","Uptime",instance.getUptime()); } public static void printOperatingSystemMXBean(){ //获得单一实例 OperatingSystemMXBean instance = ManagementFactory.getOperatingSystemMXBean(); System.out.printf("%n---%s---%n",instance.getClass().getName()); //返回操作系统的架构 System.out.printf("%s: %s%n","Arch",instance.getArch()); //返回Java虚拟机可以使用的处理器数目 System.out.printf("%s: %s%n","AvailableProcessors",instance.getAvailableProcessors()); //返回操作系统名称 System.out.printf("%s: %s%n","Name",instance.getName()); //返回操作系统版本 System.out.printf("%s: %s%n","Version",instance.getVersion()); } public static void printCompilationMXBean(){ //获得单一实例 CompilationMXBean instance = ManagementFactory.getCompilationMXBean(); System.out.printf("%n---%s---%n",instance.getClass().getName()); //返回即时(JIT)编译器的名称 System.out.printf("%s: %s%n","JIT",instance.getName()); //返回在编译上花费的累积耗费时间的近似值 System.out.printf("%s: %s%n","TotalCompilationTime",instance.getTotalCompilationTime()); } public static void printGargageCollectorMXBean(){ //获得单一实例 List<GarbageCollectorMXBean> instances = ManagementFactory.getGarbageCollectorMXBeans(); System.out.printf("%n---%s---%n",GarbageCollectorMXBean.class.getName()); //遍历每个实例 for(GarbageCollectorMXBean instance : instances){ //返回垃圾收集器的名字 System.out.printf("***%s: %s***%n","Name",instance.getName()); //返回已发生的回收的总次数 System.out.printf("%s: %s%n","CollectionCount",instance.getCollectionCount()); //返回近似的累积回收时间 System.out.printf("%s: %s%n","CollectionTime",instance.getCollectionTime()); } } public static void main(String[] args){ JDKMBean.printMemoryMXBean(); JDKMBean.printClassLoadingMXBean(); JDKMBean.printThreadMXBean(); JDKMBean.printRuntimeMXBean(); JDKMBean.printOperatingSystemMXBean(); JDKMBean.printCompilationMXBean(); JDKMBean.printGargageCollectorMXBean(); } }
发表评论
-
apache 中的EqualsBuilder和HashCodeBuilder
2012-05-04 10:27 1017自动化hashCode()和equals() 问题产生:当需 ... -
Java 中的Double Check Lock
2012-05-03 10:53 1631对于多线程编程来说 ... -
JDK5.0新特性系列---11.4线程 Condition
2012-05-02 11:05 800import java.util.concurrent. ... -
JDK5.0新特性系列---11.6线程 BlockingQueue
2012-05-02 11:05 779importjava.util.concurrent. ... -
JDK5.0新特性系列---11.5.4线程 同步装置之Exchanger
2012-05-02 11:05 735/** * Exchanger让两个线程互换信息 ... -
JDK5.0新特性系列---11.5.2线程 同步装置之CountDownLatch
2012-05-02 11:05 847import java.util.concurrent ... -
JDK5.0新特性系列---11.5.1线程 同步装置之Semaphore
2012-05-03 10:54 753import java.util.ArrayList; ... -
JDK5.0新特性系列---11.2线程 任务执行架构
2012-05-03 10:54 862import java.util.concurrent. ... -
JDK5.0新特性系列---11.3线程 锁Lock
2012-05-03 10:54 787import java.util.concurrent. ... -
JDK5.0新特性系列---11.1线程 Callable和Future
2012-05-03 10:54 1214import java.util.concurrent. ... -
JDK5.0新特性系列---8.泛型编程
2012-04-28 08:58 840import java.util.ArrayList; ... -
JDK5.0新特性系列---9.注释功能Annotation
2012-04-28 08:58 809import java.lang.annotation. ... -
JDK5.0新特性系列---7.使用ProcessBuilder执行本地命令
2012-04-28 08:57 932import java.io.BufferedReade ... -
JDK5.0新特性系列---6.格式化输出
2012-04-28 08:57 612import java.util.Date; / ... -
JDK5.0新特性系列---5.可变长参数Varargs
2012-04-26 21:53 591/** * 在J2SE5.0之前,当传入到方法的参数 ... -
JDK5.0新特性系列---4.静态导入
2012-04-26 21:51 718/** *静态导入:是指可以import类的静态方法 ... -
JDK5.0新特性系列---3.枚举类型
2012-04-26 21:50 632/** *enum关键字表示枚举类型,它的作用相当于 ... -
JDK5.0新特性系列---2.新的for循环
2012-04-26 21:48 674import java.util.ArrayList; ... -
JDK5.0新特性---1.自动装箱和拆箱
2012-04-26 21:44 882/** * 基本类型的数据值可以直接赋给基本数据对象 ... -
JAVA移位运算符)
2012-04-20 13:32 848移位运算符就是在二 ...
相关推荐
Java Development Kit (JDK) 1.7 64位官方正式版,即`jdk-7u76-linux-x64.tar.gz`,是Oracle公司为Linux 64位操作...同时,随着技术的发展,开发者也应关注新版本的JDK,以获取最新的语言特性、安全更新和性能提升。
对于本地应用程序的监控,启动JConsole的用户必须与被监控程序的用户相同。 2. **本地监控**: 若要监控本地Java应用程序,可以通过PID(进程ID)来指定要连接的进程。例如,Unix/Linux系统下使用`ps`命令查找Java...
jconsole是Java Development Kit(JDK)5.0中自带的一个性能监控工具,用于监控Java运行状态、线程数、进程数、对象、JVM内存信息、时间等性能信息。该工具可以帮助开发者和管理员实时监控Java应用程序的运行情况,...
1. **Java语言特性**:JDK 1.5(也称为Java SE 5.0)引入了一些重大的语言改进,包括: - **泛型(Generics)**:泛型增加了类型安全,允许在编译时检查类型,避免了运行时的ClassCastException。 - **枚举(Enums...
在Android开发领域,Android 5.0(Lollipop)是一个重要的里程碑版本,它引入了许多新特性和性能优化。本文将详细讲解如何搭建Android 5.0的开发环境,以及其编译规则,特别关注MTK(MediaTek)平台的相关设置。 一...
3. **语言特性**:JDK 6.0支持了枚举类型、泛型、注解、静态导入等新特性。枚举类型增强了类型安全,泛型简化了类型转换,注解提供了元数据功能,静态导入则减少了命名冲突。 4. **安全管理**:JDK 6.0的安全管理器...
这个版本的JDK是在Java的历史发展中扮演了重要角色的一个里程碑,因为Java 1.5(也被称为Java 5.0)引入了许多关键性的新特性与改进。 **Java 5.0的主要特性:** 1. **泛型(Generics)**:泛型允许开发者在编译时...
JDK 1.6,也被称为Java SE 6,是Oracle公司发布的一个重要版本,它在Java 1.5的基础上引入了许多新特性、改进和优化,以提升开发效率和应用程序性能。 1. **新特性和增强** - **动态语言支持**:JDK 1.6增加了对...
JConsole 是 Java 虚拟机(JVM)自带的一个性能监控和管理工具,它提供了一个图形用户界面(GUI),用于实时监控应用程序的性能和资源使用情况。通过 JConsole,开发者可以深入理解应用在运行时的内存、线程、类加载...
《J2SDK 1.4.2-03在Linux平台上的应用与解析》 Java 2 Software Development Kit(简称J2SDK)是Java开发工具集的早期版本,特别是J2SDK 1.4.2-03,是针对Linux操作系统的一个老版本,主要为系统维护和兼容性需求而...
JDK 1.5(也称为Java 5.0)在JDK 1.4的基础上添加了更多新特性,如泛型、枚举、注解等。 **总结** JDK 1.4.0.17对于需要处理旧代码或低版本Java项目的人来说是一个重要的资源。虽然它的功能相比现代版本可能较为...
### Java内存监控与JDK 5.0调试工具详解 #### 一、获取JVM进程的方法 在进行Java应用的调试或性能优化时,首先需要确定目标Java虚拟机(JVM)的进程信息。传统的做法是通过命令`ps auxf | grep java`来查找Java...
Java开发工具包(JDK)中的Instrumentation接口是Java虚拟机(JVM)的一个强大特性,它允许在类被加载到内存之前对字节码进行动态修改。这种能力使得开发者可以实现诸如性能监控、内存分析、代码插桩等高级功能。在...
Java虚拟机(JVM)调优与Java内存管理是Java应用程序性能优化的关键环节。JVM内存管理主要包括垃圾收集(Garbage Collection, GC)和内存分区。以下是对这些知识点的详细阐述: 1. **垃圾回收算法**: - **引用...
JDK 6是Oracle公司发布的Java平台标准版的一个重要版本,发布于2006年,为开发者提供了许多新特性和改进。这份文档详细介绍了JDK 6中的关键特性和技术,对于理解和利用这个版本的Java环境至关重要。 1. **Java...
10 监控与管理虚拟机 16. 11 线程——Callable和Future 16. 12 线程——任务执行架构 16. 13 线程——锁Lock 16. 14 线程——条件Condition 16. 15 线程——Semaphore 16. 16 线程——...
通过图形用户界面,管理员可以执行一系列的服务器管理任务,包括但不限于用户权限管理、服务器状态监控、日志查看和应用程序部署。LambdaProbe的使用有助于提高服务器管理的效率和可操作性,从而提升服务器运行的...
在提供的文件"jconsole+tomcat配置说明(基于jdk5_0) - bluestar - JavaEye技术网站.htm"中,应该包含了更详细的步骤和示例,指导如何在JDK 5.0环境下配置jconsole来监控Tomcat。文件名中的“bluestar”可能是一个...