
jdk
ldbkyo
这个作者很懒,什么都没留下…
展开
-
windows与linux系统路径分割符
[size=medium]System.getProperty("file.separator") 便可得到 windows 得到 "\" linux 得到 "/"关于System.getProperty(String param) 里德param 参数 [code="java"] System.getProperties( ).list(System.out); [/cod...原创 2010-07-15 13:34:44 · 335 阅读 · 0 评论 -
JVM 调优 技巧
1.升级 JVM 版本。如果能使用64-bit,使用64-bit JVM。 基本上没什么好解释的,很简单将JVM升级到最新的版本。如果你还是使用JDK1.4甚至是更早的JVM,那你首先要做的就是升级。因为JVM从1.4- >1.5->1.6可不是仅仅的版本号升级,或者仅仅往里面加了一堆新的语言特性,这么简单。而是真正在JVM做了重大的改进,每次...原创 2011-08-02 15:59:44 · 112 阅读 · 0 评论 -
JVM垃圾回收策略
[color=darkred][b]为什么要分代[/b][/color] 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因...原创 2011-08-02 14:59:35 · 85 阅读 · 0 评论 -
Java GC
调整JVM GC(Garbage Collection),可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿是客户无法接受的),而且由于跑在各个机器上的配置不同(主要cup个数,内存不同),所以使用的GC种类也会不同。...原创 2011-08-02 13:38:37 · 97 阅读 · 0 评论 -
Bad version number in .class file
java.lang.UnsupportedClassVersionError: Bad version number in .class file 这是java的编译的版本问题,把版本改成一致的就可以了,例如jdk 和jre都设为6.0。在myeclipse的配置信息里,就分别指它的编译级别(complier)和java运行环境(install jre). web工程重启t...原创 2011-03-04 15:08:03 · 110 阅读 · 0 评论 -
备忘链接
翻译,随便写了写,备忘一下[code="java"]URLConnection conn = new URL( "http://ajax.googleapis.com/ajax/services/language/translate?v=2.0&langpair=zh-CN|en&q=" + URLEncoder.encode(str, "UTF-8")).open...2011-08-16 18:25:15 · 94 阅读 · 0 评论 -
Java的弱引用(Weak Reference)
要理解弱引用,首先要先了解一下强引用(Strong Reference), 其实我之前也并不了解强引用,虽然天天都在用。举例来说: String abc = new String ("abcdf");这就是创建了一个String的实例然后在变量abc中保存一个强引用,为什么说它强(Strong)呢?这是跟垃圾回收器相关的,如果一个对象是通过强引用链(Chain of ...原创 2011-05-18 16:07:00 · 98 阅读 · 0 评论 -
使用classloader动态加载Class
http://www.javaworld.com/javaworld/jw-06-2006/jw-0612-dynamic.html原创 2011-05-17 14:25:27 · 192 阅读 · 0 评论 -
查看class文件信息
看了第6章的java class文件这一部分,我觉得对class文件有进一步的了解。于是想作一点笔记,以备以后查时方便。 这章的一个例子虽然简单,但是我觉的很有一定代表性。例子如下:[code="java"]class Act { public static void doMathForever(int m) { int i = 0; int...原创 2011-05-16 14:15:06 · 217 阅读 · 0 评论 -
jvisualvm监听JVM
配置好 set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port="9004" -Dcom.sun.management.jmxremote.authenticate="false" -Dcom.sun.management.jmxremote....2011-08-05 10:14:08 · 106 阅读 · 0 评论 -
Calendar
[code="java"]/**获得参数月份的一号及其下一个月的一号*/ private StockDate getStockDate(String stockDate){ String stockDateStart=stockDate+"-01"; Calendar c=Calendar.getInstance(); SimpleDateFormat sdf=new Sim...原创 2011-03-30 14:13:32 · 70 阅读 · 0 评论 -
关于饿汉式单例首次初始化失败后,可以再次尝试?
思考一个问题,以下代码是一个简单的饿汉式单例代码,显然在第一次初始化的时候会发生错误,导致单例的实例化失败,那么失败后可否继续尝试实例化呢?还是说下次使用时直接返回错误的对象或异常呢? 环境HotSpotJVM 1.6 /**** @author lidongbo* @date 2012-7-11*/public class Foo { pri...2012-07-11 15:14:41 · 248 阅读 · 0 评论 -
由ApacheCommon-BeanUtils1.8.3发现的Java HotSpot(TM)的Bug
由ApacheCommon-BeanUtils1.8.3发现的Java的Bug org.apache.commons.beanutils.BeanUtils.copyProperties(Object dest, Object orig) throws IllegalAccessException, InvocationTargetException 我...2012-07-03 15:42:49 · 133 阅读 · 0 评论 -
线程全部结束与集合点
[code="java"]final int size = 50;final CountDownLatch countDown = new CountDownLatch(size);//执行计数final CyclicBarrier barrier = new CyclicBarrier(size); //集合点ExecutorService exec = Execu...原创 2011-11-12 16:26:24 · 133 阅读 · 0 评论 -
ddddddddd
dddddddddd原创 2011-11-12 16:21:17 · 278 阅读 · 0 评论 -
ccccccc
ccccccccccc原创 2011-11-12 16:20:16 · 264 阅读 · 0 评论 -
bbbbbb
bbbbb原创 2011-11-12 16:19:59 · 205 阅读 · 0 评论 -
Aaaaa
aaaaaaaa原创 2011-11-12 16:19:40 · 159 阅读 · 0 评论 -
Java构建HashCode相同字符串算法
[code="java"]import java.math.BigDecimal; import java.util.Random; /**“中间相遇法”是生日攻击的一种变形,它不比较Hash值,而是比较链中的中间变量。这种攻击主要适用于攻击具有分组链结构的Hash方案。中间相遇攻击的基本原理为:将消息分成两部分,对伪造消息的第一部分从初试值开始逐步向中间阶段产生r1个变量;对...原创 2012-01-10 15:05:53 · 232 阅读 · 0 评论 -
.class文件格式--java字节码文件的格式
1 . 目的Java 虚拟机识别的 class 文件格式包含 Java 虚拟机指令 (或者 bytecodes )和一个符号表以及其他的辅助信息。本文将使用 VC++ 语言解析 Java Class 文件符号表,逆向生成 Java 源代码结构。如图 1 :[img]http://dl.iteye.com/upload/attachment/481423/2dfcd790-9811-30...原创 2011-05-14 23:07:25 · 215 阅读 · 0 评论 -
Java反射之:判断修饰符
[code="java"]import java.lang.reflect.Modifier;public class Main { public static void main(String[] argv){ /* Modifier.isAbstract(int mod) Modifier.isFinal(int mod) ...2010-12-24 11:36:17 · 118 阅读 · 0 评论 -
汉字转Unicode码工具
[code="java"] public static String getUnicode(String source){ String returnUniCode=null; String uniCodeTemp=null; for(int i=0;i2010-08-15 15:15:11 · 130 阅读 · 0 评论 -
Jocky混淆JAVA代码(保护你的JAVA项目)
http://huangyuanmu.iteye.com/blog/493149原创 2010-08-05 18:54:08 · 91 阅读 · 0 评论 -
总结下 比较 好的 第三方 组件 包
excel:{poi}缓存:{OSCache}java动态:{javassist,Beanshell,bcel}表达式分析 :{javacc,antlr}pdf:{iText}加密:{bcprov}克隆:{cloning}执行本地C、C++:{jni,jna}算法工具: ...2010-07-30 18:14:43 · 178 阅读 · 0 评论 -
查看ScriptEngine线程安全
通过 javax.script 的接口 ScriptEngineFactorygetParameterObject getParameter(String key)返回属性值,该属性的含义可能是特定于实现的。其值在所有实现中定义的键有: ScriptEngine.ENGINE ScriptEngine.ENGINE_VERSION ScriptEngine.NAME ...2010-07-30 18:03:24 · 2054 阅读 · 0 评论 -
jdk动态代理(二)
"面向接口编程"在java中,尽量多定义接口,因为设计的最重要的目的就是应对各种变化,而接口本身就是一种变化着的Class的直接反映,通过实现特定接口的各种具体类,达到应对变化的目的,下面以Proxy模式为例:Proxy的模式最主要的目的,原有的类对象由于某种原因不能访问,需要通过一个新的类来间接地去实现,这个新的类就称为代理类,举个例子说明,老王买/卖鱼的例子 [code="ja...原创 2010-07-29 20:11:13 · 85 阅读 · 0 评论 -
jdk动态代理(Proxy,InvocationHandler),含$Proxy0源码
一.相关类及其方法:java.lang.reflect.Proxy,Proxy 提供用于创建动态代理类和实例的静态方法.newProxyInstance()返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序(详见api文档)java.lang.reflect.InvocationHandler,InvocationHandler 是代理实...原创 2010-07-29 20:06:34 · 113 阅读 · 0 评论 -
JAVA 的 transient 关键字用法
[size=large][/size][b]transient 关键字表示在Serializable 的时候不保存该值。[/b]原创 2010-07-29 18:36:19 · 137 阅读 · 0 评论 -
处理好异常,增加程序鲁棒性(以例说明)
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误.java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常.程序鲁棒性(健壮性):就是程序在非正常情况下(输入不符合规定等)不会出错或崩溃 1、Throwable是所有异常的超类,它有两个类型的异常,Error和Except...原创 2010-07-15 13:53:17 · 801 阅读 · 0 评论 -
\r\n在windows和linux的区别
\n 为ASCII的0x0a 换行 \r 为ASCII的0x0d 回车 在windows 系统中,当你输入回车时会自动变成\r\n在linux下的回车键只代表\n而在windows下的回车键表示\r\n\n为进入下一行,\r为打印头回到行首上linux/unix下只用\n,它就表示回车+换行 而windows下,\r只回车...2010-08-17 16:06:15 · 325 阅读 · 0 评论 -
我来证明dwr的application 是线程不安全的
欢迎大家一起讨论扔砖 :oops:我就在网上简单搜了搜, 没找到关于其application的线程安全权威说法自己看源码吧。。。扫了一眼javax.servlet.ServletContext的层次结构如下第二个MockServletContext是个静态内部类其setAttribute方法居然这样,直接不考虑了 [code="java"]...2010-08-24 18:27:29 · 126 阅读 · 0 评论 -
Java反射之:获取数组对象组件的类型
[code="java"]public class Main { public static void main(String[] argv) { System.out.println(new int[1][2][3].getClass().getComponentType()); }}[/code]2010-12-24 11:27:46 · 495 阅读 · 0 评论 -
Java反射之:创建一个数组:包含5个整数数组
[code="java"]import java.lang.reflect.Array;public class Main { public static void main(String[] argv) throws Exception { int[] ints = (int[]) Array.newInstance(int.class,5); }}[/co...2010-12-24 11:15:49 · 586 阅读 · 0 评论 -
突然觉得静态方法不能被子类覆写,写个例子证明下吧
[code="java"]package test;/** * @author lidongbo */public class Father { public static void say(){ System.out.println("教训儿子!"); }}[/code][code="java"]package tes...2010-12-24 09:08:12 · 162 阅读 · 0 评论 -
JAVA String.format
在JDK1.5中,String类增加了一个非常有用的静态函数format(String format, Objece... args),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而args则是一系列等待被格式化的对象。该函数对c语言中printf函数的用法进行了一定的模仿,因此有c语言基础的人学起来会轻松许多。下面我们着重讨论一下fo...原创 2010-09-19 13:32:21 · 210 阅读 · 0 评论 -
JVM内存泄露监控
JVM内存异常例子[color=red][b]java.lang.OutOfMemoryError: PermGen space[/b][/color]permanent space持久空间: 用于类和方法对象的存储。spring在AOP时使用CBLIB会动态产生很多类,JSP页面, Java反射类,当类太多,超过MaxPermSize的时候,就会抛出此异常。参数问题可以设置jvm...原创 2010-09-09 16:17:27 · 244 阅读 · 0 评论 -
JVM的安全检查机制
前阵子写了个组件然后发现类no signer certificates,那么我就看看咋加一个吧,加之前说下JVM机制JVM在执行字节码的时候需要经过下边的步骤: 由类加载器(Class Loader)负责把类文件加载到Java虚拟机中(.class),在这个过程需要校验该类文件是否符合类文件规范 。字节码校验器(Bytecode Verifier)检查该类文件的代码中是否存...2010-08-27 15:35:51 · 1015 阅读 · 0 评论 -
获得类所在jar包
工程里有3个POI的包?郁闷了看看 到底用的哪个[code="java"] System.out.println(org.apache.poi.ss.usermodel.Cell.class.getProtectionDomain().getCodeSource());[/code]...原创 2010-08-27 14:43:03 · 165 阅读 · 0 评论 -
java.lang.ClassFormatError: Incompatible magic value
今天电脑出现异常开发环境报什么缓存区写入失败,然后死机,重启后没发现修改过的一个JSP跳转不进去了java.lang.ClassFormatError: Incompatible magic value 0郁闷死了,项目里clean 也解决不了,最后把这个JSP剪切了,然后跳转进入这个空页面了,然后又粘贴回来,问题解决...2010-08-27 11:24:55 · 2477 阅读 · 0 评论 -
JVM垃圾回收
一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过-XX:PermSize -XX:MaxPermSize 等参数调整其大小。...原创 2012-04-19 13:02:54 · 110 阅读 · 0 评论