代老师的博客 https://github.com/daichangya

Java高级面试指南-技术问题

问题一:请简要介绍一下你在 Java 项目中使用过的设计模式,并举例说明其应用场景。 单例模式: 确保一个类只有一个实例,并提供一个全局访问点。 比如在日志系统中,通常只需要一个日志记录器实例,避免重复创建资源浪费。通过双重检查锁或者静态内部类的方式实现单例模式,可以保证在多线程环境下的安全性和高效

daicy daicy 发布于 2024-11-20

第九章:实现过滤器(Filter)和监听器(Listener)-Minitomcat

功能目标: 增加 Filter 和 Listener 支持,用于在请求处理过程中插入额外的操作或监听事件。 实现 Filter 接口,支持请求过滤,例如日志记录、认证拦截等功能。 实现 Listener 接口,支持监听 Servlet 上下文或会话的创建和销毁事件。 实现内容: 实现 Filter

daicy daicy 发布于 2024-11-19

第八章:实现异步请求支持(基于 Servlet 协议)-Minitomcat

在本章中,我们将进一步扩展 MiniTomcat,加入对 Servlet 协议的支持,特别是 异步请求处理。Servlet 3.0 引入了异步请求处理的机制,允许请求在后台异步处理,从而避免了阻塞主线程,提高服务器处理效率,特别是在处理长时间运行的请求(如文件上传、大数据处理等)时。 8.1 功能目

daicy daicy 发布于 2024-11-19

第七章:实现多线程支持-Minitomcat

在这一阶段,我们将为 MiniTomcat 添加多线程支持,以提高服务器的并发处理能力。通过使用线程池,我们能够同时处理多个客户端请求,而不阻塞其他请求。这将使服务器在处理并发请求时更加高效,能够更好地支持多个用户同时访问。 7.1 功能目标 多线程支持:使用线程池来管理线程,并为每个客户端请求分配

daicy daicy 发布于 2024-11-19

第六章:支持 Session 和 Cookie-Minitomcat

本步骤将实现对 HTTP Session 和 Cookie 的支持,以便维护客户端的会话状态,使每次请求能够识别为同一客户端并跟踪状态。我们将实现一个计数器 Servlet,用于记录每个客户端的访问次数。 6.1 功能目标 实现会话管理:通过 HttpSession 支持为每个客户端分配唯一的 Se

daicy daicy 发布于 2024-11-19

第五章:支持 Servlet 配置和 URL 映射-MiniTomcat

本步骤将实现基于 web.xml 配置文件的 Servlet 路由映射和初始化参数支持,使得 MiniTomcat 能根据配置自动调用相应的 Servlet 处理请求。 5.1 功能目标 配置文件管理路由和初始化参数:通过 web.xml 文件管理 Servlet 映射和初始化参数。 URL 路径映

daicy daicy 发布于 2024-11-19

HTTP 请求与响应的封装 - HttpServletRequest 和 HttpServletResponse-MiniTomcat系列课程准备

在 MiniTomcat 的开发过程中,我们需要将请求数据从低级的 Socket 输入输出流中抽象出来,以简化后续处理和响应的构建。通过创建 HttpServletRequest 和 HttpServletResponse 接口,我们可以为开发者提供更易用的请求和响应操作接口,类似于标准的 Serv

daicy daicy 发布于 2024-11-19

Java 网络I/O 流基础

在构建 MiniTomcat 的过程中,处理网络请求和数据传输是不可或缺的环节,而这正是 Java 的输入/输出(I/O)流可以帮助实现的。I/O 流用于读取和写入数据,从而实现客户端和服务器之间的数据交互。因此,深入理解 Java I/O 流将有助于我们为 MiniTomcat 实现处理 HTTP

daicy daicy 发布于 2024-11-19

HTTP 协议基础-MiniTomcat系列课程准备

在开始实现 MiniTomcat 的核心功能之前,我们需要深入理解 HTTP 协议。HTTP(超文本传输协议)是互联网通信的基础协议,也是 Web 服务器(例如 Tomcat)与客户端(如浏览器)进行交互的主要协议。理解 HTTP 的工作原理将帮助我们在后续步骤中处理请求、响应和数据传输。 1. H

daicy daicy 发布于 2024-11-19

Java 网络基础-MiniTomcat系列课程准备

在这个模块中,我们将深入学习 Java 网络编程的基础知识。这些技能是构建 MiniTomcat 必不可少的,因为 MiniTomcat 需要通过 HTTP 协议与客户端(如浏览器)进行通信。掌握网络编程的基本概念将帮助我们更好地理解 HTTP 连接、请求和响应等重要组件的实现。 1. Java 网

daicy daicy 发布于 2024-11-19

Java 文件I/O 基础-MiniTomcat系列课程准备

我们将从 Java I/O 的基础知识开始,为构建 MiniTomcat 打下坚实的文件处理和网络输入输出的基础。在这个模块中,你将了解 Java 中的 I/O 系统,学会使用字节流和字符流进行数据传输,并掌握常见的文件处理操作。 1. Java I/O 概览 Java 中的 I/O(输入/输出)操

daicy daicy 发布于 2024-11-19

Servlet工作原理解析

从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了

daicy daicy 发布于 2024-11-11

第三章:实现连接器(Connector)组件-MiniTomcat

上一章内容:第二章:解析 HTTP 请求,支持静态文件-MiniTomcat 在本章节中,我们将引入连接器(Connector)组件,用于管理 HTTP 连接和请求数据的解析。连接器的作用是负责客户端的网络连接,同时解耦网络传输和请求处理的逻辑。 3.1 功能目标 管理 HTTP 连接:连接器组件负

daicy daicy 发布于 2024-11-09

spymemcached源码深入分析

一、简介 spymemcached 是一款使用 NIO 实现的 memcache 客户端,在理解它之前,需要先了解 NIO、memcached 使用和 memcached 协议相关知识。 (一)NIO 相关概念 在 Java 中,NIO 常被称为异步 IO,在 Linux 系统编程中,它实际上是事件

daicy daicy 发布于 2024-11-09

使用IDEA查看及运行Tomcat源码指南 2024

引言 在Java Web开发领域,Apache Tomcat作为一款开源的Web服务器和Servlet容器,其源码对于开发者来说具有极高的学习和参考价值。通过深入研究Tomcat的源码,我们可以更好地理解Java Web开发的核心技术和原理。本指南将详细介绍如何在IntelliJ IDEA(简称ID

daicy daicy 发布于 2024-11-08

第二章:解析 HTTP 请求,支持静态文件-MiniTomcat

上一章内容 第一章:实现基础 HTTP 服务器-MiniTomcat 在本章节中,我们将为 HTTP 服务器增加对请求路径、方法和头部信息的解析能力,并基于请求路径返回服务器上的静态文件内容。通过实现这一功能,我们将使服务器能够类似于静态资源服务器,为客户端提供 HTML、CSS、JavaScrip

daicy daicy 发布于 2024-11-07

第一章:实现基础 HTTP 服务器-MiniTomcat

在这一章中,我们将从零开始编写一个简单的 HTTP 服务器。这个服务器的基本功能是监听一个端口,接收来自客户端的 HTTP 请求,并返回一个 HTTP 响应。我们将使用 Java 的 ServerSocket 类来实现网络监听,并通过简单的 InputStream 和 OutputStream 来处

daicy daicy 发布于 2024-11-07

2024 Mac电脑Jdk,Maven,Idea的安装与配置,Spring boot项目创建

目录 l JDK安装与配置 l Maven安装与配置 l IDEA安装与配置 l Spring Boot项目创建与运行 JDK安装与配置<

daicy daicy 发布于 2024-11-05