博客
关于我
JDK源码解析-Runtime类
阅读量:517 次
发布时间:2019-03-07

本文共 1308 字,大约阅读时间需要 4 分钟。

Runtime类就是使用的单例设计模式

通过源代码查看使用的是哪儿种单例模式

public class Runtime {    private static Runtime currentRuntime = new Runtime();​    /**     * Returns the runtime object associated with the current Java application.     * Most of the methods of class Runtime are instance     * methods and must be invoked with respect to the current runtime object.     *     * @return  the Runtime object associated with the current     *          Java application.     */    public static Runtime getRuntime() {        return currentRuntime;    }​    /** Don't let anyone else instantiate this class */    private Runtime() {}    ...}

从上面源代码中可以看出Runtime类使用的是饿汉式(静态属性)方式来实现单例模式的。



使用Runtime类中的方法

public class RuntimeDemo {    public static void main(String[] args) throws IOException {        //获取Runtime类对象        Runtime runtime = Runtime.getRuntime();​        //返回 Java 虚拟机中的内存总量。        System.out.println(runtime.totalMemory());        //返回 Java 虚拟机试图使用的最大内存量。        System.out.println(runtime.maxMemory());​        //创建一个新的进程执行指定的字符串命令,返回进程对象        Process process = runtime.exec("ipconfig");        //获取命令执行后的结果,通过输入流获取        InputStream inputStream = process.getInputStream();        byte[] arr = new byte[1024 * 1024* 100];        int b = inputStream.read(arr);        System.out.println(new String(arr,0,b,"gbk"));    }}

 

 

转载地址:http://vjznz.baihongyu.com/

你可能感兴趣的文章
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—1.服务端启动流程一
查看>>
Netty源码—1.服务端启动流程二
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—2.Reactor线程模型二
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—3.Reactor线程模型四
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理一
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
netty的HelloWorld演示
查看>>