java进阶知识点
java回收机制
浅谈java中的反射
依赖注入的简单理解
通过接口的引用和构造方法的表达,将一些事情整好了反过来传给需要用到的地方~
这样做得好处:做到了单一职责,并且提高了复用性,解耦了之后,任你如何实现,使用接口的引用调用的方法,永远不需要改变
String为什么要设计成不可变的?
首先,String类是用final关键字修饰,这说明String不可继承。
其次,String类的主力成员字段value是个char[]数组,而且是用final修饰的。final修饰的字段创建以后就不可改变
优势:多线程安全性
类加载中体现的安全性
使用常量池节省空间
不可变对象天生就是线程安全的
缺点:会制造大量垃圾,由于他们不能被重用而且对于它们的使用就是”用“然后”扔“,字符串就是一个典型的例子,它会创造很多的垃圾,给垃圾收集带来很大的麻烦。当然这只是个极端的例子,合理的使用不可变对象会创造很大的价值。