Java源码赏析(六)Class<T> 类】的更多相关文章

目的 Class 类是每一个程序员都必须了解的,也是使用反射机制的基础. 这篇文章将Class 类的公共方法大致介绍了一遍(省略了安全.枚举.断言.注解相关代码). 代码 package java.lang; //省略 import /** * 类的实例:正在运行的Java应用中的类/接口 */ public final class Class<T> implements java.io.Serializable, GenericDeclaration, Type, AnnotatedElem…
在 Java源码赏析(三)初识 String 类   中,我们已经大概理解了String的接口,接下来我们描述一下String的常用工具方法. /** * 为了精简的String结构,之前提到的方法省略,重点介绍剩余的方法(省略构造方法.indexOf.lastIndexOf.valueOf) */ public final class String implements java.io.Serializable, Comparable<String>, CharSequence { priv…
由于String类比较复杂,现在采用多篇幅来讲述 这一期主要从String使用的关键字,实现的接口,属性以及覆盖的方法入手.省略了大部分的字符串操作,比如split().trim().replace().contains().matches()等. 在Java源码赏析(五)中,会增加对String类中的字符串操作进行详细描述,敬请期待. 今后,还会介绍StringBuffer.StringBuilder两个类. /** * 精简的String结构,便于我们初步的理解, 省略了大部分构造方法和字符…
被人鄙视了,于是也来读读源码... package java.lang; /** * The Void class is an uninstantiable placeholder class to hold a * reference to the Class object representing the Java keyword * void. * * @author unascribed * @version %I%, %G% * @since JDK1.1 */ public fina…
本文主要讲解OpenJDK观察者模式的2个工具类,java.util.Observer观察者接口,java.util.Observable被观察者基类. 然后,给出了一个常见的观察者应用示例. Observer观察者接口 /** * 一个类可以实现Observer接口,当它想要得到"被观察者"对象变化通知的时候 */ public interface Observer { /** * 当被观察的对象发生变化时,这个方法被调用.一个应用调用Observable对象的notifyObser…
元注解 @Target :标识注解的目标,默认为所有 ElementType.TYPE(用于类) ElementType.FIELD(用于域,包括enum) ElementType.METHOD(用于方法) ElementType.PARAMETER(用于正式参数) ElementType.CONSTRUCTOR(类型构造方法) ElementType.LOCAL_VARIABLE(用于本地变量) ElementType.ANNOTATION_TYPE(用于注解) ElementType.PAC…
写这个系列的原因,其实网上已经有无数源码分析的文章了,多一篇不多,少一篇不少,但为什么还要写这部分文章呢?于私,其一,上班族已经很久没有打过完整的一整段有意义的话,算是锻炼个人的书写.总结能力,其二,别人的代码永远是别人的,只有亲自做过才知道其中的滋味,其三,若干年后如果博客园还在,也算是一段美好的回忆.于公,网上有大部分的文章属于copy,虽然copy没问题,但是看多了会觉得千篇一律,而且少了很多技术细节,我打算写得详细一点,啰嗦一点,如果能让刚刚入门Java的同学有所收获,那就心满意足了.首…
在大致了解了String之后,可能有的读者发现了,我们并没有谈到CharSequence接口. 原因是在这一节,CharSequence要和StringBuilder(Java1.5).StringBuffer(Java1.0)一起讨论. package java.lang; import java.util.NoSuchElementException; import java.util.PrimitiveIterator; import java.util.Spliterator; impo…
一.Comparable接口 package java.lang; import java.util.*; public interface Comparable<T> { /** * int x = a.compareTo(b) * a > b, x > 0 * a == b, x = 0 * a < b, x < 0 */ public int compareTo(T o); } 该接口主要用于排序 二.Serializable 与 Externalizable 接…
一点一点看JDK源码(六)java.util.LinkedList前篇之链表概要 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.什么是链表 链表是一种常见的数据结构,属于一种线性表. 虽说链表是线性表,但是其储存的方式并非是线性的,而是节点(Node)方式存储的. 每一个节点都含有一个指针,指向下一个节点. 同时每一个节点都存有自身的数据信息. 链表有点像衣服的拉链,是一个扣一个的,每两个之间都有一个间隔,要想获取某个位置的数据…