`
chelsea
  • 浏览: 117938 次
  • 来自: ...
社区版块
存档分类
最新评论

Sun JDK 不兼容 IBM JDK 备忘录

 
阅读更多

工作中遇到一些Sun JDK与IBM JDK不兼容的问题,记下来做个备忘

1. String.getBytes(String encoding)

TestCase:
public static void main(String[] args) {
try {
RandomAccessFile f = new RandomAccessFile("test.txt", "rw");
f.write("tets".getBytes(null));
f.close();
} catch (IOException e) {
e.printStackTrace();
}
}
SUN JDK 1.4 : OK

IBM JDK 1.4 :

Exception in thread "main" java.lang.NullPointerException
at java.lang.StringCoding$EncoderCache.makeEncoder(StringCoding.java:198)
at java.lang.StringCoding$2.run(StringCoding.java:251)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:351)
at java.lang.StringCoding$EncoderCache.getEncoder(StringCoding.java:248)
at java.lang.StringCoding.getEncoder(StringCoding.java:331)
at java.lang.StringCoding.encode(StringCoding.java:472)
at java.lang.String.getBytes(String.java:947)
at NullEncoding.main(NullEncoding.java:12)

2. 日文编码

Test Case:
public static void main(String[] args) {
try {
"".getBytes("Shift_JIS");
"".getBytes("Shift-JIS");
} catch (Exception e) {
e.printStackTrace();
}
}

SUN JDK 1.4 : OK

IBM JDK 1.4 :

java.io.UnsupportedEncodingException: Shift-JIS
at java.lang.StringCoding$EncoderCache.getEncoder(StringCoding.java:262)
at java.lang.StringCoding.getEncoder(StringCoding.java:331)
at java.lang.StringCoding.encode(StringCoding.java:472)
at java.lang.String.getBytes(String.java:947)
at ShiftEncoding.main(ShiftEncoding.java:17)

To Be Continue...

分享到:
评论

相关推荐

    sun jdk7 32位windows

    最新版 32位 windows sun jdk7 开发必备

    IBMJDK1.6linux.zip

    2. 使用解压命令(如`unzip IBMJDK16linux.zip`)解压缩文件。 3. 将解压后的目录移动到适当的位置,如`/usr/java`。 4. 配置环境变量,如`JAVA_HOME`、`PATH`和`CLASSPATH`,使其指向IBM JDK 1.6的安装路径。 5. ...

    IBM SUN JDK XML解析相关

    IBM和SUN JDK都是Java开发的重要工具,它们都提供了对XML解析的支持。本文将深入探讨IBM JDK与SUN JDK在XML解析方面的异同以及相关API的使用。 IBM JDK和SUN JDK在XML解析上的主要组件包括DOM(Document Object ...

    Hibernate相关jar包括新版本jdk不兼容旧版本的jar.zip

    这个问题在"Hibernate相关jar包括新版本jdk不兼容旧版本的jar.zip"这个压缩包中被提及,表明其中可能包含了针对这种兼容性问题的解决方案。 首先,我们需要理解为什么新版本的JDK可能导致与Hibernate的不兼容性。...

    IBM JDK1.6 安装版

    IBM JDK1.6 安装版

    IBMJDK1.6版本sdk

    IBMJDK1.6版本sdk

    ibm jdk1.6 ibm 64

    IBM Webpshere 8.5.0ND版自带的商业JDK,版本信息如下: java version "1.6.0" Java(TM) SE Runtime Environment (build pwa6460_26sr2ifix-20120419_02(SR2+IV19661)) IBM J9 VM (build 2.6, JRE 1.6.0 Windows ...

    jdk1.8 sun源码

    在JDK 1.8版本中,虽然已经包含了大部分核心类库的源代码,但某些特定的Sun Microsystems(后被Oracle收购)实现的内部类或模块,如JNI(Java Native Interface)和一些性能优化的代码,通常并不公开。这些内部实现...

    ibm_jdk1.7.1_x86.part2

    附件为 ibm_jdk1.7.1_x86.part2.rar,还有一个附件 ibm_jdk1.7.1_x86.part1.rar两个压缩包在一起解压才正常。已测试

    JDK 1.1.8 for IBM aix

    这是老版本的jdk,版本号为1.1.8,对于一些软件在安装的时候需要此版本。

    卸载OpenJDK并安装Sun JDK

    ### 卸载OpenJDK并安装Sun JDK #### 一、卸载OpenJDK 在进行Sun JDK的安装之前,确保系统中没有已存在的JDK版本是非常重要的,尤其是OpenJDK,因为它可能会与新安装的Sun JDK冲突。下面将详细介绍如何在Linux环境...

    Maven兼容jdk1.7版本

    然而,"Maven 3.0.5"特别强调了与JDK 1.7的兼容性,这意味着使用此版本的Maven可以顺利处理基于Java 7的项目,无需升级JDK,这对于那些无法或不想升级JDK的团队来说是理想的选择。 **Maven 3.0.5特性**: 1. **改进...

    ibm版jdk1.8 for linux x64

    ibm版本的jdk1.8 for linux x64,已测试可用,安装无需root权限

    sun java jdk

    综上所述,Sun Java JDK是Java开发者不可或缺的一部分,它不仅提供了开发Java应用程序所需的各种工具和文档,还为开发者提供了一个不断发展的平台。通过深入理解JDK中的API文档和其他资源,开发者可以更有效地利用...

    JDK1.7,JDK的种类:最主流的JDK是Sun公司发布的JDK

    JDK的种类:最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual ...

    带sun的jdk 1.8.0-65

    带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk 1.8.0_65带sun的jdk...

    IBM-jdk7-win64

    IBM JDK 7 for Windows 64位是一款专为Windows操作系统设计的Java开发工具包,它由国际知名科技公司IBM提供。这款JDK是Java开发者在Windows环境下进行编程、测试和部署Java应用程序的重要基础。IBM JDK7针对64位架构...

    ibm_JDK.rar

    IBM JDK,全称为IBM Java Development Kit,是IBM公司推出的一款Java开发工具包,与Oracle JDK相比,它在功能、性能和兼容性上有着独特的特点。本文将深入探讨IBM JDK的相关知识点,包括其主要特性、与Oracle JDK的...

    IBM MAT分析工具+JDK8_64位

    8. **JDK8兼容性**:IBM MAT与JDK8的兼容性意味着开发者可以利用MAT对基于JDK8的应用进行深度内存分析,确保在最新的Java环境中获得准确的结果。 在使用IBM MAT时,首先需要安装JDK8,并确保环境变量配置正确。然后...

    jdk源码-补充缺少sun包下的源码

    然而,对于理解和调试JDK内部机制,研究sun包下的源码是不可或缺的。 二、获取与补充sun包源码 补充缺失的sun包源码主要来源于OpenJDK项目,这是一个开源的JDK实现,其源码完全公开。OpenJDK的1.7分支包含了sun包...

Global site tag (gtag.js) - Google Analytics