Java中常用API总结(2)—— System类(含实例解读)

news2025/1/9 4:44:56

System类

  • 一、前言
  • 二、概述
    • 1.API帮助文档
    • 2.概述
    • 3.使用方式
  • 三、常用方法
    • 1.获取当前时间所对应的毫秒值
      • 1️⃣格式
      • 2️⃣实例
      • 3️⃣具体应用
    • 2.终止当前正在运行的Java虚拟机
      • 1️⃣格式
      • 2️⃣实例
    • 3.进行数值元素copy
      • 1️⃣格式
      • 2️⃣实例
      • 3️⃣注意事项
  • 四、结语

一、前言

本文将讲述System类以及常见类的用法

二、概述

1.API帮助文档

System类所在包为java.lang包,因此在使用的时候不需要进行导包;并且System类被final修饰了,因此该类是不能被继承的
在这里插入图片描述

2.概述

System类是一个工具类,提供了一些与系统相关的方法

3.使用方式

在API文档中没有体现可用的构造方法,因此我们就不能直接通过new关键字去创建System类的对象。同时我们发现System类中的方法都是静态的,因此在使用的时候我们可以直接通过类名去调用

在这里插入图片描述

三、常用方法

1.获取当前时间所对应的毫秒值

1️⃣格式

public static long currentTimeMillis()

2️⃣实例

package RunTimeAPI;

public class Test2 {
    public static void main(String[] args) {
        long l = System.currentTimeMillis();
        System.out.println("当前时间毫秒值是:"+l);
    }
}

在这里插入图片描述

当前时间毫秒值是:1672934256994

3️⃣具体应用

一般这种会使用在测试代码的效率哪个更好方面:
在开始和结尾时都获取一遍对应毫秒值,再用后者减去前者得到差值就是运行该程序所用时间

package RunTimeAPI;

public class Test3 {
    public static void main(String[] args) {

        long start = System.currentTimeMillis();

        int sum = 0;
        
        for (int i = 1; i <= 100000; i++) {
            sum +=i;
        }
        
		//获取程序运行的总时间
        long end = System.currentTimeMillis();
        
        System.out.print("运行该程序需要:");
        System.out.print(end - start);
        System.out.println("毫秒");
    }
}

运行该程序需要:1毫秒

在这里插入图片描述

2.终止当前正在运行的Java虚拟机

1️⃣格式

public static void exit(int status)

2️⃣实例

public class TestExit {
    public static void main(String[] args) {
        System.out.println("----------程序开始执行----------");

        // 终止JVM
        System.exit(0);

        System.out.println("----------程序终止----------");

    }
}

----------程序开始执行----------

在这里插入图片描述

3.进行数值元素copy

1️⃣格式

public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);

2️⃣实例

public class TestCopyArr {
    public static void main(String[] args) {
        // 定义源数组
        int[] srcArray = {54 , 99 , 21347 , 6439 , 144 , 6 } ;

        // 定义目标数组
        int[] desArray = new int[10] ;

        // 进行数组元素的copy: 把srcArray数组中从0索引开始的3个元素,从desArray数组中的1索引开始复制过去
        System.arraycopy(srcArray , 0 , desArray , 3 , 4);

        // 遍历目标数组
        for(int x = 0 ; x < desArray.length ; x++) {
            
            if(x != desArray.length - 1) {
                System.out.print(desArray[x] + ", ");
            }
            
            else {
                System.out.println(desArray[x]);
            }
            
        }
    }
}

0, 0, 0, 54, 99, 21347, 6439, 0, 0, 0

在这里插入图片描述

3️⃣注意事项

在使用这个方法的时候我们可以选中 arraycopyCtrl+B 跟进查看一下源码在这里插入图片描述
有以下几个注意点
🟡如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错

🟡在拷贝的时候需要考虑数组的长度,如果超出范围也会报错

🟡如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类

四、结语

接下来会讲述有关于ReturnTime类的相关知识点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/143966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springsecurity认证流程

Authentication AuthenticationManager : 认证管理器 实现类&#xff1a; ProviderManager AuthenticationProvider &#xff1a; 实现类: DaoAuthenticationProviderRememberMeAuthenticationProvider 方法: authenticate()supports() : 判断当前AuthenticationProvider是…

dubbo学习笔记2(小d课堂)

dubbo核心架构及流程 企业中dubbo常见的多种开发方式 详解dubbo服务注册中心 Dubbo整合zookeeper 我们主要是改这部分&#xff1a; 然后我们启动本地的zookeeper&#xff0c;再去启动它&#xff1a; 会报错&#xff0c;这是说我们缺少响应的jar包&#xff1a; 就可以了。 我们提…

〖Python 数据库开发实战 - Python与Redis交互篇⑨〗- 利用 redis-py 实现模拟商品秒杀活动案例

文章目录 ❤️‍&#x1f525; 为什么要引入线程池技术 ❤️‍&#x1f525; 通过案例加深线程池技术原理的理解 ❤️‍&#x1f525; 实现多线程模拟商品秒杀案例 - 思路 ❤️‍&#x1f525; 实现多线程模拟商品秒杀案例 - 代码 今天的这一章节我们将来实现 “模拟商品秒杀活…

ES6 课程概述②

文章目录更好的 Unicode 支持更多的字符串 API3-3. [扩展]正则中的粘连标记模板字符串3-5. [扩展]模板字符串标记4-1. 参数默认值使用[扩展]对 arguments 的影响[扩展]留意暂时性死区4-2. 剩余参数4-3. 展开运算符对数组展开 ES6对对象展开 ES7函数柯里化4-5. 明确函数的双重用…

【菜菜的CV进阶之路 - 深度学习环境搭建】配置Ubuntu深度学习环境

六、配置Ubuntu深度学习环境 1、安装Google chrome 使用wget下载最新的Google Chrome .deb软件包&#xff1a; wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb更多地址可参考&#xff1a;在Deepin v20系统中下载和安装谷歌Chrome最新版de…

Vue学习笔记(一)

Vue学习笔记1. 什么是Vue2. 安装Vue2.1 使用独立版本2.2 使用CDN方式2.3 使用NPM方式3.Vue语法3.1 el挂载点3.2 data数据对象3.3 V-text 设置标签内的内容3.4 V-html3.5 V-on3.6 计数器3.7 v-show3.8 V-if3.9 v-bind3.10 v-for3.11 V-model4.class与style绑定5.表单输入绑定5.1…

【vue2】基础概念 01 (vue框架介绍、el、data、插值表达式)

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue框架介绍、结构元素详解&#xff08;el、data、插值表达式&#xff09; 目录&#xf…

《我是个怪圈》读书笔记

文章目录书籍信息论灵魂及其尺寸摇曳在恐惧与梦想之间的那只电灯泡&#xff08;取自拉塞尔埃德森的诗&#xff09;模式的因果潜力关于自我与符号副现象模式与可证性哥德尔的典型怪圈奇迹般步调划一的同步在公式与大整数之间翻转很大的整数与公式步调一致的移动质雅数怪圈论向下…

vue实现文件预览功能

目录 一、使用插件预览 1.前端实现在线预览文档 通过联机查看 Office 文档 打开新窗口预览文件 当前页面预览文件 注意事项 在创建好url之后&#xff0c;可能会出现无法打开文档的情况&#xff0c;这时候就需要对照官网的解释来查找问题了&#xff0c;官方文档的解释如下…

k线图入门精讲

K线图是贵金属技术分析的基础手段&#xff0c;刚入门的投资者应认真学习和理解k线的基础知识&#xff0c;因为有了认识才能分析。然而&#xff0c;多数上班族精力有限&#xff0c;无法耗费大量精力学习&#xff0c;今天小编就为准备了K线入门的“精读班”。 一、K线的作用 K线图…

【node.js】fs\path\http模块的使用 02

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;Node.js的fs\path\http模块的使用&#xff0c;模块化开发概念 目录 一、node.js概念与作…

Java程序员你自己的菜鸟气质霸气侧漏了吗?

对于刚入行的程序员来说&#xff0c;面对各种各样的陌生配置环境和代码库&#xff0c;难免会手忙脚乱&#xff0c;尽显菜鸟本色。 但从啥都需要教的菜鸟到啥都懂的大神程序员&#xff0c;并不简单&#xff0c;这需要牺牲一根又一根宝贵的头发&#xff0c;直到它们肉眼可数。 …

线上服务器CPU占用过高?7步带你搞定

一. 前言在Java开发岗位的面试中&#xff0c;时不时会出现一些运维类的题目&#xff0c;其实这也反映了后端面试的一种趋势。现在企业对后端开发的要求越来越全面&#xff0c;不仅要求我们会写代码&#xff0c;还要我们能够进行部署和运维。今天壹哥就结合一个真实的项目案例&a…

【Linux】Linux权限

权限的概念 限制人的&#xff0c;访问的对象天然可能没有这种“属性”权限&#xff1a;一件事情是否允许被谁“做”。 权限 人 事物属性 Linux上的用户分类 root&#xff0c;超级管理员&#xff0c;几乎可以干任何事情&#xff08;1个&#xff09;普通用户&#xff08;多个&a…

雷电飞机大战游戏|基于Java开发实现雷电飞机大战游戏

作者主页&#xff1a;编程指南针 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容&#xff1a;Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

【前端】Vue项目:旅游App-(8)city:标签页Tabs动态数据:网络请求axios与request、数据管理store与pinia、各种封装

文章目录目标过程与代码安装相关库封装网络请求相关代码网络请求数据网络请求数据操作封装pinia管理数据并封装tab栏改为动态数据效果本篇总结总代码修改或新建的文件serviceindexmodules的cityrequest的configrequest的indexstoremodules的citymodules的loadingcity.vue参考目…

录屏没有声音怎么办?录屏怎么录声音

相信部分朋友在录制视频时&#xff0c;有出现录制视频没有声音&#xff0c;导致该段视频没有声音而无法播放。录屏怎么录声音&#xff1f;可以使用支持录制声音的专业的电脑录屏软件。今天小编就在这给大家分享在录制视频同时&#xff0c;将声音也录制进去的操作步骤。一、录屏…

【Linux】主函数的三个形参

主函数的形参有三个&#xff1a;argc参数个数&#xff0c;argv参数内容&#xff0c;envp环境变量。其中argc是整型&#xff0c;argv和envp是指针数组&#xff08;存的字符串&#xff09; argv源于我们自己在使用执行命令时传的内容&#xff0c;envp源于程序的父进程&#xff08…

力扣sql入门篇(十)

力扣sql入门篇(十) 1 查找重复的电子邮箱 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT Email FROM Person GROUP BY Email HAVING count(id)>21.3 运行截图 2 合作过至少三次的演员和导演 2.1 题目内容 2.1.1 基本题目信息 2.1.2 示例…

Java并发编程(六)ExecutorService

ExecutorService invokeAny() he invokeAll() 具有阻塞特性 invokeAny invokeAny 的作用是取得第一个完成任务的结果的值。 如果线程中增加 if (!Thread.currentThread().isInterrupted()) 判断&#xff0c;则会中断这些线程。 其他线程如果抛出 InterruptedException() 异常&a…