- 浏览: 3047749 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
要知道某个JVM支持的jvmstat监视器到底有哪些,只要用这样的脚本就行:
当然,在不支持jvmstat API的环境里执行这脚本就只能得到异常了——这样就知道环境不支持了
在Sun JDK 6 update 20上得到的输出是:
如果是真的关注这些信息的人的话,上面各个监视器的内容都应该能顾名思义了
import java.lang.management.ManagementFactory import sun.jvmstat.monitor.*; name = ManagementFactory.runtimeMXBean.name pid = name[0..<name.indexOf('@')] vmId = new VmIdentifier(pid) vm = MonitoredHost.getMonitoredHost(vmId).getMonitoredVm(vmId, 0) vm.findByPattern('.*').each { println it.name }; null
当然,在不支持jvmstat API的环境里执行这脚本就只能得到异常了——这样就知道环境不支持了
在Sun JDK 6 update 20上得到的输出是:
java.ci.totalTime java.cls.loadedClasses java.cls.sharedLoadedClasses java.cls.sharedUnloadedClasses java.cls.unloadedClasses java.property.java.class.path java.property.java.endorsed.dirs java.property.java.ext.dirs java.property.java.home java.property.java.library.path java.property.java.version java.property.java.vm.info java.property.java.vm.name java.property.java.vm.specification.name java.property.java.vm.specification.vendor java.property.java.vm.specification.version java.property.java.vm.vendor java.property.java.vm.version java.rt.vmArgs java.rt.vmFlags java.threads.daemon java.threads.live java.threads.livePeak java.threads.started sun.ci.compilerThread.0.compiles sun.ci.compilerThread.0.method sun.ci.compilerThread.0.time sun.ci.compilerThread.0.type sun.ci.lastFailedMethod sun.ci.lastFailedType sun.ci.lastInvalidatedMethod sun.ci.lastInvalidatedType sun.ci.lastMethod sun.ci.lastSize sun.ci.lastType sun.ci.nmethodCodeSize sun.ci.nmethodSize sun.ci.osrBytes sun.ci.osrCompiles sun.ci.osrTime sun.ci.standardBytes sun.ci.standardCompiles sun.ci.standardTime sun.ci.threads sun.ci.totalBailouts sun.ci.totalCompiles sun.ci.totalInvalidates sun.cls.appClassBytes sun.cls.appClassLoadCount sun.cls.appClassLoadTime sun.cls.appClassLoadTime.self sun.cls.classInitTime sun.cls.classInitTime.self sun.cls.classLinkedTime sun.cls.classLinkedTime.self sun.cls.classVerifyTime sun.cls.classVerifyTime.self sun.cls.defineAppClassTime sun.cls.defineAppClassTime.self sun.cls.defineAppClasses sun.cls.initializedClasses sun.cls.isUnsyncloadClassSet sun.cls.jniDefineClassNoLockCalls sun.cls.jvmDefineClassNoLockCalls sun.cls.jvmFindLoadedClassNoLockCalls sun.cls.linkedClasses sun.cls.loadInstanceClassFailRate sun.cls.loadedBytes sun.cls.lookupSysClassTime sun.cls.methodBytes sun.cls.nonSystemLoaderLockContentionRate sun.cls.parseClassTime sun.cls.parseClassTime.self sun.cls.sharedClassLoadTime sun.cls.sharedLoadedBytes sun.cls.sharedUnloadedBytes sun.cls.sysClassBytes sun.cls.sysClassLoadTime sun.cls.systemLoaderLockContentionRate sun.cls.time sun.cls.unloadedBytes sun.cls.unsafeDefineClassCalls sun.cls.verifiedClasses sun.gc.cause sun.gc.collector.0.invocations sun.gc.collector.0.lastEntryTime sun.gc.collector.0.lastExitTime sun.gc.collector.0.name sun.gc.collector.0.time sun.gc.collector.1.invocations sun.gc.collector.1.lastEntryTime sun.gc.collector.1.lastExitTime sun.gc.collector.1.name sun.gc.collector.1.time sun.gc.generation.0.agetable.bytes.00 sun.gc.generation.0.agetable.bytes.01 sun.gc.generation.0.agetable.bytes.02 sun.gc.generation.0.agetable.bytes.03 sun.gc.generation.0.agetable.bytes.04 sun.gc.generation.0.agetable.bytes.05 sun.gc.generation.0.agetable.bytes.06 sun.gc.generation.0.agetable.bytes.07 sun.gc.generation.0.agetable.bytes.08 sun.gc.generation.0.agetable.bytes.09 sun.gc.generation.0.agetable.bytes.10 sun.gc.generation.0.agetable.bytes.11 sun.gc.generation.0.agetable.bytes.12 sun.gc.generation.0.agetable.bytes.13 sun.gc.generation.0.agetable.bytes.14 sun.gc.generation.0.agetable.bytes.15 sun.gc.generation.0.agetable.size sun.gc.generation.0.capacity sun.gc.generation.0.maxCapacity sun.gc.generation.0.minCapacity sun.gc.generation.0.name sun.gc.generation.0.space.0.capacity sun.gc.generation.0.space.0.initCapacity sun.gc.generation.0.space.0.maxCapacity sun.gc.generation.0.space.0.name sun.gc.generation.0.space.0.used sun.gc.generation.0.space.1.capacity sun.gc.generation.0.space.1.initCapacity sun.gc.generation.0.space.1.maxCapacity sun.gc.generation.0.space.1.name sun.gc.generation.0.space.1.used sun.gc.generation.0.space.2.capacity sun.gc.generation.0.space.2.initCapacity sun.gc.generation.0.space.2.maxCapacity sun.gc.generation.0.space.2.name sun.gc.generation.0.space.2.used sun.gc.generation.0.spaces sun.gc.generation.1.capacity sun.gc.generation.1.maxCapacity sun.gc.generation.1.minCapacity sun.gc.generation.1.name sun.gc.generation.1.space.0.capacity sun.gc.generation.1.space.0.initCapacity sun.gc.generation.1.space.0.maxCapacity sun.gc.generation.1.space.0.name sun.gc.generation.1.space.0.used sun.gc.generation.1.spaces sun.gc.generation.2.capacity sun.gc.generation.2.maxCapacity sun.gc.generation.2.minCapacity sun.gc.generation.2.name sun.gc.generation.2.space.0.capacity sun.gc.generation.2.space.0.initCapacity sun.gc.generation.2.space.0.maxCapacity sun.gc.generation.2.space.0.name sun.gc.generation.2.space.0.used sun.gc.generation.2.spaces sun.gc.lastCause sun.gc.policy.collectors sun.gc.policy.desiredSurvivorSize sun.gc.policy.generations sun.gc.policy.maxTenuringThreshold sun.gc.policy.name sun.gc.policy.tenuringThreshold sun.gc.tlab.alloc sun.gc.tlab.allocThreads sun.gc.tlab.fastWaste sun.gc.tlab.fills sun.gc.tlab.gcWaste sun.gc.tlab.maxFastWaste sun.gc.tlab.maxFills sun.gc.tlab.maxGcWaste sun.gc.tlab.maxSlowAlloc sun.gc.tlab.maxSlowWaste sun.gc.tlab.slowAlloc sun.gc.tlab.slowWaste sun.os.hrt.frequency sun.os.hrt.ticks sun.perfdata.majorVersion sun.perfdata.minorVersion sun.perfdata.overflow sun.perfdata.size sun.perfdata.timestamp sun.perfdata.used sun.property.sun.boot.class.path sun.property.sun.boot.library.path sun.rt._sync_ContendedLockAttempts sun.rt._sync_Deflations sun.rt._sync_EmptyNotifications sun.rt._sync_FailedSpins sun.rt._sync_FutileWakeups sun.rt._sync_Inflations sun.rt._sync_MonExtant sun.rt._sync_MonInCirculation sun.rt._sync_MonScavenged sun.rt._sync_Notifications sun.rt._sync_Parks sun.rt._sync_PrivateA sun.rt._sync_PrivateB sun.rt._sync_SlowEnter sun.rt._sync_SlowExit sun.rt._sync_SlowNotify sun.rt._sync_SlowNotifyAll sun.rt._sync_SuccessfulSpins sun.rt.applicationTime sun.rt.createVmBeginTime sun.rt.createVmEndTime sun.rt.internalVersion sun.rt.interruptedBeforeIO sun.rt.interruptedDuringIO sun.rt.javaCommand sun.rt.jvmCapabilities sun.rt.jvmVersion sun.rt.safepointSyncTime sun.rt.safepointTime sun.rt.safepoints sun.rt.threadInterruptSignaled sun.rt.vmInitDoneTime sun.threads.vmOperationTime
如果是真的关注这些信息的人的话,上面各个监视器的内容都应该能顾名思义了
发表评论
-
The Prehistory of Java, HotSpot and Train
2014-06-02 08:18 0http://cs.gmu.edu/cne/itcore/vi ... -
MSJVM and Sun 1.0.x/1.1.x
2014-05-20 18:50 0当年的survey paper: http://www.sym ... -
Sun JDK1.4.2_28有TieredCompilation
2014-05-12 08:48 0原来以前Sun的JDK 1.4.2 update 28就已经有 ... -
IBM JVM notes (2014 ver)
2014-05-11 07:16 0Sovereign JIT http://publib.bou ... -
class data sharing by Apple
2014-03-28 05:17 0class data sharing is implement ... -
HotSpot Server VM与Server Class Machine
2014-02-18 13:21 0HotSpot VM历来有Client VM与Server V ... -
Java 8的lambda表达式在OpenJDK8中的实现
2014-02-04 12:08 0三月份JDK8就要发布首发了,现在JDK8 release c ... -
GC stack map与deopt stack map的异同
2014-01-08 09:56 0两者之间不并存在包含关系。它们有交集,但也各自有特别的地方。 ... -
HotSpot Server Compiler与data-flow analysis
2014-01-07 17:41 0http://en.wikipedia.org/wiki/Da ... -
基于LLVM实现VM的JIT的一些痛点
2014-01-07 17:25 0同事Philip Reames Sanjoy Das http ... -
tailcall notes
2013-12-27 07:42 0http://blogs.msdn.com/b/clrcode ... -
《自制编程语言》的一些笔记
2013-11-24 00:20 0http://kmaebashi.com/programmer ... -
字符串的一般封装方式的内存布局 (1): 元数据与字符串内容,整体还是分离?
2013-11-07 17:44 22389(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21489(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
关于string,内存布局,C++ std::string,CoW
2013-10-30 20:45 0(Disclaimer:未经许可请 ... -
Java的instanceof是如何实现的
2013-09-22 16:57 0Java语言规范,Java SE 7版 http://docs ... -
也谈类型: 数据, 类型, 标签
2013-08-18 01:59 0numeric tower http://en.wikiped ... -
oop、klass、handle的关系
2013-07-30 17:34 0oopDesc及其子类的实例 oop : oopDesc* ... -
Nashorn各种笔记
2013-07-15 17:03 0http://bits.netbeans.org/netbea ...
相关推荐
JDK 6 update 10 ( windows ) 总计72.9M,因为上传文件限制为15M,所以用rar分成了5个部分。
最新版 32位 windows sun jdk7 开发必备
JDK 6 update 10 ( windows ) 总计72.9M,因为上传文件限制为15M,所以用rar分成了5个部分。
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的...
这个版本号"6u20"表示JDK 6的更新20,发布于2011年,当时是Java 6的重要更新之一。 JDK 6引入了许多新特性、增强和性能优化,其中包括: 1. **改进的Swing UI**:JDK 6对Swing库进行了升级,提供了更好的外观和...
2. **内存管理**:JDK 1.8的垃圾收集器(Garbage Collector, GC)的实现,包括新生代、老年代的划分以及不同类型的GC策略,如Serial、Parallel、CMS和G1等。 3. **并发与多线程**:`java.util.concurrent`包提供了...
JDK 6.0 Update 3(简称 JDK 6u3)是 Oracle 公司在 JDK 6.0 基础上发布的一个更新版本,旨在修复已知问题、提高性能和稳定性,并增加了新的特性和改进。 #### 二、操作系统支持与安装包 JDK 6u3 支持多种操作系统...
### 卸载OpenJDK并安装Sun JDK #### 一、卸载OpenJDK 在进行Sun JDK的安装之前,确保系统中没有已存在的JDK版本是非常重要的,尤其是OpenJDK,因为它可能会与新安装的Sun JDK冲突。下面将详细介绍如何在Linux环境...
JDK 6 update 10 ( windows ) 总计72.9M,因为上传文件限制为15M,所以用rar分成了5个部分。
4. **增强的for循环(foreach)**:JDK 1.6中的增强for循环(也称为foreach循环)简化了迭代集合、数组和其他迭代器支持的数据结构的操作。这种语法使得代码更简洁,更易于阅读。 5. **NIO.2(New IO 2)**:虽然...
Sun Java JDK除了官方文档外,还得到了广泛的社区支持。开发者可以通过各种论坛、博客和技术文档来获取关于Java编程的帮助和指导。此外,还有大量的开源项目可供参考和学习。 综上所述,Sun Java JDK是Java开发者不...
mac jdk6 java6支持最新macOs10.13.4版本及以下,亲测有效
2. 深入理解JVM:通过阅读`sun.jvmstat`、`sun.hotspot`等包的源码,可以深入了解JVM的运行机制,如垃圾收集、性能监控等。 3. 解决问题:当遇到JVM级别的问题时,查看sun包源码往往能提供直接的解决方案。 总之,...
带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk...
在这个压缩包中,我们有两个版本的JDK,分别是JDK 6 Update 45和JDK 7 Update 80,都是针对Linux 64位操作系统的。 **JDK 6**: JDK 6,也称为Java SE 6(Java Standard Edition 6),是Oracle公司发布的第六个主要...
首先,确保SUN-JDK-6是系统默认的Java版本,使用`sudo update-java-alternatives -s java-6-sun`。 3. **编辑JVM配置文件**:编辑`/etc/jvm`,在文件顶部添加`/usr/lib/jvm/java-6-sun`,如果没有该文件则需自行...
jdk-6u20-windows-x64.exe linx64位下载: 第1部分:http://download.csdn.net/detail/love254443233/5263081 第2部分:http://download.csdn.net/detail/love254443233/5263160 附:java配置方法.txt 1:找到JDK...
IBM和SUN JDK都是Java开发的重要工具,它们都提供了对XML解析的支持。本文将深入探讨IBM JDK与SUN JDK在XML解析方面的异同以及相关API的使用。 IBM JDK和SUN JDK在XML解析上的主要组件包括DOM(Document Object ...
【标题】"sun-java6-jdk" 是Oracle公司(前身为Sun Microsystems)为Java开发环境提供的一个关键组件,它包含了Java Development Kit(JDK),是Java编程语言的基础工具集。这个压缩包文件提供了用于开发、编译、...
在这个压缩包“jdk8u65+openjdk的sun包”中,我们主要关注的是两个版本的Java JDK:JDK 8 Update 65 和 OpenJDK。 **JDK 8 Update 65** JDK 8 Update 65 是Oracle公司发布的Java 8的一个更新版本。这个版本修复了...