原 Tomcat开启Jpda支持(远程调试)
遇到运行态的bug错误,本地的话可以debug,远程的话通常可以通过日志等来观察和测试运行态中的环境。 但是如果程序运行在远程环境上,根本无法修改程序、又或者想减少相关日志代码频繁修改等等情况? 可以尝试JPDA. 启动tomcat的jpda支持 默认情况下t … 阅读全文
遇到运行态的bug错误,本地的话可以debug,远程的话通常可以通过日志等来观察和测试运行态中的环境。 但是如果程序运行在远程环境上,根本无法修改程序、又或者想减少相关日志代码频繁修改等等情况? 可以尝试JPDA. 启动tomcat的jpda支持 默认情况下t … 阅读全文
jstatd 启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099。 一个监控守护进程而已,需要配合其他命令行工具发挥功效。 <br />#创建一个policy文件,提供权限 cd /tmp/ to … 阅读全文
接上一篇blog。 jinfo 用于查询当前运行这的JVM属性和参数的值。 常用的参数为: 参数名 解释 -flag 显示未被显示指定的参数的系统默认值 -flag [+|-]name或-flag name=value 修改部分参数 -sysprop … 阅读全文
生产环境上的JVM监控,有时候不方便用可视化的工具来操作。 这里整理一下平常自己使用的JDK自带的一些常用工具。 jps jps命令用于查询正在运行的JVM进程, 常用的参数为: 参数名 解释 -q 只输出LVMID,省略主类的名称 -m 输出虚拟机进程启动时 … 阅读全文
上文学习了Java类加载相关基本知识。 本文举例一个简单例子(自定义类加载,加密解密,再通过反射的机制调用)。 其实类似JSP原理 package com.test; import java.io.ByteArrayOutputStream; import j … 阅读全文
类加载机制 也即是从I/O或者网络流中读取字节码,转换识别成JVM的Class对象的过程。 ClassLoader类实现的类加载。 findeClass方法查找字节码class defineClass方法将byte字节流解析成JVM能识别的Class对象 re … 阅读全文
学习Java反射的一个例子,具体看下面。 见以下代码: public class ReflectTester { // 该方法实现对Customer对象的拷贝操作 public Object copy(Object object) throws Excepti … 阅读全文