红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
开发工具
开发工具

Netty 学习笔记 3:编解码器

黏包 在 Netty 中向通道写入并刷新一段数据,并不意味着客户端会立即将数据打包发送给服务端,因为底层的 TCP/IP 协议为了优化数据传输,往往会在数据量较小时,将多个数据包合并成一个数据包进行发送,或者在数量较大时,拆分成多个数据包进行发送。因此服务端收到数据包并使用 ByteBuf 读取数据时,会读到不完整或连在一起的多次发送的数据。这就是所谓的黏包/半包问题。 解决黏包/半包通常有这么几种方式: 用换行符分隔 用指定特殊字符分隔 用指定长度的字节数组传输数据 使用一个4字节整型指定数据体长度 Netty …

2026年5月12日 0条评论 10点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Netty 学习笔记 2:Hello World

Hello World 添加依赖: <dependency>    <groupId>io.netty</groupId>    <artifactId>netty-all</artifactId>    <version>4.1.132.Final</version> </dependency> 服务端: // 构建服务端的辅助类 new ServerBootstrap()    // 添加事件循环组   .group…

2026年4月30日 0条评论 49点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Netty 学习笔记 1:NIO

NIO(non-blocking IO) 是 java 1.4 引入的新的 I/O 模型,相对于传统 IO,它的优势是非阻塞式的。 CS 模式的演变 要说明为什么需要 NIO,需要阐述 CS(Client-Server)模式的网络通信的演变。 最初和最简单的 CS 架构是这样的: 当服务端和客户端建立 socket 连接后,服务端启动一个单独的线程负责处理这个连接,直到任务完成,客户端断开连接。 如果连接数不多,这样的模式是可行的,因为单独的线程处理客户端请求,响应快延迟低。但如果连接数很多,就会在服务端产生大量的…

2026年4月30日 0条评论 48点热度 0人点赞 魔芋红茶 阅读全文
开发工具

多标签页登录

工作中需要在同一个网站上登录多个用户,通常是开多个不同的浏览器,但是这样很消耗内存,发现一个 Chrome 插件可以实现不同的浏览器标签使用不同的 Session 以实现同一个浏览器同一个网站登录多个用户。 插件页面: https://chromewebstore.google.com/detail/sessionhub-multi-account/okjdkjeiihhiaakknbecdkdakmnhaaem 安装好后打开你需要多开的网站,并点击插件: 点击 + 号会为该网站生成一个独立的 Session: 现…

2026年4月9日 0条评论 102点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Git 学习笔记 11:变基

在 Git 中,将两个分支的代码进行整合有两种方式:合并(merge)和变基(rebase)。 基本操作 假设一个很常见的操作,从 main 分支拉取一个特性分支,并且出现分叉: 可以用下图表示: 如果通过合并操作将特性分支整合到主分支,会最终变成: 这样做很简单,但查看日志会发现这些分叉和合并。 因此可以选择通过变基的方式整合代码: ❯ git checkout feature/1 ❯ git rebase main 变基时的主次是很重要的,变基(rebase)的意思是改变当前分支的地基为目标分支,因此为了将特性…

2026年2月6日 0条评论 198点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Python 项目版本控制

Python 项目的版本通过 pyproject.toml 文件指定: [project] name = "markdown-img-icexmoon" version = "2.0.3" description = "A program for find and upload images in markdown file and will replace them." readme = "README.md" requires-python = ">=3.13" 但这样做有一个问题,这个用于描述项目信息的…

2026年2月5日 0条评论 166点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Git 学习笔记 10:分支管理

分支管理 查看当前仓库的所有(本地)分支: ❯ git branch  dev  feature/1  feature/2 * main  release/260126  temp-v1.0  testing 这里的*标记的分支是当前生效的分支,即HEAD指针指向的分支。 可以使用-v查看每个分支最后一次提交记录: ❯ git branch -v  dev            20631fd hello3  feature/1      8b8dbd9 add school  feature/2      106…

2026年2月4日 0条评论 129点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Git 学习笔记 9:分支概览

与 SVN 不同,Git 的每次提交都像是对整个文件系统的一次快照。可以把每次提交想象成以下的样子: commit1表示一个初始提交,包含所有的文件内容,在这个示例中是 A B C 三个文件。 commit2表示在初始提交后的一个提交,仅对文件 B 进行了修改,该提交中包含完整的文件 B,以及对其他文件(A 和 B)的引用(因为它们没有修改)。 Git 中对每次提交的真实存储结构是: 图源:git-scm.com 最左侧的 commit 表示一次提交,包含表示提交唯一身份的 SHA1 值,以及提交信息(作者、提交人…

2026年2月4日 0条评论 141点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Git 学习笔记 8:命令别名

有些命令比较冗长难记,比如如果要撤销某个暂存区文件: ❯ git reset HEAD -- ch1/demo/src/main/java/cn/icexmoon/learngit/demo/entity/Teacher.java 当然也可以使用 git restore --staged。 可以设置一个命令别名: ❯ git config --global alias.unstage 'reset HEAD --' 现在我们可以使用别名执行命令: ❯ git unstage ch1/demo/src/main/ja…

2026年2月3日 0条评论 136点热度 0人点赞 魔芋红茶 阅读全文
开发工具

Git 学习笔记 7:标签

创建标签 如果要为分支最近的一次提交添加标签: ❯ git tag v1.0 标签名称可以是任何内容,但通常标签用于版本标记。 此时再查看日志,就会在相应的提交记录上看到标签: 查看分支拥有的标签: ❯ git tag v1.0 通过上述方式创建的标签是一个轻量级标签,如果查看标签会发现仅包含提交记录的信息,但并不包含标签本身的信息(比如标签是谁添加的、标签的添加时间等): ❯ git show v1.0 commit 26eb547f1dc13719c5f8785e5161d7e988578862 (HEAD -…

2026年2月3日 0条评论 140点热度 0人点赞 魔芋红茶 阅读全文
12345…12

魔芋红茶

加一点PHP,加一点Go,加一点Python......

技术栈
  • SpringMVC SpringMVC
  • MySQL MySQL
  • Go lang Go lang
  • php php
  • Java Java
  • SpringBoot SpringBoot
  • 设计模式 设计模式
  • Linux Linux
  • Wordpress Wordpress
  • Python Python
  • Git Git
  • Activiti Activiti
  • SpringCloud SpringCloud
  • debug debug
  • 前端开发 前端开发
  • Redis Redis
  • Maven Maven
  • 生活随笔 生活随笔
项目
  • Spring Easy Spring Easy
  • MD-img MD-img
  • oa-demo oa-demo
  • auto-hot-key auto-hot-key
  • haokan-down haokan-down
  • i-tree i-tree
  • 油猴脚本 油猴脚本
  • activiti-util activiti-util
  • bilibili-down bilibili-down
  • ph-note ph-note
  • M3U-Helper M3U-Helper
  • PEP中文 PEP中文
工具箱
  • 我的Windows软件列表 我的Windows软件列表
Music
最新 热点 随机
最新 热点 随机
Netty 学习笔记 3:编解码器 Netty 学习笔记 2:Hello World Netty 学习笔记 1:NIO JavaScript 学习笔记 11:其它 JavaScript 学习笔记 10:代理 JavaScript 学习笔记 9:模块
JavaScript 学习笔记 8:生成器JavaScript 学习笔记 9:模块JavaScript 学习笔记 10:代理JavaScript 学习笔记 11:其它Netty 学习笔记 1:NIONetty 学习笔记 2:Hello World
Linux 之旅 11:Linux 账号管理与 ACL 权限设置 历经10年,我写了一个没人用的编程语言 PEP 636 -- Structural Pattern Matching: Tutorial 从零开始 Spring Boot 3:数据库 资本家仅仅是资本家 从零开始 Spring Boot 8:Swagger
最近评论
魔芋红茶 发布于 3 周前(04月20日) 如果激活时出现 We could not validate your license FV8EM46...
魔芋红茶 发布于 4 年前(03月12日) 不好意思,上个月有点事,没空搞网站,现在弄好了,已经启用了新域名,谢谢关心~~
fuckbaidu 发布于 4 年前(02月25日) 兄弟,你新网址一直没备案成功
魔芋红茶 发布于 4 年前(12月18日) 谢谢。
啊长 发布于 4 年前(12月16日) 膜拜大佬了,希望越做越好 :exclaim:
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号