gpt4 book ai didi

java - JVM 允许用结构体创建语言吗?

转载 作者:行者123 更新时间:2023-12-02 09:37:36 26 4
gpt4 key购买 nike

JVM 允许用结构体创建语言吗?我的意思是与 C#(和 IL)具有相同的结构。该结构应该是自定义值类型,因此不是垃圾收集器的目标。不要误会我的意思,我不希望 Java 与 C# 一样 - 我只是想从完全理解 Java 和 JVM 设计方式和原因的人们那里学到一些教训。不拥有它的动机是什么? Java 社区或 Sun/Oracle 是否曾考虑过引入结构体?您知道有关它的故事的任何链接吗?

结论:所以不是问这个问题的合适地方。因为没有人与大约20年前的决定相关。尽管一些合理的 SO 用户在下面提供了以下可能的原因,但没有按顺序显示自定义值类型(结构):

  1. 自定义值类型会影响 JVM 实现的简单性。
  2. 值类型违背了 Java 试图遵循的 OOP 原则。
  3. 学习曲线。一切都是引用对象的语言是更容易学习。

最佳答案

我认为理论上可能在Java中引入一种类似于结构体的、而不是垃圾收集类型。但是,由于 Java 没有指针(并且永远不会有),因此类似结构的东西应该始终按值传递,就像原语一样。

主要优点是创建此值类型的大型数组,而数组中的每个项目都没有自己的生命周期(和垃圾收集负担)。

您可能会发现这个 10 年前关于 Java 中结构体(简单数据对象)介绍的讨论很有趣:http://bugs.sun.com/view_bug.do?bug_id=4820062

关于java - JVM 允许用结构体创建语言吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com