重新编译JDK源码以支持Eclipse调试
首先我们要明白JDK source为什么在debug的时候无法观察局部变量,因为在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值。这样的话,如果在debug的时候查看局部变量,就必须自己编译相应的源码使之拥有调试信息。要达到这个目的,要么找网上人家已经编译好的版本,要么自己去编译。
首先我们要明白JDK source为什么在debug的时候无法观察局部变量,因为在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值。这样的话,如果在debug的时候查看局部变量,就必须自己编译相应的源码使之拥有调试信息。要达到这个目的,要么找网上人家已经编译好的版本,要么自己去编译。
之前使用String的replaceAll方法是可以去除字符串中的空白符的,百试不爽,然而还是碰到硬茬了,读取到一个byte数组后转成String,里面很多间隔的空白符一直都去不掉。
接上文《Java通过JNI调用dll库函数》,最终选择通过JNA调用第三方dll库。当然,dll位数还是必须和jvm一致,一开始厂商提供的是32位的,虽说64位系统也能装32位JRE,但多少有点让人不爽,所以最后让厂商提供了64位的dll。
由于接手了一个项目,尝试通过Java调用dll库函数。虽然只差最后一步就成功了,还是记录下过程吧。
在Mybatis Generator的源码中看到了删除StringBuilder内容用的是setLength(0);想起来还有其他的方式可以删除,于是找了点文章,结果各种乱七八糟的东西让我很是烦躁,就手动撸了下试试。