JVM 是否允许使用 struct 创建语言?我的意思是与 C#(和 IL)具有相同的结构。该结构应该是自定义值类型,因此不是垃圾收集器的目标。不要误会我的意思,我不希望 Java 和 C# 一样——我只是想从完全理解 Java 和 JVM 设计的方式和原因的人那里学到一些教训。没有它的动机是什么?Java 社区或 Sun/Oracle 在任何时候都考虑过引入 struct 吗?你知道它周围故事的链接吗?
结论: 所以不是问这个问题的正确地方。因为大约 20 年前没有人与那个决定有关。尽管一些合理的 SO 用户在下面提供了以下可能的原因,即没有按顺序出现自定义值类型(结构):
- 自定义值类型会影响 JVM 实现的简单性。
- 值类型违反了 Java 试图遵循的 OOP 原则。
- 学习曲线。Everything-is-a-reference-object 语言更容易学习。