最近项目需要JVM监控功能,用来监控整个十二五下规划下所有的系统运行情况。上网了解分析了一下发现VisualVM是个很好的工具,Oracle JDK 6 Update 7以后中也作为JDK的一部分发布。而且支持N多插件。可见其实力不俗。
VisualVM 目前最新版本1.3.8.项目地址为:https://visualvm.java.net/。下面来手动编译VisualVM源码。
1、当然是下载源码了。VisaulVM源码以SVN方式提供。1.3.8源码SVN地址如下:https://svn.java.net/svn/visualvm~svn/branches/release138
visualvm文件夹下为工程源码,其他的为国际化、插件等。checkout后如下:
2、用Ant编译visualvm文件夹下build.xml。发现报错如下:
D:\visualVMs\VisualVM_1.3.8\visualvm>ant
Buildfile: D:\visualVMs\VisualVM_1.3.8\visualvm\build.xml
BUILD FAILED
D:\visualVMs\VisualVM_1.3.8\visualvm\build.xml:7: The following error occurred w
hile executing this line:
D:\visualVMs\VisualVM_1.3.8\visualvm\nbproject\build-impl.xml:19: You must defin
e 'nbplatform.VisualVM_platform.harness.dir'
Total time: 0 seconds
说没定义nbplatform.VisualVM_platform.harness.dir。上网找了一圈,最后还是在官方文档上看见一句话:
To build the visualvm core tool you need the NetBeans 8.0 platform and profiler binaries available here. These binaries must be extracted into the release138/visualvm directory. You can use ant run or ant build-zip to build or run VisualVM.
原来VisualVM依赖于NetBeans8.0平台。下载一个netbeas平台解压到visualvm目录,如图:
NetBeans8.0平台下载地址:https://java.net/projects/visualvm/downloads/download/dev/nb80_visualvm_27062014.zip
3、再次执行ant build 命令进行编译,没有报上面的错误了。但编译报错,找不到com.sun.tools.attach包。该包明明在jdk_home/lib/tools.jar下。后来发现原来我系统的JAVA_HOME是C:\Program Files\Java\jre1.8.0_65。是JRE路径,而不是JDK路径。JRE下没有tools.jar包。
直接把JDK/lib下的tools.jar复制到 JRE/lib/下。问题解决。
4、运行 ant build 编译成功。 ant run 运行,出现了VisualVM界面。
- 大小: 56.7 KB
- 大小: 16.2 KB
- 大小: 57.6 KB
- 大小: 68.6 KB
分享到:
相关推荐
为了便于开发,JDK 1.8还包括了增强的调试工具,如JConsole和VisualVM,它们可以帮助开发者监控和诊断应用程序的性能问题。 总的来说,JDK 1.8是一个具有里程碑意义的版本,它的特性如Lambda表达式、Stream API、...
从"源码"这个标签来看,我们可能会讨论到如何阅读和理解Java小程序的源代码。源代码是程序的原始形式,由人类可读的编程语句组成。理解Java源码有助于我们学习类、对象、方法、变量等概念,以及类的继承、多态、封装...
每个项目都有一个独立的目录结构,包括源代码文件、编译后的类文件、库引用、项目设置文件(.project和.classpath)等。理解项目结构有助于高效地管理和维护代码。 1. `.project` 文件:这是Eclipse项目的元数据...
- 编译器:Java Development Kit (JDK) 包含了Java编译器`javac`,用于将源代码编译成可执行的字节码。 - 调试器:Java Debug Interface (JDI) 和Integrated Development Environments (IDEs) 提供了强大的调试...
JDK包含了Java编译器javac,它将源代码转换为可执行的字节码。此外,JDK还提供了JVM(Java Virtual Machine)用于运行Java程序,以及JRE(Java Runtime Environment),它是运行Java应用程序所必需的基础组件。 在...
- 通过命令行使用`javac`命令编译源代码。 - 运行编译后的`.class`文件。 - **使用Eclipse/MyEclipse来编写、编译并运行Java程序**: - 在IDE中创建新的Java项目。 - 编写源代码并保存。 - Eclipse会自动编译...
当你编写完`.java`源文件后,`javac`会将这些源代码编译成`.class`字节码文件,这是Java虚拟机能够执行的二进制形式。编译过程包括词法分析、语法分析、语义分析和代码生成等步骤。 2. **Java虚拟机(JVM)**:JVM是...
- **编译**:使用`javac`命令将源代码编译成.class字节码文件。 - **运行**:使用`java`命令执行编译后的字节码文件,运行Java程序。 - **调试**:利用JDK提供的JDB调试工具或者IDE内置的调试功能,进行程序调试...
如果要从源代码编译并运行,可以先用`javac HelloWorld.java`编译,再运行。 7. **调试Java应用** JDK自带的`jdb`是简单的命令行调试器,可进行断点设置、单步执行等基本调试操作。高级调试通常使用IDE内置的调试...
1. **编译器**:Java的官方编译器是Javac,它将源代码(.java文件)转换为字节码(.class文件),这是Java虚拟机(JVM)能够理解和执行的语言。编译过程是将高级语言转化为机器可理解的形式,确保代码的正确运行。 ...
- **字节码执行**:Java源代码首先通过javac编译成字节码(.class文件),然后由JVM的解释器读取并转化为机器码执行。为了提高效率,JVM还使用了Just-In-Time(JIT)编译器,将频繁执行的热点代码编译为本地机器码...
1. **Java编译器 (javac)**:这是用于将源代码编译成可执行的Java字节码的工具,使得Java程序可以在任何支持Java的平台上运行。 2. **Java解释器 (java)**:解释器负责执行编译后的字节码,使得Java程序能够在不同...
2. **自动化工具**:利用构建工具如Maven或Gradle自动化编译、测试和打包过程,减少手动操作。 3. **版本控制工具**:如Git,用于版本管理,协同开发。 4. **持续集成/持续部署(CI/CD)**:如Jenkins、Travis CI,...
1. **Java编译器(javac)**:这是将源代码(.java文件)编译成字节码(.class文件)的工具,使得Java程序可以在任何支持JVM的平台上运行。 2. **Java解释器(java)**:用于执行编译后的字节码,使Java应用程序...
1. **Java编译器**:J2SDK中的javac命令行工具,用于将Java源代码(.java文件)编译成Java字节码(.class文件),这些字节码可以在任何支持Java的平台上运行,实现了“一次编写,到处运行”的理念。 2. **Java运行...
4. 类文件格式:Java源代码被编译成字节码,这是一种二进制格式,包含常量池、字段、方法、属性等信息。这种格式保证了Java的跨平台性。 5. 内存管理:JVM负责垃圾回收(Garbage Collection, GC),自动管理堆内存...
9. **API文档生成器**:Javadoc可以自动从源代码中提取注释,生成规范的API文档。 10. **代码混淆工具**:ProGuard或R8用于优化和保护Java应用,尤其是在发布时进行代码混淆,防止反编译。 uesetup.exe的安装过程...
例如,使用`javac MyProgram.java`编译源代码,`java MyProgram`运行程序。 **7. 性能优化** JDK 8引入了G1垃圾收集器,提高了内存管理的效率。同时,JDK的JVM还包含其他性能优化工具,如`jconsole`和`visualvm`,...
1. **Java编译器**(javac):这个命令行工具将源代码编译成字节码,这是Java程序运行的基本单元。Java编译器遵循JDK版本所支持的语言规范,例如在JDK 1.7中引入了钻石操作符()和try-with-resources语句等新特性。...
源码分析有助于开发者调试问题,学习Java Web服务器的实现,并且可以在需要时编译自己的Tomcat版本。 在部署和使用Apache Tomcat时,通常会遵循以下步骤: 1. **解压**:首先,需要解压缩下载的".tar.gz"文件,...