`
szhnet
  • 浏览: 109714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
之前有人问我怎么用btrace跟踪数组的创建,这里记录一下。 需要靠Kind.NEWARRAY,比如要跟踪int数组的创建可以这么写 @BTrace public class BtraceCreateArray { @OnMethod(clazz = "/.*/", method = "/.*/", location = @Location(value = Kind.NEWARRAY, clazz = "int") ) public static void findCreateIntArray() { ...
JMH是OpenJDK开发的微基准测试框架。 编写完测试后,可以通过maven进行构建 mvn clean package,然后会得到一个可执行的独立jar包,执行java -jar target/benchmarks.jar可以运行测试程序。 如果直接在eclipse里运行测试程序会得到错误, Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList at org.openjdk.jmh.runner ...
使用jstack可以在线程堆栈中看到关于锁的信息 Synchronized关键字 等待获得锁的 可以显示出在等待哪个锁 获得锁的 可以显示出获得的锁 ReentrantLock 等待获得锁的 获得锁的 什么都没有,没有标明持有了哪个锁,需要在jstack加一个参数,jstack -l 这样就可以显示持有锁的信息了。 另外,ReentrantLock可以显示出线程等待获得哪个锁,应该是AQS在阻塞线程的时候,通过LockSupport的 public static void park(Object blocker) 方法实现的,通过参数blocker将自己(this)传入。 可 ...
Lua是一种小巧的脚本语言,现在经常被用于游戏中。 如果要在Java中使用Lua需要第三方库,如果搜索的话,一般搜到的都是LuaJava。LuaJava并不是一个纯Java的实现,它需要通过native方法调用C库,依赖于Lua 5.1。官网上可以下载到编译好的win32版LuaJava,其他平台的可以自己用源码进行编译。不幸的是它本身有一些bug,会导致JVM崩溃。而且LuaJava从2007年之后也不再更新了,没人维护。 除了LuaJava之外还有一些其他的Lua脚本引擎,比如LuaJ。LuaJ是纯Java实现的Lua解释器,没有native方法,因此相对健壮一些,不会由于一些错误轻易 ...

scribe安装

安装参考了 http://mxsfengg.iteye.com/blog/906900 1.python 服务器上已装 2.boost 下载的1.49.0 安装方法可以参考boost的Getting Started ./bootstrap.sh ./b2 install 3.libevent 下载的2.0.21 ./configure make make install 4.thrift 下载的0.9.0 ./configure make make install 5.fb303 fb303就在thrift中的contrib\fb303目录中 ./bootstrap.sh ./conf ...
obj.wait(); "pool-1-thread-1" prio=6 tid=0x02bde400 nid=0x948 in Object.wait() [0x02f0f000] java.lang.Thread.State: WAITING (on object monitor) ----------------- obj.wait(1000); "pool-1-thread-1" prio=6 tid=0x02bbd400 nid=0x1c8 in Object.wait() [0x02f0f000] java.lang.Threa ...
1.Full GC 在使用CMS的情况下,如果出现promotion failed或者concurrent mode failure,会触发Full GC。 下边通过代码来演示一下。 (1)promotion failed,代码如下: public static void main(String[] args) throws Exception { BigObj o1 = new BigObj(1024 * 1024 * 2); BigObj o2 = new BigObj(1024 * 1024 * 2); BigObj o3 = new BigObj(1024 * 1024 ...
在64位的Eclipse3.6.2上装完subclipse插件后,使用时报错 引用Failed to load JavaHL Library. These are the errors that were encountered: no libapr-1 in java.library.path no libapriconv-1 in java.library.path no libeay32 in java.library.path no ssleay32 in java.library.path no libaprutil-1 in java.library.path no libsasl ...
1.get 客户端: get将请求参数作为url的一部分。浏览器会对url进行编码后发给服务器。浏览器具体用什么编码,依赖于浏览器的具体实现(而且有些浏览器对查询串和URI会分别采取不同的编码)。所以url中不要出现非ASCII字符。非A ...
关于ThreadPoolExecutor的一些问题。 1.先看看jdk 1.5中ThreadPoolExecutor的execute方法 public void execute(Runnable command) { if (command == null) throw new NullPointerException(); for (;;) { if (runState != RUNNING) { reject(command); ret ...
我们知道python的函数是描述符,unbound method和bound method都是instancemethod类型,是通过函数的__get__方法返回的。还有类方法classmethod也是instancemethod类型的。instancemethod用im_class,im_self和im_func保存了方法调用的相关信息。静态方法staticmethod其实返回的就是函数本身。知道了这些之后可以自己用python来做个这些函数或方法的实现。 # -*- coding:utf-8 -*- # class FunWrap(object): u""&q ...

python C3

     object       /    \     B      A     |       / \     |    C   D      \  /       |        E      |         \     /           F L(A) = AO L(B) = BO L(C) = CAO L(D) = DAO L(E) = E + merge(BO,CAO,BC)      = E + B + merge(O,CAO,C)      = EBCAO L(F) = F + merge(EBCAO,DAO,ED)      = F + E + merge(BCAO ...
    最近用apache的commons net进行ftp操作时,对文件名包含中文的文件总是操作失败。ftp server用的是Serv-U,看了一下日志 发现有乱码。上网查了一下,要转码为ISO-8859-1。于是对文件名进行转码new String(f.getName().getBytes("GBK"), "ISO-8859-1")但转码之后还是不行,日志里还是有乱码。后来又瞎试了一通,结果依然不行。于是不得以开始怀疑是Serv-U的问题,上网查了一下,原来默认安装的Serv-U对所有已收发的路径和文件名使用UTF-8编码,所以就会产生乱码的问题。 ...
以前都是在server.xml中用URIEncoding解决编码问题。后来在论坛中看到mmwy提到了配置useBodyEncodingForURI这个参数。用过了才知道,果然还是这个方法更好,更灵活。配置useBodyEncodingForURI="true"后,tomcat会根据request.setCharacterEncoding参数对URL提交的数据和表单中GET方式提交的数据进行重新编码。
本来是写到spaces live上的,可是代码的显示效果确实不怎么好看。在javaeye上试了试代码显示的顺眼多了。 今天写了个用java压缩的功能,可以实现对文件和目录的压缩。 由于java.util.zip.ZipOutputStream有中文乱码问题,所以采用org.apache.tools.zip.ZipOutputStream。 以下是代码: package net.szh.zip; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; impo ...
Global site tag (gtag.js) - Google Analytics