Lớp Runtime trong java được sử dụng để tương tác với môi trường runtime. Lớp Java Runtime cung cấp các phương thức để thực hiện một tiến trình, gọi GC, lấy tổng số và bộ nhớ free. Chỉ có một thể hiện của lớp java.lang.Runtime có sẵn cho một ứng dụng java.
Phương thức Runtime.getRuntime() trả về thể hiện duy nhất của lớp Runtime
Nội dung chính
Các phương thức quan trọng của lớp Java Runtime
No. | Method | Description |
---|---|---|
1) | public static Runtime getRuntime() | trả về thể hiện của lớp Runtime. |
2) | public void exit(int status) | Chấm dứt máy ảo hiện tại. |
3) | public void addShutdownHook(Thread hook) | Đăng ký mới hook thread. |
4) | public Process exec(String command)throws IOException | Thực hiện lệnh trong một xử lý riêng biệt (giống như thao tác với cmd). |
5) | public int availableProcessors() | Trả về số no. của bộ xử lý sẵn có. |
6) | public long freeMemory() | Trả về số lượng bộ nhớ free trong JVM. |
7) | public long totalMemory() | Trả về tổng bộ nhớ trong JVM. |
Phương thức exec() của lớp Java Runtime
public class Runtime1 { public static void main(String args[]) throws Exception { Runtime.getRuntime().exec("notepad");// open a new notepad } }
Làm thế nào để tắt hệ thống trong Java
Bạn có thể sử dụng lệnh shutdown -s để tắt máy. Đối với hệ điều hành Windows, bạn cần phải cung cấp đường dẫn đầy đủ của lệnh tắt máy ví dụ: C:\\ Windows\\ System32\\shutdown.
Ở đây bạn có thể sử dụng -s để tắt hệ thống, -r để khởi động lại hệ thống và -t để xác định thời gian hẹn giờ.
public class Runtime2 { public static void main(String args[]) throws Exception { Runtime.getRuntime().exec("shutdown -s -t 0"); } }
Tắt hệ điều hành trong java
public class Runtime2 { public static void main(String args[]) throws Exception { Runtime.getRuntime().exec("c:\\Windows\\System32\\shutdown -s -t 0"); } }
Khởi động lại hệ thống trong java
public class Runtime3 { public static void main(String args[]) throws Exception { Runtime.getRuntime().exec("shutdown -r -t 0"); } }
Khởi động lại hệ thống trong java
public class Runtime3 { public static void main(String args[]) throws Exception { Runtime.getRuntime().exec("shutdown -r -t 0"); } }
Phương thức availableProcessors() của lớp Runtime
public class Runtime4 { public static void main(String args[]) throws Exception { System.out.println(Runtime.getRuntime().availableProcessors()); } }
Ví dụ về phương thức freeMemory() và totalMemory() của lớp Runtime trong java
public class MemoryTest { public static void main(String args[]) throws Exception { Runtime r = Runtime.getRuntime(); System.out.println("Total Memory: " + r.totalMemory()); System.out.println("Free Memory: " + r.freeMemory()); // Tao 1000 instance for (int i = 0; i < 10000; i++) { new MemoryTest(); } System.out.println("Sau khi tao 10000 instance, Free Memory: " + r.freeMemory()); // Goi phuong thuc gc() System.gc(); System.out.println("Sau khi goi phuong thuc gc(), Free Memory: " + r.freeMemory()); } }
Output:
Total Memory: 128974848 Free Memory: 127611672 Sau khi tao 10000 instance, Free Memory: 126869504 Sau khi goi phuong thuc gc(), Free Memory: 127812920