- 博客(5)
- 收藏
- 关注
原创 Java 源码分析(五)
在看StringBuilder和StringBuffer前,我们需要看一下AbstractStringBuilder类,因为前面两个类都继承于此。 1)value成员和count成员 char[] value; int count; value用来储存字符串,count用来储存value的长度,这里有人会疑问,难道value.length不就是长度吗?在这里用value.length
2017-10-11 15:30:13 614
原创 Java 源码分析(四)
这次来看一个很常用,也很重要的类,那就是String类。 String类的代码有1k行,这里就不全部贴出。 1)value成员 private final char value[]; 可以看出String底层是用char[]储存,而且这个数组前有final关键词,说明其内容可变但是地址不可变。 2)构造函数 //初始化一个新创建的 String 对象,使其表示一个空字符序列。注意,
2017-09-25 07:45:04 507
原创 Java 源码分析(三)
二、Byte类 Byte类跟Integer类大同小异,很多是调用Integer类的方法,要注意的是,Byte类也有缓存机制,范围也是-128-127,这里只贴一下源码,不做过多解释。 public final class Byte extends Number implements Comparable { public static final byte MIN_VALUE =
2017-09-10 09:43:23 223
原创 Java 源码分析(二)
这次我们来看看基本数据类型中数字类型的类,例如BigDecimal、BigInteger、Byte、Double、Float、Integer、Long、Short类。 首先他们都有一个父类Number,Number是一个抽象类,声明如下: public abstract class Number implements java.io.Serializable { public ab
2017-09-06 21:51:43 236
原创 Java 源码分析(一)
最近在读Java源码,然后打算自己动手写一遍,加深对Java的理解。 那么第一次分析,当然要看一个最顶端的类——Object类,一切类的父类。 首先看一下源码: package java.lang; public class Object { private static native void registerNatives(); static { r
2017-09-05 16:25:45 618
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人