2015-10-17 62 views
1
  • 在与stackoverflow中的日历对象相关的问题上出现了问题。读这个问题让我问自己一个问题:'如果我们能够找到一个物体的年龄怎么办?以小时/天/周/月/年为单位的物体年龄。我们能做些什么呢?它会有所帮助吗?它会帮助我分析我的程序运行时? '计算物体年龄的好处是什么?

  • 我想我们可以将对象的年龄与单身对象的年龄联系起来,因为它在应用程序的生命周期中存在。从这个意义上说,单身物体从那时开始装载,它在应用程序结束时开始其生命并结束生命。但是同样可以扩展到非单例对象。

  • 我认为这个问题可能值得追求,但我想从stackoverflow社区确认。你认为我们可能遇到应用程序/系统运行时的场景,我们需要计算JVM或运行时内存中对象的年龄等。通过计算,我们可以为应用程序做出一些决定。

  • 经过一些小的研究,发现垃圾收集器需要注意物体的年龄。

所以,我想知道的是以下几点:

  1. 如果我们能找到一个对象的年龄?以小时/天/周/月/年为单位的物体年龄。我们能做些什么?
  2. 它会有所帮助吗?
  3. 它可以帮助我们分析我的程序运行时间并做些什么,它会是什么?
  4. 什么是应用程序运行时/场景中可能受益于对象计算年龄的可能/可能部分?
  5. 在开发/调试/现场问题期间,您是否遇到过这种情况?您希望如果能够计算某个对象的年龄,它会受益吗?

(希望这可能不会得到downvoted,只是想补充一点,我很想问问stackoverflow社区,道歉,这不是一个适合在这里被问到的编程练习。这个问题。)

+1

阅读上[代垃圾收集(http://c2.com/cgi/wiki?GenerationalGarbageCollection)。 – aioobe

+0

谢谢,将它读起来 –

回答

1

我不知道会有什么好处。我想,这可能有助于某些性能调优和调试问题。

但是,除非对象被编码以记录其自己的年龄,否则没有实际的方法来执行此操作(在标准Java中)。这将会带来巨大的时间和空间成本。


经过一些小的研究发现,垃圾收集器需要了解的对象的年龄。

其实,代GC只需要大概的年龄。它可以根据对象当前的居住地点来确定;即它当前分配了什么“空间”


对于Java语言和主流的实现......

如果我们能找到一个对象的年龄?

总的来说,我们不能。一般来说,这使得剩下的问题“模拟”。

我们能做些什么?

模拟。

它会有帮助吗?

模拟。

它可以帮助我们分析我的程序运行时间并做些什么,它会是什么?

在某些情况下,可能是的。然而问题是没有意义的。

什么是可能受益于计算对象计算年龄的应用程序运行时/场景的可能/可能部分?

可能的性能调整。可能调试。然而问题是没有意义的。

在开发/调试/字段问题期间,您是否遇到过一个场景?您希望如果它能够计算对象的年龄,它会受益吗?

可能。 (我已经编程了40多年,在这段时间内很难记住我所做的一切。)但是我没有强调它。另外,我从来没有考虑过(假设)记录每个对象的生命周期的好处是值得的。

但是,如果您正在设计/实施一种新的实验性编程语言,请随时在功能列表中包含此功能。如果它是一个有用的功能,应该有一些研究论文。


1 - 和(冷笑),即使不:-)

+0

谢谢。如果我偶然想到设计一种实验语言,就会试试这个。 –