
Java 基础
文章平均质量分 94
该专栏主要内容为 Java 从入门到精通
熬夜超级玩家
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java】网络编程篇
在网络通信协议下,不同计算机上运行的程序,进行的数据传输应用场景:即时通信、网络游戏、金融证券、国际贸易、邮件等不管什么场景,都是计算机跟计算机之间通过网络进行数据传输Java 中可以使用 java.net 包开发网络应用程序。原创 2025-03-12 00:23:47 · 1399 阅读 · 0 评论 -
【Java】反射与动态代理篇
特点:无入侵式的给代码增加额外的功能为什么要有代理?代理是为了在不改变原有对象代码的前提下,实现功能增强、访问控制、简化复杂操作和方便测试,提升代码的灵活性、可维护性和可测试性(对象如果嫌身上干的事太多了,可以通过代理来转移部分职责)代理是什么样的?代理是一个与目标对象实现相同接口并包裹其引用的类,分为静态编写和动态生成两种形式,用于控制访问或增强功能(对象有什么方法想被代理,代理就一定要有对应的方法)原创 2025-03-11 19:15:44 · 1141 阅读 · 0 评论 -
【Java】多线程篇 —— 线程池
核心思想:线程池通过复用线程、管理任务队列和拒绝策略,提升系统性能和稳定性。关键配置:核心线程数、最大线程数、队列类型和拒绝策略。最佳实践根据任务类型(CPU/I/O 密集)配置线程数。使用有界队列防止内存溢出。始终在finally块中关闭线程池。原创 2025-03-02 13:17:07 · 1445 阅读 · 0 评论 -
【Java】多线程篇 —— 多线程的基本使用
多线程:可以将线程简单理解为,应用软件中互相独立,可以同时运行的功能。而多线程就是同时运行多个这样的功能,可以让程序同时做多件事原创 2025-03-01 22:15:07 · 1385 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— System 类
System 类位于 java.lang 包下,是一个 final 类,意味着它不能被继承。并且其所有构造方法都是私有的,这使得我们无法创建 System 类的实例,只能通过类名来调用其静态方法和访问静态字段。原创 2025-02-28 23:38:05 · 1294 阅读 · 0 评论 -
【Java】I/O 流篇 —— 打印流与压缩流
分类:打印流一般是指字节打印流 PrintStream、字符打印流 PrintWriter 两个类,打印流只有输出流没有输入流打印流只操作文件的目的地,不操作数据源特有的写出方法可以实现数据原样写出文件中是 97,打印 97文件中是 true,打印 true特有的写出方法,可以实现自动刷新,自动换行打印一次数据 = 写出 + 换行 + 刷新。原创 2025-02-27 03:11:47 · 1376 阅读 · 0 评论 -
【Java】I/O 流篇 —— 转换流与序列化流
如果一个对象中的某个成员变量的值不想被序列化,给该成员变量加 transient 关键字修饰,该关键字标记的成员变量不参与序列化过程。是 Java 中用于序列化和反序列化过程的一个重要的版本控制机制,下面从基本概念、作用、使用方式、默认生成规则等方面详细介绍。接口,意味着该类的对象可以被序列化(转换为字节流)和反序列化(从字节流恢复为对象),而。反序列化流,又叫对象操作输入流,可以把序列化到本地文件中的对象数据读取到程序中。序列化流,又叫对象操作输出流,可以把 Java 中的对象写到本地文件中。原创 2025-02-26 16:13:32 · 802 阅读 · 0 评论 -
【Java】I/O 流篇 —— File 类与缓冲流
虽然字节缓冲流和字符缓冲流的缓冲区长度都为 8192,但是字节缓冲流的是 8192 个字节,是 byte 类型的,占内存 8K,而字符缓冲流的是 8192 个字符,是 char 类型的,占内存 16K。注意事项:readLine 方法一次读取一整行数据,遇到回车换行结束,但是不会把回车换行读取到内存当中。字节缓冲流就是底层自带了缓冲区的字节流,提高了读取/写入的性能。字符缓冲流就是底层自带了缓冲区的字符流,提高了读取/写入的性能。读取一行数据,如果没有数据可读,返回 null。原创 2025-02-26 00:10:05 · 1454 阅读 · 0 评论 -
【Java】I/O 流篇 —— 字符 I/O 流
字符流的底层其实就是字节流:字符流 = 字节流 + 字符集特点输入流:一次读一个字节,遇到中文时,一次读多个字节GBK 一次读两个字节UTF - 8 一个读三个字节输出流:底层会把数据按照指定的编码方式进行编码,变成字节再写到文件中使用场景:对于纯文本文件进行读写操作。原创 2025-02-25 18:44:18 · 1102 阅读 · 0 评论 -
【Java】I/O 流篇 —— 字节 I/O 流
I/O流(Input/Output Stream)是计算机中数据传输的一种抽象概念,用于描述数据在程序和外部设备(如文件、网络、内存等)之间的流动方式。可以将它想象成一条“数据管道”,数据像水流一样在这条管道中连续传输。作用:I/O 流用于读写文件中的数据(可以是读写文件,或网络中的数据)。读(Read) → Input(输入)当程序从外部(如文件、键盘、网络等)获取数据时,称为“读”操作。例如:读取文件内容、接收用户键盘输入、获取网络数据等。这属于输入(Input)原创 2025-02-24 20:40:37 · 1226 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— 时间-日期API(下)
不同的日期时间类(如 LocalDate、LocalTime、LocalDateTime、ZonedDateTime、OffsetDateTime 和 Instant)都提供了 parse 方法用于时态数据解析。可以使用预定义的格式(如 ISO_LOCAL_DATE、ISO_LOCAL_TIME 等)或自定义的 DateTimeFormatter 来解析字符串。在实际应用中,要对可能出现的 DateTimeParseException 异常进行处理,以确保程序的健壮性。原创 2025-02-21 17:29:03 · 707 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— 时间-日期API(中)
续时间-日期API(上),主要是列出本地日期时间类 LocalDateTime、Instant 类、Duration 类和 Period 类的方法原创 2025-02-21 15:13:16 · 734 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— 时间-日期API(上)
在 Java 中,LocalDate 是 Java 8 引入的日期处理类,位于 java.time 包下,它用于表示一个不包含时间和时区信息的日期,比如 “2025 - 02 - 21”。LocalTime 是 Java 8 引入的 java.time 包中的一个类,用于表示不包含日期和时区信息的时间,例如 13:45:30。LocalDate 是 Java 8 引入的 java.time 包中的一个重要类,用于表示不包含时间和时区信息的日期。以下将详细介绍 LocalDate 类的所有常用方法。原创 2025-02-21 02:52:28 · 1029 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— 基本类型包装类
包装类让基本类型具备了对象的特性,同时通过自动装箱/拆箱简化了代码,但需注意空指针和性能问题。理解缓存机制和正确使用比较方法是避免常见陷阱的关键。原创 2025-02-21 01:24:04 · 1057 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— Math 类
在 Java 编程里,Math 类是一个极其重要的工具类,它存于 java.lang 包下。java.lang 包是 Java 语言的核心包,在使用其中的类时,无需额外导入,Java 编译器会自动处理。被 final 修饰:这表明 Math 类不能被其他类继承,是最终形态,就像一个已经完美成型、不能再被修改结构的建筑。构造方法私有:意味着无法通过 new 关键字来创建 Math 类的对象。原创 2025-02-20 02:11:38 · 999 阅读 · 0 评论 -
【Java】Java 常用核心类篇 —— Object 类
在 Java 中,终极父类指的是 java.lang.Object 类。它是 Java 类层次结构的根基,所有其他类要么直接、要么间接地继承自它。这种设计赋予了 Java 强大的统一性和多态性,使得各种对象能够以统一的方式进行操作和管理。原创 2025-02-20 00:58:18 · 1250 阅读 · 0 评论 -
【Java】异常处理篇
在 Java 编程中,虽然 Java 已经提供了丰富的内置异常类,但在某些特定的业务场景下,这些内置异常类可能无法准确表达程序中出现的问题。这时,我们就可以通过自定义异常类来满足特定的需求。以下将详细介绍如何自定义异常类。确定异常类型自定义异常类通常继承自 Exception 或 RuntimeException。继承 Exception:创建的是受检异常(Checked Exception)。原创 2025-02-19 14:36:02 · 1027 阅读 · 0 评论 -
【Java】泛型与集合篇 —— Stream API
Java 8 引入了 Stream API(java.util.stream),它是对集合对象功能的增强,提供了一种高效且易于使用的处理数据的方式。Stream 不是一种数据结构,它并不保存数据,而是对数据进行一系列的操作,这些操作可以是过滤、映射、排序、聚合等。of作用:根据给定的值直接创建并返回一个流。,创建了一个包含整数 1、2、3 的流,适用于已知具体元素值来构建流的场景。原创 2025-02-18 19:30:45 · 813 阅读 · 0 评论 -
【Java】泛型与集合篇 —— Collections 类
在这个示例中,Student 类没有实现 Comparable 接口,所以我们创建了一个 Comparator 对象 scoreComparator 来定义学生之间的比较规则(按分数比较),然后使用 Collections.max 和 Collections.min 方法根据这个自定义规则找出分数最高和最低的学生。下面从方法签名、使用示例、注意事项等方面详细介绍。Collections 类除了前面提到的排序、查找、打乱元素次序、求极值等方法外,还有许多其他常用方法,下面为你详细介绍。原创 2025-02-18 19:14:16 · 983 阅读 · 0 评论 -
【Java】泛型与集合篇 —— Map 接口
LinkedHashMap 是 Java 集合框架中 Map 接口的一个具体实现类,它继承自 HashMap,并在 HashMap 的基础上维护了一个双向链表,用于记录键值对的插入顺序或访问顺序。TreeMap 是 Java 集合框架中 Map 接口的一个实现类,它基于红黑树(一种自平衡的二叉搜索树)数据结构来存储键值对。LinkedHashMap 结合了哈希表和双向链表的特性,它既可以像 HashMap 一样快速地进行键值对的插入、查找和删除操作,又能保持键值对的顺序。键不能重复,但值可以重复。原创 2025-02-17 23:29:18 · 888 阅读 · 0 评论 -
【Java】泛型与集合篇 —— Queue 接口
定义:队列是一种遵循先进先出(FIFO,First-In-First-Out)原则的数据结构,即最先进入队列的元素会最先被移除。Queue 接口提供了对这种数据结构操作的抽象规范。特点元素有序:元素按照插入的顺序排列,保证先入队的元素先出队。可限制容量:部分实现类(如 ArrayBlockingQueue)支持设置队列的最大容量,当队列满时,插入操作可能会受到限制。原创 2025-02-20 19:29:13 · 926 阅读 · 0 评论 -
【Java】泛型与集合篇 —— Set 接口
TreeSet 是 Java 集合框架中的一个重要类,它实现了 NavigableSet 接口(NavigableSet 接口继承的 SortedSet 接口是 Set 接口的子接口),底层基于红黑树(一种自平衡的二叉搜索树)实现。由于 LinkedHashSet 能保持元素的插入顺序,它适用于需要保证元素插入顺序的场景,例如记录用户的操作历史,在展示时需要按照操作的先后顺序展示,就可以使用 LinkedHashSet 来存储操作记录。使用 Set 对象的批量操作方法,可以实现标准集合代数运算。原创 2025-02-17 23:07:58 · 1133 阅读 · 0 评论 -
【Java】泛型与集合篇 —— List 接口
在 Java 中,List 是一个继承自 Collection 的接口,它代表一个有序的元素集合,允许存储重复的元素,并且每个元素都有一个对应的索引,可以通过索引来访问和操作元素。以下为你详细介绍 List 接口及其常见实现类。Vector 是一个动态数组,它实现了可增长的对象数组。与 ArrayList 类似,Vector 也可以存储任意数量的元素,并且可以根据需要自动调整大小。原创 2025-02-20 19:22:12 · 940 阅读 · 0 评论 -
【Java】泛型与集合篇 —— 泛型
定义泛型类时,通过尖括号 声明类型参数,T 可以是类、接口、数组类型(基本数据类型需使用包装类型)。使用时,需指定具体的类型参数。泛型方法在方法返回值前声明类型参数 ,其作用域仅限于该方法。原创 2025-02-17 23:06:43 · 1400 阅读 · 0 评论 -
【Java】枚举与注解篇
枚举类型和注解类型是 Java 语言中非常强大且实用的特性,它们各自有着独特的设计目的和应用场景。枚举类型通过提供类型安全的常量集合,使代码更加清晰、易读和健壮;注解类型则通过为代码添加元数据信息,实现了代码的灵活配置和功能扩展。在实际开发中,合理运用枚举类型和注解类型可以提高代码的可维护性、可扩展性和开发效率。开发者可以根据具体的需求,将枚举类型和注解类型结合使用,创造出更加高效、优雅的 Java 程序。原创 2025-02-12 01:20:37 · 1108 阅读 · 0 评论 -
【Java】接口与内部类篇
全面讲解Java接口与内部类知识体系。先阐述接口定义、实现、继承及默认与静态方法,介绍典型应用;再剖析Lambda、方法与构造引用;后分析内部类类型、特点及使用场景,还对比接口与抽象类,助读者系统掌握相关编程要点。原创 2025-02-11 17:08:38 · 1187 阅读 · 0 评论 -
【Java】继承与多态篇
通过继承与多态,实现代码复用和灵活扩展,同时需合理设计类层次结构,平衡封装性与灵活性。原创 2025-02-10 20:12:14 · 1199 阅读 · 0 评论 -
【Java】类和对象篇
本文全面涵盖了Java类和对象的核心知识,包括基本概念、三大特征、类与对象操作、方法设计、封装与继承、静态成员及对象生命周期等,为理解面向对象编程提供了清晰框架。原创 2025-02-10 17:36:54 · 1283 阅读 · 0 评论 -
【Java】字符串篇
String 类是 Java 语言中的一个内置类,用于表示和操作字符串。在 Java 中,字符串是一个字符序列,是不可变对象,即一旦创建,其内容不能被修改。字符串对象可以通过字符串字面量的形式创建,也可以使用 new 关键字通过构造函数创建。字符串字面量创建的字符串会存储在字符串常量池中,而通过 new 创建的字符串则在堆内存中。提供了丰富的方法来操作字符串,如获取字符串长度、连接字符串、提取子串、查找字符或子串、替换字符或子串、比较字符串等。原创 2025-02-04 02:42:44 · 1450 阅读 · 0 评论 -
【Java】数组篇
数组是一种用于存储多个相同类型数据的集合数据结构。它在内存中是连续存储的,每个元素都可以通过索引来访问。数组中的元素可以是基本数据类型(如 int、double、boolean 等),也可以是引用数据类型(如自定义的类对象、字符串等)。数组容器在存储数据的时候,需要结合隐式转换考虑,例如,int 类型的数组只能存储 int、short、byte 类型的数值;double 类型的数组可以存储 byte、short、int、long、float、double 类型的数值。原创 2025-01-29 19:34:50 · 1253 阅读 · 0 评论 -
【Java】流程控制语句篇
本章节主要讲了 Java 流程控制语句的使用方法原创 2025-01-26 00:51:08 · 1001 阅读 · 0 评论 -
【Java】语言基础篇
本章节主要讲述的是 Java 语言基础,适合刚入门或者感兴趣的同学原创 2025-01-22 19:45:55 · 324 阅读 · 0 评论