2008-12-31 76 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。

相關問題