java后端开发day26--常用API(一)

(以下内容全部来自上述课程)


1.Math
1.简单介绍
- 是一个帮助我们用于进行数学计算的工具类
- 私有化构造方法,所有的方法都是静态的
2.常用方法

不要背,忘了就查文档。
3.练习题
1.判断一个数是否为质数(优化版)

package Math;public class Mathdemo1 {public static void main(String[] args) {//判断一个数是否为质数System.out.println(isPrime(13));}public static boolean isPrime(int num) {for(int i=2;i<=Math.sqrt(num);i++) {if(num%i==0) {return false;}}return true;}
}
2.自幂数
一个n位自然数等于自身各个数位上数字的n次幂之和

package Math;public class MathDemo2 {public static void main(String[] args) {//统计有多少个水仙花数//100-999int count = 0;//得到每一位的数for(int i=100;i<=999;i++) {int ge = i%10;int shi = i/10%10;int bai = i/100%10;//判断if(Math.pow(ge, 3)+Math.pow(shi, 3)+Math.pow(bai, 3)==i) {System.out.println(i);count++;}}System.out.println("水仙花数共有"+count+"个");}
}
2.System
1.简单介绍
也是一个工具类,提供了一些与系统相关的方法
2.常用方法
1秒=1000毫秒

数组拷贝细节:
- 如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错
- 在拷贝的时候需要考虑数组的长度,如果超出范围也会报错
- 如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型
3.时间原点

3.RunTime
1.简单介绍
表示当前虚拟机的运行环境。
2.常见方法

cmd命令补充:
- shutdown :关机
- 加上参数才能执行
- -s:默认在一分钟时候关机
- -s -t 指定时间:指定关机时间
- -a:取消关机操作
- -r:关机并重启
4.Object
1.简单介绍
- Object是Java中的顶级父类。所有的类都直接或间接的继承于Object类。
- Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。
2.方法
1.构造方法
public Object() 空参构造
顶级父类中只有无参构造方法
2.成员方法

打印细节:
- System:类名
- out:静态变量
- System.out:获取打印的对象
- println():方法
- 参数:表示打印的内容
- 核心逻辑:
- 当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串
- 然后再打印在控制台上,打印完毕换行处理
toString方法的结论:
- 如果我们打印一个对象,想要看到属性值的话,那么就重写toString方法就可以了。
- 在重写的方法中,把对象的属性值进行拼接。
equals方法的结论:
- 如果没有重写equals方法,那么默认使用Object中的方法比较,比较的就是地址值是否相等。
- 一般来讲地址值对于我们意义不大,所以我们会重写,重写之后比较的就是对象内部的属性值了。
5.对象克隆
把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。
细节:
方法在底层会帮我们创建一个对象,并把原对象中的数据拷贝过去。
书写细节:
- 重写Object中的clone方法
- 让javabean类实现Cloneable接口
- 创建原对象并调用clone就可以了
1.浅克隆
直接完全克隆,不会修改任何地址值。
父类中的克隆是浅克隆。
2.深克隆
基本数据类型 ----- 直接拷贝数值
引用数据类型 ----- 新创建地址再克隆
但字符串会复用
后续开发会用到第三方工具。
6.Objects
1.简单介绍
是一个工具类,提供了一些方法去完成一些功能。
2.成员方法

equals细节:
- 方法的底层会判断a是否为null,如果为null,直接返回false
- 如果a不为null,那么就利用a再次调用equals方法
- 此时a是XXXX类型,所以最终还是会调用XXXX中的equals方法
如果没有重写,比较地址值,如果重写了,就比较属性值。
7.BigInteger(大的整数)
在Java中,整数有四种类型:byte,short,int,long。
在底层占用字节个数:byte1个字节、short2个字节、int4个字节、long8个字节。
1.构造方法

对象一旦创建,内部记录的值不能发生改变。
获取指定进制的大整数----细节:
- 字符串中的数字必须是整数
- 字符串中的数字必须要跟进制吻合
比如二进制中,只能写0和1,写其他的就会报错
静态获取-------细节:
- 能表示范围比较小,只能在long的取值范围之内,如果超出long的范围就不行了
- 在内部对常用的数字:-16~16进行了优化
提前把-16~16先创建好BigInteger的对象,如果多次获取不会重新创建新的。
2.构造方法小结
- 如果BigInteger表示的数字没有超出long的范围,可以用静态方法(valueOf)获取。
- 如果BigInteger表示的超出long的范围,可以用构造方法获取。
- 对象一旦创建,BigInteger内部记录的值不能发生改变。
- 只要进行计算都会产生一个新的BigInteger对象
3.成员方法

4.底层存储原理

8.BigDecima(大的小数)
- 用于小数的精确计算
- 用来表示很大的小数
1.创建
1.通过传递double类型的小数
细节:这种方式有可能是不精确的,所以不建议使用。
BigDecimal bd1 = new BigDecimal(0.01);
2.通过传递字符串表示的小数
BigDecimal bd1 = new BigDecimal("0.01");
3.通过静态方法
BigDecimal bd1 = BigDecimal.valueOf(10);
细节:
- 如果要表示的数字不大,没有超出double的取值范围,建议使用静态方法
- 如果要表示的数字比较大,超出了double的取值范围,建议使用构造方法
- 如果我们传递的是0~10之间的整数,包含0和10,那么方法会返回已经创建好的对象,不会重新new
2.成员方法

舍入:
- UP:远离零方向舍入的舍入模式
- DOWN:向零方向舍入的舍入模式
- CEILING:向正无限大方向舍入
- FLOOR向负无穷大方向舍入
- HALF_UP:四舍五入
3.底层存储原理

相关文章:
java后端开发day26--常用API(一)
(以下内容全部来自上述课程) 1.Math 1.简单介绍 是一个帮助我们用于进行数学计算的工具类私有化构造方法,所有的方法都是静态的 2.常用方法 不要背,忘了就查文档。 3.练习题 1.判断一个数是否为质数(优化版&am…...
SpringBoot接口自动化测试实战:从OpenAPI到压力测试全解析
引言:接口测试的必要性 在微服务架构盛行的今天,SpringBoot项目的接口质量直接影响着系统稳定性。本文将分享如何通过自动化工具链实现接口的功能验证与性能压测,使用OpenAPI规范打通测试全流程,让您的接口质量保障体系更加完备。…...
分布式中间件:Redis介绍
目录 Redis 概述 Redis 的特点 高性能 丰富的数据结构 持久化 分布式特性 简单易用 Redis 的数据结构 字符串(String) 哈希(Hash) 列表(List) 集合(Set) 有序集合&…...
Python中文自然语言处理库SnowNLP
SnowNLP 介绍 SnowNLP 是一个基于 Python 的中文自然语言处理库,专为处理中文文本而设计。它受到 TextBlob 的启发,但与 TextBlob 不同的是,SnowNLP 没有使用 NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字…...
Linux-计算机网络.udp
1.收发函数: read()/write () ///通用文件读写,可以操作套接字。 recv(,0) /send(,0) ///TCP 常用套机字读写 recvfrom()/sendto() ///UDP 常用套接字读写 ssize_t recv(int sockfd, void *buf, size_t len, …...
【大厂AI实践】清华:清华古典诗歌自动生成系统“九歌”的算法
【大厂AI实践】清华:清华古典诗歌自动生成系统“九歌”的算法 🌟 嗨,你好,我是 青松 ! 🌈 自小刺头深草里,而今渐觉出蓬蒿。 文章目录 **01 自动作诗缘起****1. 诗歌自动写作** **02 九歌的模型…...
Docker安装Postgres_16数据库
PostgreSQL简介 PostgreSQL 是一个功能强大、开源的关系型数据库管理系统(RDBMS),以其可靠性、功能丰富性和可扩展性而闻名。它支持复杂的查询、事务完整性、并发控制以及多种数据类型和扩展功能,适用于各种规模的应用程序; 适用传…...
VSCode 移除EmmyLua插件的红色波浪线提示
VSCode 中安装插件EmmyLua,然后打开lua文件的时候,如果lua代码引用了C#脚本的变量,经常出现 “undefined global variable: UnityEngineEmmyLua(undefined-global)” 的红色波浪线提示,这个提示看着比较烦人,我们可以通…...
快慢指针【等分链表、判断链表中是否存在环】
一、等分链表:找到链表的中间节点 Java 实现 class ListNode {int val;ListNode next;ListNode(int val) {this.val val;this.next null;} }public class MiddleOfLinkedList {public ListNode findMiddleNode(ListNode head) {if (head null) {return null;}L…...
doris:阿里云 DLF
阿里云 Data Lake Formation(DLF) 是阿里云上的统一元数据管理服务。兼容 Hive Metastore 协议。 什么是 Data Lake Formation 因此我们也可以和访问 Hive Metastore 一样,连接并访问 DLF。 连接 DLF 创建 DLF Catalog CREATE CATALOG dlf PROPERTIES ("…...
大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘
文章目录 一、架构设计深度解剖1.1 核心架构对比图谱1.2 动态MoE架构实现架构差异分析表 二、训练策略全面对比2.1 训练数据工程对比2.2 分布式训练代码对比DeepSeek混合并行实现GPT-4 Megatron实现对比 2.3 关键训练参数对比 三、性能表现多维评测3.1 基准测试全景对比3.2 推理…...
C语言基础知识02
格式化输入输出 函数名:printf() 格式控制符:%c //把数据转换成字符型 cahr %d //把数据转换为有符号十进制整型 int short %ld // long %f //把数据转成单精度浮点型 flot %d //double %s …...
Linux的进程观:简单性如何成就强大性(三)
1. 环境变量 1.1. 基本概念 环境变量(environment variables)⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数。 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪⾥,但是照样可以链接…...
element-ui infiniteScroll 组件源码分享
简单分享 infiniteScroll 组件源码,主要有以下四个方面: 1、infiniteScroll 页面结构。 2、infiniteScroll 组件属性。 3、组件内部的方法。 4、存在的问题。 一、infiniteScroll 页面结构: 二、页面属性。 2.1 infinite-scroll-disab…...
vulnhub靶场之【digitalworld.local系列】的bravery靶机
前言 靶机:digitalworld.local-bravery,IP地址为192.168.10.8 攻击:kali,IP地址为192.168.10.6 kali采用VMware虚拟机,靶机采用virtualbox虚拟机,网卡都为桥接模式 这里官方给的有两种方式,…...
SpringBoot 整合mongoDB并自定义连接池,实现多数据源配置
要想在同一个springboot项目中使用多个数据源,最主要是每个数据源都有自己的mongoTemplate和MongoDbFactory。mongoTemplate和MongoDbFactory是负责对数据源进行交互的并管理链接的。 spring提供了一个注解EnableMongoRepositories 用来注释在某些路径下的MongoRepo…...
部署Joplin私有云服务器postgres版-docker compose
我曾经使用过一段时间 Joplin,官方版本是收费的,而我更倾向于将数据掌握在自己手中。因此,在多次权衡后,我决定自己搭建 Joplin 服务器并进行尝试。 个人搭建的版本与数据库直连,下面是使用 Docker Compose 配置数据库…...
C++20 标准化有符号整数:迈向更可预测的整数运算
文章目录 一、背景:为什么需要标准化?二、2 的补码:原理与优势(一)2 的补码原理(二)2 的补码的优势 三、C20 的变化:明确 2 的补码四、如何利用这一特性优化代码(一&…...
npm ERR! code 128 npm ERR! An unknown git error occurred
【问题描述】 【问题解决】 管理员运行cmd(右键window --> 选择终端管理员) 执行命令 git config --global url.“https://”.insteadOf ssh://git cd 到项目目录 重新执行npm install 个人原因,这里执行npm install --registryhttps:…...
【uniapp】子组件和父组件双向绑定,vue3已废除sync写法,v-model代替
vue3已废除sync写法,v-model代替 实现state的值可以从子组件传递给父组件,也可以从父组件传递给子组件 文件地址pages/about/about.vue <template><view><button size"mini" click"clickBtn">开启{{mystate}}<…...
playbin之Source插件加载流程源码剖析
之前我们有讲解过uridecodebin的setup_source中会创建source插件,关键函数: /* create and configure an element that can handle the uri */ source gen_source_element (decoder); /** Generate and configure a source element.** Returns: (tra…...
泵吸式激光可燃气体监测仪:快速精准守护燃气管网安全
在城市化进程加速的今天,燃气泄漏、地下管网老化等问题时刻威胁着城市安全。如何实现精准、高效的可燃气体监测,守护“城市生命线”,成为新型基础设施建设的核心课题。泵吸式激光可燃气体监测仪,以创新科技赋能安全监测࿰…...
Stiring-PDF:开源免费的PDF文件处理软件
Stiring-PDF是一款开源免费且比较好用的PDF文件处理工具。 Stiring-PDF官网网址为:https://www.stiringpdf.com/。Stiring-PDF是一款专业的PDF文件处理工具,支持Windows和macOS操作系统;提供丰富的PDF编辑和转换功能,适用于日常工…...
Cherno C++ P60 为什么不用using namespace std
这篇文章我们讲一下之前写代码的时候的一个习惯,也就是不使用using namespace std。如果我们接触过最早的C教程,那么第一节课都会让我们写如下的代码: #include<iostream>using namespace std;int main() {cout << "Hello …...
大模型微调实验记录(一)数据探索
文章目录 概要整体架构流程前期的技术探索技术构造技术细节小结 概要 根据之前博客使用的docker技术,如果换公司了,我可能就要重新搭建环境了,哎,公司没资源给我,给我一台带不走的电脑,哎,这可…...
JavaWeb-社区版Idea安装配置
idea配置 一,下载idea社区版 百度搜索IntelliJ IDEA,点击下载链接。 二,全局配置 前提安装好jdk,这一步不再赘述。进入引导页,把可以配置的东西都先配置上,这个配置是全局的,省的之后&#…...
iOS 实现UIButton自动化点击埋点
思路:我们HOOK UIControl的 addtarget:action:forControlEvents方法,交换UIControl的 addtarget:action:forControlEvents 方法的实现, 在交换的方法中添加原来响应的同时,再添加一个埋点响应,该响应方法实现了点击埋点…...
商城系统单商户开源版源码
环境配置 1.软件安装 宝塔安装系统软件:Nginx、MySQL5.6、PHP( PHP用7.1-7.4版本)、phpMyAdmin(Web端MySQL管理工具)。 2.配置mysql 设置mysql,在已安装的软件里面找到 mysql点击进行设置 3.修改sql-mode 选择左侧配置修改,找到里面的sql-mode&…...
用不同语言写力扣题的思考:如何选择最适合的编程语言
目录 1. 为什么选择不同的编程语言? 2. 如何根据题目特点选择编程语言? 2.1 题目类型 2.2 个人熟练度 2.3 性能要求 3. 实例分析 3.1 两数之和(Two Sum) Python 实现 C 实现 3.2 反转链表(Reverse Linked Li…...
Python PDF文件拆分-详解
目录 使用工具 将PDF按页数拆分 将PDF的每一页拆分为单独的文件 将PDF按指定页数拆分 根据页码范围拆分PDF 根据指定内容拆分PDF 将PDF的一页拆分为多页 在日常生活中,我们常常会遇到大型的PDF文件,这些文件可能难以发送、管理和查阅。将PDF拆分成…...
