java System源码分析

System
首先编译期间开始初始化,初始化方法在initializeSystemClass中
在这里插入图片描述
在这里插入图片描述

类中主要一下几个功能

(1)系统信息的访问,如外部属性和环境变量等

//可以打印出所有system的参数,也可以添加参数进系统中
         System.setProperty("user.name","你好");
         System.getProperties().forEach((k,v)->{
            System.out.println(k+" "+v);
         });
         //如何程序中有需要用到当前目录的,就可以使用到此方法
        System.getProperty("user.dir");
        ArrayList<String> stringList = new ArrayList<>();
        //实际还是 Runtime.getRuntime().gc();建议vm gc,还是可能会被拒绝的
        System.gc();

        //获得本地环境变量配置的值
        System.out.println("kangenv"+System.getenv("TEMP"));
        //返回当前时间
        System.out.println("当前时间戳"+System.currentTimeMillis());
        System.out.printf("纳秒时间  和java随机数有关"+System.nanoTime());

(2)垃圾回收相关操作
在这里插入图片描述

  //实际还是 Runtime.getRuntime().gc();建议vm gc,还是可能会被拒绝的
        System.gc();

(3)标准输入输出,主要是
属性in,out,error

在这里插入图片描述

(4)比较常用的其他操作,比如数组拷贝,调用的是本地navice方法
在这里插入图片描述

        //数组拷贝,arraylist动态扩容就是调用此方法  依次是源数组  开始复制下边  目标数组  开始替换下标  替换长度
        //Params:
//        src – the source array.
//        srcPos – starting position in the source array.
//        dest – the destination array.
//        destPos – starting position in the destination data.
//        length – the number of array elements to be copied
          int[]  a =  {1,2,3,4,5};
          int[] b ={2,3,4,5,7};

          System.arraycopy(a,2,b,2,2);
          System.out.println("arraycopy"+ Arrays.toString(b));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值