- private 修饰的方法可以通过反射访问,那么 private 的意义是什么
- Java 类初始化顺序 参考 人类身份验证 - SegmentFault
- 对方法区和永久区的理解以及它们之间的关系。答:前者是规范,后者是实现。JDK 1.8 做了改变。
- 一个 Java 文件有3个类,编译后有几个 class 文件? 答:有几个类编译后就有几个 class 文件。
- 局部变量使用前需要显式地赋值,否则编译通过不了,为什么这么设计
参考答案总结
private 修饰的方法可以通过反射访问,那么 private 的意义是什么
Why is it allowed to access Java private fields via reflection?
![cdf826cdf30bf2786e8463e7ccf2ec08.png](https://i-blog.csdnimg.cn/blog_migrate/768540aeb1a2cd6ae945228c2d5b9f8c.jpeg)
- Java 的 private 修饰符并不是为了安全性设计的;
- 从外部对对象进行常规调用时,能够看到清晰的类结构。
双亲委派模型翻译的不好,应该是父辈委派模型比较好。
下面引用了 Java API doc 的原文,大家可以参考:
The Java Class Loading Mechanism
The Java platform uses a delegation model for loading classes. The basic idea is that every class loader has a "parent" class loader. When loading a class, a class loader first "delegates" the search for the class to its parent class loader before attempting to find the class itself.