- 博客(24)
- 收藏
- 关注
原创 面试中Spring Web MVC,带你吃透
Spring Web MVC 是基于 Servlet API 构建的 MVC 设计模式实现框架,用于处理 Web 请求与响应。核心包括:Controller 处理请求、Model 管理数据、View 展示结果。通过 @RequestMapping 等注解实现路由映射,支持 GET/POST 请求,可接收单个参数、对象、数组、集合及 JSON 数据。使用 @RequestBody 接收请求体,@PathVariable 获取路径参数,@RequestPart 上传文件,@SessionAttribute 和
2026-10-29 19:12:22
172
原创 Java虚拟机(JVM),面试参考
JVM是Java跨平台运行的核心,将Java字节码翻译为机器指令。其运行流程包括编译、类加载、执行与Native调用。JVM主要由类加载器、运行时数据区(堆、栈、程序计数器、元空间)、执行引擎和JNI组成。堆用于存储对象,通过分代回收策略(新生代复制算法、老年代标记-整理)管理内存。垃圾回收基于可达性分析判断对象是否可回收,避免循环引用问题。双亲委派模型保障类加载的安全性与唯一性。异常在运行期抛出,编译期仅检查语法。
2026-10-06 09:37:29
209
原创 网络原理HTTPS
HTTPS是在HTTP基础上引入加密层的安全协议,通过非对称加密协商对称密钥,实现数据机密性与完整性。其核心是数字证书与数字签名机制,由CA机构验证服务器身份并签发证书,防止中间人攻击。客户端通过校验证书合法性获取可信公钥,再用其加密对称密钥,确保通信安全。整个过程依赖三组密钥:证书验证、密钥协商与数据加密,最终以高效对称加密保障传输安全。
2026-10-02 10:35:05
219
原创 网络原理HTTP
HTTP/1.1是应用层协议,基于TCP实现,用于浏览器与服务器间传输数据。用户访问网站时,浏览器发送HTTP请求,服务器返回响应。协议包含请求方法(如GET、POST)、URL结构、请求头(如Host、Content-Type)、请求体及状态码(如200、404)。通过抓包工具可分析报文格式,理解其工作流程。请求与响应均由首行、头部和正文组成,以空行分隔。关键概念包括幂等性、缓存机制、Cookie与Session机制、状态码分类及编码规范。
2026-10-01 14:41:23
180
原创 IP协议必会知识
本文系统介绍了IP协议核心概念,包括主机与路由器的区分、IP头格式各字段功能(如版本、TTL、标识、分片等),以及地址管理机制。重点阐述了CIDR划分方式、子网掩码作用、私有/公网IP区别及NAT技术原理。通过实例说明网络号计算、路由选择过程,并解析了NAT在内网通信中的地址转换机制,揭示了其在缓解IPv4地址短缺问题中的关键作用。
2026-09-26 16:42:49
185
原创 考试和面试必会的网络知识:TCP协议特性
本文系统阐述了TCP协议的核心机制:通过三次握手建立连接、四次挥手断开连接,确保通信可靠性;利用确认应答、超时重传与滑动窗口提升传输效率;结合流量控制(窗口大小调节)与拥塞控制(慢启动、快速重传)平衡性能与网络负载;辅以延迟应答、捎带应答等优化技术。针对粘包问题提出分隔符、固定长度等解决方案,并对比UDP在可靠性、效率与适用场景上的差异。最终指出,TCP的复杂性源于其在“可靠传输”与“高效性能”间的双重追求。
2026-09-21 19:10:12
192
原创 探索网络原理UDP
UDP协议为无连接、不可靠的传输层协议,采用数据报模式,不保证顺序、重复或出错处理。其校验和机制可检测数据错误,但无法定位具体错误位置。UDP最大报文长度约64KB,适用于对实时性要求高、容忍丢包的应用,如DNS、TFTP、NFS等。因缺乏重传与确认机制,可能丢包、乱序或重复,且发送方不感知网络状态,易加剧拥塞。
2026-09-16 21:34:24
35
原创 带你探索Java网络编程
本文系统介绍了网络编程基础,涵盖网络通信的必要性、基本概念(如客户端/服务端、请求/响应)、Socket套接字原理及Java实现。重点讲解了UDP数据报套接字(无连接、面向数据报)与TCP流套接字(有连接、面向字节流)的编程模型,通过EchoServer与EchoClient案例演示了基于DatagramSocket和ServerSocket的通信流程,并引入多线程与线程池优化服务端并发处理能力,实现高效、稳定的网络应用开发。
2026-09-11 21:54:03
166
原创 网络原理:初识网络的一些基本概念
<think>我们根据内容生成摘要,≤150字。需要概括IP地址、端口、协议、分层、封装分用、通信流程等。注意字数。尽量简洁。</think>IP地址定位主机,端口定位程序,协议规定通信规则。网络分层降低复杂度,TCP/IP五层模型各司其职。发送时逐层添加协议头(封装),接收时逆向去除(分用)。通信由五元组确定,经交换机、路由器转发,最终应用层获取数据,完成主机间传输。
2026-09-05 15:39:14
225
原创 Java文件IO
<think>我们根据内容生成摘要,不超过150字。内容是关于IO、存储、文件系统及Java文件操作。摘要需概括核心。</think>本文介绍了IO概念与慢速原因,涵盖存储与持久化、HDD/SSD差异、文件系统结构(目录、路径、权限)及Java文件操作API,并演示了文件查找、复制和内容搜索的实践示例。
2026-09-04 22:01:19
215
原创 JavaEE多线程进阶(上)
悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别⼈会修改,所以每次在拿数据的时候都会上锁, 这样别⼈想拿这个数据就会阻塞直到它拿到锁。乐观锁:假设数据⼀般情况下不会产⽣并发冲突,所以在数据进⾏提交更新的时候,才会正式对数据是否产⽣ 并发冲突进⾏检测,如果发现并发冲突了,则让返回⽤⼾错误的信息,让用户决定如何去做。偏向锁发生竞争,锁还没有释放 → 撤销偏向锁,升级为轻量级锁。不可重入锁:简单来说就是把自己锁死,如果一个线程没有释放锁,反而再次申请锁就会锁死自己,操作系统的mutex就是不可重入锁。
2026-08-27 11:01:53
182
原创 带你理解JavaEE多线程基础(下)
本文摘要: 文章系统讲解了Java多线程编程的核心知识点:1) volatile关键字的内存可见性保证与原子性局限;2) wait/notify线程通信机制的原理、使用场景及与sleep的区别;3) 单例模式的饿汉/懒汉实现、线程安全问题及DCL双重检查优化;4) 阻塞队列的生产者-消费者模型及其解耦优势;5) 线程池的工作原理、工厂模式应用及拒绝策略;6) 定时器的优先队列实现与忙等问题解决方案。通过代码示例演示了各技术的实际应用,并对比分析了不同实现方案的性能差异与适用场景,为构建高效线程安全程序提供了
2026-08-18 22:20:10
166
原创 带你理解JavaEE多线程基础(上)
本文系统介绍了Java线程的核心知识,主要内容包括: 线程基础 进程与线程概念对比:进程是资源分配单位,线程是执行单位,共享进程资源 三种创建线程方式:继承Thread类、实现Runnable接口、Lambda表达式 Thread类详解 构造方法、属性(ID/名称/状态等)、核心方法(start/interrupt/join/sleep等) 前台线程与守护线程的区别 线程状态与转换 六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED 状态转移
2026-08-13 21:48:24
286
原创 解决创建Docker容器拉取镜像慢,Windows 导出离线镜像部署 ShardingSphere Proxy
安装Docker Desktop后执行,这里我用的是5.3.2,根据自己的需求设置版本号然后把桌面的包传到虚拟机里(我用的是windterm拖进去的,或者xftp都行)
2026-07-20 16:49:43
32
原创 Map、Set及哈希表
本文介绍了Java集合框架中的Set、Map接口以及哈希表和二叉搜索树的实现原理。Set接口具有元素唯一、无序的特性,常用实现类有TreeSet和HashSet;Map接口存储键值对,Key唯一,主要实现类为TreeMap和HashMap。详细讲解了二叉搜索树的查找、插入、删除操作实现,包括四种删除情况的处理。哈希表部分阐述了哈希冲突的解决方法(线性探测法和链地址法),并实现了哈希桶结构,包含put、get、remove等核心操作以及扩容机制。全文通过代码示例展示了这些数据结构的实际应用和实现细节。
2026-02-19 14:07:03
1056
原创 数据结构排序
本文系统介绍了七种经典排序算法,分为插入类(直接插入、希尔)、选择类(直接选择、堆)、交换类(冒泡、快速)和归并排序。详细阐述了各算法的核心思想、实现逻辑、时间/空间复杂度及稳定性特点,并提供了完整的Java代码实现。重点分析了快速排序的分区机制和非递归实现,以及归并排序的分治策略。通过对比表格总结了各算法的适用场景:插入排序适合小数据量,堆排序适合内存受限场景,快速排序是通用大数据量首选,而归并排序则适用于海量数据和稳定排序需求。文章还简要介绍了计数排序的原理,为开发者提供了全面的排序算法参考指南。
2026-02-16 19:01:23
682
原创 Java 异常指南
自定义异常类,然后继承自Exception 或者 RunTimeException实现一个带有String类型参数的构造方法,参数含义:出现异常的原因自定义异常通常会继承自 Exception 或者 RuntimeException继承自 Exception 的异常默认是受查异常继承自 RuntimeException 的异常默认是非受查异常.
2026-01-28 12:52:03
646
原创 javaSE:String专题知识
(1)几种定义方式结果:(2)字符串常量池:java内置机制,JVM运行时会自动构造,不用程序员关注(3)不可变:String类被final修饰,表明value自身的值不能改变,即不能引用其它字符数组,但是其引用空间中 的内容可以修改((4)String常量自己会变是——你拿到的已经是,只是变量名 reuse 了。
2026-01-27 10:32:30
601
原创 Java 实现简易图书馆管理项目
(1)系统中能表示多本图书信息(2)管理员、用户(3)普通用户:查看书籍列表、查找图书(按照名字)、借书、还书(4)管理员:查看书籍列表、查找图书(按照名字)、增加、删除。
2026-01-25 19:16:07
790
原创 抽象类 vs 接口:一篇让面试官闭嘴的深度解析
但是仍然需要实现Cloneable接口才可以使用clone方法,这是JVM的硬性规定(JVM内部C++完成的,java层面感知不到),注意使用clone方法时要进行类型转换(因为默认是Object类型),Object类型下面会说。Java里面除了Object类,所有的类都是存在继承关系的。在Java中,类和类之间是单继承的,一个类只能有一个父类,即Java中不支持多继承,但是一个类可以实现多个接口。(4)对于接口的类来说,没什么可以继承的,没有重用的内容,反而严格按照接口提供的抽象方法在子类进行重写。
2026-01-23 21:49:45
714
原创 javaSE基础部分:多态
通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状 态;或者说一个对象(引用)具备多个形态,先明确对象是哪个形态再决定后续行为和逻辑。
2026-01-21 21:18:04
555
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅