Java在当前用户的C:\Users\%USERNAME%\AppData\Local\Temp\目录下(见环境变量中的TEMP设置),新建一个hsperfdata_<windows userid>文件夹(所有字母都是小写),里面放置的是Java进程列表:
该文件夹的读写权限很低,即使手动修改也会被重置:
如果用户或其它进程修改文件夹前缀(hsperfdata)的字符为大写,会导致jconsole不能显示当前的Java进程列表:
如果修改后缀(<windows userid>)的字符为大写,会导致jconsole不能连接Java进程:
解决方案:
1. 关闭所有的java进程,将hsperfdata_<windows userid>的字母全部改成小写:
2. 修改环境变量TEMP的值,指向另外一个目录。