jdk源码中问题

sxdxiaodong000 2010-04-30 12:14:08
看到有
import sun.nio.cs.*;之类

想研究下相关的类,但jdk包中没有的,其他可能得环境变量路径下也找了,请问
1,为啥此处可以引入,而不产生错误
2,在哪可以找到源码,
谢谢各位
...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
以后发帖子不要发两遍!
  • 打赏
  • 举报
回复
sun.nio.cs 和 sun.nio.cs.ext 包中的类基本上都 java.nio.charset.Charset 的子类。

我们执行 Charset.forName("GBK"); 时就会加载 sun.nio.cs.ext.GBK 这个类。具体是怎么映射过去的呢,呵呵,这个留给楼主自己去发现吧。提示一下,在某个类中放着个字符集的映射表 :-)
  • 打赏
  • 举报
回复
1:因为这是 JRE 底层类库,属于 Sun Java 的实现。这个包中的类定义了各种字符集中的字符,里面的类非常庞大,最大一个类源代码有 2 兆多。这些类都位于 JRE 类库的 rt.jar 包中,rt.jar 是 Java 运行时必需要的类库。

2:sun 或者是 com.sun 开头的包都是非归档的类,不建议在代码中使用(http://java.sun.com/products/jdk/faq/faq-sun-packages.html),因为这些类与不同版本的 JRE 相关的,可能在 Windows 平台上有这个类,在 Linux 平台上没有这个类。

3:JRE 底层类库的源代码不在 src.zip 中,需要到 OpenJDK 中去下载 OpenJDK 的源代码:
http://download.java.net/openjdk/jdk6/

下载链接是 tar.gz 包的,解压后有 250 多兆,含有 28000 多个文件。这个包位于:

%OPEN_JDK_HOME%/jdk/src/share/classes/sun/nio/cs 目录中
neverstop_2009 2010-04-30
  • 打赏
  • 举报
回复
1 有JAR包
2 在JDK安装路径下有一个SRC.ZIP,那里就是源码

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧