无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。
解释:没有专心致志地刻苦学习,就没有融会贯通的智慧;没有埋头执着的工作,就不会取得显著的成就。
String、StringBuild、StringBuffer
这三个类都是用于在程序编码中表示字符串。
String
以这个类创建的对象指向的是String常量池中的对象。当创建一个String对象时,会查询String常量池中是否存在这个字符串,如果存在,直接返回这个字符串的地址,如果不存在则创建一个新对象返回地址,然后把新创建的对象存放到常量池。
注意
String s = "a" + "b";
上述代码最多会生成一个对象,因为“a”和“b”都是常量,上述代码在生成class文件的时候,会变成:
String s = "ab";
如果String常量池中已经有字符串“ab”了,就不会生成新的对象,如果没有会生成一个。
StringBuild
字符串类,创建方式:
StringBuild sb = new StringBuild();
它与String不同之处在于它的对象都是直接new出来的,需要申请内存。而且,每次改变的时候,会直接改变内存中存放的字符串。还有,StingBuild不是线程安全的。
StringBuffer
字符串类,创建方式:
StringBuffer sb = new StringBuffer();
它跟StringBuild差不多,区别是StringBuffer是线程安全的。使得StringBuffer线程安全的原因是,在StringBuffer类中,修改值的方法使用了synchronized关键字进行线程同步。