字符串,以前一直理解的重点在于字符,最近才发现串也是一种基本的数据结构,它是线性关系的一种特殊情况。 

    由于种种原因,开始了string的源码查看。  

java源码解析之string(一)_构造方法

    它的一些依赖关系。 

java源码解析之string(一)_哈希算法_02

    这里比较重要的:字符串是一个常量,一旦被创建便不可被修改。 

java源码解析之string(一)_构造方法_03

    可以知道,字符串于其它的类型进行+操作时,是进行的append()操作,由StringBuilder或者StringBuffer提供。   并且它是基于语言特性的,不是通过方法而实现的。 

java源码解析之string(一)_哈希算法_04

    这里亦可以看到它的成员变量关系,value[]并且是final的,所以说它是一个常量。 

java源码解析之string(一)_字符串_05

    构造方法。 

java源码解析之string(一)_哈希算法_06

java源码解析之string(一)_字符串_07

    多样的构造。 

java源码解析之string(一)_字符串_08

    这里我的比较重要的一点感悟应该就是: 数字于字符处于同一个抽象层次吧。 

java源码解析之string(一)_构造方法_09

java源码解析之string(一)_字符串_10

java源码解析之string(一)_构造方法_11

    可见其提供了多样的实现。 

java源码解析之string(一)_构造方法_12

    startwith函数的实际例子。

java源码解析之string(一)_哈希算法_13

java源码解析之string(一)_构造方法_14

    这便是亲人类的语言,提高了复用性。

java源码解析之string(一)_字符串_15

    哈希算法的实现过程。 

java源码解析之string(一)_构造方法_16

java源码解析之string(一)_字符串_17

java源码解析之string(一)_字符串_18

java源码解析之string(一)_构造方法_19

java源码解析之string(一)_构造方法_20

java源码解析之string(一)_构造方法_21

    以上便是查看代码的一些心得。   由于里面涉及到了正则,并且有两个比较主要的依赖,StringBuilder和StringBuffer。  因此将它们都粗略看了下,明天有时间了继续写。   晚安!