VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作。不比哪些收费的监控软件逊色多少。

  VisualVM更棒的地方是在于它能通过安装插件来扩展功能。

看了上面的介绍,我忍不住心动了尝试了一下VisualVM 来分析一下JVM。既然有插件扩展更多的功能,那肯定要尝试一下,然而成功的道路总是充满曲折的。

安装插件过程中的遇到以下两个问题:

1. VisualVm 默认的插件中心的网址连不上去

这是因为Java VisualVM默认的插件中心网址已关闭服务,插件中心的服务器已经移交到github上,地址是https://visualvm.github.io/pluginscenters.html;
然后,在根据不同的JDK版本选择不同的插件地址。更改VisualVM插件中心的地址。

2. JDK1.7任然无法链接插件中心

我的电脑上安装了两个JDK,分别是JDK1.8和JDK1.7,再更改了正确的插件中心地址后,JDK1.8的VisualVM可以正常安装插件,然而JDK1.7却还是不行,链接时报了以下错误:

这就有点奇怪了。

在折腾了多次后,终于看到网上的一个说法:

JDK1.7默认支持TSL1.0,而JDK1.8默认支持TSL1.2

我们发现插件中心的网址正是https开头的,那我们对这个网址用Wireshark抓一下包

果然,插件中心的服务器上使用的正是TSL1.2的版本。那么解决方案有两种:

  1. 更改VisualVM的支持的TSL版本号,改成V1.2版本。

但好像找不到对应的设置。但可以使用系统属性来设置,看下面的代码。还有,在项目开发中也可能会遇到这个问题,那么同样也可以使用以下代码来指定JDK1.7的TSL版本号:System.setProperty("https.protocols", "TLSv1.2");

  1. 退回到http协议,用这种方法来解决此问题有点麻烦。经过一翻努力,发现所有插件的地址是由XML文件保持的,你还必须修改XML里面的每个插件下载地址成http,这意味着你必须那个下载XML文件,离线维护一个版本库,无法在线更新。但这也算一种解决方案,记录一下吧。

JDK7下VisualVm插件无法链接到插件中心的更多相关文章

  1. 集成iscroll 下拉加载更多 jquery插件

    一个插件总是经过了数月的沉淀,不断的改进而成的.最初只是为了做个向下滚动,自动加载的插件.随着需求和功能的改进,才有了今天的这个稍算完整的插件. 一.插件主功能: 1.下拉加载 2.页面滚动到底部自动 ...

  2. Bootstrap-Plugin:下拉菜单(Dropdown)插件

    ylbtech-Bootstrap-Plugin:下拉菜单(Dropdown)插件 1.返回顶部 1. Bootstrap 下拉菜单(Dropdown)插件 Bootstrap 下拉菜单 这一章讲解了 ...

  3. select标签的下拉框为图片的插件

    1 参考文献: [1] https://github.com/rvera/imag...[2] https://rvera.github.io/image... [3] http://webseman ...

  4. OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架

    http://www.cnblogs.com/cheng923181/p/4883476.html OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin ...

  5. 2分钟 windows下sublime text 3安装git插件:

    12:35 2015/11/182分钟 windows下sublime text 3安装git插件:推荐博客:http://blog.csdn.net/naola2001/article/detail ...

  6. sublime text3 下搭建python IDE环境 --Anaconda插件篇

    近来在园区发现大家使用ST3(Sublime text 3)工具进行python学习.然后自己也跟风了一把. 1.ST3下载地址: http://www.sublimetext.com/3 2.安装S ...

  7. Ubuntu 14.04 下手动安装Firefox的Flash插件

    有时候我们不得不採用手动安装一些软件. Ubuntu 14.04 下手动安装Firefox的Flash插件有下面几步 1. 下载Flash插件 下载地址为http://get.adobe.com/cn ...

  8. linux下常用语言的语法检查插件整理

    linux下常用语言的语法检查插件 可以结合vim语法检查插件syntastic使用,具体请参考syntastic使用说明 如php,sql,json,css,js,html,shell,c等语法插件 ...

  9. 关于nagios系统下使用shell脚本自定义监控插件的编写

    在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控.检测功能都是通过各种插件来完成的. 启动Nagios ...

随机推荐

  1. ES配置文件中文版

    ##################### Elasticsearch Configuration Example ##################### # This file contains ...

  2. (转) 面向对象设计原则(二):开放-封闭原则(OCP)

    原文:https://blog.csdn.net/tjiyu/article/details/57079927 面向对象设计原则(二):开放-封闭原则(OCP) 开放-封闭原则(Open-closed ...

  3. PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法

    Zend Guard是目前市面上最成熟的PHP源码加密产品了.刚好需要对自己的产品进行加密,折腾了一晚上,终于搞定,将碰到的问题及解决方法记录下来,方便日后需要,也可以帮助其他人.我使用的是Wamps ...

  4. sqlserver暂时禁用触发器进行update

    --1.禁用某个表上的所有触发器 ALTER TABLE tbname DISABLE TRIGGER all go --2.执行update语句 update tbname set .... go ...

  5. Android的ListView分页功能(上滑加载更多)

    今天主要工作是将之前实现的各种ListView显示全部信息,优化成了每次加载几条数据,然后上滑的时候加载更多,底部显示一个进度条和一个文字提示,然后加载完毕后,将提示信息隐藏. 一边看教学视频一遍敲代 ...

  6. SVN Hooks的介绍及使用

    阅读此篇文章你可以: 对SVN Hooks有一定的了解 获取两个最常用的SVN Hooks案例 SVN hooks介绍 Hooks 钩子,主要实现的功能就是在特定事件发生之前或者之后自动执行事先定义好 ...

  7. 修改wireshark协议解析规则

    不同的协议有不同的解码器,wireshark尝试为每个包尝试找到正确的解码器,特定的情况有可能会选择错误的解码器. 1.使用了其它协议的标准端口,被错误解码,使用udp的80端口发送数据被当作QUIC ...

  8. QT QPushButton

    #include<QApplication> #include<QWidget> #include<QPushButton> #include<QMenu&g ...

  9. SQL-结构化查询语言(2)

    使用explain查询select查询语句的执行计划 mysql> explain select * from student where Sname='金克斯'\G ************* ...

  10. 【JS点滴】声明提前,变量声明提前,函数声明提前,声明提前的先后顺序

    声明提前,函数声明提前,好吧,老生常谈的问题了.正好,前些天在掘金看到一道关于声明提前的笔试题,那么这里就以这道题来作为本文的引子吧,代码如下: console.log(a)//? a();//? ; ...