【从入门到起飞】JavaAPI—System,Runtime,Object,Objects类

news2024/11/26 8:48:27

🎊专栏【JavaSE】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
🎄欢迎并且感谢大家指出小吉的问题🥰

文章目录

  • 🍔System类
    • ⭐exit()
    • ⭐currentTimeMillis()
      • 🎄用处
    • ⭐arraycopy()
  • 🍔Runtime类
    • ⭐创建对象
    • ⭐exit()
    • ⭐availableProcessors()
    • ⭐maxMemory()
    • ⭐totalMemory()
    • ⭐freeMemory()
    • ⭐exec()
  • 🍔Object类
    • ⭐toString()
    • ⭐equals()
    • ⭐clone()
      • 🎈注意
      • 🎄浅克隆
      • 🎄深克隆
  • 🍔Objects类
    • ⭐isNull()
    • ⭐nonNull()

在这里插入图片描述

🍔System类

⭐exit()

终止当前运行的Java虚拟机

执行这段代码后,后面的代码都不再执行

System.exit(0);

在这里插入图片描述

⭐currentTimeMillis()

返回当前系统的时间(用毫秒表示)

记录的是从1970.1.1 0时0分0秒 到现在有多长时间

System.currentTimeMillis();

在这里插入图片描述

🎄用处

可以比较两个程序的运行时间,从而判断哪个程序效率更高

 long start=System.currentTimeMillis();
 //调用函数
 long end=System.currentTimeMillis();
 //获取程序运行的总时间
 System.out.println(end - start);

⭐arraycopy()

数组拷贝

System.arraycopy(num1,num2,num3,num4,num5);

num1:被拷贝的数组
num2:从哪个索引开始拷贝
num3:数据被拷贝到的数组(目标数组)
num4:目标数组 开始的索引
num5:拷贝长度
在这里插入图片描述
这种情况的也可以
在这里插入图片描述

🍔Runtime类

可以用来监控虚拟机的内存

⭐创建对象

错误写法
Runtime r1=new Runtime();

类 Runtime 是 Java 标准库中的一个类,用于与运行时系统进行交互,但它不允许通过 new Runtime() 的方式实例化对象,因为其构造函数是私有的(private)。这意味着不能直接使用 new 关键字来创建 Runtime 类的实例。
在这里插入图片描述

Java 中对于某些类,特意将构造函数设计为私有,这是为了确保该类只能通过特定的方法来获取其实例。对于 Runtime 类,获取其实例的方法是使用静态方法 Runtime.getRuntime()。

正确写法
Runtime r1=Runtime.getRuntime();

⭐exit()

停止虚拟机

Runtime.getRuntime().exit(0);

在这里插入图片描述

⭐availableProcessors()

获取CPU的线程数

Runtime.getRuntime().availableProcessors();

在这里插入图片描述

⭐maxMemory()

虚拟机可以从系统中获取的总内存的大小

Runtime.getRuntime().maxMemory();

单位为b
在这里插入图片描述
单位是kb
在这里插入图片描述

单位是mb
在这里插入图片描述

⭐totalMemory()

虚拟机已经获取的总内存的大小

Runtime.getRuntime().totalMemory();

在这里插入图片描述

⭐freeMemory()

虚拟机剩余内存大小

Runtime.getRuntime().freeMemory();

在这里插入图片描述

⭐exec()

运行cmd命令

//打开记事本
Runtime.getRuntime().exec("notepad");

在这里插入图片描述

//shutdown 关机
//-s 默认1分钟后关机
//-s -t 指定时间 : 指定关机时间
//-a 取消关机操作
//-r 关机并重启
Runtime.getRuntime().exec("shutdown -s -t 3600");
//3600秒后关机

🍔Object类

Object是Java的顶级父类,Java的所有类都直接或间接地继承于Object类

⭐toString()

返回对象的字符串格式

objects.toString();

在这里插入图片描述
我们先把Student类中的toString()方法给注释掉
在这里插入图片描述

在这里插入图片描述

⭐equals()

s1.equals(s2);

在这里插入图片描述

在这里插入图片描述

这里,我们重写equals方法,看看效果

按快捷键Alt+insert
在这里插入图片描述
在这里插入图片描述
运行,发现变成true了
在这里插入图片描述
在这里插入图片描述

如果没有重写equals方法,默认使用Object的方法进行比较,比较的是地址值是否相等
重写后,比较的就是对象内部的属性值了

⭐clone()

🎈对象克隆
就是把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。
方法在底层会帮我们创建一个对象,并把原对象中的数据拷贝过去。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

🎈注意

  • 一定要重写Object中的clone方法

因为我们通过看源码可以发现,clone方法是protected修饰的
在这里插入图片描述
由于protected修饰的成员在同一包内或子类中被访问,而对于其他包中的类,需要继承来实现
在这里插入图片描述

  • 让Javabean类实现Cloneable接口

🎄浅克隆

不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来
在这里插入图片描述

🎄深克隆

基本数据类型拷贝过来
字符串复用
引用数据类型会重新创建新的
在这里插入图片描述
在这里插入图片描述

🍔Objects类

⭐isNull()

Objects.isNull(s3);

在这里插入图片描述

源码分析
在这里插入图片描述

⭐nonNull()

Objects.nonNull(s3)

在这里插入图片描述
源码分析
在这里插入图片描述

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

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

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

相关文章

Linux驱动IO篇——mmap操作

文章目录 前言应用层驱动层 前言 平时我们写Linux驱动和用户空间交互时,都是通过copy_from_user把用户空间传过来的数据进行拷贝,为什么要这么做呢? 因为用户空间是不能直接内核空间数据的,他们映射的是不同的地址空间&#xff0…

java:数组缩减

// 有一个数组{1,2,3,4,5}可以将该数组进行缩减,提示用户是否继续缩减,每次缩减最后那个元素当只剩下最后一个元素提示不能继续缩减 import java.util.Scanner; public class suojian {public static void…

VBA语言専攻介绍

VBA语言専攻 我给VBA的定义:VBA是个人小型自动化处理的有效工具。我这里专注VBA,垂直度非常高,并和多个国际VBA网站(英语系和德语系)有互动及技术互通。您来到这里,就是进入到了一个绚烂的VBA世界&#xff…

Discuz论坛网站首页窄屏自定义宽度修改教程

discuz论坛管理中心默认有窄屏和宽屏的选择,窄屏默认是960px宽度,很多论坛为了页面美观,基本都是1200px的宽度,如何修改DZ论坛首页窄屏宽度大小的呢?今天飞飞和你们分享。 1、在网站根目录中依次打开文件 /template/de…

03_ElasticSearch下载安装

概述 ElasticSearch是java开发的,jdk环境是必不可少的,至少有jre环境 1 下载ElasticSearch 最新版本需要访问 ElasticSearch 官网下载:https://www.elastic.co/cn/downloads/elasticsearch, 其他版本见Elastic 中文社区&#…

mybatis动态sqlchooseforeachsql 及include sql中的特殊字符后台分页实现 数据版本号处理并发问题

1. 动态sql简述 mybatis的动态sql语句是基于OGNL表达式的。可以方便的在sql语句中实现某些逻辑. 总体说来mybatis动态SQL语句主要有以下几类: if 语句 (简单的条件判断)choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似trim (对包含的内容加…

指针-子串逆置

任务描述 从标准输入上读入以空格分隔的字符串 s 和 t,将 s 中与 t 匹配的所有子串逆置后再输出 s,当 s 中无与 t 匹配的子串时直接输出字符串 s。已经匹配的字符不会再重复匹配。 相关知识 参考之前的关卡。 编程要求 根据提示,在右侧编…

docker 网络(单机环境)

文章目录 深入理解 Namespace什么是NamespaceNamespace当中的 Network Namespace Libcontainerdocker 网络基础创建两个命名空间创建网络接口 veth pair命名空间添加 veth 接口为 veth 接口分配 IP启动 veth 接口相互 ping bridge 网络搭建网络环境查看docker0 网桥创建网桥 br…

95.qt qml-诺谦通用可扩展多功能QML界面

支持如下所示: 1.可扩展多功能交互,用户可以根据自己喜欢使用常用功能,针对多功能项目非常有用!2.登录用户信息显示,历史消息显示,皮肤黑白风格切换 如下图所示: 自带一个功能界面,可以通过功能界面添加不…

视频转gif制作如何操作?分享一个三步视频转GIF方法

视频如何制作成gif格式图片?工作生活中常常会用到gif格式。那么,自己如何利用视频来制作gif动图呢?下面,给大家分享一款gif动态图片制作(https://www.gif.cn/)神器,无需下载软件,上传…

ARM 相关概念2

一、汇编中三种符号(汇编指令、伪指令、伪操作) 二、汇编基本格式 三、数据操作指令 3.1 数据搬移指令mov/mvn ① 示例 ② 立即数 0xff000000 >判断的数 1111 1111 0000 0000 0000 0000 0000 0000 >判断的数 0000 0000 0000 0000 0000 0000 1111…

开源项目-SeaTunnel-UI数据集成系统

哈喽,大家好,今天给大家带来一个开源项目-SeaTunnel-UI数据集成系统 系统主要有任务配置,任务实例,数据源,虚拟表,用户管理等功能 登录 数据源 mysql数据源配置参数说明 kafka参数配置 mysqlcdc配置参数说明 虚拟表

LeetCode算法动态规划—斐波那契数列

目录 剑指 Offer 10- I. 斐波那契数列 - 力扣(LeetCode) 题解: 代码: 运行结果: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N)&#…

VUE3写后台管理(3)

VUE3写后台管理(3) 1.环境1.node2.vite3.Element-plus4.vue-router5.element icon6.less7.vuex8.vue-demi9.mockjs10.axios11.echarts 2.首页1.布局Main2.头部导航栏CommonHeader3.左侧菜单栏CommonLeft4.首页Home1.从后端获取数据显示到前端table的三种…

linux内核分析:进程与调度

lec12, 13, 14 : 进程数据结构 实际上进程和线程都是有一个统一的内部结构------task_struct 这是因为,上面的进程和线程到了内核这里,统一变成了任务,这就带来两个问题:信息展示和命令下达(有的是进程,有的是线程下达) pid 是 process id,tgid 是 thread group ID …

【小数点】C#使用Math.Round方法保留指定小数点位数,并且整数也同样保持统一的2位

2023年,第38周。给自己一个目标,然后坚持总会有收货,不信你试试! 在实际开发项目中,特别是涉及金额之类的字段,一般都会用到小数,有些是保留1、2、3小数点。 本篇文章主要简单讲讲,如…

csp 202212-2 训练计划

题目链接:计算机软件能力认证考试系统http://118.190.20.162/view.page?gpidT159 思路: 最早开始时间是受之前依赖的项目限制,若无依赖,第一天即可开始。若有依赖,等待前置项目完成才能开始,累加即可。 …

linux( CentOs)对mysql基本操作和密码修改

1.mysql登录 mysql -uroot -p 2.显示所有数据库 Show databases; 3.生产过程中改密码 use mysql ; 查看user表中的user、host、password信息。 select user,host,password from user; select host,user from user;使用“GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIE…

企业为何刚需CRM软件系统

CRM系统一直被誉为客户关系管理的“神器”,很多企业对它爱之入骨。那么,CRM系统是否为企业刚需?它对企业有哪些好处?下面我们就来说一下。 CRM系统对企业的好处 提高工作效率:通过CRM系统的自动化工作流,…

Python之pycurl

pycurl简介 pycurl是一个用于访问URL的Python模块。它可以使用libcurl来访问各种互联网资源。libcurl支持HTTP、HTTPS、FTP、GOPHER、DICT、TFTP、TELNET和FILE等许多协议。pycurl是将libcurl封装成Python模块的结果,因此,它既可以在Python脚本中直接使…