Java面试17|Java基础
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试17|Java基础相关的知识,希望对你有一定的参考价值。
1、final相关
(1)final在编译期的优化 只有在编译阶段能确定这个final引用赋值的内容,编译器才有可能进行编译时优化,而编译期能确定的内容只能来自于常量池中,如int,long,String等常量,不包含new String()等,也不包含方法返回值。将一个方法设成final后,编译器就可以把对那个方法的所有调用都置入“嵌入”调用里(内嵌机制),这样可以提高运行效率。
(2)final可以实现可见性 被final修饰的字段在构造器中一旦初始化完成,并且构造器没有把 “this”的引用传递出去,那么其他线程中就能看见final字段的值
(3)final可在类、方法或者变量上进行修饰,表示不可变性。为方法“上锁”,防止任何继承类改变它的本来含义和实现。设计程序时,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以采取这种做法。
2、关于字符串的问题
(1)String
的+和StringBuilder
有什么区别? 放在循环中有什么问题?
以上是关于Java面试17|Java基础的主要内容,如果未能解决你的问题,请参考以下文章