Đối với những người đã quen với java, tôi có một ứng dụng mà tôi đã làm việc và chỉ nhận ra rằng chương trình phải trả về một giá trị trong chưa đầy một phút, nhưng không biết cách tìm hoặc hiển thị thời gian thực hiện để chạy chương trình. Bất kỳ sự giúp đỡ này sẽ được đánh giá rất nhiều. Cảm ơnCách tìm thời gian để chạy chương trình java?
Trả lời
long startTime = System.nanoTime();
//code
long endTime = System.nanoTime();
System.out.println("Took "+(endTime - startTime) + " ns");
Xem
Cảm ơn Jigar. Câu trả lời của bạn thực sự là quan trọng. – chepukha
có lý do ;; và Sysout? – user227353
không có lỗi đánh máy, sửa chữa –
Không có cách nào built-in để xem cho chương trình của bạn đã được chạy trong bao lâu. Tuy nhiên, bạn có thể vào lúc bắt đầu của chương trình chỉ cần lưu trữ thời gian hiện tại, do đó đôi khi sau đó bạn có thể thấy bao nhiêu thời gian đã trôi qua.
public class MyProgram {
private static long startTime = System.currentTimeMillis();
public static void main(String[] args) {
// Do stuff...
// At the end
long endTime = System.currentTimeMillis();
System.out.println("It took " + (endTime - startTime) + " milliseconds");
}
}
Nếu bạn chỉ muốn biết chương trình của bạn chạy bao lâu System.currentTimeMillis() ở đầu và cuối chương trình.
Đây là một usecase điển hình cho các khía cạnh, ví dụ sử dụng Spring AOP:
@Aspect
public class TimerAspect {
private static final Logger LOG = Logger.getLogger(TimerAspect.class);
@Around("com.xyz.myapp.MyClass.myMethod()")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
long startTime = System.nanoTime();
Object retVal = pjp.proceed();
long endTime = System.nanoTime();
LOG.info(String.format("Call to %s.%s with args %s took %s ns", pjp.getTarget(), pjp.getSignature(), Arrays.toString(pjp.getArgs()), endTime - startTime));
return retVal;
}
}
Và trong bối cảnh ứng dụng của bạn:
<aop:aspectj-autoproxy/>
<bean id="myAspect" class="org.xyz.TimerAspect"/>
Nếu bạn có mùa xuân như phụ thuộc của dự án của bạn (hoặc don' t tâm thêm nó), bạn có thể sử dụng StopWatch
. Như tên cho thấy, một khi được khởi tạo, nó sẽ đếm thời gian cho đến khi bạn dừng nó lại. Sau đó, bạn có thể kiểm tra thời gian đã thực hiện cho một tác vụ. Nhiều Đồng hồ bấm giờ có thể được sử dụng đồng thời cho nhiều tác vụ giữ mã sạch.
Bên cạnh việc giữ mã của bạn sạch sẽ, StopWatches giúp định dạng thời gian và các phương pháp tiện ích khác.
public void myMethod(){
StopWatch stopWatch = new StopWatch();
stopWatch.start("Task1");
// ...
// Do my thing
// ...
stopWatch.stop();
System.out.println("Task executed in " + StopWatch.getTotalTimeSeconds() + "s");
}
- 1. Thời gian chạy chương trình đang chạy
- 2. MySQLNonTransientConnectionException trong chương trình JDBC tại thời gian chạy
- 3. Tìm lớp Java mới trong thời gian chạy
- 4. Thời gian chạy biến của chương trình C
- 5. Chạy chương trình từ PowerShell với thời gian chờ
- 6. Chạy chương trình java từ một chương trình java khác
- 7. Trình biên dịch Java tại thời gian chạy
- 8. cách để lỗi thời gian chạy chương trình cdl eclipse (ví dụ: lỗi phân đoạn)
- 9. Điều khiển thời gian chạy hiển thị Android TextView theo chương trình
- 10. Lỗi thời gian chạy Java lạ - currency.data
- 11. Nhận thời gian chạy của một chuỗi java
- 12. Làm thế nào để có được thời gian chạy của chương trình trong Haskell
- 13. Làm thế nào để thời gian thực hiện chương trình Java tốc độ
- 14. Ubuntu Java: Tìm pid của chương trình cụ thể và xóa chương trình
- 15. Chương trình Java có thể phát hiện rằng nó đang chạy thấp trên không gian heap?
- 16. Java: cách phát hiện thời gian chạy java hiện tại là JRE hoặc JDK?
- 17. Điều gì thực sự xảy ra sau thời gian chạy/REPL của Scala khi chạy chương trình '.scala'?
- 18. Macro Microsoft Excel để chạy chương trình Java
- 19. Đầu ra của chương trình và thời gian Python
- 20. Làm thế nào để tìm ra ID ứng dụng lập trình trong thời gian chạy?
- 21. Tạo tập lệnh shell để chạy chương trình Java
- 22. iOS: Thêm nhiều UIImageViews theo chương trình trong thời gian chạy
- 23. Chương trình Java chạy "java myprog < input.txt > output.txt"
- 24. Làm cách nào để chạy mã java đã được dán vào chương trình
- 25. C: Thông tin trình biên dịch tại thời gian chạy
- 26. Định thời gian CPU của chương trình python?
- 27. Làm cách nào để phân phối chương trình Python mà không yêu cầu người dùng có thời gian chạy Python?
- 28. Chương trình Python cho Thời gian phản ứng trực quan
- 29. Gỡ lỗi, Unix. Chạy chương trình với thời gian khác với hệ thống
- 30. Làm cách nào để khởi chạy lại Trình tìm kiếm theo chương trình?
Bạn muốn nói "Cách tìm thời gian để chạy chương trình java?" ? –
@Harry Joy yeah đúng như ý tôi. – MK1
Tôi xin lỗi nhưng câu hỏi của bạn chưa đủ rõ ràng. Tôi nghĩ rằng nhật thực là không liên quan ở đây. Thời gian chạy cũng không liên quan vì nó gây nhầm lẫn. JDK có lớp Runtime và bạn có thể nhận được cá thể singleton của nó bằng cách gọi Runtime.getRuntime() nhưng nó có vẻ không phải là những gì bạn đang tìm kiếm. Vui lòng thử nghĩ lại câu hỏi của bạn và viết lại. – AlexR