Java基础
StringBuilder
1.可变的字符序列。
2.主要操作是:append和insert方法,它们会被重载以接受任何类型的数据。每个有效地将给定的基准转换为字符串,然后将该字符串的字符追加或插入到字符串生成器中。
append方法始终将这些字符添加到生成器的末尾; insert方法在指定点添加字符。
例如,如果z指向当前内容为“ start”的字符串构建器对象,则方法调用z.append(“ le”)会使字符串构建器包含“ startle”,而z.insert(4,“ le”)将更改字符串生成器以包含“ starlet”。
通常,如果sb引用StringBuilder的实例,则sb.append(x)与sb.insert(sb.length(),x)具有相同的效果。
每个字符串生成器都有能力。只要字符串生成器中包含的字符序列的长度不超过容量,就不必分配新的内部缓冲区。如果内部缓冲区溢出,则会自动变大。
3.StringBuilder实例不能安全地用于多个线程。如果需要这样的同步,则建议使用StringBuffer。
StringBuffer
1.线程安全的可变字符序列。字符串缓冲区类似于字符串,但是可以修改。它在任何时间点都包含一些特定的字符序列,但是可以通过某些方法调用来更改序列的长度和内容。字符串缓冲区可安全用于多个线程。这些方法在必要时进行同步,以使任何特定实例上的所有操作都表现为好像以某种串行顺序发生,该顺序与所涉及的每个单独线程进行的方法调用的顺序一致。
2.主要操作是append和insert方法,它们会被重载以接受任何类型的数据。每个有效地将给定的基准转换为字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。
append方法始终将这些字符添加到缓冲区的末尾。 insert方法在指定点添加字符。这里与StringBuilder一致。
3.从JDK 5版本开始,该类已经添加了一个等效类,该类旨在供单线程StringBuilder使用。通常应优先使用StringBuilder类,因为它支持所有相同的操作,但是它更快,因为它不执行任何同步,因此它优先于该类。
数据结构与算法基础
1.数据结构:在计算机内存中的数据的一种安排,包括数组、链表、栈、二叉树、哈希表等。
2.算法:对数据结构中的数据进行的各种处理。
3.数据库:在某一特定情况下所有要查阅的数据。
4.记录:数据库中划分成的单元。为存储信息提供了一个结构格式。
5.字段:一个记录经常被划分为几个字段。一个字段保存某一种特定的数据。
6.关键字:指定的记录的某一个字段。通过这个特定的关键字来进行查找。
7.对象的引用:
bc2 = bc1; //Java中,向bc2中拷贝了bc1指向的存储地址,现在bc1和bc2实际上指的是同一个对象,都是对这个对象的引用。
public static void main(String[] args) { Dog[] dogs = new Dog[8]; dogs[0] = new Dog("A"); dogs[1] = new Dog("B"); System.out.println(dogs[0].getName()); // 输出A System.out.println(dogs[1].getName()); // 输出B dogs[0] = dogs[1]; //这里0指向了1的对象,相当于此时0、1指向了同一对象 dogs[0].setName("C"); //当0对象名变为C时,相应的1对象名也会变为C(0、1指向了同一对象 ) System.out.println(dogs[0].getName()); // 输出 "C" System.out.println(dogs[1].getName()); // 输出"C" }
8.定义数组:
int[] intArray = new int[100]; //其中的int[]是数组类型,而不是数据类型 Dog[] dogs = new Dog[8]; //Dog[]是一个数组类型,而不是数据类型

浙公网安备 33010602011771号