مشخصات مقاله
-
1435
-
0.0
-
3360
-
0
-
0
آموزش Java – کلاس Java Runtime در Java
آموزش Java – مدیریت حافظه/garbage collection در پردازش موازی جاوا/multithreading
آموزش Java – کلاس Java Runtime در Java
تمامی اپلیکیشن های مبتنی بر Java یک نمونه از کلاس Java Runtime دارند که به آن ها امکان تعامل با محیط اجرای برنامه را می دهد.به بیان دیگر کلاس Java Runtime برای تعامل با java runtime environment بکار می رود. کلاس Java Runtime متدهایی برای اجرای یک process، فراخوانی GC، بازیابی و کل ظرفیت حافظه و آزاد سازی آن در اختیار توسعه دهنده قرار می دهد.
لازم به ذکر است که به ازای هر اپلیکیشن جاوایی تنها یک نمونه از کلاس java.lang.Runtime وجود دارد.
متد Runtime.getRuntime() یک نمونه ی واحد از کلاس Runtime برمی گرداند.
متدهای مهم کلاس Java Runtime
مثال کاربردی از متد exec() از کلاس Runtime در Java
public class Runtime1{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("notepad");//will open a new notepad
}
}
نحوه ی خاموش کردن سیستم در Java
می توانید با استفاده از دستور shutdown -s سیستم را خاموش نمایید. در سیستم عامل ویندوز، لازم است آدرس کامل محل قرارگیری دستور خاموش کردن سیستم را ارائه کنید (c:\\Windows\\System32\\shutdown).
public class Runtime2{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("shutdown -s -t 0");
}
}
نحوه ی خاموش کردن سیستم ویندوز در Java
public class Runtime2{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("c:\\Windows\\System32\\shutdown -s -t 0");
}
}
نحوه ی راه اندازی مجدد سیستم در Java
public class Runtime3{
public static void main(String args[])throws Exception{
Runtime.getRuntime().exec("shutdown -r -t 0");
}
}
مثال کاربردی از فراخوانی availableProcessors() از کلاس Runtime
public class Runtime4{
public static void main(String args[])throws Exception{
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
public class Runtime4{
public static void main(String args[])throws Exception{
System.out.println(Runtime.getRuntime().availableProcessors());
}
}
مثال کاربردی از فراخوانی freeMemory() و totalMemory() از کلاس Runtime
در این برنامه پس از ایجاد 10000نمونه از کلاس MemoryTest، میزان حافظه ی آزاد کمتر از زمانی است که 10000 نمونه ساخته نشدند. اما هنگامی که متد gc() فراخوانی می شود، حافظه باردیگر آزاد شده و میزان حافظه ی بیشتری فراهم می شود.
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());
for(int i=0;i< 10000;i++){ new MemoryTest();
}
System.out.println("After creating 10000 instance, Free Memory "+r.freeMemory());
System.gc();
System.out.println(" After gc(), Free Memory "+r.freeMemory());
}
}
خروجی:
Total Memory: 100139008 Free Memory: 99474824 After creating 10000 instance, Free Memory: 99310552 After gc(), Free Memory: 100182832