- 博客(91)
- 收藏
- 关注

原创 【HTTPS】采用的加密策略, 什么是中间人攻击? 什么是证书?
HTTPS 仅仅使用对称加密, 无法安全传输 Key, 使用非对称加密即可, 但会有"中间人攻击"风险, 所以引入证书, 通过校验证书能够判断对端是否值得信任, 整个复杂的机制都是为了确保安全的传输Key, 然后才能传输数据
2023-07-01 22:43:21
1483
2

原创 【TCP 协议1】三次握手和四次挥手到底是什么意思?
你一定听说过三次握手和四次挥手, 到底是什么呢? 过程是怎样的? 其实一点也不难!!看完本篇就懂了
2023-05-16 22:45:47
728
3
原创 【Linux】Java 程序员必会的 Linux 最常用的命令
汇总 Java 程序员必须必须必须必须要需要掌握的一些 Linux 的常用命令
2023-12-08 00:22:00
1299
1
原创 【JVM】 类加载机制、类加载器、双亲委派模型详解
JVM 中的类加载机制, 分为加载, 验证, 准备, 解析, 初始化五步, 在第一步 “加载” 中, 涉及到了 “双亲委派模型” , 而这又建立在三层类加载器的基础上
2023-10-03 19:46:01
922
原创 【JVM】运行时数据区(内存区域划分)详解
JVM 中内存区域划分为:堆,本地方法栈,虚拟机栈,元数据区,程序计数器,这些区域的作用和特点你了解吗?栈溢出,内存泄漏,内存溢出分别是什么?有什么联系?
2023-10-03 17:30:33
992
原创 从零手搓一个【消息队列】实现虚拟主机的核心功能
本篇主要实现了"虚拟主机", 类似于数据库, 虚拟主机的作用是为了隔离不同业务线的数据, 虚拟主机把硬盘(数据库+文件)和内存这两个模块的数据管理整合在一起, 并且封装了一系列核心 API, 供上层( BrokerServer )调用
2023-10-03 14:46:03
554
原创 从零手搓一个【消息队列】实现数据的硬盘管理和内存管理(线程安全)
对数据库和文件中的数据进一步整合, 封装成硬盘数据管理, 实现内存中对交换机, 队列, 绑定, 消息的增删查, 并支持并发场景下的线程安全
2023-10-01 14:49:35
421
原创 从零手搓一个【消息队列】实现消息在文件中的存储
使用ObjectOutputStream和ObjectInputStream实现对象的序列化/反序列化, 设计文件存储的格式和规范, 自主实现垃圾回收机制以及对文件上数据的管理
2023-10-01 00:52:16
706
原创 从零手搓一个【消息队列】创建核心类, 数据库设计与实现
充分结合面向对象思想, 创建出了交换机, 队列, 绑定, 消息, 等核心概念的类, 使用 SQLite, 并结合 MyBatis 编写了交换机, 队列, 绑定的建表, 增, 删, 查的 sql, 对数据库的初始化, 判断存在, 删除等做进一步的封装
2023-09-30 15:19:04
926
原创 Java【手撕链表】LeetCode 143. “重排链表“, 图文详解思路分析 + 代码
一道中等难度的题竟然一次性融合了3个题型![寻找中间结点]+[链表逆序]+[合并两个链表], 图文并茂详解经典链表题目"重排链表"
2023-09-29 19:26:57
836
原创 从零手搓一个【消息队列】项目设计、需求分析、模块划分、目录结构
可跨主机的生产者消费者服务器程序,用于服务器之间的解耦,流量削峰;使用RPC模式,由客户端发送网络请求,远程调用服务器以操作交换机、队列、发布消息、订阅消息等;由服务器实现相关逻辑、持久化存储、异步转发消息等
2023-09-29 15:56:28
563
原创 Java【多线程】Callable 是什么, 如何使用并理解 Cllable, 和 Runnable 有什么区别?
Callable 是一个函数式接口, 也是用于创建线程, 把线程封装了一个 "返回值", 方便程序猿借助多线程的方式计算结果, 通常需要搭配 FutureTask 使用, 调用 get() 方法即可获取返回值
2023-09-29 12:55:03
1059
原创 Java【手撕链表】LeetCode 2. “两数相加“, 图文详解思路分析 + 代码
图文并茂详解经典链表题目"两数相加", 使用傀儡头结点辅助构建新链表
2023-09-28 09:34:48
434
原创 Java【手撕滑动窗口】LeetCode 438. “字符串中所有异位词“, 图文详解思路分析 + 代码
一般来说, 如果我们研究的对象是 "连续的区间" 就可以考虑滑动窗口, 滑动窗口其实就是"同向双指针", 滑动窗口的特点是, 前后两个指针不会回退, 并且窗口总是向前滑动, 窗口不是固定大小的, 可能边长也可能变短, 如果你在分析题目的时候发现了这些特征, 那就基本是滑动窗口的解法了
2023-09-03 16:44:02
1063
原创 Java【手撕滑动窗口】LeetCode 3. “无重复字符的最长子串“, 图文详解思路分析 + 代码
一般来说, 如果我们研究的对象是 "连续的区间" 就可以考虑滑动窗口, 滑动窗口其实就是"同向双指针", 滑动窗口的特点是, 前后两个指针不会回退, 并且窗口总是向前滑动, 窗口不是固定大小的, 可能边长也可能变短, 如果你在分析题目的时候发现了这些特征, 那就基本是滑动窗口的解法了
2023-08-30 10:00:00
574
原创 【SpringBoot】两种配置文件, 详解 properties 和 yml 的语法格式, 使用方式, 读取配置
详解SpringBoot中properties和yml这两种配置文件的语法格式, 系统配置项和自定义配置项的使用方式, 配置信息的读取方式, 使用@Value或@ConfigurationProperties
2023-08-29 09:35:39
5142
3
原创 Java【手撕滑动窗口】LeetCode 209. “长度最小子数组“, 图文详解思路分析 + 代码
一般来说, 如果我们研究的对象是 "连续的区间" 就可以考虑滑动窗口, 滑动窗口其实就是"同向双指针", 滑动窗口的特点是, 前后两个指针不会回退, 并且窗口总是向前滑动, 窗口不是固定大小的, 可能边长也可能变短, 如果你在分析题目的时候发现了这些特征, 那就基本是滑动窗口的解法了
2023-08-29 09:35:09
495
原创 Java【手撕双指针】LeetCode 18. “四数之和“, 图文详解思路分析 + 代码
"查找的本质是排除", 利用干这一思想 + 使用对撞双指针, 快速解出"四数之和", 本题和 "三数之和(以两数之和为基础)" 的思想基本一致
2023-08-28 09:04:50
703
原创 Java【手撕双指针】LeetCode 15. “三数之和“, 图文详解思路分析 + 代码
"查找的本质是排除", 基于这一思想+使用对撞双指针, 在"两数之和"这道题的基础上, 快速解出"三数之和"
2023-08-28 08:30:48
491
原创 【SpringBoot】使用 HandlerInterceptor 拦截器进行用户登录验证? 为什么不使用 SpingAOP ?
拦截器 HandlerInterceptor 相比于 SpringAOP 有两大优点 : 1. preHandle() 可以轻松的获取并使用 request 和 response 对象. 2. addInterceptors() 中将自定义的拦截器加入到系统配置, addPathPatterns() 和 excludePathPatterns() 配合可以很自由的定义拦截规则. 拦截器会在Controller 层之前执行, 执行我们定义的预处理逻辑
2023-08-28 04:27:58
697
原创 【Spring】什么是 AOP(面向切面编程) ? 为什么要有 AOP ? 如何实现 Spring AOP ?
AOP(Aspect Oriented Programming)面向切面编程, 这是一种思想, 是对某一类事情的集中处理, 其核心思想是将那些与业务逻辑无关, 但是被多处业务逻辑模块共享的代码(比如判断用户登录, 日志管理, 权限检查, 事务管理等)抽取出来集中处理, 这样, 开发者可以将更多的精力放在处理核心业务逻辑上
2023-08-27 10:33:52
1567
原创 Java【手撕双指针】LeetCode 57. “两数之和“, 图文详解思路分析 + 代码
"查找的本质是排除 ! !" 如何利用这一思想 + 双指针快速解出两数之和?
2023-08-24 02:30:26
883
原创 Java【手撕双指针】LeetCode 611. “有效三角形个数“, 图文详解思路分析 + 代码
"查找的本质是排除 ! ! !", 如何利用这一思想结合"对撞双指针", 巧解出有效三角形的个数? 简单题也有大学问 ! 本题重点讨论查找时, "对撞双指针"的遍历方式
2023-08-23 07:47:46
555
原创 Java【手撕双指针】LeetCode 11. “盛水最多的容器“, 图文详解思路分析 + 代码
"查找的本质就是排除 ! ! !" 如何利用这种思想, 配合对撞双指针快速解出本题
2023-08-22 11:49:56
379
原创 Java【手撕双指针】LeetCode 202. “快乐数“, 图文详解思路分析 + 代码
双指针基础题型 ! 借鉴"判断链表是否有环"的思想, 使用快慢双指针快速判断一个数是否为"快乐数"
2023-08-22 09:52:49
388
1
原创 Java【SpringBoot】SpringBoot 和 Spring 有什么区别? SpringBoot有哪些优点?
Spring 是一个轻量级的开源框架, 是一个包含了众多方法工具的 IoC容器, 而 SpringBoot 是 Spring 的"脚手架", 是为了快速开发 Spring 而诞生的框架, 所以是对Spring 的扩展和延伸
2023-08-22 05:12:28
680
原创 Java【HTTP】什么是 Cookie 和 Session? 如何理解这两种机制的区别和作用?
Cookie 是浏览器客户端在本地存储用户自定义数据的一种机制, 而 Sesion 是服务器存储用户身份信息的一种机制, 这两种机制有什么联系和区别呢?
2023-08-21 13:37:25
1804
原创 Java【手撕双指针】LeetCode 1089. “复写零“, 图文详解思路分析 + 代码
「数组分两块」是⾮常常⻅的⼀种题型,主要就是根据⼀种划分⽅式,将数组的内容分成左右两部分。这种类型的题,⼀般就是使⽤「双指针」来解决
2023-08-21 09:14:08
286
原创 Java【手撕双指针】LeetCode 283. “移动零“, 图文详解思路分析 + 代码
「数组分两块」是⾮常常⻅的⼀种题型,主要就是根据⼀种划分⽅式,将数组的内容分成左右两部分。这种类型的题,⼀般就是使⽤「双指针」来解决
2023-08-21 08:23:04
258
原创 Java【动态规划】图文详解 “路径问题模型“ , 教你手撕动态规划
本篇总结动态规划中的"路径问题模型": 不同路径, 最大礼物价值, 下降路径最小和, 最小路径和, 地下城游戏
2023-08-18 12:00:54
1701
原创 【Spring】Bean 的作用域和生命周期
Bean 的作用域和生命周期是面试中很常见的问题, 就连字节, 百度等大厂也常考, 本文就介绍 Bean 的六种作用域, 和生命周期( 5 步执行流程)
2023-08-17 11:25:09
491
原创 【MySQL】面试必问 : 并发执行事务可能存在的问题, 事务的四种隔离级别
MySQL 中面试必问内容, 非常重要 ! ! 介绍了并发执行事务事存在的幻读, 不可重复读, 幻读问题, 以及四种隔离级别下能够不同程度的解决这些问题
2023-08-12 12:12:17
686
原创 【Spring】使用类注解或方法注解, 更简单的存储和获取 Bean
使用 @Controller、@Service、@Repository、@Component、@Configuration 这五大类注解可以存储 Bean, 使用 @Bean 这个方法注解并搭配`任意一个类注解`可以将返回值作为 Bean 存储, 使用 @Autowired 可以进行属性注入, setter 注入, 构造方法注入, 实现方便的获取 Bean
2023-08-10 09:44:19
1023
原创 【Spring】项目创建、存储和获取 Bean 的基本方式
各位读者好, 我是小陈,这是我的个人主页, 希望我的专栏能够帮助到你:📕JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等📗Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等📘JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)提示:是正在努力进步的小菜鸟一只,如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说,直接上干货!
2023-07-29 00:08:55
912
原创 【Spring】 核心概念: 什么是 IoC, 什么是 DI?
学习 Spring 第一课 ! 要理解 Spring 是一个 IoC 容器, 如何理解 IoC? 如何理解 DI?
2023-07-23 23:24:34
534
原创 【Servlet】如何创建 Maven 项目,使用 Servlet 编写第一个 helloword 程序
各位读者好, 我是小陈,这是我的个人主页, 希望我的专栏能够帮助到你:📕JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等📗Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等📘JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)提示:是正在努力进步的小菜鸟一只,如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说,直接上干货!
2023-07-03 22:48:38
292
原创 Java【动态规划】斐波那契数列模型, 图文思路详解 + 代码实现
总结分享四道[斐波那契数列模型] 的题目 : 第N个泰波那契数, 三步问题, 最小爬楼梯花费, 解码方案
2023-07-02 22:28:01
5297
原创 【HTTP 协议2】如何构造 HTTP 请求
构造一个HTTP请求可以通过在地址栏输入URL, HTML中的特殊标签, form 表单, ajax等
2023-06-30 22:32:08
1132
原创 【HTTP 协议1】图文详解 HTTP 请求和应答报文
超详细介绍HTTP协议中请求和应答报文中GET和POST的区别, URL, Header中的重要属性, 常见的状态码等
2023-06-29 23:01:32
7409
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人