自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除