
🏠个人主页:黎雁
🎬作者简介:C/C++/JAVA后端开发学习者
❄️个人专栏:C语言、数据结构(C语言)、EasyX、JAVA、游戏、规划、程序人生
✨ 从来绝巘须孤往,万里同尘即玉京

文章目录
- [Java常用类核心精讲 · 七篇精华总结 ✨](#Java常用类核心精讲 · 七篇精华总结 ✨)
-
- [🔗 七篇完整版文章链接](#🔗 七篇完整版文章链接)
- [📚 知识总览 · 七篇核心定位](#📚 知识总览 · 七篇核心定位)
- [1. 第一篇精华:Math 类](#1. 第一篇精华:Math 类)
- [2. 第二篇精华:System 类](#2. 第二篇精华:System 类)
- [3. 第三篇精华:Runtime 类](#3. 第三篇精华:Runtime 类)
- [4. 第四篇精华:Object & Objects](#4. 第四篇精华:Object & Objects)
- [5. 第五篇精华:BigInteger 类](#5. 第五篇精华:BigInteger 类)
- [6. 第六篇精华:BigDecimal 类](#6. 第六篇精华:BigDecimal 类)
- [7. 第七篇精华:正则表达式 Regex](#7. 第七篇精华:正则表达式 Regex)
- [📌 七篇通用高分规律(面试&写作必看)](#📌 七篇通用高分规律(面试&写作必看))
- [✍️ 写在最后 · 系列总结](#✍️ 写在最后 · 系列总结)

Java常用类核心精讲 · 七篇精华总结 ✨
本文是 Java常用类核心详解系列(1~7篇) 超浓缩精华版
涵盖:Math、System、Runtime、Object&Objects、BigInteger、BigDecimal、正则表达式
适合复习、面试、快速查阅、收藏备用!
🔗 七篇完整版文章链接
📚 知识总览 · 七篇核心定位
- 第1篇 Math:数学运算、绝对值、取整、随机数、常量
- 第2篇 System:系统时间、数组拷贝、退出JVM
- 第3篇 Runtime:JVM运行时、单例、内存/CPU、执行系统命令
- 第4篇 Object&Objects:顶级父类、toString/equals、克隆、空安全
- 第5篇 BigInteger:超大整数精确运算
- 第6篇 BigDecimal:高精度小数、解决0.1+0.2问题、金融计算
- 第7篇 正则表达式:字符串校验、提取、替换、爬虫/表单必备
1. 第一篇精华:Math 类
核心作用
数学运算工具类,静态方法、无需创建对象。
必背API
abs()绝对值ceil()向上取整 /floor()向下取整 /round()四舍五入max()/min()最大最小random()随机数 [0,1)pow(a,b)a的b次方- 常量:
Math.PI、Math.E
重点坑点
Math.random()生成 [a,b] 公式:
(int)(Math.random()*(b-a+1)) + aabs(Integer.MIN_VALUE)会溢出,结果错误。
2. 第二篇精华:System 类
核心作用
系统级工具类,全静态方法。
三大核心方法
System.currentTimeMillis()
→ 获取时间戳,统计程序耗时。System.arraycopy(源数组, 源索引, 目标数组, 目标索引, 长度)
→ 最高效数组拷贝(native方法)。System.exit(0)
→ 终止JVM,0=正常退出。
高频场景
- 算法耗时统计
- 批量数组拷贝、集合底层扩容
3. 第三篇精华:Runtime 类
核心作用
JVM运行时环境,饿汉式单例。
获取方式
java
Runtime rt = Runtime.getRuntime();
核心功能
availableProcessors():获取CPU核心数maxMemory()、totalMemory()、freeMemory():JVM内存监控exec("notepad"):执行系统命令、打开软件exit(0):退出JVM(与System.exit等价)
面试点
经典饿汉式单例设计,构造私有、内部创建实例。
4. 第四篇精华:Object & Objects
Object(所有类的父类)
toString():默认打印地址,重写后打印属性。equals():默认比较地址,重写后比较内容 ,必须同步重写hashCode()。clone():对象克隆 。- 浅克隆:拷贝引用地址
- 深克隆:完全独立对象
Objects(空安全工具类)
Objects.equals(a,b):防空指针比较Objects.isNull(obj)/nonNull(obj):判空
面试必问
== 与 equals 区别、浅克隆 vs 深克隆。
5. 第五篇精华:BigInteger 类
作用
超出long范围的超大整数精确运算。
创建方式
new BigInteger("超长数字")BigInteger.valueOf(100)(-16~16有缓存)
运算方法
add()、subtract()、multiply()、divide()divideAndRemainder():同时返回商和余数equals()比较值,compareTo()比较大小
特点
不可变对象,运算后返回新对象。
6. 第六篇精华:BigDecimal 类
作用
解决小数精度丢失 (0.1+0.2≠0.3),金融金额必用。
创建(必背)
- ✅ 推荐:
new BigDecimal("0.1") - ✅ 推荐:
BigDecimal.valueOf(0.1) - ❌ 禁止:
new BigDecimal(0.1)(精度丢失)
运算
-
加减乘:直接调用
-
除法必须指定:精度 + 舍入模式
javadivide(bd, 2, BigDecimal.ROUND_HALF_UP)
比较
- 用
compareTo(),不要用equals()(会比较精度)
舍入模式
ROUND_HALF_UP:四舍五入(最常用)
7. 第七篇精华:正则表达式 Regex
作用
字符串校验、提取、替换。
核心语法
\d数字、\w字母数字下划线+至少1次、*任意次、?0/1次{n}正好n次、{n,m}n~m次()分组、^开头、$结尾
Java使用方式
- 校验:
str.matches(regex) - 提取:
Pattern + Matcher - 切割/替换:
split()、replaceAll()
开发常用正则
- 手机号:
^1[3-9]\\d{9}$ - 邮箱:通用正则直接复制使用
- 身份证:
^[1-9]\\d{16}(\\d|X|x)$
面试点
贪婪匹配 .* vs 非贪婪 .*?。
📌 七篇通用高分规律(面试&写作必看)
- 所属包 + 是否需要导包
- 是否单例 / 是否静态
- 不可变对象 高频出现(BigInteger、BigDecimal、String)
- 空指针安全 是高级点(Objects、compareTo)
- 底层是native方法 = 效率高(System.arraycopy、Runtime)
- 金融/高精度 → 必用BigDecimal
- 字符串校验/提取 → 正则
✍️ 写在最后 · 系列总结
这七篇是 Java 基础→中级最实用、面试最高频的常用类合集:
- 数学/系统:Math、System、Runtime
- 根基/工具:Object、Objects
- 高精度:BigInteger、BigDecimal
- 字符串处理:正则表达式
吃透这七篇,Java 常用类基础直接拉覆盖,后端开发、笔试、面试全覆盖。