کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش 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


شماره ی متد
متد
شرح
1
public static Runtime getRuntime()
یک نمونه از کلاس Runtime را در خروجی برمی گرداند.
2
public void exit(int status)
نمونه ی فعال جاری از virtual machine را از حافظه حذف کرده و خاتمه می دهد.
3
public void addShutdownHook(Thread hook)
یک thread مقداردهی شده که هنوز راه اندازی نشده (hook thread) را به virtual machine معرفی می کند.
4
public Process exec(String command)throws IOException
دستور مورد نظر را در process دیگری راه اندازی می کند.
5
public int availableProcessors()
تعداد کل پردازنده ها موجود را برمی گرداند.
6
public long freeMemory()
مقدار حافظه ی آزاد در JVM را برمی گرداند.
7
public long totalMemory()
مقدار کل حافظه ی موجود در JVM را برمی گرداند.

مثال کاربردی از متد 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
1396/08/21 3360 1435
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...