String StringBuffer StringBuilder区别

String 是不可修改的(开发常用)因为不可更改,所以效率高
StringBuffer 是线程安全的有synchronized 关键字(字符变化比较频繁,使用)
StringBuilder 不是线程安全的

Runtime 单例设计模式

具体查看文档,同getRuntime
Runtime 是一个私有方法,每一个程序在运行时都会自动启动它,当程序内产生垃圾后,会调用Runtime中 gc 类,用来回收内存。(该方法是不定期调用的)

System 类

System中有gc方法,从源码上看是调用Runtime的gc方法;
final , finally ,finalize却别
Final 是一个关键字,用于定义不能被继承的父类,和不能重写的方法
Finally 是一个异常处理的统一处出口。
Finalize 是一个Object调用finalize来做类似于C++析构函数的作用。