当前位置: 首页 > news >正文

20240128周报-网络太杂,Tomcat太难

今天来做个小总结吧,之前说想用几个月的时间将Java生态给整理一遍,该工作已经进入第三周了。先和各位老老板汇报一下上一周的工作,然后说一下本周的计划和后面的计划。

1.上周工作

上周的计划是将网络和Tomcat的内容梳理一番,但是在执行的时候发现这两个看似简单的内容一点都不简单。

首先是网络,我们现在只要关注应用层的问题, 在整理的时候发现HTTP的协议本身确实不是很复杂,但是HTTP的实战场景是非常多的。这个后面持续积累吧。

其次是Tomcat,凡是从事过Java开发的同学,应该没人不知道Tomcat,最近研究其代码,发现这个看似很熟悉的工具,其实现并不简单, 甚至还挺复杂的。所以最近Tomcat的更新也就慢了下来。

前面我们说了,想提高自己,一个好的方式是“简单的事情深入做,复杂的事情简化做”。那Tomcat就是“简单的事情深入做”的典型。

在最近看Tomcat源码的时候发现有几个重要的技术专题可以在Tomcat中深入研究:

1.NIO,Tomcat在管理外部连接请求的时候使用的就充分考虑了多种IO模型的问题,我们之前一般学习Netty的时候才会重点研究这内容,但是不代表只有netty需要。因此对比Tomcat和Netty

,我们可以融会贯通研究IO,吊打面试官就容易多了。

2.双亲委派机制机制以及如何打破双亲委派机制,在学习JVM的时候,我们会花很多精力来研究双亲委派机制的问题,那有什么地方继续拓展双亲委派机制呢?笔者知道的有两个典型的场景会涉及,一个就是Tomcat,一个是Dubbo。Tomcat之所示使用,是因为一个Tomcat可以执行多个web程序,而不同的web程序之间的版本可能是不一样的,比如有的是Spring4,有的是Spring5,那这时候执行的时候很容易发生包冲突等情况,而Tomcat打破双亲委派机制的原因就是为了解决这个问题。

3.线程池问题,我们在学习多线程的时候,都学过原生Java多线程模型的问题,而Tomcat对其进行了扩展,那为什么要扩展,如何扩展的,有什么好处,都是值得我们研究的问题。这个问题理解清楚了,我们以后看Java程序会非常通透。

2.本周工作

本周继续研究Tomcat,努力将其基础结构、核心机制、常见优化策略整理清楚。准备发布博客10篇左右。

加油!

相关文章:

20240128周报-网络太杂,Tomcat太难

今天来做个小总结吧,之前说想用几个月的时间将Java生态给整理一遍,该工作已经进入第三周了。先和各位老老板汇报一下上一周的工作,然后说一下本周的计划和后面的计划。 1.上周工作 上周的计划是将网络和Tomcat的内容梳理一番,但…...

DES加密原理

DES加密算法综合运用了置换、代替、代数等多种密码技术,具有设计精 巧、实现容易、使用方便等特点。DES加密算法的明文、密文和密钥的分组长度 都是64位,详细的DES加密算法结构如图6-10所示。 图6-10 DES加密算法结构图 DES加密过程如下所示&#xff…...

react 之 useCallback

简单讲述下useCallback的使用方法,useCallback也是用来缓存的,只不过是用于做函数缓存 // useCallbackimport { memo, useCallback, useState } from "react"const Input memo(function Input ({ onChange }) {console.log(子组件重新渲染了…...

OfficeWeb365 Readfile 任意文件读取漏洞复现

0x01 产品简介 OfficeWeb365 是专注于 Office 文档在线预览及PDF文档在线预览云服务,包括 Microsoft Word 文档在线预览、Excel 表格在线预览、Powerpoint 演示文档在线预览,WPS 文字处理、WPS 表格、WPS 演示及 Adobe PDF 文档在线预览。 0x02 漏洞概述 OfficeWeb365 Rea…...

UnityShader(十三)Unity内置的函数

在计算光照模型时我们需要得到许多数据,比如光源方向、视角方向这种基本信息。 在之前的例子中都是自行在代码里计算的,比如: normalize(_WorldSpaceLight0Pos.xyz) 得到光源方向(这种方法实际只适用平行光) normaliz…...

【开源】基于Qt5的ROS1/ROS2人机交互软件(支持地图编辑/多点导航)

本项目基于Qt5开发,基于CMake进行构建,可以实现一套代码同时在ROS1/ROS2系统中使用(本项目已接入CI,保证多ROS版本/系统版本可用性) 项目地址: https://github.com/chengyangkj/Ros_Qt5_Gui_App 软件在编译时会自动识别环境变量中的ROS1/ROS…...

Spring和SpringBoot的区别是什么

Spring 和 Spring Boot 是 Java 开发领域内两个极其重要且紧密相关的框架,它们各自在企业级应用开发中扮演着不同的角色,并带来了一系列革新性的变化。以下是关于两者之间主要区别的详细分析: 一、设计理念与定位 Spring Framework Spring 是…...

布局技巧及CSS初始化

一,margin负值巧妙应用 二,文字围绕浮动元素 三,行内块 四,CSS三角强化 五,CSS初始化 一,margin负值巧妙应用 制作盒子的细线边框: 鼠标经过li后变色: 二,文字围绕…...

excel怎么设置密码?轻松保护您的工作表

在数字化时代,数据的安全性显得尤为重要。excel作为我们日常工作中广泛使用的办公软件,其中可能包含了大量的敏感数据。为了确保这些数据不被未授权的人访问,本文将为您详细介绍excel怎么设置密码,从而有效地保护您的数据安全。 方…...

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TimePicker组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TimePicker组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、TimePicker组件 TextClock组件通过文本将当前系统时间显示在设备上。支持不…...

Springboot集成Camunda并完成一条流程实例

💖专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据,完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧😘 💖设计流程定…...

宠物用品/宠物自动饮水机方案

宠物自动饮水机方案原理 宠物自动饮水机,也叫做智能宠物饮水机,是一种为宠物设计的智能化饮水器。应用核心主要在于智能化水泵控制,以及外围传感器电路。 宠物自动饮水机使用方便,不用频繁的换水。另外,自来水的水质可…...

git小白进阶之路

git是最常用的版本控制工具,我对其进行了整理后续补充,这个文档欢迎大家来讨论,当前我的视频梳理: git小白进阶之路_哔哩哔哩_bilibili,非常希望大佬们能够批评指正,并多多交流。 目录 初始配置 配置账号…...

哈希表——C++

目录 一、首先使用拉链法: 二、开放寻址法 三、字符串哈希 1.具体如何使用进制的方式来存储字符前缀的可以看这个y总的这个图 2.接下来说一说算某个中间的区间的字符串哈希值 哈希表是一种数组之间互相映射的数据结构,比如举个简单的例子一个十个的数…...

LabVIEW叶片厚度远程监控

LabVIEW叶片厚度远程监控 随着网络技术的高速发展,远程监控广泛应用在各个领域。本文介绍了一种基于LabVIEW的植物叶片厚度远程监控系统,旨在实现对植物生长状况的精准监测和分析。 该系统利用LabVIEW软件开发工具,通过TCP网络协议实现数据…...

el-table动态合并

废话就不多说了&#xff0c;直接上代码&#xff01;&#xff01;&#xff01; 合并行 // 方法一 <template><div class"container"><el-table :data"dataSource" :border"true":header-cell-style"{ font-weight: normal,…...

【DevOps】产品需求文档(PRD)与常见原型软件

文章目录 1、PRD介绍1.1、概述1.2、前提条件1.3、主要目的1.4、关键内容1.5、表述方式1.6、需求评审人员1.7、一般内容结构 2、需求流程3、常见原型软件3.1、Word3.2、Axure3.2.1、详细介绍3.2.2、应用分类3.2.3、优缺点 3.3、摹客RP3.4、蓝湖3.5、GUI Design Studio 1、PRD介绍…...

【QT+QGIS跨平台编译】之十八:【Expat+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、Expat介绍二、文件下载三、文件分析四、pro文件五、编译实践一、Expat介绍 Expat库最初由James Clark创建,已经成为许多编程语言中常用的XML解析工具。它以其简单、快速和可靠的特点而受到广泛的认可和使用。 Expat库的优点包括: 快速:Expat的解析速度非常快…...

20240203

1.项目经理正在为新项目制订进度计划&#xff0c;项目的成功取决于使用需要政府颁发特殊环境许可证的设备&#xff0c;在网络图的设计过程中&#xff0c;项目经理应该做什么以确保正确的活动排序&#xff1f; A.使用滚动式规划考虑项目不确定性 B.分析外部依赖关系&#xff0c;…...

【Spark实践6】特征转换FeatureTransformers实践Scala版--补充算子

本节介绍了用于处理特征的算法&#xff0c;大致可以分为以下几组&#xff1a; 提取&#xff08;Extraction&#xff09;&#xff1a;从“原始”数据中提取特征。转换&#xff08;Transformation&#xff09;&#xff1a;缩放、转换或修改特征。选择&#xff08;Selection&…...

3分钟搞定:IDM无限试用重置工具完整使用指南

3分钟搞定&#xff1a;IDM无限试用重置工具完整使用指南 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset 你是否曾因Internet Download Manager&#xff08;IDM&#xff09;试用期结束…...

向上汇报技巧:让领导听懂技术价值

在软件测试领域&#xff0c;技术价值往往被埋没于复杂的缺陷报告和测试用例中。许多测试工程师投入大量精力保障产品质量&#xff0c;却因汇报不当导致领导无法理解其贡献。向上汇报不仅是信息传递&#xff0c;更是价值传递的艺术。它能让领导清晰看到测试工作在效率提升、成本…...

Qwen3.5-9B-AWQ-4bit Node.js环境配置指南:解决npm与模块安装问题

Qwen3.5-9B-AWQ-4bit Node.js环境配置指南&#xff1a;解决npm与模块安装问题 1. 环境准备与快速部署 在开始之前&#xff0c;我们需要确保星图GPU平台的基础环境已经就绪。Qwen3.5-9B-AWQ-4bit模型需要特定的GPU资源支持&#xff0c;而Node.js环境则是我们后续开发的基础。 …...

2026年盘点:谁在引领互联网医疗软件的口碑与运营新风向?

随着2026年的到来&#xff0c;互联网医疗行业已从早期的“跑马圈地”进入“精耕细作”的下半场。单纯的技术堆砌或一张互联网医院牌照&#xff0c;已不再是制胜法宝。市场口碑与持续运营能力&#xff0c;成为检验一家技术服务商价值的核心标尺。那么&#xff0c;究竟是谁在引领…...

YOLO-v8.3镜像5分钟快速部署:告别手动配置,一键开启目标检测

YOLO-v8.3镜像5分钟快速部署&#xff1a;告别手动配置&#xff0c;一键开启目标检测 如果你正在寻找一个快速部署YOLOv8目标检测模型的方法&#xff0c;那么这篇文章就是为你准备的。传统的手动部署方式需要花费数小时配置环境、安装依赖和调试问题&#xff0c;而使用YOLO-v8.…...

告别预编译库:手把手教你从源码构建OpenCL开发环境(ARM64平台专属指南)

告别预编译库&#xff1a;手把手教你从源码构建OpenCL开发环境&#xff08;ARM64平台专属指南&#xff09; 在ARM64架构的嵌入式开发领域&#xff0c;预编译的OpenCL库往往成为性能调优的瓶颈。当你在RK3588这样的高性能平台上开发时&#xff0c;是否遇到过驱动版本不匹配、API…...

springboot+deepseek实现AI接口调用

deepseek注册流程就不复述了&#xff0c;需要的小伙伴可以留言&#xff0c;单独指导。需要调用deepseek大模型接口的来看看了&#xff0c;直接上代码DsControllerpackage com.example.demo.controller;import com.example.demo.service.DsService; import org.springframework.…...

关于 SSR,我承认我之前只是“会用”而已

SSR、Hydration 这些词在 Web 前端领域非常常见&#xff0c;开发者经常能接触到这个概念。但是&#xff0c;这些是什么&#xff1f;为什么&#xff1f;怎么用&#xff1f;过去我都没有深究下去&#xff0c;关于 SSR&#xff0c;我承认我之前只是“会用”而已。 一、区分 CSR 还…...

OpenClaw 不会安装的,一键安装包来了,代码开源!有

一、核心问题及解决方案&#xff08;按踩坑频率排序&#xff09; 问题 1&#xff1a;误删他人持有锁——最基础也最易犯的漏洞 成因&#xff1a;释放锁时未做身份校验&#xff0c;直接执行 DEL 命令删除键。典型场景&#xff1a;服务 A 持有锁后&#xff0c;业务逻辑耗时超过锁…...

PHP5.2下chunk_split()函数整数溢出漏洞 分析

受影响系统&#xff1a; PHP PHP < 5.2.3 不受影响系统&#xff1a; PHP PHP 5.2.3 描述&#xff1a; -------------------------------------------------------------------------------- BUGTRAQ ID: 24261 CVE(CAN) ID: CVE-2007-2872PHP是一种流行的WEB服务器端编程语言…...