今天,Canonical 正式发布了 Ubuntu 24.10(代号 Oracular Oriole) 的测试版,为广大用户提供了一个提前体验即将发布的正式版本的机会。Ubuntu 24.10 的正式版预计将在 2024 年 10 月 10 日 发布。作为一年中的重要版本,测试版不仅展示了新功能,也为用户提供了反馈和调试的机会。 新版 Ubuntu 搭载…
如果你是 Vim 或 Neovim(下一代Vim) 用户,可能早已感受过其强大的文本编辑功能,但配置起来却总是有些麻烦。 幸运的是, LunarVim 这一项目为你提供了一个简化 Vim 配置的现代化解决方案,开箱即用,且高度灵活,能够满足从新手到资深开发者的各种需求。 LunarVim 是一个基于 Neovim 的IDE实现,旨在为开发者提供一个现代化的…
对于 macOS 用户来说,剪贴板管理工具其实也是能够极大提高日常工作效率的常用工具之一。 而在众多工具中, Maccy 凭借其轻量级、简洁、高效的特点,成为了一款备受欢迎的开源剪贴板管理工具。它专注于一项功能: 保留复制历史记录提供快速访问 ,用户体验极为流畅自然。 项目介绍 Maccy 是一个开源的轻量级的 macOS…
Spug 是专为中小型企业设计的轻量级、无Agent的自动化运维平台。它整合了主机管理、批量执行、应用部署、监控、报警等核心功能,它以开源的方式,为企业提供了一个全面、高效的运维解决方案。 主要功能亮点: 批量执行 :在线批量执行主机命令,简化操作 在线终端 :通过浏览器直接登录主机终端 文件管理 :支持文件在线上传、下载 任务计划…
随着数字化办公和电子合同的普及,PDF 文档已经成为很多业务场景中的标准文件格式。为了确保文档的安全性和法律效力,电子签章技术应运而生。电子签章不仅可以证明文件的真实性,还能防止文件被篡改。在本文中,我们将详细讲解如何使用 Spring Boot 3.3 与 Apache PDFBox 集成,来实现电子签章功能。我们将结合 PDFBox 这一强大的 PDF…
前言 前文中分析了 Http11Processor#process 方法是怎么处理请求的,其中关键的地方就是调用 CoyoteAdapter 的相关方法。 1. CoyoteAdapter#asyncDispatch @Override public boolean asyncDispatch(org.apache.coyote.Request req,…
前言 前文中讲到了 CoyoteAdapter 的 asyncDispatch 和 service 方法处理请求的过程,其中最重要的就是调用了 Engine 里的 Pipeline 对象的 Valve 对象的 invoke 方法,也就是 StandardEngineValve#invoke 方法。Valve 对象相关介绍之前里提到过,这里就不多介绍了。…
前言 前文分析了各个容器相关的 Pipeline 属性对象的 的 Valve 属性对象的 invoke 方法。在最后的 StandardWrapperValve 方法里调用 ApplicationFilterChain#doFilter 方法,本文分析一下这个方法。 1. ApplicationFilterChain#doFilter /** *…
前言 前文讲到了 ConnectionHandler#process 方法,其中最关键的步骤是获取一个 org.apache.coyote.Processor 对象,然后调用这个对象的 process 方法,传入的参数就是它自己接收的参数,也就是 和 NioSocketWrapper 对象 和 SocketEvent 对象。tomcat 中 用于处理…
前言 Tomcat 是后端服务最常见的web容器,关于 Tomcat 一个重要的话题就是它的类加载机制,本文就基于 9.0.16 版本介绍一下 Tomcat 的类加载机制。 有几个类加载器? 在Tomcat的启动类 org.apache.catalina.startup.Bootstrap 里定义了三个 ClassLoader 类型的属性…