0%

两者的特点和区别

StringBuffer 和 StringBuilder 都是字符串缓冲区。

共同点:

  • 都是是一个容器。
  • 长度是可变化的。
  • 可以操作多个数据类型。
  • 最终会通过 toString() 方法变成字符串。

不同点:

  • JDK1.5 版本之后出现了 StringBuilder.
  • StringBuffer 是线程同步。
  • StringBuilder 是线程不同步。
阅读全文 »

概述

  • 字符串是一个特殊的对象
  • 字符串一旦初始化就不可以被改变

字符串的创建方式

1
2
String str1 = "abc";
String str2 = new String("abc");

str1 和 str2 有什么区别?

  • s1 在内存中有一个对象
  • s2 在内存中有两个对象
1
2
System.out.println(str1 == str2);     //false 比较地址是否相同
System.out.println(str1.equals(str2)); //true 比较字符串的内容是否相同。
阅读全文 »

内部类的定义

内部类是指将一个类定义在另一个类的里面,对里面那个类就称为内部类

内部类的访问特点

  • 内部类可以直接访问外部类中的成员,包括私有成员。
  • 而外部类要访问内部类中的成员必须要建立内部类的对象
阅读全文 »

饿汉式

1
2
3
4
5
6
7
public class Single {
private static Single s = new Single();
private Single() {}
public static Single getInstance () {
return s;
}
}

特点:Single 类一进内存,就已经创建好了对象。

存在的问题:

  • 如果构造方法中存在过多的处理,会导致加载这个类时比较慢,可能引起性能问题。
  • 如果使用饿汉式的话,只进行了类的装载,并没有实质的调用,会造成资源的浪费
阅读全文 »

声明

接口其实就是一个完全抽象类,不提供任何具体实现,使用 Interface 关键字修饰。

阅读全文 »