计算对象的年龄有什么好处?
What is the benefit of computing age of an object?
偶然发现了一个与 Whosebug 中的 Calendar 对象相关的问题。阅读这个问题让我问自己一个问题:'What if we are able to find age of an object? Age of an object in terms of hours/days/weeks/months/years. And what can do we do with that? Would it be helpful at all? Will it help me to analyze my program runtime? '
我想我们可以将单例对象的对象年龄联系起来,因为它存在于应用程序的生命周期中。从某种意义上说,从加载单例对象开始,它就开始了它的生命,并在应用程序结束时结束了它的生命。但同样可以扩展到非单例对象。
我认为这个问题可能值得探讨,但我想从 Whosebug 社区确认。你认为我们可能会遇到application/system运行时的场景,我们需要计算一个对象在JVM或运行时内存中的年龄等。通过计算它,我们可以为应用程序做出一些决定。
经过一些小的研究,发现垃圾收集器需要知道对象的年龄。
那么,我想知道的是:
- 如果我们能够找到对象的年龄怎么办?对象的年龄 hours/days/weeks/months/years。我们可以用它做什么?
- 这会有帮助吗?
- 它会帮助我们分析我的程序运行时并用它做些什么吗?它会是什么?
- 应用程序 runtime/scenario 的 probable/possible 部分可能受益于计算对象的年龄?
- 您在 development/debugging/field-issues 期间是否遇到过这样的场景,您希望如果它能够计算对象的年龄,它就会受益?
(希望这不会被否决,只是想补充一点,我很想问 Whosebug 社区。抱歉,这不是适合在这里提问的编程练习。添加了标签以将上下文引入其中问题。)
我不知道会有什么好处。我想,它可能有助于解决某些性能调整和调试问题。
然而,没有实际的方法来做到这一点(在标准 Java 中)除非对象被编码以记录它自己的年龄。这将花费大量时间和 space 成本。
After some small research, found that Garbage-Collector needs to be aware of age of objects.
其实一个分代GC只需要大概的年龄。它可以根据对象当前所在的位置来确定;即它当前分配的 "space"
对于 Java 语言和主流实现 ...
What if we are able to find age of an object?
一般来说,我们不能。这样就使得剩下的题"moot",一般来说
And what can do we do using that?
没有实际意义。
Would it be helpful at all?
没有实际意义。
Will it help us to analyze my program runtime and do something with that and what would it be?
在某些情况下,可能是。然而这个问题没有实际意义。
What is a probable/possible part of application runtime/scenario which might benefit from computing age of an object?
可能是性能调整。可能正在调试。然而这个问题没有实际意义。
Have you encountered a scenario during your development/debugging/field-issues wherein you hoped that if it was able to compute age of an object, it would have benefitted?
可能吧。 (我已经编程 40 多年了,很难记住我在那段时间所做的一切。)但是我并没有强调它。
此外,我从未考虑过(假设地)记录每个对象的生命周期的好处值得付出代价。
但是如果您正在设计/实现一种新的实验性编程语言,请随时将其包含在功能列表中。如果真的是一个有用的功能1,应该会有一些研究论文在里面吧
1 - 并且(愤世嫉俗地)即使不是 :-)
偶然发现了一个与 Whosebug 中的 Calendar 对象相关的问题。阅读这个问题让我问自己一个问题:'What if we are able to find age of an object? Age of an object in terms of hours/days/weeks/months/years. And what can do we do with that? Would it be helpful at all? Will it help me to analyze my program runtime? '
我想我们可以将单例对象的对象年龄联系起来,因为它存在于应用程序的生命周期中。从某种意义上说,从加载单例对象开始,它就开始了它的生命,并在应用程序结束时结束了它的生命。但同样可以扩展到非单例对象。
我认为这个问题可能值得探讨,但我想从 Whosebug 社区确认。你认为我们可能会遇到application/system运行时的场景,我们需要计算一个对象在JVM或运行时内存中的年龄等。通过计算它,我们可以为应用程序做出一些决定。
经过一些小的研究,发现垃圾收集器需要知道对象的年龄。
那么,我想知道的是:
- 如果我们能够找到对象的年龄怎么办?对象的年龄 hours/days/weeks/months/years。我们可以用它做什么?
- 这会有帮助吗?
- 它会帮助我们分析我的程序运行时并用它做些什么吗?它会是什么?
- 应用程序 runtime/scenario 的 probable/possible 部分可能受益于计算对象的年龄?
- 您在 development/debugging/field-issues 期间是否遇到过这样的场景,您希望如果它能够计算对象的年龄,它就会受益?
(希望这不会被否决,只是想补充一点,我很想问 Whosebug 社区。抱歉,这不是适合在这里提问的编程练习。添加了标签以将上下文引入其中问题。)
我不知道会有什么好处。我想,它可能有助于解决某些性能调整和调试问题。
然而,没有实际的方法来做到这一点(在标准 Java 中)除非对象被编码以记录它自己的年龄。这将花费大量时间和 space 成本。
After some small research, found that Garbage-Collector needs to be aware of age of objects.
其实一个分代GC只需要大概的年龄。它可以根据对象当前所在的位置来确定;即它当前分配的 "space"
对于 Java 语言和主流实现 ...
What if we are able to find age of an object?
一般来说,我们不能。这样就使得剩下的题"moot",一般来说
And what can do we do using that?
没有实际意义。
Would it be helpful at all?
没有实际意义。
Will it help us to analyze my program runtime and do something with that and what would it be?
在某些情况下,可能是。然而这个问题没有实际意义。
What is a probable/possible part of application runtime/scenario which might benefit from computing age of an object?
可能是性能调整。可能正在调试。然而这个问题没有实际意义。
Have you encountered a scenario during your development/debugging/field-issues wherein you hoped that if it was able to compute age of an object, it would have benefitted?
可能吧。 (我已经编程 40 多年了,很难记住我在那段时间所做的一切。)但是我并没有强调它。
此外,我从未考虑过(假设地)记录每个对象的生命周期的好处值得付出代价。
但是如果您正在设计/实现一种新的实验性编程语言,请随时将其包含在功能列表中。如果真的是一个有用的功能1,应该会有一些研究论文在里面吧
1 - 并且(愤世嫉俗地)即使不是 :-)