自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 Spring Web MVC

Spring Web MVC是基于Servlet API构建的原始Web框架,实现了MVC架构模式,将系统分为模型、视图和控制器三部分。Spring Boot是创建Spring MVC项目的一种方式。文章介绍了@RequestMapping注解的使用,包括建立连接、请求参数传递(单个参数、多个参数、对象、数组/集合)以及JSON数据的处理。还讲解了如何获取URL中的数据、状态码分类以及文件上传的实现。重点强调了参数命名冲突的解决方案,建议使用包装类型接收参数以避免空值异常,并介绍了@RequestParam

2025-08-22 18:14:28 1199 2

原创 SpringBoot快速上手

本文介绍了SpringBoot快速上手的准备工作,包括IDEA版本选择、Maven项目管理工具的使用和配置。Maven通过pom.xml文件管理项目依赖,支持依赖传递和排除功能。文章详细讲解了Maven的坐标概念、仓库(中央仓库、本地仓库和私服)配置方法,以及如何设置国内镜像源加速下载。对于不同版本的IDEA(社区版和专业版)创建SpringBoot项目的具体步骤进行了说明,包括版本选择、依赖管理和常见问题解决方法。最后简要介绍了SpringBoot项目目录结构和启动日志信息,帮助开发者快速理解项目框架。

2025-08-22 17:20:21 846

原创 链表深拷贝[随机链表的复制]

本文介绍了链表深拷贝问题的两种解法:原地插入法和哈希表法。深拷贝要求完全复制链表结构,包括next和random指针关系,确保新旧链表独立。 原地插入法通过将拷贝节点插入原节点后,分三步完成:1)复制节点并插入原链表;2)设置random指针;3)拆分新旧链表。该方法空间复杂度O(1),思路巧妙。 哈希表法使用哈希表存储新旧节点映射关系,分两步:1)创建所有新节点并记录映射;2)根据映射设置指针。虽然空间复杂度O(n),但思路直观,是处理复杂指针关系的通用方法。

2025-08-15 08:58:48 974

原创 队列的使用以及泛型思考[二叉树的层序遍历]

这篇文章讨论了LeetCode 102题二叉树的层序遍历解法。文章首先指出层序遍历类似于广度优先搜索(BFS),需要使用队列实现"先进先出"的特性。然后详细讲解了Java实现:使用队列存储节点,记录每层元素数量,分层处理节点值并存入结果列表。文章特别强调了泛型的使用,因为输出要求是List<List<Integer>>格式。最后提出"三步法"解题思路:1)识别问题类型;2)匹配数据结构与算法;3)构造结果格式。通过关键词映射表帮助读者快速匹配问

2025-08-14 08:49:34 549

原创 深入解析JVM内存管理与垃圾回收

JVM内存区域分为堆、栈、方法区和程序计数器。垃圾回收主要针对堆内存,通过可达性分析判断对象是否存活。Java采用分代回收策略:新生代使用复制算法,老年代采用标记整理。相比引用计数,可达性分析避免了循环引用问题但耗时更长。Rust通过编译器检查实现内存管理,无需运行时GC但语法复杂。JVM分代回收基于对象生命周期特点,将对象分为新生代(频繁回收)和老年代(较少回收),并采用不同回收算法提高效率。

2025-08-13 09:14:32 417

原创 归并思想[合并两个有序链表]

本文介绍了归并排序思想在链表排序中的应用。归并排序时间复杂度为O(nlogn),特别适合无法随机访问的链表结构。核心步骤包括:1)使用快慢指针找到中点并断开链表;2)递归拆分链表至最小单元;3)通过merge方法有序合并子链表。文章详细解析了找中点的快慢指针算法和合并两个有序链表的具体实现,并以LeetCode 148题为例,阐述了递归拆分的本质是将链表分解为原子单元(单个节点),再通过逐步合并构建有序链表的过程。这种"化整为零,聚零为整"的方法确保了链表的高效排序。

2025-08-13 08:51:10 1098

原创 二叉搜索树中第K小个元素

摘要:本文探讨了二叉搜索树中查找第K小元素的两种解法。最优解利用二叉搜索树的中序遍历特性(LDR),直接按升序访问节点,时间复杂度为O(K)。通用解法使用最大堆(优先级队列)保存K个最小元素,适用于普通二叉树,时间复杂度为O(NlogK)。文章强调了二叉搜索树"左<根<右"的特性是中序遍历有序的关键,并提供Java代码实现两种解法。

2025-08-12 09:13:07 317

原创 验证二叉搜索树

我的理解是,要掌握递归,首先要掌握两个关键点。LeetCode98:验证二叉搜索树。那什么时候适合用递归呢?如何找到递归的终止条件?常见的适用于递归的场景。

2025-08-11 22:59:56 400

原创 再谈cookie和session(结合表白墙具体案例)

再谈cookie和session(结合表白墙具体案例)

2025-04-29 15:10:47 692

原创 表白墙程序

从0开始使用sevlet写一个表白墙的小网站.

2025-04-28 13:42:54 1069

原创 sevlet API

本篇博客主要讨论了sevlet的一些API,也就是sevlet中的一些常见的方法的理解与使用

2025-04-28 12:50:37 1017

原创 Servlet (简单的servlet的hello world程序)

从0开始的简单的servlet的hello world程序

2025-04-27 23:47:18 916

原创 Tomcat的安装与配置

Tomcat的安装与配置,为了应付学校教的老式的东西.

2025-04-27 23:19:30 849

原创 HTTP,请求响应报头,以及抓包工具的讨论

HTTP,请求报头详解以及响应报头详解,以及关于抓包工具的使用

2025-04-01 12:40:15 1239

原创 网络原理(续)(网段划分,IPV6,动态分配,DNS等)

网络原理(续)(网段划分,IPV6,动态分配,DNS等)

2025-03-31 14:07:41 619

原创 网络原理(详解TCP原理,应答机制三握四挥等)

网络原理(详解TCP原理,应答机制三握四挥等)

2025-03-31 13:50:36 1315

原创 网络编程及回显服务器

主要介绍了回显服务器的原理以及编写.

2024-10-29 14:39:23 1333

原创 网络通信基础及网络传输的基本流程

基础的网络通信概念的介绍以及在网络通信时,接收方与发送方之间的基本流程

2024-10-29 13:10:47 584

原创 Java中类和对象

浅浅的谈一下类和对象

2024-07-04 14:09:20 1058

原创 SQL索引事务

SQL索引事务

2024-07-04 13:56:02 884

原创 Java中的文件IO

主要描述了Java中的文件IO操作

2024-07-04 13:25:22 995

原创 JUC(java.util.concurrent)的常见类

主要讲述JavaJUC(java.util.concurrent)中的常见类

2024-07-04 13:03:32 1094

原创 CAS操作

在面对ABA问题,CAS的基本思路是正确的,但是主要是修改操作能够进行反复横跳,就容易让咱们CAS的判定失效.CAS判定的是"值相同",实际上期望的是"值没有变化过"如果约定,值只能单向变化,那不就可以判断了吗?CAS的关键要点是比较寄存器1和内存的值,通过这里的值是否相等来判定内存的值是否发生了变化,如果内存的值变了,那么就存在其他线程对其进行了修改,如果内存的值没有变,那么就说明没有其他线程进行修改,接下来进行的修改就是安全的.这个对于编写线程安全的代码是非常重要的.我们为什么会有线程安全问题?

2024-07-03 13:30:10 395

原创 常见锁策略之可重入锁VS不可重入锁

可重入锁VS不可重入锁以及死锁的在解释与Java中synchronized

2024-07-03 13:11:36 1311

原创 常见的锁策略

主要提出几种多线程编程中常见的锁策略

2024-07-03 10:52:23 483

原创 RejectedExecutionHandler 以及线程池的自行实现

用代码自行实现线程池以及Java多线程编程中的拒绝方式和拒绝策略

2024-04-28 21:12:10 983 1

原创 线程池与工厂模式

简单用案例讲解Java线程池以及工厂模式

2024-04-15 11:00:11 684

原创 定时器(一个小例子)

一个简单一点的定时器的代码,就是一个小例子.

2024-02-04 13:16:42 557 1

原创 阻塞队列以及生产者消费者模型

阻塞队列以及生产者消费者模型,以及自我实现一个阻塞队列.

2024-02-04 12:48:08 868

原创 单例模式下的懒汉模式及饿汉模式

单例模式中的懒汉模式以及饿汉模式,以及这两种模式的线程安全问题

2023-12-01 18:45:39 1037

原创 多线程编程中关于wait和notify关键字

多线程编程中wait和notify关键字以及wait与sleep之间的区别

2023-12-01 18:23:17 1090

原创 多线程编程中内存可见性问题以及volatile关键字

多线程编程中内存可见性问题以及volatile关键字

2023-11-29 17:24:29 976

原创 线程安全问题

线程安全问题以及synchronized关键字

2023-11-28 13:39:19 814

原创 线程的状态

线程的状态中,最重要的就是就绪状态和阻塞状态了,其他的状态出场率都不怎么高.

2023-11-25 14:22:46 421

原创 Thread 类及常见的用法

Thread 就是在Java中,线程的代言人.系统中的一个线程,就对应到Java中的一个Thread对象,围绕线程的各种操作,都是通过 Thread来展开的

2023-11-23 21:18:25 979

原创 进程与线程的区别与联系

谈谈,进程和线程的区别与联系

2023-11-21 21:48:12 106

原创 进程的调度

简单讲解进程调度是怎么一回事

2023-11-21 00:04:07 82

原创 MySQL的增删改查(进阶)

关于MySQL的一些使用语法

2023-11-18 15:57:20 315 1

原创 链表内指定区间反转

[牛客]链表内指定区间反转详解

2023-10-13 17:32:06 370

原创 SQL的增删改查(操作均有具体案例)

MySQL的增删改查

2023-10-11 00:49:04 206 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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