最近再看Java 性能的问题。一直都习惯使用Jconsole和Jstack。今天偶然发现一个更好的东东JVisualVM。这个工具功能更强大而且有很多插件可以扩展,相信后面插件会越来越丰富。
如此一来一些简单的profiling和monitoring需求都可以满足了,而不必使用JProfile和YourKit了。
JVisualVM是JDK自带的一个使用工具。如果你的path里面包含java的bin目录,你可以直接在命令行敲JVisualVM来打开它。
你可以连接本机,也可以连接远程的机器,不过要通过jmx。需要做下面的设置:
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="9090" -Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote.ssl="false"
其中-Dcom.sun.management.jmxremote.port=9090 指定了 JMX 启动的代理端口;这个端口就是 Visual VM 要连接的端口。相信打开你就知道怎么用了。
上一张图吧:
- 大小: 83.3 KB
分享到:
相关推荐
此外,JDK还提供了诸如jconsole、jvisualvm等用于监控和分析Java应用程序的性能工具,对于理解和优化Java应用的运行状况大有裨益。 深入学习《精通Java JDK》,不仅需要掌握基本的语法和API,还要理解JVM的工作原理...
学习JAVA反编译的同时,还可以结合其他工具,如jad,FernFlower等,它们各有特点,可以根据实际需求选择合适的工具。此外,配合使用调试器(如JDB)和动态分析工具(如JVisualVM),能更全面地理解和分析JAVA程序。 ...
### 深入JVM内核:原理、诊断与优化 ...通过学习本教程,开发者不仅能够提高自己的技术水平,还能更好地应对实际工作中遇到的问题。希望各位能够在学习过程中不断探索、实践,成为真正的JVM专家。
在实际使用过程中,开发者需要结合日志分析、代码审查、JVM调优工具(如JVisualVM或JProfiler)以及性能测试工具(如JMeter)来全面了解和解决性能问题。这些脚本只是优化流程的一部分,它们能提供初步的诊断,但...
同时,通过工具如JVisualVM或JProfiler来监控内存使用和GC行为,有助于找出内存泄漏和性能瓶颈。 4. **JVM-GC调优**:垃圾收集是JVM自动管理内存的关键过程,不同的垃圾收集器有不同的性能特性。例如,CMS、G1、ZGC...
例如,`jconsole`和`jvisualvm`是两款图形化的工具,它们可以实时显示GC的状态、内存使用情况以及线程信息。通过JVM参数,如`-XX:+PrintGCDetails`和`-XX:+PrintGCDateStamps`,可以在控制台打印详细的GC日志。 2. ...
这通常需要使用一系列诊断工具,如JVisualVM、VisualGC、MAT(Memory Analyzer Tool)等,它们可以帮助分析堆内存快照,识别内存泄漏源头。 ##### 垃圾回收调优 垃圾回收(GC)策略的选择和参数设置对性能有着直接...
8. **监控与分析**:使用JVisualVM、JProfiler等工具监控CPU、内存、线程等,找出性能瓶颈。 9. **延迟初始化**:只有在真正需要时才初始化对象,避免不必要的资源消耗。 10. **避免空指针异常**:尽早检查null值...
同时,使用性能分析工具(如JVisualVM)可以识别并优化性能瓶颈。 在本教程系列中,你将逐步学习这些概念,并通过实际项目来加深理解。随着你的进步,你可能会探索更先进的主题,如网络编程(实现多人在线游戏),...
此外,还可以通过使用性能监控工具来帮助定位和解决性能问题。 #### 第六章:构建可垂直伸缩的应用 **6.1 多线程** 利用多核处理器的优势,通过多线程编程可以显著提高应用的处理能力。合理的设计多线程方案,...
在性能调优部分,作者将分享如何通过监控工具(如JVisualVM、JConsole、JMX等)收集运行数据,分析CPU、内存、线程等资源的使用情况,从而找到性能瓶颈并进行优化。此外,也会讲解如何利用Java的并发编程特性来提升...
在实际开发中,开发者可能还需要了解如何使用JDK1.7进行编译、运行Java程序,如何使用Javadoc生成文档,以及如何使用JVM的监控和诊断工具(如jconsole、jvisualvm等)。同时,了解Java 7的内存模型、垃圾收集机制、...
使用jstack进行线程分析时,还需要结合其他工具,如jconsole、jvisualvm等,以便全面理解应用程序的性能状况。同时,分析结果应与代码逻辑相结合,找出可能的性能瓶颈或异常情况,进而优化代码或调整系统配置。 总...
- **JVisualVM**:这是一个强大的工具,可以用来监控和分析Java应用程序的内存使用情况。 - **Eclipse Memory Analyzer (MAT)**:一个基于Eclipse的工具,用于分析Java堆内存快照,帮助开发者找到内存泄漏和其他性能...
综上所述,“高级Java架构师培训148节视频课-资料齐全”旨在全方位提升Java开发者的技能水平,不仅涵盖了Java语言本身的核心知识点,还深入探讨了现代软件开发过程中涉及到的各种高级技术和最佳实践。通过系统性地...
"jvm-demo"可能会提供一些示例,展示如何使用JVisualVM、JProfiler等工具进行性能分析和调优。 6. **JVM内存模型** Java内存模型(JMM)规定了线程如何共享和访问内存,以确保多线程环境下的正确性。了解JMM对于...
当这一块的内存用完了,就将还存活着的对象复制到另一块上面,然后再把已使用过的内存空间一次清理掉。 - **标记-整理算法**:标记过程同标记-清除算法,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的...
开发者需要理解如何正确地处理线程中断和异常,以及如何通过工具如JVisualVM来监控和分析并发程序的性能。 总之,“paralelismo-e-concorrencia”主题涵盖了Java中并行和并发编程的关键概念和工具。掌握这些知识将...
- **内存分析工具**:例如JVisualVM或Eclipse MAT,用于分析内存分配和泄漏。 - **单元测试和集成测试**:通过编写测试用例来验证代码功能,提前发现潜在问题。 此外,对于大型项目,可能还需要了解如何使用版本...