文章目录
一、字符串的类
操作字符串的类有:String
、StringBuffer
、StringBuilder
-
String 声明的是不可变 (Final) 的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象。==特点:这样不仅效率低下,而且大量浪费有限的内存空间。
而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,添加直接用.append();在经常改变字符串内容的情况下最好不要使用 String。
-
StringBuffer 是线程安全的(适合多线程)(有同步锁)synchronized
-
StringBuilder 是非线程安全的,性能高(适合单线程)(无同步锁)
效率:StringBulider > StringBuffer > String
二、final等关键字
- final
用于修饰类、方法和属性
- 修饰类时,表明该类不能被其他类继承
- 修饰方法时,表明该方法不能被修改
- 修饰变量时,表明该变量值或地址不能修改
-
finally
一般作用在try-catch代码块中,在处理异常的时候,通常我们将一定要执行的代码方法finally代码块中,表示不管是否出现异常,该代码块都会执行,一般用来存放一些关闭资源的代码。 -
finalize
是一个方法,属于Object类的一个方法,而Object类是所有类的父类,该方法一般由垃圾回收器来调用,当我们调用System.gc() 方法的时候,由垃圾回收器调用finalize(),回收垃圾。