在搜索这是否已经回答时,我发现类成员是否保证在内存中是连续的?,但这涉及C++,而不是Java。
为了提供上下文,我有围棋的背景,我正在学习Java。我知道使用Go,我可以使用这样的指针编写一个结构:
type myStruct struct { firstMember *string secondMember *int}
但是在详细研究Go时,我经常读到这是一个坏主意,除非你真的需要它们作为指针,因为这意味着每个成员的值可以分布在动态内存中的任何位置,从而损害性能,因为它不能利用CPU中的空间局部性。
相反,通常建议以这种方式编写结构,而不使用指针:
type myStruct struct { firstMember string secondMember int}
当我学习如何有效地编写Java时,我很好奇在使用Java时我的工具集中是否有相同的工具。由于我没有能力使用指针(因为类型为类的每个变量都是对该类的引用,实际上是指针),因此我只能使用 和 编写类:String
int
class MyClass { String firstMember; int secondMember; }
意识到这是为我的数据结构编写类的唯一方法,因此我提出了这个问题。
www说
相关分类