请问jdk源码该如何研究

问题描述

请问jdk源码该如何研究
各位大神,小弟最近想看看jdk源码,想看看里面各个功能是怎么实现的,源码在myeclipse里面可以看到,但是不知道该如何开始,应该从哪里开始,希望各位大神指点迷津,谢谢。

解决方案

1.知道这个API是干嘛的;(可以通过注释知道,英文水平好的可以看原版API文档,也可以下个中文版的API文档)
2.Ctrl+O键,看里面有什么方法,先看构造方法,再看其他功能方法
3.你喜欢研究那个方法就看那个方法吧。
希望采纳,谢谢

解决方案二:
去oracle官网下载jdk使用范例不就OK了

解决方案三:
1、先确定的自己的目的;2、找到自己想看到的功能入口;3、剩下就简单了。ps:myec

解决方案四:
楼上说的对。建议你对什么好奇就看什么,比如说异常,Error和Exception的子类,比如说 INetAddressServerSocketSocketChannel比如说Collections
ListSetMap等等接口的子类。。。

时间: 2025-01-19 19:00:25

请问jdk源码该如何研究的相关文章

从JDK源码角度看Float

关于IEEE 754 在看Float前需要先了解IEEE 754标准,该标准定义了浮点数的格式还有一些特殊值,它规定了计算机中二进制与十进制浮点数转换的格式及方法.规定了四种表示浮点数值的方法,单精确度(32位).双精确度(64位).延伸单精确度(43位以上)与延伸双精确度(79位以上).多数编程语言支持单精确度和双精确度,这里讨论的Float就是Java的单精确度的实现. 浮点数的表示 浮点数由三部分组成,如下图,符号位s.指数e和尾数f. 对于求值我们是有一个公式对应的,根据该公式来看会更简

从JDK源码角度看java并发的公平性

        JAVA为简化开发者开发提供了很多并发的工具,包括各种同步器,有了JDK我们只要学会简单使用类API即可.但这并不意味着不需要探索其具体的实现机制,本文从JDK源码角度简单讲讲并发时线程竞争的公平性.         所谓公平性指所有线程对临界资源申请访问权限的成功率都一样,不会让某些线程拥有优先权.我们知道CLH Node FIFO等待队列是一个先进先出的队列,那么是否就可以说每条线程获取锁时就是公平的呢?关于公平性这里分拆成三个点分别阐述:         ① 准备入队列的节

从JDK源码看InputStream

概况 JDK 给我们提供了很多实用的输入流 xxxInputStream,而 InputStream 是所有字节输入流的抽象.包括 ByteArrayInputStream .FilterInputStream .BufferedInputStream .DataInputStream 和 PushbackInputStream 等等. 继承结构 --java.lang.Object --java.io.InputStream 类定义 public abstract class InputStr

从JDK源码角度看Byte

Java的Byte类主要的作用就是对基本类型byte进行封装,提供了一些处理byte类型的方法,比如byte到String类型的转换方法或String类型到byte类型的转换方法,当然也包含与其他类型之间的转换方法. 主要实现代码如下: public final class Byte extends Number implements Comparable<Byte> { public static final byte MIN_VALUE = -128; public static fina

从JDK源码看System.exit

前言 在编写的Java程序中有时会遇到用 System.exit 来关闭JVM,其中调用 exit 方法时会包含一个状态参数n,即System.exit(n).这其实是一个约定值,如果为0则表示正常关闭,而非0则表示非正常关闭.这里我们从JDK源码看下不同状态都是怎么处理的. System与Runtime 先看System类的exit方法如下,可以看到它是间接调用了Runtime对象的exit方法. public static void exit(int status) { Runtime.ge

从JDK源码角度看Long

概况 Java的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法或String类型到long类型的转换方法,当然也包含与其他类型之间的转换方法.除此之外还有一些位相关的操作. 继承结构 --java.lang.Object --java.lang.Number --java.lang.Long 主要属性 public static final long MIN_VALUE = 0x8000000000000000L;

从JDK源码角度看Integer

概况 Java的Integer类主要的作用就是对基本类型int进行封装,提供了一些处理int类型的方法,比如int到String类型的转换方法或String类型到int类型的转换方法,当然也包含与其他类型之间的转换方法.除此之外还有一些位相关的操作. 继承结构 --java.lang.Object --java.lang.Number --java.lang.Integer 主要属性 第一部分 public static final int MIN_VALUE = 0x80000000; pub

从JDK源码看Writer

概况 Writer 是一个用于写字符流的抽象类,它将一些相通的写相关操作抽象到此类,方便各种写操作类的实现.一般来说子类只需要实现它的 write.flush .close 等三个方法,但如果有需要还可以重写 Writer 提供的公共方法. JDK 在 Writer 的基础上实现了很多有用的 xxxWriter ,包括 BufferedWriter.CharArrayWriter.FilterWriter.OutputStreamWriter.FileWriter.PipedWriter.Str

从JDK源码看关闭钩子

关闭钩子 Java提供了Shutdown Hook机制,它让我们在程序正常退出或者发生异常时能有机会做一些清场工作.使用的方法也很简单,Java.Runtime.addShutdownHook(Thread hook)即可.关闭钩子其实可以看成是一个已经初始化了的但还没启动的线程,当JVM关闭时会并发地执行注册的所有关闭钩子. 钩子执行时机 向JVM注册关闭钩子后的什么时候会被调用,什么时候不会被调用呢?分成以下情况: Java程序正常运行完退出时会被调用. windows和linux终端中通过