当前位置: 首页 > news >正文

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

🎊专栏【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)

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

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

相关文章:

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

🎊专栏【JavaSE】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔System类⭐exit()⭐currentTimeMillis()🎄用…...

【Git】的分支和标签的讲解及实际应用场景

目录 讲解 环境讲述 分支标签的区别 分支 命令 场景应用 标签 命令 标签规范 讲解 环境讲述 当软件从开发到正式环境部署的过程中,不同环境的作用 开发环境:用于开发人员进行软件开发、测试和调试。在这个环境中,开发人员可以快速地…...

修改django开发环境runserver命令默认的端口

runserver默认8000端口 虽然python manage.py runserver 8080 可以指定端口,但不想每次runserver都添加8080这个参数 可以通过修改manage.py进行修改,只需要加三行: from django.core.management.commands.runserver import Command as Ru…...

kubeadm安装k8s高可用集群

目录 一、环境规划 二、注意事项: 三、环境准备: 1. 关闭防火墙规则,关闭selinux,关闭swap交换: 2. 修改主机名 3. 所有节点修改hosts文件: 4. 所有节点时间同步: 5. 所有节点实现Linux的资…...

来看看电脑上有哪些不为人知的小众软件?

​ 电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。 1.桌面停靠栏工具——BitDock ​ BitDock是一款运行在Windows系统中的桌面停靠栏工具,功能实…...

一个进程最多可以创建多少个线程?

前言 话不多说,先来张脑图~ linux 虚拟内存知识回顾 虚拟内存空间长啥样 在 Linux 操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址空间的范围也不同。比如最常见的 32 位和 64 位系统&am…...

ElasticSearch文档分析

ElasticSearch文档分析 包含下面的过程: 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里: 字符过滤器 首先&a…...

Xilinx FPGA平台DDR3设计详解(一):DDR SDRAM系统框架

DDR SDRAM(双倍速率同步动态随机存储器)是一种内存技术,它可以在时钟信号的上升沿和下降沿都传输数据,从而提高数据传输的速率。DDR SDRAM已经发展了多代,包括DDR、DDR2、DDR3、DDR4和DDR5,每一代都有不同的…...

Spring Data JPA方法名命名规则

最近巩固一下JPA,网上看到这些资料,这里记录巩固一下。 一、Spring Data Jpa方法定义的规则 简单条件查询 简单条件查询:查询某一个实体类或者集合。 按照Spring Data的规范的规定,查询方法以find | read | get开头&…...

【Leetcode Sheet】Weekly Practice 15

Leetcode Test 2586 统计范围内的元音字符串数(11.7) 给你一个下标从 0 开始的字符串数组 words 和两个整数:left 和 right 。 如果字符串以元音字母开头并以元音字母结尾,那么该字符串就是一个 元音字符串 ,其中元音字母是 a、e、i、o、u…...

人力资源社会保障部办公厅关于推行专业技术人员职业资格电子证书的通知

(人社厅发〔2021〕97号) 各省、自治区、直辖市及新疆生产建设兵团人力资源社会保障厅(局),中共海南省委人才发展局,国务院有关部门、直属机构人事部门,有关协会、学会: 为贯彻落实…...

什么是光电耦合器?如何选择型号及种类

光电耦合器(英文缩写为OC)亦称光电隔离器,简称光耦;以光为媒介传输电信号;它对输入、输出电信号有良好的隔离作用,是目前种类最多、用途最广的光电器件之一;所以,它在各种电路中得到广泛的应用。 光耦合器…...

hive里因为列名用了关键字导致建表失败

代码 现象 ParseException line 6:4 cannot recognize input near percent String COMMENT in column name or primary key or foreign key 23/11/13 11:52:57 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 6:4 cannot recognize input near percent …...

MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00‘ for column

使用navicat导入数据时报错: MySQL 报错 incorrect datetime value ‘0000-00-00 00:00:00’ for column 这是因为当前的MySQL不支持datetime为0的情况。 MySQL报incorrect datetime value ‘0000-00-00 00:00:00’ for column错误原因,是由于在MySQL5.7…...

Jira Data Center(非集群)升级操作

一、升级准备 Jira 管理界面执行升级检查下载升级包,使用原操作方式相同的方式安装。我这里原来的版本是通过./atlassian-jira-software-9.11.2-x64.bin安装的,接下来下载atlassian-jira-software-9.11.3-x64.bin的安装文件停止 Jira,bin/st…...

Spring IOC - BeanDefinition解析

1. BeanDefinition的属性 BeanDefinition作为接口定义了属性的get、set方法。这些属性基本定义在其直接实现类AbstractBeanDefinition中,各属性的含义如下表所示: 类型 名称 含义 常量 SCOPE_DEFAULT 默认作用域:单例模式 AUT…...

ds前后台博客系统

源码私信或者公众号java大师获取 博客简介:本博客采用Spring Boot LayUI做为基础,进行的博客系统开发,与bootvue相比,更为适合开发简单的系统,并且更容易上手,简单!高效!更易上手&a…...

算法leetcode|88. 合并两个有序数组(rust重拳出击)

文章目录 88. 合并两个有序数组:样例 1:样例 2:样例 3:提示: 分析:题解:rust:go:c:python:java: 88. 合并两个有序数组: …...

GoLong的学习之路,进阶,语法之并发(并发错误处理)补充并发三部曲

这篇文章主要讲的是如何去处理并发的错误。 在Go语言中十分便捷地开启goroutine去并发地执行任务,但是如何有效的处理并发过程中的错误则是一个很棘手的问题。 文章目录 recovererrgroup recover 哦对,似乎没写错误处理的文章。后面补上。 首先&…...

猪酒店房价采集

<?php // 设置代理 $proxy_host jshk.com.cn;// 创建一个cURL资源 $ch curl_init();// 设置代理 curl_setopt($ch, CURLOPT_PROXY, $proxy_host.:.$proxy_port);// 连接URL curl_setopt($ch, CURLOPT_URL, "http://www.zujia.com/");// 发送请求并获取HTML文档…...

3分钟部署:Mac微信防撤回插件的终极防护方案

3分钟部署&#xff1a;Mac微信防撤回插件的终极防护方案 【免费下载链接】WeChatIntercept 微信防撤回插件&#xff0c;一键安装&#xff0c;仅MAC可用&#xff0c;支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept 在瞬息万变的数字沟通中…...

深蓝词库转换器:3分钟掌握30+输入法词库互转的终极指南

深蓝词库转换器&#xff1a;3分钟掌握30输入法词库互转的终极指南 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因更换输入法而丢失多年积累的个人词库&am…...

源码之家_最新建站源码_开源项目_成品源码一键部署

在互联网技术飞速发展的今天&#xff0c;网站建设已成为企业、个人展示形象、开展业务的重要窗口。然而&#xff0c;从零开始搭建一个功能完善、界面美观的网站&#xff0c;往往需要投入大量的时间和精力。对于开发者而言&#xff0c;寻找优质、可靠的源码资源&#xff0c;成为…...

NCM音乐解锁指南:3分钟掌握ncmdump终极解密方案

NCM音乐解锁指南&#xff1a;3分钟掌握ncmdump终极解密方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 在数字音乐版权保护的复杂生态中&#xff0c;网易云音乐的NCM加密格式成为许多用户音乐收藏的隐形枷锁。ncmdump作为一款开…...

OCRmyPDF实战指南:加密PDF文件处理全流程解析

OCRmyPDF实战指南&#xff1a;加密PDF文件处理全流程解析 【免费下载链接】OCRmyPDF OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched 项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF 在数字化办公环境中&#xff0c…...

告别面包板!用Multisim仿真74LS192+数码管,快速验证你的抢答器电路设计

用Multisim高效仿真数字电路&#xff1a;从74LS192计数器到抢答器实战 在电子设计领域&#xff0c;仿真技术已经成为硬件开发不可或缺的一环。想象一下这样的场景&#xff1a;你脑海中浮现出一个智能抢答器的设计方案&#xff0c;但不确定计数器与编码器的配合是否合理&#xf…...

PyTorch 2.8 镜像实战:基于LSTM的时序预测模型开发与部署

PyTorch 2.8 镜像实战&#xff1a;基于LSTM的时序预测模型开发与部署 1. 时序预测的LSTM解决方案 时序数据预测是AI领域最具挑战性的任务之一。传统统计方法在处理复杂非线性关系时往往力不从心&#xff0c;而长短期记忆网络&#xff08;LSTM&#xff09;凭借其独特的记忆单元…...

Windows Android子系统全栈指南:从技术原理到实战应用

Windows Android子系统全栈指南&#xff1a;从技术原理到实战应用 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA 价值定位&#xff1a;打破系统边界的跨平台…...

反激电源设计(9)——补偿器参数优化实战

1. 从理论到实战&#xff1a;为什么补偿器参数优化如此重要&#xff1f; 做过反激电源设计的朋友都知道&#xff0c;补偿器就像是电源系统的"大脑"&#xff0c;它决定了整个电源的稳定性和动态响应。但很多工程师在设计时都会遇到这样的困境&#xff1a;明明按照理论…...

Typescript interface

我来详细展开 接口&#xff08;Interface&#xff09; 的具体用法&#xff0c;配合实际例子&#xff1a;---1. 基础对象接口 // 定义用户接口 interface User {id: number;name: string;email: string; }// 使用接口 const user: User {id: 1,name: "张三",email: &…...