- 博客(11)
- 收藏
- 关注
原创 JAVA枚举与注解笔记
@Target :指定注解可修饰的元素类型(如 TYPE 类、 METHOD 方法、 FIELD 字段等)。注解是一种标记性代码,用于对程序元素(类、方法、变量等)进行说明或配置,可被编译器、虚拟机或工具解析。- 枚举类默认继承 java.lang.Enum ,不能再继承其他类,但可以实现接口。- 注解属性的类型只能是基本类型、 String 、 Class 、枚举、注解或其数组。- RUNTIME :保留到运行时,可通过反射获取(如 @Deprecated )。
2025-07-16 10:55:09
236
原创 JAVA多线程笔记
常用: ConcurrentHashMap (高效并发 Map)、 CopyOnWriteArrayList (读多写少场景)、 BlockingQueue (阻塞队列,用于生产者-消费者模型)。- 超时等待(Timed Waiting):调用 sleep(long) 、 wait(long) 等,等待超时后自动唤醒。- 一个进程可包含多个线程,线程共享进程的内存资源(如堆、方法区),但有独立的栈和程序计数器。- 等待(Waiting):调用 wait() 、 join() 等方法,需被唤醒。
2025-07-16 10:53:05
295
原创 JAVA异常抛出笔记
异常信息应包含关键上下文(如参数值、操作类型),便于调试,例如 throw new IllegalArgumentException("用户ID不能为空") 优于 throw new IllegalArgumentException("参数错误")。Java 异常抛出是通过 throw 关键字主动抛出异常对象,或通过 throws 声明方法可能抛出的异常类型,以通知调用者处理潜在错误。- 处理流程:方法抛出异常后,若未在当前方法中捕获,异常会向上传递给调用者,直到被某个上层方法捕获;
2025-07-16 10:49:08
404
原创 Java 输入输出流(I/O Stream)
PrintStream / PrintWriter :打印流,提供方便的打印方法( print() 、 println() ),可输出各种数据类型(自动转换为字符串), System.out 就是 PrintStream 实例。- BufferedReader / BufferedWriter :带缓冲区的字符处理流,提供按行读写( readLine() / newLine() )等便捷方法,效率更高。// true表示追加。
2025-07-16 10:47:12
1460
原创 JAVA深浅拷贝以及与C++深浅拷贝异同点
总结:Java默认的 clone() 为浅拷贝,需根据对象结构和业务需求,选择手动复制、序列化或第三方库实现深拷贝,避免因数据共享引发的逻辑错误。- 引用类型成员共享:浅拷贝仅复制引用,若修改原对象引用类型成员(如数组、自定义类对象),新对象的数据也会改变,可能导致数据不一致或意外修改。- 深拷贝:复制对象及其所有引用类型成员的完整数据,新旧对象完全独立。- 浅拷贝:仅复制对象的引用地址,新旧对象共享引用类型成员的数据。1. 拷贝定义:创建一个新对象,并将原对象的数据复制到新对象中。二、浅拷贝实现与问题。
2025-06-24 08:31:28
888
原创 JAVA面向对象学习笔记
接口:纯抽象,方法默认 public abstract ,属性默认 public static final ,类可实现多个接口。1. 对象:现实事物的抽象,包含属性(状态)和方法(行为),如 Person 类对象有 name 属性和 speak() 方法。- 所有类的父类,提供 equals() 、 hashCode() 、 toString() 等方法,常需重写。- 定义在类内部,可访问外部类私有成员,分成员内部类、局部内部类、匿名内部类。- 抽象类:含抽象方法,需子类实现,不能实例化。
2025-06-24 08:27:37
150
原创 JAVA基本数据类型以及标准输入输出学习笔记
2. 创建 Scanner 对象: Scanner scanner = new Scanner(System.in);System.out.println("输入的整数:" + num + ",字符串:" + str);转义字符:如 \n (换行)、 \t (制表符)、 \\ (反斜杠)、 \' (单引号)、 \" (双引号)。System.out.printf("整数:%d,浮点数:%.2f", num, pi);- 读取整数: int num = scanner.nextInt();
2025-06-20 12:56:48
377
原创 JAVA选择、控制、循环学习笔记
/ x仍为1,因x<0为false,未执行++x。case "Monday": System.out.println("周一");- 死循环:条件永远为真的循环(如 while(true) ),需配合 break 跳出。// 若为奇数,提前结束方法。System.out.println("1-3之间");System.out.print("请输入非负数:");
2025-06-20 12:47:35
803
原创 JAVA数组学习笔记总结
动态初始化:指定长度,元素默认初始化(如 int 为0, boolean 为 false )。- sort(数组) :排序(基本类型升序,引用类型需实现 Comparable )。- copyOf(数组, 新长度) :复制数组,新长度可大于或小于原长度。- 定义:数组是相同类型数据的有序集合,通过索引(从0开始)访问元素。- 集合转数组:使用 集合.toArray() ,需指定数组类型。- 基本类型数组需转为包装类型数组(如 Integer[] )。
2025-06-18 21:40:09
282
原创 JAVA概述
整数类型: byte (8位,取值范围 -128 ~ 127)、 short (16位)、 int (32位,常用)、 long (64位,声明时常在值后加 L ,如 100L )。- 浮点类型: float (32位,声明时常在值后加 F ,如 3.14F )、 double (64位,默认浮点类型,如 3.14 )。} else { 执行语句2;5. 位运算符: & (按位与)、 | (按位或)、 ^ (按位异或)、 ~ (按位取反)、 << (左移)、 >> (右移)。
2025-06-15 22:32:50
417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人