System类

System类的方法

No. 方法 类型 描述
1 public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) 普通 数组粘贴操作
2 public static long currentTimeMillis() 普通 取得当前的日期时间,以long型数据返回
3 public static void gc() 普通 垃圾收集

currentTimeMillis()方法

例:观察currentTimeMillis()方法的使用

package Project.Study.SystemClass;import java.text.SimpleDateFormat;
import java.util.Date;public class Test1 {public static void main(String[]args){//取得开始时间long start=System.currentTimeMillis(); //currentTimeMillis()返回以毫秒为单位的当前时间String str="";for(int x=0;x<30000;x++){str+=x;}long end=System.currentTimeMillis();    //currentTimeMillis()返回以毫秒为单位的当前时间System.out.println("开始时间:"+start);SimpleDateFormat start1 = new SimpleDateFormat("yyyy年-MM月dd日-HH时mm分ss秒");Date date1 = new Date(start);System.out.println(start1.format(date1));System.out.println("结束时间:"+end);SimpleDateFormat end2 = new SimpleDateFormat("yyyy年-MM月dd日-HH时mm分ss秒");Date date2 = new Date(end);System.out.println(end2.format(date2));System.out.println("本次操作所花费的时间:"+(end-start));}
}
//结果:
//开始时间:1585573645695
//2020年-03月30日-21时07分25秒
//结束时间:1585573646162
//2020年-03月30日-21时07分26秒
//本次操作所花费的时间:467(毫秒)

System类的gc()方法

该gc()方法不算一个新的操作方法,它是间接调用了Runtime类中的gc()方法,不表示一个重写的方法。所以调用System.gc()和调用Runtime.getRuntime().gc()最终的效果是完全一样的。

对象回收

如果要产生一个对象,可以通过构造方法处理一些对象产生时的操作,同样当一个对象被回收时,我们也可以做一些收尾工作,可以通过finalize()方法实现,此方法由Object类定义。 对象回收方法如下:

protected void finalize() throws Throwable

例:对象回收操作

package Project.Study.SystemClass;class Human{public Human(){System.out.println("一个健康的孩子出生了");}protected void finalize()throws Throwable{      //覆写Object类方法System.out.println("修仙活了200年,到时候了");throw new Exception("此处即使抛出异常对象也不会产生任何影响");}
}
public class Test2 {public static void main(String[]args){Human men=new Human();   //实例化新的对象men=null;             //产生垃圾System.gc();          //手工处理垃圾收集}
}
//结果:
//一个健康的孩子出生了
//修仙活了200年,到时候了

通过上程序我们可以看到,当一个对象的堆内存空间即将被回收后将自动调用finalize()方法,这样就可以进行一些对象回收前的收尾工作。并且此方法即使产生任何异常或错误,也不会影响程序的正常执行。

Java学习总结:33(System类)相关推荐

  1. java工具类应该抛异常吗,java学习阶段一 工具类(异常)

    java学习阶段一 工具类(异常) 介绍 异常:运行期间出现的错误 背离程序本身意图的表现 基本知识 异常的分类 根类 Throwable Error 程序无法处理的错误 表示运行应用程序中教严重的问 ...

  2. Java学习笔记Day06 工具类及常用算法

    第六章 工具类及常用算法 文章目录 第六章 工具类及常用算法 Java语言基础类 Java基础类库 Object类 概述 toString方法 方法摘要 覆盖重写 equals方法 方法摘要 默认地址 ...

  3. java学习笔记7--抽象类与抽象方法

    接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...

  4. Java学习总结3——枚举类和反射机制

    Java枚举类和反射机制 一.Java枚举类(Enum): 在某些情况下,一个类的对象是有限且固定的,对于这种对象的实例有限且固定的类,在 Java 中被称为枚举类(Enum):枚举类是为了提高代码可 ...

  5. Java学习笔记2——常用类

    目录 1 内部类 1.1 成员内部类 1.2 静态内部类 1.3 局部内部类 1.4 匿名内部类 2 Object类 2.1 getClass()方法 2.2 hashCode()方法 2.3 toS ...

  6. 【Java学习】Font字体类的用法介绍

    一.Font类简介 Font类是用于设置图形用户界面上的字体样式的,包括字体类型(例如宋体.仿宋.Times New Roman等).字体风格(例如斜体字.加粗等).以及字号大小. 二.Font类的引 ...

  7. JAVA学习6-集合工具类、流

    51.Collections集合工具类 除了重写compareTo方法比较TreeSet元素之外,还可以用比较器方式: 比较器实现java.util.comparator接口(Comparable是j ...

  8. JAVA学习笔记33——模拟实现HandSet+数据存储综合练习(javabean版+容器板)

    最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习. 本篇第一个内容是模拟实现HandSet,其实这个模拟和之前的相比简陋了 ...

  9. 【java学习】常用实体类--String、StringBuffer\StringTokenizer

    文章目录 参数传递 String String类有两个常用构造方法: 引用String常量 String类的常用方法 StringBuffer和StringBuilder StringBuilder中 ...

最新文章

  1. 解决Jenkins的job启动tomcat时会在job结束时关闭问题
  2. 异步执行线程的两种方法
  3. Android 系统(274)---Anroid5.0以上进程保活方案(亲测可自行调起被杀死的app)
  4. vue3中setup()函数的使用一
  5. 备考2个月如何一次性通过信息系统项目管理师
  6. 项目管理软件之禅道和JIRA的共同点与区别
  7. Unity 3D项目-Adventure of JM Robot
  8. 从零到大神,135排版训练营给你实实在在的排版!
  9. 笔记本电脑开机白屏怎么处理
  10. 让连续的英文或数字自动换行
  11. 不露脸也可以做自媒体短视频,简单罗列几个易上手的领域
  12. 【历史上的今天】9 月 6 日:Facebook 收购 Instagram;华为发布 5G 芯片;惠普并购康柏
  13. SPI—读写串行FLASH(时序中的无关项)
  14. Py西游攻关之迭代器生成器
  15. [转]频谱、幅度谱、功率谱和能量谱
  16. 我的人生应当怎么度过
  17. 正式的介绍「Mutt」:命令行的邮件大师 (一文详解)
  18. java定义接口必用关键字_Java中定义接口的关键字是什么
  19. 中国教育和科研计算机网络是,重大应用—热烈庆祝中国教育和科研计算机网CERNET建设20周年—中国教育和科研计算机网CERNET...
  20. 调整oracle scn,ORACLE数据库中使用ADJUST_SCN增进SCN及案例模拟

热门文章

  1. Vue在Element UI下使用富文本框插件quill-editor(我个人不推荐用这个复杂的富文本插件)
  2. centos下设置node.js开机启动(并且启动自己的项目js)
  3. libcurl 编程进度条和range请求源码示例
  4. 调试视频网页js脚本的方法
  5. 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
  6. 设计模式 之美 -- 代理模式
  7. C语言 #ifndef 引起的redefinition of xxx 问题解决
  8. C语言网络编程:close或者shutdown断开通信连接
  9. on-my-zsh git 仓库下运行卡顿
  10. 转:[大数据竞赛]夺冠感言:走进业务,提升对世界的认知能力