- 博客(17)
- 收藏
- 关注
原创 【Java 字符串深度解析】从底层原理到实战技巧,一篇吃透!
new 关键字方式 String s = new String("abc") 先在堆中创建对象,再检查常量池(无则创建),最终返回堆对象的引用 否(堆对象不入池,常量池会有"abc"字面量)3. 无修改方法:String 类没有提供修改 value 数组的方法,所有看似“修改”的方法(如 substring()、replace()),本质都是创建新的 String 对象。上述代码中,原字符串 "hello" 并未被修改,而是新建了一个 "hello world" 的字符串对象,并将引用赋值给 s。
2025-12-28 10:05:17
393
原创 【Java Object类 & 包装类深度解析】从源码到实战,吃透核心基础
Object类和包装类是Java的基础核心,理解equals()与hashCode()的约定、掌握包装类的缓存机制,不仅能写出更健壮的代码,更是面试中的加分项。Object类是Java所有类的根父类,包装类则是基本数据类型的对象形式,二者是Java面向对象编程的基础核心。3. 传递性:x.equals(y) 和 y.equals(z) 为 true,则 x.equals(z) 必为 true。• 自动拆箱:包装类 → 基本数据类型,底层调用xxxValue()方法(如intValue())。
2025-12-28 10:04:57
393
原创 【Java List集合深度解析】从底层原理到实战技巧,一篇吃透!
List<E> subList(int fromIndex, int toIndex) 截取 [fromIndex, toIndex) 区间的子集合(注意:返回的是原集合的视图)中间增删(add(index,e)) 慢(O(n)) 快(O(1)) ArrayList 需移动后续元素;随机访问(get(index)) 快(O(1)) 慢(O(n)) ArrayList 直接通过索引访问数组;LinkedList 需遍历链表。
2025-12-27 15:50:06
250
原创 【Java 泛型深度解析】从语法到原理,彻底搞懂泛型的使用与避坑
泛型类:在类名后添加 <类型参数>,类型参数通常使用单个大写字母表示,常用的有 E(元素)、T(类型)、K(键)、V(值)。泛型类的类型参数是在创建对象时指定的,而泛型方法的类型参数是在调用方法时自动推断的,泛型方法更灵活,即使在普通类中也能使用。泛型不支持多态,List<String> 不是 List<Object> 的子类,若需要灵活传递,必须使用通配符。泛型,即参数化类型,允许我们在定义类、接口和方法时,通过一个类型参数来表示数据类型,使用时再指定具体的类型。// 输出:泛型测试。
2025-12-27 15:49:55
319
原创 【Java多线程高频习题练习】吃透核心考点,面试刷题两不误
System.out.println(Thread.currentThread().getName() + "卖出第" + ticketNum-- + "张票");System.out.println("任务" + taskNum + "由线程" + Thread.currentThread().getName() + "执行");System.out.println(Thread.currentThread().getName() + "卖出第" + ticketNum-- + "张票");
2025-12-26 10:39:05
275
原创 【Java IO流超全笔记】从基础到实战,一篇搞定文件读写!
按数据单位 字节流 以字节(8bit)为单位,可处理所有类型数据(文本、图片、视频) InputStream(输入)、OutputStream(输出)字符流基于字节流,自动处理编码问题,仅适用于文本文件(如 .txt、.java),核心是 Reader 和 Writer。• 核心组件:Channel(双向通道,替代流)、Buffer(数据容器)、Selector(多路复用器,管理多个通道)。核心方法 read()(读字节)、write()(写字节) read()(读字符)、readLine()(读行)
2025-12-26 10:38:48
221
原创 【Java 多线程】从入门到进阶,吃透线程核心知识点
*核心步骤**:实现 `Callable<V>` 接口 → 重写 `call()` 方法 → 包装为 `FutureTask` → 交给 `Thread` 启动。4. **WAITING**:线程调用 `wait()`、`join()` 等方法后,进入无限期等待,需其他线程唤醒(如 `notify()`)。| `getName()`/`setName()` | 获取/设置线程名称 | 默认名称格式:`Thread-0`、`Thread-1`... |休眠时间到后进入就绪态 |
2025-12-23 08:48:52
349
原创 【Java 集合超全笔记】从底层原理到实战技巧,一篇吃透!
## 1. 捕获处理:try-catch-finally **语法结构**: ```java try { // 可能抛出异常的代码块 } catch (具体异常类型1 e) { // 处理异常1的逻辑 } catch (具体异常类型2 e) { // 处理异常2的逻辑 } finally { // 无论是否发生异常,必执行的代码(释放资源) } ``` **关键注意点**: - `catch` 块需按**异常类型从小到大**排列(子类异常在前,父类异常在后),否则编译报错。
2025-12-23 08:43:54
349
原创 Java Map 全面解析:从基础用法到实战技巧(附代码示例)
System.out.println("是否包含李四:" + scoreMap.containsKey("李四"));System.out.println("是否为空:" + scoreMap.isEmpty());System.out.println("未知成绩:" + scoreMap.get("未知"));System.out.println("张三成绩:" + scoreMap.get("张三"));System.out.println("集合大小:" + scoreMap.size());
2025-11-28 10:58:24
320
原创 java核心基础从入门到实践
System.out.println("学号:" + student.getId() + ",姓名:" + student.getName() + ",成绩:" + student.getScore());System.out.println("姓名:" + name + ",年龄:" + age + ",成绩:" + score);System.out.println("Java 成绩:" + map.get("Java"));System.out.print("输入要查询的学号:");
2025-11-28 10:53:41
235
原创 Java集合框架超全笔记
# Java集合框架超全笔记:从基础到面试(含实战案例+高频真题) ## 前言 集合框架是Java开发中最常用的API之一,用于存储、操作多个数据(替代数组的局限性),也是面试高频考点(如集合分类、HashMap原理、ArrayList与LinkedList区别等)。本文从核心概念、常用集合详解、实战案例到面试真题,全方位梳理集合框架知识点,适合新手入门和进阶学习~ ## 一、集合框架核心概念 ### 1. 什么是集合? 集合是用于存储多个元素的容器,相比数组的优势: - 动态扩容(无需预先指定大小); -
2025-11-25 11:36:21
395
原创 Java异常处理
# 二、异常处理关键字(5个核心) Java提供5个关键字实现异常处理,核心流程:`try` 监控 → `catch` 捕获 → `finally` 收尾 → `throw` 手动抛异常 → `throws` 声明异常。} ``` **面试高频坑**:`try` 和 `finally` 都有 `return` 时,最终返回 `finally` 的值(覆盖try的返回值): ```java public static int testReturn() { try { return 1;A、B、C描述正确。
2025-11-25 11:32:29
467
原创 3Java笔记
3. 嵌套if结构 (1) 语法: if( 布尔表达式){ if(布尔表达式){ //代码块... }else if(布尔表达式){ //代码块 }else{} }else{ // 代码块... } (2) 执行原理:先判断外层的if条件,外层if条件成立的情况下,执行内层if结构。} 2. 注意事项: (1) switch后面()中表达式的结果类型必须是 byte/short/int/char;2. 特点: (1) 使用:先赋值,再使用 (2) 作用范围:从定义位置开始,到定义它的的代码块结束。
2025-03-20 18:25:35
151
原创 2Java笔记
自动类型提升规则如下: (1) byte -> short ->int ->long -> float -> double 小数据类型的变量 可以直接赋值为大数据类型的变量-》自动提升为大数据类型 (2) char - >int ->long ->float->double 2. 强制类型转换: (1) 大数据类型的变量赋值给小数据类型,需要用到强制类型转换 (2) 强制类型转换问语法: 目标类型 变量名 = (目标类型) 源数据类型的变量名;(2) 声明的同时 赋值:数据类型 变量名 = 值;
2025-03-20 18:23:39
404
原创 1java笔记
4. 带包编译和运行: (1) javac -d . 源文件名.java (2) java 包名.类名 七、编码规范 1. 良好的格式习惯 (1) 层级之间要有严格的缩进,通常为 一个 Tab键 间隔大小 (2) 一行只写一句代码 2. 良好的标识符命名习惯(通俗的将程序中起名字的地方称为标识符,例如包名、类名等) (1) 硬性规范(语法规范,必须遵循) 【重点:面试+应用】 a. Java中的标识符只能以 数字、字母、_(下划线)、$命名,但是不能以数字开头;注意:注释不参与编译,不会影响编译的效率。
2025-03-20 18:20:01
430
原创 deep seek
DeepSeek是一家创新型科技公司 [3],成立于2023年7月17日 [40],使用数据蒸馏技术 [41],得到更为精炼、有用的数据 [41]。2024年1月5日至6月,相继发布DeepSeek LLM、DeepSeek-Coder、DeepSeekMath、DeepSeek-VL、DeepSeek-V2、DeepSeek-Coder-V2模型。12月13日,发布DeepSeek-VL2 [9]。[49]2月5日,DeepSeek-R1、V3、Coder等系列模型,已陆续上线国家超算互联网平台。
2025-03-05 16:17:11
1020
原创 初识Java
于是项目小组决定:既不用 C++编写,也不开发全新的编程语言,而是对 C++进行改造:去除了 C++复杂的指针和内存管理,并结合嵌入式系统的实时性要求,最终在 1992 年,他们开发了一种名 为“Oak”的面向对象语言。总的来说,Java凭借其简单性、面向对象、可移植性、高性能、多线程、安全性和健壮性等特点,成为了一种非常流行和强大的编程语言,广泛应用于各种软件开发领域。Java是一种强类型语言,提供了类型检查机制,能够在编译和运行时进行大量的类型检查,帮助用户发现早期的错误。
2025-03-05 16:12:24
774
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅