Memory management Java对象中函数引用使用了多少内存?

Memory management Java对象中函数引用使用了多少内存?,memory-management,jvm,function-pointers,Memory Management,Jvm,Function Pointers,它是32位还是64位取决于JVM,还是我们在寻址函数时确实需要那么多地址的可能性 当然,我们永远不需要像类型的数量那样多的可能性,因此产生的函数数量永远不会达到这些数量?迄今为止最简单的实现使用函数的“真实”/完整地址,无论在所讨论的体系结构上是什么(例如,函数序言的第一条指令的虚拟地址)。因此,是的,这样的函数指针可能是一个大单词。这是一件好事 大小在任何地方都不如对象引用或对象头那么重要,因为无论有多少实例,每个方法在整个过程中只有一个这样的指针。此外,任何缩小地址的方案都意味着您需要额外的

它是32位还是64位取决于JVM,还是我们在寻址函数时确实需要那么多地址的可能性


当然,我们永远不需要像类型的数量那样多的可能性,因此产生的函数数量永远不会达到这些数量?

迄今为止最简单的实现使用函数的“真实”/完整地址,无论在所讨论的体系结构上是什么(例如,函数序言的第一条指令的虚拟地址)。因此,是的,这样的函数指针可能是一个大单词。这是一件好事


大小在任何地方都不如对象引用或对象头那么重要,因为无论有多少实例,每个方法在整个过程中只有一个这样的指针。此外,任何缩小地址的方案都意味着您需要额外的操作来调用指向的函数(要么是间接的,要么是算术的)。那就不好了,因为每次调用虚方法(在优化之前都是虚方法,在优化之后还有很多虚方法)时都会发生这种情况。

什么是“函数引用”?我只是指引用函数位置的引用。我想大多数人都将其称为C/C++中的函数指针。Java中没有这样的东西(至少据我所知).在未来的版本中有lambda和friends,但它们是通过一个方法作为常规对象实现的。您能展示一些使用这种函数引用的代码吗?当您创建一个类并声明一个函数时,该类将存储对实现位置的引用,这就是我所说的。