易截截图软件、单文件、免安装、纯绿色、仅160KB

java性能监控工具 btrace

btrace是sun推出的一款java性能监控工具,利用java agent 和 jvm attach技术,可以不停机的情况下监控线上情况,并且做到最少的侵入,占用最少的系统资源。
详细见官方文档
另外btrace有很严格的限制,比如拼接字符串、循环、递归、以及我们平时经常用的一些方法都不可以用,他有他自己专门的类库。
btrace还提供了VisualVM Plugin 以及Netbeans Plugin。
具体使用如下。
1.下载btrace包 http://kenai.com/projects/btrace/downloads/directory/releases。
2.设置环境变量。
3.定制自己需要的脚本。
4.jps命令查出需要监控的jvm pid。
5.调用命令 btrace <pid> <自己定制的脚本>  <输出文件> eg:btrace 3045 PrintExecuteTime.java > time.log
我经常使用的功能一是监控某些方法的耗时,二是查看某些方法的参数值,三是监控内存使用情况。
脚本举例如下
1.监控方法参数(数组)
Java代码
import static com.sun.btrace.BTraceUtils.print;   
import static com.sun.btrace.BTraceUtils.printArray;   
import static com.sun.btrace.BTraceUtils.println;   
import static com.sun.btrace.BTraceUtils.probeClass;   
import static com.sun.btrace.BTraceUtils.probeMethod;   
  
import com.sun.btrace.annotations.BTrace;   
import com.sun.btrace.annotations.OnMethod;   
  
@BTrace  
public class PrintArgArray {   
  
    /**  
     * 此方法打印出Test类中的mergeArray(Long[] arrayOne, Long[] arrayTwo)方法传入的参数  
     * 参数名字一定要和监控对象的方法参数名字一致  
     *   
     * @param arrayOne 监控参数一  
     * @param arrayTwo 监控参数二  
     * @author jerry  
     */  
 


相关文档:

java超简单,超级实用验证码

1.   验证码(2)
dsnaValidateCode.jar
dsnaValidateCode_src.rar
ValidateCode.java 验证码生成类
Java代码
package cn.dsna.util.images;   
  
import java.awt.Color;   
import java.awt.Font;   
import java.awt.Graphics2D;   ......

java实现读取XML文件数据插入到数据库中

package com.flxx.docUrl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jd ......

java 自己实现 ReadWriteLock (一)


多线程读写同一个对象的数据是很普遍的,通常,要避免读写冲突,必须保证任何时候仅有一个线程在写入,有线程正在读取的时候,写入操作就必须等待。简单说,就是要避免“写-写”冲突和“读-写”冲突。但是同时读是允许的,因为“读-读”不冲突,而且很安全。
要实现以上的ReadWriteLock, ......

Java二分法

贴段代码,有少许注释:
package ibees;
import java.util.Arrays;
public class BinarySearch {

/**
* @param args
*/
public static void main(String[] args) {
double[] src = new double[]{1.3,9.9,10.89,12.89,89.0};
System.out.println(new BinarySearch().binarySearch(src, 89.0));
}

......

java 进制转换

public class Test { 
      public static void main(String args[]) {  
        System.out.println(Integer.toBinaryString(20));   //十进制-->2进制  
        System ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号