Java 初级
文章平均质量分 95
涵盖整个Java 知识知识体系,帮助小白入门
激流丶
目前从事互联网安全领域,Java技术专家,WEB架构师,公司级面试官,阿里云专家博主,华为云云享专家,我对软件开发有着深厚的热爱,并致力于通过高质量的代码和创新的设计来解决复杂的技术挑战。 在我的职业生涯中,我不仅积累了丰富的技术经验,还有宝贵的项目管理经验,还深入参与了多个大型系统的架构设计与优化工作,我对最新 的技术保持着敏锐的洞察力。 我的风格:对代码有洁癖,追求极致、干净的代码。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Java 工具类 Hutool】类型转换工具类-Convert
在Java开发中我们要面对各种各样的类型转换问题,尤其是从命令行获取的用户参数、从HttpRequest获取的Parameter等等,这些参数类型多种多样,我们怎么去转换他们呢?常用的办法是先整成String,然后调用XXX.parseXXX方法,还要承受转换失败的风险,不得不加一层try catch,这个小小的过程混迹在业务代码中会显得非常难看和臃肿。原创 2023-08-31 23:05:25 · 7147 阅读 · 0 评论 -
【Java 工具类 Hutool】Hutool 克隆功能的使用
我们知道,JDK中的Cloneable接口只是一个空接口,并没有定义成员,它存在的意义仅仅是指明一个类的实例化对象支持位复制(就是对象克隆),如果不实现这个类,调用对象的clone()方法就会抛出CloneNotSupportedException异常。而且,因为clone()方法在Object对象中,返回值也是Object对象,因此克隆后我们需要自己强转下类型。原创 2023-08-31 20:58:55 · 3916 阅读 · 1 评论 -
【Java 工具类 Hutool】项目中如何引入 Hutool 并正确使用它
这个配置会传递依赖hutool-bom内所有dependencies的内容,当前hutool-bom内的dependencies全部设置了version,就意味着在maven resolve的时候hutool-bom内就算存在dependencyManagement也不会产生任何作用。原创 2023-08-31 20:23:33 · 18908 阅读 · 4 评论 -
【Java 工具类 Hutool】初识 Hutool
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。原创 2023-08-31 19:52:31 · 493 阅读 · 0 评论 -
【Java 初级】Java 初级进阶路线
最近很多小伙伴私信我说如何进阶,我就熬夜整理了一个Java 进阶之路的路线图。激流的学习平台里面整理的Java 第一年需要学习的内容,第二年到第三进阶中级需要学习的内容,第三年进阶高级需要掌握的内容,以及后面进阶到资深的路线图。整个布局如下,内容也在不断地更新中。下方我也整理了Java第一年初级需要掌握的内容,内容我也在更新中。原创 2023-08-31 16:15:17 · 1179 阅读 · 0 评论 -
【计算机基础】一文搞清楚什么是线程/进程/协程
线程(Thread)是计算机程序执行的最小单位,是进程中的一个独立执行流。一个进程可以包含多个线程,这些线程共享进程的资源,如内存、文件和打开的文件描述符等。线程之间可以并发执行,各自独立地执行不同的任务。原创 2023-08-28 19:40:31 · 857 阅读 · 0 评论 -
【计算机基础】一文带你了解 Linux
Linux 是一种开源的操作系统内核,也是基于该内核构建的一系列操作系统的统称。它最初由芬兰的林纳斯·托瓦兹(Linus Torvalds)开发,并于1991年首次发布。Linux 内核是一个类 UNIX 的操作系统内核,它提供了操作系统的核心功能,如进程管理、内存管理、文件系统、设备驱动程序等。原创 2023-08-28 19:34:35 · 331 阅读 · 0 评论 -
【计算机基础】Windows 环境变量
Windows 环境变量是 Windows 操作系统中的一种配置设置,用于存储系统和应用程序需要使用的各种信息。它们是一些具有特定名称的键值对,可以包含路径、文件夹、程序、参数等。环境变量可以在系统级别或用户级别进行设置,并可以被系统和应用程序用来获取和使用相关的配置信息。原创 2023-08-28 19:27:53 · 530 阅读 · 0 评论 -
【计算机基础】计算机内核原理
计算机内核(Computer Kernel)是操作系统的核心部分,也被称为操作系统内核。它是操作系统的基本组成部分,负责管理计算机的硬件资源和提供各种系统服务,以支持应用程序的运行。原创 2023-08-28 19:23:05 · 987 阅读 · 0 评论 -
【计算机基础】CPU/内存/磁盘基础概念
CPU 是中央处理器的缩写,全称为 Central Processing Unit。它是计算机系统中的主要组成部分之一,负责执行计算机程序中的指令并进行数据处理。CPU 可以被视为计算机的大脑,它负责控制和协调计算机的各个组件,包括内存、输入输出设备和其他外部设备。CPU 的性能对计算机的整体运行速度和效率有着重要影响。原创 2023-08-28 19:10:04 · 1774 阅读 · 0 评论 -
【Java 初级】一文让你轻松拿捏 Spring MVC
MVC是一种软件架构模式,它将应用程序分为三个主要组成部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式的目的是将应用程序的业务逻辑与用户界面分离,以便更好地管理和维护应用程序。原创 2023-06-12 22:02:08 · 1031 阅读 · 3 评论 -
【Java 初级】Spring核心之面向切面编程(AOP)
AOP(面向切面编程)是一种编程范式,用于将横切关注点(如日志记录、性能统计等)从主要业务逻辑中分离出来。通过将这些横切关注点与业务逻辑分离开来,可以提高代码的可重用性、可维护性和可扩展性。在AOP中,切面是一个模块化的单元,它封装了与横切关注点相关的行为,并可以在多个不同的应用程序中重用。切面可以通过一种称为“织入”的过程将其与主要业务逻辑相结合,从而创建一个完整的应用程序。原创 2023-06-12 16:27:20 · 3579 阅读 · 0 评论 -
【Java 初级】Spring核心之控制反转(IOC)
Spring Bean是Spring框架中的一个核心概念,它是一个由Spring容器管理的对象。在Spring中,Bean是指任何一个由Spring容器所管理的对象,可以是Java类的实例、数据源、事务管理器等等。Spring Bean的创建、初始化、销毁等生命周期都由Spring容器控制,这样可以将应用程序的对象解耦合,提高模块化和可重用性。Spring Bean可以通过注解、XML配置文件等方式进行声明和配置,Spring容器会根据配置信息创建对应的Bean对象并将其注入到需要使用的地方。原创 2023-06-11 23:11:00 · 1475 阅读 · 1 评论 -
【Java 基础】Java 泛型机制详解
Java 引入泛型的主要目的是为了提高代码的类型安全性和可读性。在 Java 5 之前,集合框架中的容器可以存储任意类型的对象,这就使得程序员需要在运行时进行类型转换,容易引发类型转换异常。而引入泛型后,集合框架中的容器可以限定存储的元素类型,使得程序员可以在编译时进行类型检查,避免了类型转换异常的发生。此外,泛型还可以提高代码的可读性和可维护性,使得代码更易于理解和修改。泛型的引入使得 Java 语言更加类型安全,更加适合大规模软件开发。原创 2023-06-07 13:26:36 · 1095 阅读 · 0 评论 -
【Java 基础】HashMap 是线程安全的吗?那线程安全的 Map 有哪些?
HashMap 是非线程安全的,因为它不是同步的,多个线程同时对 HashMap 进行操作可能会导致数据不一致的问题。原创 2023-06-07 20:13:00 · 2907 阅读 · 0 评论 -
【Java 基础】ArrayList 的底层原理和源码分析
ArrayList 是 Java 中常用的动态数组实现,它的底层是基于数组实现的。当创建一个 ArrayList 对象时,实际上是创建了一个 Object 类型的数组,初始容量为 10。当添加元素时,如果数组已满,ArrayList 会自动扩容,它会创建一个新的数组,并将原数组中的元素复制到新数组中。原创 2023-06-07 19:09:57 · 2562 阅读 · 0 评论 -
【Java 基础】ConcurrentHashMap 底层原理
ConcurrentHashMap 是线程安全的哈希表,它是 Java 并发包中提供的一种高效的并发 Map 实现。ConcurrentHashMap 底层采用了分段锁的机制,不同的段(Segment)可以被不同的线程同时访问,从而提高了并发性能。原创 2023-06-07 20:56:44 · 5621 阅读 · 1 评论 -
【Java 基础】HashMap 的底层原理和源码分析
HashMap 内部维护了一个数组,称为哈希表,每个元素都是一个链表的头结点,该链表被称为桶(bucket)。当我们向 HashMap 中添加一个元素时,首先会根据该元素的键值(key)计算出一个哈希值(hash code),然后根据哈希值确定该元素在数组中的位置,如果该位置上已经存在了元素,则将该元素添加到该位置上对应的桶中,如果该位置上没有元素,则创建一个新的桶,并将该元素添加到该桶中原创 2023-06-07 20:01:57 · 2486 阅读 · 0 评论 -
【Java 初级】德鲁伊 Druid连接池的使用
Druid是一个开源的Java连接池库,用于管理数据库连接。它由阿里巴巴集团开发并维护,提供了一套高性能、稳定可靠的连接池解决方案。原创 2023-08-14 12:35:32 · 3630 阅读 · 1 评论 -
【Java 初级】Java 连接池 C3P0
C3P0是一个开源的Java连接池库,用于管理数据库连接。它提供了一种可靠的连接池实现,用于优化数据库连接的创建和销毁,提高应用程序的性能和可伸缩性。原创 2023-08-12 22:07:02 · 2253 阅读 · 1 评论 -
【Java 初级】详解 Mysql 的连接 JDBC
JDBC(Java Database Connectivity)是Java语言中用于与关系型数据库进行交互的API(Application Programming Interface)。它提供了一组类和接口,使Java应用程序能够连接、查询和操作各种数据库。原创 2023-08-11 09:10:35 · 1666 阅读 · 0 评论 -
【Java 初级】Mysql多表关系
MySQL多表关系是指在MySQL数据库中,通过使用外键和JOIN操作等方式,将多个表之间建立起关联和连接,以实现更复杂的数据查询和操作。在关系型数据库中,数据通常被组织为多个表,每个表代表一个实体或概念,并且表与表之间存在关联关系。多表关系可以用于解决各种复杂的数据查询和数据操作需求。原创 2023-08-03 12:54:51 · 451 阅读 · 0 评论 -
【Java 初级】Mysql 如何做查询优化
MySQL 查询优化方法: 1. 索**引优化**:确保表中的列上有适当的索引,这可以加快查询速度。使用 EXPLAIN 命令来分析查询计划以确定是否使用了正确的索引。 2. **查询重写**:有时候可以通过重写查询语句来改善性能。例如,使用 JOIN 语句代替子查询,或者使用 UNION ALL 代替 UNION。 3. **避免全表扫描**:尽量避免在大表上执行全表扫描,可以通过添加索引或者优化查询语句来实现。 4. **分页查询优化**:当需要进行分页查询时,使用 LIMIT 和 OF原创 2023-08-03 12:55:04 · 2023 阅读 · 2 评论 -
【Java 初级】Mysql 多表关联查询
MySQL多表关联查询是指通过在查询语句中同时使用多个表,并通过共享的列来建立关联,从而获取相关联的数据。原创 2023-08-10 13:40:43 · 1560 阅读 · 1 评论 -
【Java 初级】 Mysql 增删改查
Mysql 增删改查原创 2023-08-09 16:40:29 · 1544 阅读 · 1 评论 -
【Java 初级】关系型数据 Mysql 概念了解
关系型数据库是一种基于关系模型的数据库管理系统(DBMS)。在关系型数据库中,数据以表格的形式组织,表格由行和列组成。每个表格代表一个实体,每行代表一个记录,每列代表一个属性。表格之间通过键值关系建立关联,这些关联称为关系。关系型数据库使用结构化查询语言(SQL)进行数据管理和查询。原创 2023-08-02 19:46:21 · 1711 阅读 · 0 评论 -
【Java 基础/大厂面试必问】Java8 新特性
【大厂面试必问】Java8 新特性,总结了12条常用的特性原创 2023-07-03 08:59:42 · 3228 阅读 · 0 评论 -
【Java 基础】自定义非阻塞式的HTTP静态服务器
下面是一些需求分析的关键点:1. 服务器需要能够接收HTTP请求,并返回相应的静态资源(如HTML、CSS、JavaScript文件等)。2. 服务器需要支持非阻塞式的IO操作,以提高并发性能。3. 服务器需要能够处理多个客户端的请求,并正确地返回相应的资源。4. 服务器需要能够解析HTTP请求,包括解析请求头、请求方法、请求路径等信息。5. 服务器需要能够根据请求路径找到对应的静态资源,并将其返回给客户端。原创 2023-08-08 11:07:15 · 1565 阅读 · 2 评论 -
【Java 基础】Java 中 NIO 使用
NIO是Java中的一种非阻塞I/O(Non-blocking I/O)模型,它是Java NIO(New I/O)库的一部分。相对于传统的阻塞I/O模型,NIO提供了更高效的I/O操作方式。原创 2023-08-08 10:01:43 · 3649 阅读 · 1 评论 -
【Java 基础】Java 网络编程
Java的网络编程是指使用Java语言进行网络通信的编程技术。在Java中,可以使用Socket和ServerSocket类来实现基于TCP协议的网络通信,也可以使用DatagramSocket和DatagramPacket类来实现基于UDP协议的网络通信。原创 2023-08-07 16:57:50 · 1860 阅读 · 1 评论 -
【Java 基础】Java 反射机制
在Java中,反射(Reflection)是指在运行时动态地获取类的信息并操作类或对象的能力。它允许程序在运行时检查和操作类、接口、字段和方法等的属性和行为,而不需要事先知道这些类的具体信息。原创 2023-08-07 09:08:12 · 1481 阅读 · 1 评论 -
【Java 基础】多线程下文件的上传
多线程下文件的上传原创 2023-08-05 23:46:10 · 2100 阅读 · 1 评论 -
【Java 基础】Java Properties的用法
Java Properties 是一个用于管理 Java 应用程序配置信息的类。它是一个键值对的集合,其中键和值都是字符串类型。Properties 类通常用于读取和写入配置文件,如 .properties 文件。通过使用 Properties 类,可以在应用程序中轻松地读取和修改配置信息,而不需要硬编码这些值。Properties 类提供了许多有用的方法,如 getProperty() 用于获取属性值,setProperty() 用于设置属性值,load() 和 store() 用于从文件中加载和保存属性原创 2023-08-04 17:52:40 · 2687 阅读 · 0 评论 -
【Java 基础】Java 序列化和反序列化
序列化是指将对象转化为字节流的过程,以便于存储或传输。在序列化过程中,对象的状态被保存为一连串的字节,可以将这些字节保存到文件中或通过网络传输。序列化后的字节流可以在需要时进行反序列化,将字节流重新转化为对象,并恢复对象的状态。原创 2023-08-04 13:34:20 · 1899 阅读 · 0 评论 -
【Java 基础】带你学习 Java IO流
IO流是Java中用于输入和输出数据的机制。在Java中,所有的输入和输出都被视为流(Stream)。流是一种数据传输方式,它将数据从一个地方传输到另一个地方,可以是文件、网络连接或内存等。Java中的IO流被分为字节流和字符流两种类型。 字节流用于处理二进制数据,一次处理一个字节。Java中的字节流主要有InputStream和OutputStream两个抽象类,它们的子类用于读取和写入字节数据。例如,FileInputStream和FileOutputStream用于读取和写入文件中的字节数据,By原创 2023-08-03 22:41:44 · 1559 阅读 · 0 评论 -
【Java 基础】Java IO 的分类
Java IO 按照数据操作方式进行分类,通常分为以下几类.....原创 2023-06-08 13:00:27 · 1619 阅读 · 0 评论 -
【Java 基础】Java 字段类型的原子操作
在Java中,可以使用AtomicReferenceFieldUpdater、AtomicLongFieldUpdater和AtomicIntegerFieldUpdater这三种原子操作类来修改对象的属性。原创 2023-08-03 20:18:26 · 337 阅读 · 0 评论 -
【Java 基础】Java 引用类型的原子操作
Java中的原子操作是指能够以原子方式执行的操作,即在多线程环境下保证操作的原子性,避免竞态条件和数据不一致的问题。Java提供了一些原子类来支持原子操作,其中包括原子引用类型的操作。原创 2023-08-03 11:36:15 · 2310 阅读 · 3 评论 -
【Java 基础】Java 数组类型的原子操作
Java中提供了一些原子操作的数组类型,用于在多线程环境下对数组进行原子性操作。原创 2023-08-02 19:26:42 · 405 阅读 · 0 评论 -
【Java 基础】Java 原子操作
原子操作是指在执行过程中不会被其他线程中断的操作。它要么全部执行成功,要么全部不执行,不存在中间状态。原子操作可以保证数据的一致性和线程安全性。原创 2023-08-02 13:40:15 · 3249 阅读 · 0 评论
分享