Где я могу найти следующие классы в Java - PullRequest
0 голосов
/ 31 декабря 2008

Я разработчик .NET, изучающий Java. В результате я понимаю все основы программирования, такие как циклы, переменные, функции и т. Д. Мое самое большое узкое место заключается в том, что я не разбираюсь в пакетах Java, как в .NET.

В этом причина этой темы - где я могу найти следующие функции в Java?

System.Diagnostics - где я могу использовать такие вещи, как секундомер, программные точки останова и регистраторы?

Есть ли в Java эквивалент счетчиков производительности .NET?

Что такое слабые ключи в Java? Я только что натолкнулся на коллекцию, которая использует слабые ключи в Java, поэтому спрашиваю здесь. :)

Спасибо

Ответы [ 7 ]

3 голосов
/ 31 декабря 2008

В словаре, в котором используются слабые ключи, хранится только слабая ссылка на каждый ключ, поэтому, если ключ в противном случае подходит для сбора мусора, он может быть собран, и словарь фактически потеряет запись. См. Документы для WeakReference для получения дополнительной информации о слабых ссылках.

System.Diagnostics: я не знаю ни одного эквивалента для секундомеров и программных точек останова. Для ведения журнала обращайтесь к java.util.logging или к пакету стороннего производителя, например log4j .

.

Счетчики производительности: может быть какой-то способ подключить некоторые JVM к счетчикам производительности Windows, но я их никогда не видел. Есть VisualVM , который может оказаться полезным для некоторых из тех же вещей.

1 голос
/ 31 декабря 2008

JAMon - это одна из возможных библиотек мониторинга Java с открытым исходным кодом, которая может соответствовать вашим требованиям.

Кроме того, любые счетчики производительности / управления доступны через Java Management Extensions (JMX)

Тогда у вас есть несколько консолей мониторинга:

  • jconsole поставляется в комплекте с установкой Java (на основе Swing)
  • MC4J консоль с открытым исходным кодом (на основе Swing)
  • консоль eclipse-jmx в Eclipse (на основе SWT)
  • Большинство серверов приложений поставляются с веб-консолью JMX (например: JBoss )

В качестве альтернативы, посмотрите на эту другую публикацию для идей о том, как отслеживать статистику JMX в Perfmon.

Надеюсь, это поможет.

1 голос
/ 31 декабря 2008

Если вы просто хотите рассчитать время, вы можете использовать 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 голосов
/ 31 декабря 2008

Я заметил, что общие классы .NET находятся в Java.Util (date - это один из этих общих классов - то, что я, и я уверен, каждый разработчик часто использует в программировании).

Ах, слабые ключи связаны со слабыми ссылками - концепция, с которой я знаком в .NET. На этом вопрос заканчивается, так как на него уже есть ответ. Спасибо, ребята!

Что касается мониторинга производительности (счетчиков), похоже, что в Java нет встроенной функциональности. Опять же, счетчики производительности - это функция Windows, а не просто класс в .NET, я полагаю? Я занимаюсь разработкой на Windows.

0 голосов
/ 31 декабря 2008

Понятие "слабые ключи" происходит от шифрования. Возможно, вы думали о слабых ссылках? И .NET, и Java поддерживают слабые ссылки.

0 голосов
/ 31 декабря 2008

Вы должны проверить http://commons.apache.org/ для многих других ваших запросов. Java 1.4.2 и выше имеют java.util.logging

0 голосов
/ 31 декабря 2008

Что касается регистраторов, пакет:

java.util.loogging

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...