升级到JDK7须要注意的问题

手头的不少应用都开始往JDK7上迁移,JDK升级后build,test遇到了不少小问题,在这里一一列举分析一下:java

  1. Unicode支持升级算法

    JDK7支持Unicode6.0,支持了不少新的字符。以前程序中为一个替换非法字符的函数写了unit test,测试用例中本来的非法字符在JDK7的函数Character.isDefined()返回结果为true,致使了测试用例的失败。安全

  2. 反射机制改变致使JUnit test失败ide

    JUnit依赖java自身的反射机制,因为JDK7反射机制的变化,获取类方法时不是顺序读取或者按照字母排序来获取,而是随机的。若是以前JUnit tests写得不够完善,方法间存在依赖或者teardown没有清理干净,会因为这个缘由致使测试有时不过。可是从JUnit4.11开始增长了指定测试方法执行顺序的特性,能够经过增长annotation来指定test cases的执行顺序。总的来讲,JUnit test之间理论上不该该存在依赖,JDK7还真的能够帮咱们纠正一些test case在设计上的错误。
    函数

  3. SSL证书检验更加严格测试

    以前使用1.7.0_25就碰到SSL通讯的问题,此次使用1.7.0_45又碰到一个新的问题,不得不说JDK在安全性上下的功夫是愈来愈深了。第一点,在使用openssl来生成自签名证书,配置文件openssl.cnf中必须定义KeyUsage。第二点,在使用1.7.0_31之后的版本,增长了一个对于keysize大小的验证,具体能够看%JAVA_HOME%/jre/lib/security/java.securityui

    jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

    可见MD2以及keysize小于1024的RSA算法都会被禁止,用户能够直接注释掉或者修改策略。
    设计

  4. 用JDK7安装Weblogic可能遇到的问题code

    详见个人另一篇博文http://jupiterbee.blog.51cto.com/3364619/1289622blog

相关文章
相关标签/搜索