String,StringBuffer,StringBuilder的区别

String

String值是不可变的,每次对String的操作都会生出一个新的String对象。如果频繁改动的话,效率会很低,产生太多的垃圾会触发JVM的垃圾回收,影响系统性能。
另外 String s = new String("abc") 会生出两个对象, 因为括号里面的”abc”算一。

more >>

final, finally, finalize的区别

final, finally, finalize的区别

final

  • 如果一个类被声明为final,此类被能被重载。因此final和abstract不能同时修饰一个类
  • 如果一个方法被声明为final,此方法只能被使用,不能被重载
  • 如果一个变量被声明为final,此变量只能被使用,不能被修改,并且在声明的时候一定要初始化

more >>