Я хочу запустить свою программу в eclipse, но я хочу посмотреть, сколько времени требуется для запуска программы. Другими словами, я хочу, чтобы время моей программы. Я знаю, что в UNIX я могу выполнить любую операцию, поставив слово «время» перед командой в командной строке. Но я не знаю, как я могу провести время в Eclipse. Чтобы сделать все более понятным, я хочу избежать написания новых методов. Есть ли способ, чтобы я мог добавить sth в свой путь конфигурации? Кто-нибудь имеет представление о том, как я могу это сделать?время операции в java
ответ
В конце вашего приложения добавьте system.out.println, чтобы указать, как долго он работает.
, вы видите, я стараюсь избегать добавления какого-либо кода в программу – BBB
Если вы не возражаете, добавив две строки кода, вы можете сделать это чисто в Java:
public class Foo {
public static void main(String[] args) {
long ms = System.currentTimeMillis();
// do whatever
System.out.println(System.currentTimeMillis() - ms);
}
}
Вы также можете использовать nanoTime
, если вам это нужно.
Спасибо, это сработало , – BBB
@BBB Вы должны использовать shutdownhook, чтобы гарантировать получение результатов. – Java42
@ChuckFricano Для этого вам не нужен крюк отключения. Вам гарантировано, что обе строки кода будут работать. Кроме того, если этот ответ сработал для вас, BBB, вы должны [принять его] (http://meta.stackexchange.com/a/5235). – Jeffrey
Поместите этот класс где-то в вашем коде:
package your.package.name.common;
import org.apache.log4j.Logger;
import java.util.concurrent.TimeUnit;
public class CProfile {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(CProfile.class);
public static final int SECONDS_TO_ALERT = 2;
public static void slownessAlert(long startTime, String name) {
long seconds = TimeUnit.SECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS);
if (seconds>SECONDS_TO_ALERT){
logger.warn("slow method detected: "+name+" "+seconds+"s");
}
}
}
Затем используйте этот фрагмент в коде в следующем виде:
public void something() {
long startTime = System.nanoTime();
//SOME HEAVY COMPUTATIONS
CProfile.slownessAlert(startTime, "something");
}
Он сообщит вам о медлительности, когда это произойдет (SECONDS_TO_ALERT> 2s).
Добавить плагин скорости-трассировщика, чтобы затмить, если это веб-приложение. Это поможет вам узнать время на все.
Простой способ сделать это и гарантировать, что вы получите результаты, чтобы добавить следующее в начало вашего основного класса. Этот код сохранит время запуска приложения, а затем добавит JVM shutdown hook, который будет срабатывать и печатать длительность при отключении JVM.
final static long startTime = System.currentTimeMillis();
static {
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
try {
System.out.println("My program ran for "+(System.currentTimeMillis()-startTime)+" seconds.");
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
- 1. операции Время в Java
- 2. Сложные операции время в панд
- 3. Арифметические операции время в C
- 4. Битовые операции в Java
- 5. Modulus операции в Java
- 6. Операции с провалами время
- 7. после операции прибавка в то время как петля (Java)
- 8. FtpWebResponse, время ожидания операции
- 9. JQuery: время операции
- 10. Операции двоичной смены Java
- 11. Операции Java в Swing thread
- 12. Java поведение операции умножения
- 13. операции с файлами в Java
- 14. Операции с MySQL в Java
- 15. Проверяющие математические операции в Java
- 16. Выполнение операции сдвига в java
- 17. MongoDB как операции в Java
- 18. Операции многозадачности Java Java в listview
- 19. Время, затраченное на выполнение%/* + - операции
- 20. IO Ошибка: время ожидания операции
- 21. Операции импорта Java
- 22. Операции Java .dat Упражнение
- 23. Java Операции со строками
- 24. Операции с мышами Java
- 25. Операции Java Unicode
- 26. Операции между потоками java
- 27. Java: агрегированные операции
- 28. funky java побитовые операции?
- 29. Операции над Java Swing
- 30. CMD операции через Java
Нужно ли вам работать на затмении? Почему бы не запустить его с терминалом? –
Кажется, вам нужен профайлер. –
У меня есть машина для окон, могу ли я это сделать? если я могу запустить его на терминале на окнах, не могли бы вы любезно посоветовать мне, как я могу это сделать? – BBB