Java学习笔记(14)
常用API
Java已经写好的各种功能的java类
Math
Final修饰,不能被继承

因为是静态static的,所以使用方法不用创建对象,使用里面的方法直接 math.方法名 就行
常用方法
Abs,ceil,floor,round,max,minm,pow,sqrt,cbrt,random

Abs要注意参数的类型 int有取值范围
超过了不会报错,但显示错误结果
很大的数就用absexact

Sqrt开平方,cbrt开立方
![]()
判断一个数是否为质数?看这个数开平方

System
0
Exit

currentTimeMillis
Arraycopy
细节


Runtime

runtime不能创建对象
因为一个电脑只能有一个运行环境,创建多个对象是没有实际意义的
Runtime源码里自己创建了一个对象,表示当前虚拟机的运行环境
通过getruntime获取这个对象

后面都需要用这个对象来调用其他方法


Object,objects
只有无参构造

Tostring equals clone


为啥直接打印stu结果和stu.toString相同?
Println这个方法使用了toString方法

重写toString打印对象的属性值

Equals
通常比较的是对象中的属性值,而不是地址值
所以需要重写equals,idea有模板自己生成



重要题目:

Clone克隆

要使用clone,必须重写
因为它是一个protected修饰的方法,只能被本包中的类和其他包的子类用,肯定不能在本包中(java.lang包)用,所以要用必须重写
注意返回值类型是object

并且这个类要加上cloneable接口,表示这个是一个可克隆的类
Cloneable里面是没有抽象方法的

记得u1.clone()出来的是一个object类型,强转成User

两种克隆方式
浅拷贝
基本数据类型直接拷贝
引用数据类型直接拷贝地址值
Object里面的clone是浅拷贝

深拷贝
基本数据类型直接拷贝
字符串复用
引用数据类型创建新的


实现深克隆,需要改写复写的clone方法,有点麻烦

可以借助第三方工具 gson-2.6.2.jar

Objects

Objectrs. equals源码中会对a做非空判断,a为空直接返回false


BigInteger
表示比long还大的数
字符串中必须是整数,否则会报错

valueOf细节
-16~16已经创建好对象,不会重复创建

对象一旦创建内部的数据不能发生改变

Biginteger方法



Max会返回大的那个对象,不会创建一个新的biginteger

Doublevalue
biginteger底层存储方式
转成二进制的补码
把很长的数字拆成n段放到数组中存储
32位分为1组,各组再转成十进制,放到int[]数组中

存储上限

Bigdecimal
用于小数的紧密计算

构造方法
1用字符串来创建更精确 new bigdecimal(“11”)
2 用静态方法获取 bigdecimal.valueOf(11)


Valueof()里面的数字其实就是把他变成字符串,再new出一个bigdecimal

所以

方法

四舍五入roundingmode.HALF_UP



存的是每个字符在ASCII码表上对应的数字
也有上限,就是数组最多存21亿多个元素,即21亿多位数
正则表达式

一个&表示且符号


忽略大小写(?i)


身份证正则
String regex3 = "[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[1,2]\\d|3[0,1])\\d{3}(\\d|(?i)x)";
爬虫
Pattern
Matcher


网络爬取

带条件爬取

(?=)只获取?前面的部分

(?:)获取所有数据,满足:后面的条件

(?!)不获取数据(不要Java 8,java11,java11,只要java)

贪婪爬取:java默认贪婪爬取 ab+
非贪婪数据 ab+?


正则在字符串中的用法
Matches:返回boolean
Replaceall
Spilt


正则中的分组
一个小括号就是一个分组

捕获分组

\\1 把第一组中对应字符串中的数据再拿过来比较



捕获分组
\\ &


非捕获分组
不占用组号

\\1 变红:说明java不知道哪个是第一组

相关文章:
Java学习笔记(14)
常用API Java已经写好的各种功能的java类 Math Final修饰,不能被继承 因为是静态static的,所以使用方法不用创建对象,使用里面的方法直接 math.方法名 就行 常用方法 Abs,ceil,floor,round,max,minm,pow,sqrt,cbrt,random Abs要注意参数的…...
联合和枚举
联合体 联合体和结构体类似,也有多个成员构成,但编译器只为最大的成员分配足够的空间。 联合体最大的特点是所有的成员共用同一块内存空间。也叫共用体。 union Un { int i; struct s { char c1; char c2; char c…...
《深入Linux内核架构》第2章 进程管理和调度 (3)
目录 2.5 调度器的实现 2.5.1 概观 2.5.2 数据结构 2.5.3 处理优先级 2.5.3.1 nice和prior 2.5.3.2 vruntime 2.5.3.3 weight权重 2.5.4 核心调度器 2.5 调度器的实现 调度器的任务: 1. 执行调度策略。 2. 执行上下文切换。 无论用户态抢占,还是…...
鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Refresh)
可以进行页面下拉操作并显示刷新动效的容器组件。 说明: 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 支持单个子组件。 从API version 11开始,Refresh子组件会跟随手势下拉而下移…...
数据资产管理解决方案:构建高效、安全的数据生态体系
在数字化时代,数据已成为企业最重要的资产之一。然而,如何有效管理和利用这些数据资产,却是许多企业面临的难题。本文将详细介绍数据资产管理解决方案,帮助企业构建高效、安全的数据生态体系。 一、引言 在信息化浪潮的推动下&a…...
Visual Studio 2013 - 调试模式下查看监视窗口
Visual Studio 2013 - 调试模式下查看监视窗口 1. 监视窗口References 1. 监视窗口 Ctrl Alt W,1-4:监视窗口 (数字键不能使用小键盘) or 调试 -> 窗口 -> 监视 -> 监视 1-4 调试状态下使用: 在窗口中点击空白行,…...
CTF 题型 SSRF攻击例题总结
CTF 题型 SSRF攻击&例题总结 文章目录 CTF 题型 SSRF攻击&例题总结Server-side Request Forgery 服务端请求伪造SSRF的利用面1 任意文件读取 前提是知道要读取的文件名2 探测内网资源3 使用gopher协议扩展攻击面Gopher协议 (注意是70端口)python…...
【Swing】Java Swing实现省市区选择编辑器
【Swing】Java Swing实现省市区选择编辑器 1.需求描述2.需求实现3.效果展示 系统:Win10 JDK:1.8.0_351 IDEA:2022.3.3 1.需求描述 在公司的一个 Swing 的项目上需要实现一个选择省市区的编辑器,这还是第一次做这种编辑器…...
spring suite搭建springboot操作
一、前言 有时候久了没开新项目了,重新开发一个新项目,搭建springboot的过程都有点淡忘了,所有温故知新。 二、搭建步骤 从0开始搭建springboot 1.创建work空间。步骤FileNewJava Working Set。 2.选择Java Working Set。 3.自…...
mysql重构
力扣题目链接 列转行 SELECT product_id, store1 store, store1 price FROM products WHERE store1 IS NOT NULL UNION SELECT product_id, store2 store, store2 price FROM products WHERE store2 IS NOT NULL UNION SELECT product_id, store3 store, store3 price FROM p…...
Linux用户、用户组
用户管理命令: 首先要先知道两个配置文件:/etc/group 用户组配置文件/etc/passwd 保存了所有用户的用于读取的必要信息**/etc/shadow **是 Linux 系统中用于存储用户密码信息的文件。这个文件也被称为“影子文件”,因为它包含了 /etc/passwd…...
操作系统系列学习——信号量的代码实现
文章目录 前言信号量的代码实现 前言 一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油! 本文总结自B站【哈工大】操作系统 李治军(全32讲) 老师课程讲的非常好,感谢 【哈…...
【Python操作基础】——变量操作
🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享 擅长Python、Matlab、R等主流编程软件 累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…...
滑模控制算法(SMC)讲解-案例(附C代码)
目录 一、滑模控制算法的基本原理 1)滑模面(Sliding Surface)的设计 2)达到条件(Reaching Condition)...
Redis数据结构对象之集合对象和有序集合对象
集合对象 集合对象的编码可以是intset或者hashtable. 概述 intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在整数集合里面。 另一方面,hashtable编码的集合对象使用字典作为底层实现,字典的每个键都是一个…...
不要百花齐放
javascript中数组的遍历有如下方法: 1、for (var i 0; i < arr.length; i) 2、for(var item of arr) 3、for(var item in arr) 4、arr.forEach 5、arr.map 6、arr.filter 7、arr.find 8、arr.findIndex 9、arr.indexOf arr.lastIndexOf 10、arr.every…...
使用Java JDBC连接数据库
在Java应用程序中,与数据库交互是一个常见的任务。Java数据库连接(JDBC)是一种用于在Java应用程序和数据库之间建立连接并执行SQL查询的标准API。通过JDBC,您可以轻松地执行各种数据库操作,如插入、更新、删除和查询数…...
阿里云2核4G4M轻量应用服务器价格165元一年
阿里云优惠活动,2核4G4M轻量应用服务器价格165元一年,4Mbps带宽下载速度峰值可达512KB/秒,系统盘是60GB高效云盘,不限制月流量,2核2G3M带宽轻量服务器一年87元12个月,在阿里云CLUB中心查看 aliyun.club 当前…...
连续纯合片段(runs of homozygosity, ROH)的原理
连续纯合片段(Runs of Homozygosity, ROH)的原理及其结果查看方式包含以下几个方面: 原理 定义和识别: ROH是指基因组中由相同祖先遗传下来的连续纯合等位基因组成的片段。它们可以通过比较个体基因组上的等位基因序列来识别。当…...
UCORE 清华大学os实验 lab0 环境配置
打卡 lab 0 : 环境配置 : 首先在ubt 上的环境,可以用虚拟机或者直接在windows 上面配置 然后需要很多工具 如 qemu gdb cmake git 就是中间犯了错误,误以为下载的安装包,一直解压不掉,结果用gpt 检查 结…...
5个步骤解决Android内核跨设备适配难题:AnyKernel3的定制化方案
5个步骤解决Android内核跨设备适配难题:AnyKernel3的定制化方案 【免费下载链接】AnyKernel3 AnyKernel, Evolved 项目地址: https://gitcode.com/gh_mirrors/an/AnyKernel3 在Android内核开发中,你是否曾遇到过为一款设备编译的内核无法在另一款…...
Xbox手柄电量监控:告别游戏中断的终极解决方案
Xbox手柄电量监控:告别游戏中断的终极解决方案 【免费下载链接】XB1ControllerBatteryIndicator A tray application that shows a battery indicator for an Xbox-ish controller and gives a notification when the battery level drops to (almost) empty. 项目…...
零基础5分钟上手:Wan2.2-T2V-A5B文本生成视频保姆级教程
零基础5分钟上手:Wan2.2-T2V-A5B文本生成视频保姆级教程 1. 为什么选择Wan2.2-T2V-A5B 如果你正在寻找一个快速、轻量级的文本生成视频工具,Wan2.2-T2V-A5B绝对值得考虑。这个50亿参数的模型专为快速内容创作优化,能在普通显卡上实现秒级出…...
Windows系统清理工具Windows Cleaner:释放磁盘空间与优化系统性能指南
Windows系统清理工具Windows Cleaner:释放磁盘空间与优化系统性能指南 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 当你的电脑运行越来越缓慢&…...
PyTorch Playground量化评估报告:不同bit宽度的精度损失分析
PyTorch Playground量化评估报告:不同bit宽度的精度损失分析 【免费下载链接】pytorch-playground Base pretrained models and datasets in pytorch (MNIST, SVHN, CIFAR10, CIFAR100, STL10, AlexNet, VGG16, VGG19, ResNet, Inception, SqueezeNet) 项目地址: …...
多视图数据太‘脏’怎么办?手把手教你用对比学习过滤视图私有噪声
多视图数据噪声过滤实战:对比学习在特征提纯中的应用 当面对来自多个来源的异构数据时,数据科学家们常常陷入两难——如何有效整合这些信息,同时避免噪声干扰?传统方法往往简单粗暴地融合所有视图,却忽视了不同数据源特…...
MacBook安装OpenClaw全记录:Phi-3-vision-128k-instruct多模态初体验
MacBook安装OpenClaw全记录:Phi-3-vision-128k-instruct多模态初体验 1. 为什么选择OpenClawPhi-3组合 去年第一次听说OpenClaw时,我就被这个"能直接操作电脑的AI助手"吸引了。作为一个经常需要处理多模态内容的创作者,传统AI工具…...
ComfyUI-VideoHelperSuite:构建高性能视频处理管道的异步架构设计
ComfyUI-VideoHelperSuite:构建高性能视频处理管道的异步架构设计 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite ComfyUI-VideoHelperSuite是一个专门…...
3个颠覆性技巧:NVIDIA Profile Inspector如何释放显卡隐藏性能
3个颠覆性技巧:NVIDIA Profile Inspector如何释放显卡隐藏性能 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款专业的显卡参数配置工具,能够深度…...
Nano-Banana模型安全防护:对抗样本检测与防御
Nano-Banana模型安全防护:对抗样本检测与防御 在AI模型日益普及的今天,安全性已成为不可忽视的核心议题。Nano-Banana模型通过引入先进的对抗样本检测与防御机制,在鲁棒性上实现了显著突破,有效提升了模型在复杂环境下的可靠性。…...
