Java学习提要——Runtime类基础
2016-09-07 18:25
597 查看
每一个JVM进程里都会存在一个Runtime类的对象,这个类的主要功能是取得一些与运行时有关的环境属性或者创建新的进程等操作
在Runtime类定义的时候它的构造方法已经被私有化,这就属于单例设计模式的应用,因为要保证整个电脑里只有唯一的一个Runtime类的对象。
所以,在Runtime类里面提供有一个static型的方法,这个方法可以取得Runtime类的实例化方法
格式: public static Runtime getRuntime()
返回所有可用内存空间:public long totalMemory() ;
返回最大可用内存空间:public long maxMemory() ;
返回空余内存空间:public long freeMemory() ;
例:
格式:public void gc()
例:
什么是GC ? 它如何处理?
1.GC(Garbage Collector)垃圾收集器,指的是释放无用的内存空间
2.GC会由系统不定期进行自动的回收,或者调用Runtime类中的gc()方法手动回收
实际中不会用到,不过这里还是举个例子
在Runtime类定义的时候它的构造方法已经被私有化,这就属于单例设计模式的应用,因为要保证整个电脑里只有唯一的一个Runtime类的对象。
所以,在Runtime类里面提供有一个static型的方法,这个方法可以取得Runtime类的实例化方法
格式: public static Runtime getRuntime()
1)
Runtime类是直接与本地运行有关的所有相关属性的集合,有以下代码:返回所有可用内存空间:public long totalMemory() ;
返回最大可用内存空间:public long maxMemory() ;
返回空余内存空间:public long freeMemory() ;
例:
public class Nice { public static void main(String args[]) { Runtime run = Runtime.getRuntime() ; //取得Runtime类的实例化对象 System.out.println("1.MAX = " + run.maxMemory()) ; System.out.println("2.TOTAL = " + run.totalMemory()) ; System.out.println("3.FREE = " + run.freeMemory()) ; } }
//观察内存的变化 public class Nice { public static void main(String args[]) { Runtime run = Runtime.getRuntime() ; //取得Runtime类的实例化对象 System.out.println("1.MAX = " + run.maxMemory()) ; System.out.println("2.TOTAL = " + run.totalMemory()) ; System.out.println("3.FREE = " + run.freeMemory()) ; String str = " "; for(int x=0 ; x < 10000 ; x ++) { str += x ; //产生垃圾 } System.out.println("\n1.MAX = " + run.maxMemory()) ; System.out.println("2.TOTAL = " + run.totalMemory()) ; System.out.println("3.FREE = " + run.freeMemory()) ; } } //max是没有改变的,但是由于垃圾的影响,改变了可用的内存空间
2)
Runtime类,释放掉垃圾空间格式:public void gc()
例:
public class Nice { public static void main(String args[]) { Runtime run = Runtime.getRuntime() ; //取得Runtime类的实例化对象 System.out.println("1.MAX = " + run.maxMemory()) ; System.out.println("2.TOTAL = " + run.totalMemory()) ; System.out.println("3.FREE = " + run.freeMemory()) ; String str = " "; for(int x=0 ; x < 10000 ; x ++) { str += x ; //产生垃圾 } System.out.println("\n1.MAX = " + run.maxMemory()) ; System.out.println("2.TOTAL = " + run.totalMemory()) ; System.out.println("3.FREE = " + run.freeMemory()) ; run.gc() ; //释放垃圾空间 System.out.println("\n1.MAX = " + run.maxMemory()) ; System.out.println("2.TOTAL = " + run.totalMemory()) ; System.out.println("3.FREE = " + run.freeMemory()) ; //free空闲的内存更多了 } }
什么是GC ? 它如何处理?
1.GC(Garbage Collector)垃圾收集器,指的是释放无用的内存空间
2.GC会由系统不定期进行自动的回收,或者调用Runtime类中的gc()方法手动回收
3)
run命令可以执行windows下的程序实际中不会用到,不过这里还是举个例子
public class Nice { public static void main(String args[]) throws Exception { Runtime run = Runtime.getRuntime() ; Process pro = run.exec("notepad.exe") ; //可调用windows下的程序 Thread.sleep(2000) ; //休眠 pro.destroy() ; //销毁进程 } }
相关文章推荐
- JAVA基础6.40——classpath
- Java面象对向的基本思想(五)
- !=null的正确使用心得——有些NullPointerException应该让它报出来
- SpringMVC自定义拦截器详解
- java中版本号的设置
- java集合-补充HashMapJDK1.8
- java图片与base64字符串之间的转换
- eclipse打包设置apk 图标和名字
- eclipse 打包 android apk
- Spring事务管理
- SpringMVC中使用Interceptor拦截器
- Struts2基础之最简单的案例
- spring使用util实现集合的注入 很好!
- Spring
- 五十道编程小题目 --- 29 java
- java常用string inputStream转换
- Java设计模式之单例模式
- 欢迎使用CSDN-markdown编辑器
- idea java 正则表达式匹配替换
- Java基础-面向对象小知识(上)