我在哪里可以找到Java中的以下类

时间:2008-12-31 00:35:12

标签: java

我是一名学习Java的.NET开发人员。因此,我理解编程的所有基础知识,如循环,变量,函数等。我最大的瓶颈是我不知道我的方式围绕Java的包,就像我使用.NET一样。

这就是这个主题的原因 - 我在哪里可以找到Java中的以下功能?:

System.Diagnostics - 我可以在哪里使用秒表,程序断点和记录器等东西?

是否有Java等效的.NET性能计数器?

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

由于

7 个答案:

答案 0 :(得分:3)

使用弱密钥的字典仅保留对每个密钥的弱引用,因此如果密钥有资格进行垃圾收集,则可能会收集该密钥并且字典将有效地丢失该条目。有关弱引用的更多信息,请参阅WeakReference的文档。

System.Diagnostics:我不知道任何等效的秒表和程序断点。要进行日志记录,请查看java.util.logging或第三方软件包,例如log4j

性能计数器:可能有某种方法将一些JVM连接到Windows性能计数器中,但我从未见过它们。有VisualVM你可能会发现它们对某些相同的东西很有用。

答案 1 :(得分: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);

答案 2 :(得分:1)

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

此外,任何绩效/管理计数器都通过Java Management Extensions (JMX)

公开

然后你有许多监控控制台:

  • jconsole附带Java安装(基于Swing)
  • MC4J开源控制台(基于Swing)
  • Eclipse中的
  • eclipse-jmx控制台(基于SWT)
  • 大多数应用程序服务器都带有基于Web的JMX控制台(例如:JBoss

或者,请查看此other posting,了解如何监控Perfmon中的JMX统计信息。

希望这有帮助。

答案 3 :(得分:0)

对于记录器,包装是:

的java.util.logging

import java.util.loggin.Logger;

...

Logger logger = Logger.getLogger( this.getClass().getName() );

logger.fine( "Hello" );

logger.severe(" Oh oh ");

以下是一些有用的链接:

http://java.sun.com/javase/6/docs/api/java/util/logging/Logger.html

http://java.sun.com/javase/6/docs/api/

http://java.sun.com/javase/6/docs/api/allclasses-noframe.html

答案 4 :(得分:0)

您应该查看http://commons.apache.org/以了解很多其他问题。 Java 1.4.2及更高版本具有java.util.logging

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

啊这么弱的密钥与弱引用有关 - 这是我在.NET中熟悉的一个概念。这就结束了这个问题,因为现在已经回答了。谢谢你们!

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