- 博客(13)
- 收藏
- 关注
原创 Java 实现二叉搜索树:遍历、查询、构建
本文详细介绍了二叉搜索树(BST)的实现与应用。首先阐述了BST的核心特性:左子树节点值小于根节点,右子树节点值大于根节点。然后通过Java代码完整实现了BST的构建、前序/中序/后序/层次四种遍历方式以及节点查询功能。其中,中序遍历可得到升序序列,层次遍历采用队列实现广度优先搜索。测试案例验证了各功能的正确性,展示了BST在查找和插入操作上的高效性(平均O(logn)时间复杂度)。文章强调理解BST的有序特性是实现其核心功能的关键,为初学者提供了清晰的学习路径。
2025-12-17 20:30:39
263
原创 Servlet 与 Tomcat 的底层执行逻辑及自定义 Tomcat 实现
本文深入解析JavaWeb中Servlet与Tomcat的协作机制。Servlet作为HTTP请求处理规范,采用分层设计(Servlet接口→GenericServlet→HttpServlet→自定义实现),降低开发复杂度。Tomcat作为Servlet容器,负责请求处理的完整流程:监听端口→解析请求→匹配Servlet→调用处理→返回响应。文章还演示了如何手动实现简易Tomcat容器,包括Servlet映射、请求解析、实例化调用等核心步骤。通过剖析底层原理,帮助开发者更深入理解JavaWeb技术栈的运行
2025-12-06 12:49:05
1680
原创 手写Tomcat(一):Java Socket 通信与线程池
本文介绍了Java网络编程中Socket通信与线程池优化的核心方法。首先讲解了Socket的基本概念及其在网络分层中的作用,然后通过BIO模式实现基础的客户端-服务器通信。针对单线程阻塞问题,提出子线程优化方案,并进一步分析其在高并发场景下的局限性。最后详细介绍了线程池优化方案,包括工作原理、核心参数配置、四种拒绝策略对比,并给出完整的线程池优化Socket服务器实现代码。文章还提供了参数调优建议和扩展方向,帮助开发者构建高性能的网络通信系统。
2025-12-03 21:06:41
992
原创 Java Web 登录功能练习
本文详细介绍了基于AJAX的登录功能实现方案。前端采用jQuery进行无刷新交互,通过POST方式安全传输用户名和密码参数;后端Servlet接收请求后进行非空校验和身份验证,返回"success"或"error"响应结果。文章重点解析了前后端参数名一致性、非空判断必要性、中文乱码处理等关键问题,并提供了完整的交互流程和常见错误解决方案。该方案实现了无刷新登录体验,确保数据传输安全性,适合作为Web开发的入门实践案例。
2025-11-24 00:03:44
977
原创 Java Web 注册功能练习
本文介绍了基于Servlet的注册功能实现方案。前端通过HTML表单整合文本框、密码框、单选按钮、复选框和下拉列表等多种组件收集用户信息,采用POST方式提交数据确保安全性。后端Servlet通过@WebServlet注解注册映射路径,重写doPost方法处理请求,重点解决中文乱码问题和参数获取逻辑。文章详细解析了前后端交互流程,包括表单组件的name-value规则、POST请求优势、复选框参数处理等核心知识点,并提供了404错误、中文乱码等常见问题的解决方案。整个方案实现了用户注册信息的完整收集和安全传
2025-11-23 19:00:00
898
原创 零基础创建Servlet实操
本文详细介绍了使用IDEA旗舰版创建Servlet项目的完整流程。从JDK8、Tomcat8.5/9.0等前置环境配置,到新建Web项目、配置Tomcat服务器、创建JSP/HTML页面等核心步骤,最后通过添加Servlet依赖和编写测试代码完成验证。重点解决了新手常见的"缺少Web选项"、"Tomcat部署失败"等问题,提供可复现的操作步骤,确保零基础开发者也能成功搭建Servlet开发环境并运行测试。
2025-11-23 14:16:44
574
原创 Java集合
Java集合框架主要包含Set、List、Queue和Map四种体系。List接口的实现类包括ArrayList、LinkedList和Vector:ArrayList基于动态数组实现,查询快但增删慢,默认容量10,支持泛型;LinkedList基于双向链表,增删效率高但查询慢,提供首尾操作方法;Vector是线程安全的动态数组,但性能较差,已较少使用。List常用操作包括添加(add)、删除(remove)、查询(get/contains)和遍历(迭代器/for循环)等。ArrayList适合查询多场景,
2025-11-09 00:04:21
773
原创 Java的继承和多态
摘要:本文系统讲解了Java继承的核心概念与应用。继承的本质在于代码复用和体系化设计,通过extends关键字实现子类对父类非private成员的继承。文章详细分析了继承特点(单继承、多层继承、Object根类)、可继承内容(成员变量/方法)与限制(构造方法、private成员等)。重点探讨了方法重写与重载的区别,以及多态的实现机制:父类引用指向子类对象时,会优先调用子类重写方法但无法直接访问子类新增方法。最后通过类型转换的经典例题,演示了多态环境下方法调用的匹配规则与向上转型原则。全文贯穿代码示例,完整呈
2025-11-02 22:56:28
359
原创 Java中的基本输入输出和流程控制语句
本文介绍了Java中的基本输入输出和流程控制语句。输入部分讲解了如何获取int、double类型和字符串输入,以及检测输入是否结束。循环部分展示了while和for循环的使用场景,包括退休存款计算和彩票概率计算。条件语句部分演示了if-else和switch-case的用法,特别是包含了一个简单的计算器示例,展示了如何根据运算符执行不同的算术运算。这些基础语法是Java程序开发的核心组成部分,适用于各种控制流程和数据处理场景。
2025-10-29 21:28:02
380
原创 运行第一个java程序、Java基本数据类型及进制转换
摘要:本文介绍了Java编程基础,包括驼峰命名法创建Java文件(Hello.java示例)、编译运行步骤、注释类型(单行//和多行/* */)。详细说明Java基本数据类型(整型、浮点型、字符型、布尔型)和引用类型(类、接口、数组)。重点阐述进制转换方法:二进制(0b前缀)、八进制(0前缀)、十进制和十六进制(0x前缀)的表示方式,以及二进制与十进制互转的除余法/拼凑法,二进制与八进制/十六进制的三位/四位分组转换法。
2025-10-29 15:41:03
337
原创 计算机底层执行语言的原理
文章摘要:本文系统阐述了程序执行的硬件流程和存储原理。从源代码编译到二进制文件加载,详细解析了CPU、内存、磁盘三大核心硬件的协作机制,包括磁盘磁极存储原理、磁头读取数据的电磁感应过程,以及文本数据的编码转换。同时介绍了Java程序在内存中的分区运行机制(栈、堆、方法区)和操作系统通过二进制指令控制硬件的底层逻辑,完整呈现了从高级语言到机器指令的转换执行链条。
2025-10-28 13:31:33
1004
原创 java基础
Java数据类型可分为基本类型(整型、浮点型、字符型、布尔型)和引用类型。基本类型采用二进制补码存储,解决了原码和反码的正负零问题。编程语言定义数据类型是为了明确数据在内存中的存储方式。强类型语言(Java/C/C++)需显式声明类型,而弱类型语言(Python/JS)由编译器推断。文中还介绍了函数定义、复合函数和斐波那契数列的递归实现,并详细说明了补码的计算原理及其在整型存储中的应用。
2025-10-25 23:51:56
546
原创 JavaScript变量与数据类型
摘要:本文介绍了JavaScript中的变量定义与数据类型特性。主要内容包括:1)弱类型语言的隐式/显式变量定义方式;2)自动和强制类型转换方法;3)变量作用域(全局/局部)及变量提升现象;4)常量定义规范;5)JS基本数据类型(数值、布尔、字符串等)及其与C语言的差异;6)字符串常用操作方法。重点阐述了弱类型语言的特点、类型转换机制以及变量作用域规则,并提供了相关代码示例说明。
2025-10-13 12:39:33
238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅