Java 在函数参数中维护大型数据结构(对象)?
为了避免使用全局变量,我在一些函数中传递数据结构 数据结构基本上是一个类,在Scala中有几个类型为(可变)哈希映射的字段 然后我想知道这些散列映射是否有越来越多的大条目(散列映射中的值可能是一些对象的集合),这会导致堆栈溢出还是堆内存不足 我想这可能会导致堆外内存错误?由于具有这些散列映射文件的类是(是)对象,它们在堆上分配…但是函数参数的空间保持在堆栈上的某个帧内 当然,对于任何错误,设计都应该使传递的变化对象尽可能“小”,以避免内存泄漏,对吗Java 在函数参数中维护大型数据结构(对象)?,java,scala,Java,Scala,为了避免使用全局变量,我在一些函数中传递数据结构 数据结构基本上是一个类,在Scala中有几个类型为(可变)哈希映射的字段 然后我想知道这些散列映射是否有越来越多的大条目(散列映射中的值可能是一些对象的集合),这会导致堆栈溢出还是堆内存不足 我想这可能会导致堆外内存错误?由于具有这些散列映射文件的类是(是)对象,它们在堆上分配…但是函数参数的空间保持在堆栈上的某个帧内 当然,对于任何错误,设计都应该使传递的变化对象尽可能“小”,以避免内存泄漏,对吗 感谢您的评论或见解 AFAIK Java和Sc
感谢您的评论或见解 AFAIK Java和Scala都使用引用而不是实际的值 因此,您传递的不是您的结构的副本,而是对您的结构的引用的副本
如果你使用<强> .NET/Stand >,通常需要“强”> C>/St>,因为