2008-12-31 78 views
0

我是一位.NET开发人员正在学习Java。因此,我理解编程的所有基础知识,比如循环,变量,函数等。我最大的瓶颈是我不知道如何处理Java的包,就像我用.NET一样。我在哪里可以找到Java中的以下课程

这是这个线程的原因 - 我在哪里找到的Java?:

System.Diagnostics程序以下功能 - 我在哪里可以使用之类的东西秒表,程序断点和伐木者?

是否有与.NET性能计数器相当的Java?

Java中的弱键是什么?我刚刚遇到了一个使用Java中的弱密钥的集合,所以我在这里问。 :)

感谢

回答

1

JAMon是一个可能适合您需求的开源Java监控库。

此外,任何性能/管理计数器通过Java Management Extensions (JMX)

暴露那么你有一些监控控制台:

  • jconsole配备了带Java安装(基于Swing)
  • 捆绑(基于SWT)
  • eclipse-jmx Eclipse内的控制台(基于SWT)
  • 大多数应用服务器配备了基于Web的控制台JMX(如:JBoss

或者,看看这个other posting如何监视性能监视器JMX统计上的想法。

希望这会有所帮助。

3

它采用弱密钥只保持一个弱引用的每个关键,因此,如果关键是进行垃圾收集,否则资格,可以收集和字典将有效地失去了进入的字典。有关弱引用的更多信息,请参见WeakReference的文档。

System.Diagnostics:我不知道任何秒表和程序化断点的等价物。要进行日志记录,请查看java.util.logging或第三方软件包,如log4j。性能计数器:有些方法可能会将某些JVM挂接到Windows性能计数器,但我从未见过它们。有VisualVM,你可能会发现一些相同的事情有用,但。

1

如果你只是想要一些东西,你可以使用System.nanoTime()。

long start = System.nanoTime(); 

// a bunch of code 

long end = System.nanoTime(); 

System.out.println("Elapsed time in seconds: " + (end-start)/1000000000.0); 
+0

以秒为单位获取经过的时间System.currentTimeMillis()是一个更好的选择。主要是因为它不容易溢出(就像nanoTime()提到的JavaDoc)。 – 2008-12-31 11:55:21

0

“弱密钥”的概念来自加密。也许你正在考虑弱引用? .NET和Java都支持弱引用。

+0

通常情况下,一个具有弱引用键的映射被称为使用“弱键”。有关示例,请参阅WeakHashMap文档:http://java.sun.com/javase/6/docs/api/java/util/WeakHashMap.html – 2008-12-31 00:50:00

+0

我会在弱引用下获得它。 – OscarRyz 2008-12-31 05:54:17

0

我注意到常见的.NET类驻留在Java.Util(日期是那些常见的类之一 - 我和我确信每个开发人员经常在编程中使用)。

这么弱的键与弱引用有关 - 这是我在.NET中熟悉的一个概念。现在回答这个问题就结束了这个问题。多谢你们!

至于性能监视(计数器),看起来像Java中没有内置功能。然后,性能计数器是一个Windows功能,而不仅仅是.NET中的一个类,我猜?我正在开发Windows。

相关问题