1.字符串在JDK内部存储的编码是?
UTF-16
JDK9以前用UTF-16
JDK9及以后,使用byte存储字符串,而不是char数组。
因为UTF-16存储英文纯属浪费内存
2.main方法可以被重写吗?
不可以
不能重写,因为main方法是静态方法,而static方法在Java中不能被覆盖。
可以重载,但是JVM始终调用的是原始的main方法。
3.如果try/finally中都有return,返回哪个中的return值?
finally中return值
- 不管try中有没有return,finally都会执行
- 如果在try中return,finally中无return,在finally执行前会把结果保存起来。
若return值为基本数据类型,无论finally中有无修改return值,均以try中return值为准;
若return值为引用数据类型,finally中修改return值后,会以finally中修改后的值为准;- 若果在try中finally中都有return,直接返回finally中return值。