Java 中的编译期常量是什么?使用它有什么风险?
What are compile-time constants in Java, and what risks do they have?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: System Design
标签: compile-time constant, public static final, inlining
参考答案摘要
答案 公共静态不可变(public static final )变量也就是我们所说的编译期常量,这里的 public 可选的。实际上这些变量在编译时会被替换掉,因为编译器知道这些变量的值,并且知道这些变量在运行时不能改变。这种方式存在的一个问题是你使用了一个内部的或第三方库中的公有编译时常量,但是这个值后面被其他人改变了,但是你的客户端仍然在使用老的值,甚至你已经部署了一个新的jar。为了避免这种...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。