自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 【Linux】Vim的介绍及其常用的操作(后续不断进行补充,方便学习,仅学习经常用到的)

本文介绍了Vim编辑器的主要模式切换及常用命令。Vim包含普通模式、插入模式和末行模式,但插入模式和末行模式不能直接切换。普通模式下提供文件导航(gg/G)、删除(dd/ndd)、复制(yy/nyy)等操作,支持分屏显示文件(vim -O/-o)和窗口切换(ctrl w w)。插入模式通过i/o/a键进入编辑。末行模式提供文件保存(:w)、退出(:q)等命令,支持强制操作(!)和另存为功能。

2025-08-11 23:51:47 137

原创 【Go】Go 中 defer 与 return 的执行顺序及闭包影响详解

Go defer 机制解析(≤150字) 本文深入分析了 Go 语言 defer 的核心特性与实现原理。关键点包括: 基础机制:defer 实现延迟调用,确保资源释放,执行顺序为 LIFO,参数在声明时求值 返回值交互: 命名返回值:defer 闭包直接修改返回值内存,影响最终返回 局部变量:return 先拷贝值到临时变量,defer 仅修改局部变量副本 底层实现: 命名返回值分配固定栈空间,闭包捕获引用 局部变量通过临时变量(autotmp)实现值拷贝 汇编代码显示关键 MOVQ 指令差异 典型场景演示

2025-08-11 10:58:35 809

原创 【Go】Java 与 Go 在 Web 框架中请求处理模型的深度对比

本文对比了Java与Go在Web框架中处理请求模型的差异。Java基于显式线程同步机制,请求与线程强绑定,依赖ThreadLocal传递上下文,子线程需手动管理生命周期,存在资源泄漏风险。Go采用轻量级goroutine协作模型,通过Context实现上下文传递和自动生命周期联动,子任务可响应取消信号,资源占用低且管理简单。两种模型在并发单元特性、请求绑定关系、上下文传递和子任务管理方面各具特色,适应不同场景需求。

2025-08-10 21:45:39 668

原创 【Go】Java 和 Go 在处理并发任务关联时的处理方式有什么不同呢?与 Java 相比, Go 的处理方式有什么优势呢?

Java和Go在处理主任务与子任务关联时存在显著差异:Java依赖显式控制,通过Future和线程中断实现子线程管理,复杂度高且易产生僵尸线程;Go采用隐式协作机制,通过context传递取消信号,子goroutine可自主感知主任务状态并退出。Java基于重量级线程需手动管理,而Go的轻量级goroutine天然适合高并发场景,通过context实现简洁的任务生命周期同步。两种设计反映了不同的并发模型理念。

2025-08-10 20:55:03 440

原创 【Docker】为什么用 `docker-compose.yml` 管理容器?相对于普通启动命令的优势在哪里?

Docker Compose 通过 YAML 文件简化容器管理,解决多容器部署的痛点。它替代了冗长的 docker run 命令,自动处理服务依赖关系,支持批量操作和集中配置管理。本文以 Redis(单容器)和 Kafka(依赖 ZooKeeper)为例,提供完整的配置文件和操作步骤,包括安装、启动验证和日常管理命令。关键说明指出 docker-compose.yml 仅在容器创建阶段生效,之后可通过普通 docker 命令管理已创建的容器并沿用配置,实现高效便捷的容器编排。

2025-08-06 09:45:26 708

原创 【开发工具】提升 Golang 开发效率的 VS Code 插件推荐

本文推荐了提升Golang开发效率的VS Code插件合集。重点包括版本控制工具(Git Graph/Git Lens)、代码辅助工具(Tabnine AI/Error Lens)、界面优化插件(vscode-icons/One Dark Pro)以及Golang专属支持插件(Go语言插件/Golang postfix/Paste JSON as Code)。这些插件分别从代码管理、智能补全、错误检测、界面美化等维度优化开发体验,但建议精选插件避免软件臃肿。特别推荐Golang开发者必备的代码补全和JSON

2025-08-04 15:35:11 878

原创 【后端】什么是RESTful API?为什么需要遵循RESTful API呢?有什么好处?

RESTful API是一种基于HTTP协议的设计规范,核心是通过资源为中心组织接口,利用HTTP原生特性实现简洁可扩展的服务交互。其核心特点包括:1)以URI标识资源(仅包含名词);2)使用标准HTTP方法(GET/POST/PUT/DELETE等)表达操作;3)采用JSON作为主要数据格式;4)通过HTTP状态码反馈结果;5)无状态通信。这种设计使接口具有自解释性,兼容性强且易于维护,通过统一规范降低交互成本。虽然RESTful是规范而非强制标准,但其"用HTTP特性描述资源操作"的

2025-08-03 22:35:18 993

原创 【Linux】Linux第二课:除了 / 的核心作用,路径末尾的 / 有什么作用呢?以及程序员常用Linux目录以及核心目录都有哪些?

摘要 Linux文件系统中,/既是根目录起点,也是路径分隔符。其关键特性包括:路径末尾的/强制标识目录类型,避免操作歧义;连续//会被自动合并;与符号链接交互时影响解析行为。核心目录包括:/etc(系统配置)、/home(用户文件)、/opt(第三方软件)、/var(动态数据)等。程序员常用/usr/local安装共享工具,/tmp存放临时文件。理解这些路径规则和目录用途,对系统管理和开发部署至关重要。

2025-08-03 17:20:06 855

原创 【Linux】Linux第一课:为什么Linux的命令行使用命令加参数的模式来实现诸多功能呢?

Linux命令模式:历史约束下的设计典范 Linux命令行中"命令+参数"的模式源于1960年代硬件资源极度匮乏的环境。早期Unix系统在4KB内存的PDP-7计算机上运行,这种模式通过单一可执行文件配合参数分支,避免了"多命令"模式导致的存储和内存冗余。电传打字机时代对输入效率的极致要求,促成了短参数设计的诞生。 半个世纪后,该模式仍不可替代,其优势在于: 极致效率:记忆一个核心命令+联想参数比记忆多个命令更高效; 灵活组合:支持动态参数生成和管道操作,适合脚本编程

2025-08-03 16:04:53 779

原创 【Linux】解决在扩充Ubuntu硬盘容量后,再启动时遇到的“Failed to start gdm.service” 错误

摘要: VMware虚拟机运行Ubuntu时若出现“Failed to start gdm.service”错误,通常与snapd服务冲突或硬件配置变动有关。解决方法包括:1)进入GRUB恢复模式;2)卸载snapd(apt autoremove --purge snapd);3)重启后系统可正常进入图形界面;4)必要时重装snapd。关键注意硬件调整后的系统检查,以及snapd与图形环境的兼容性问题。此方案有效解决启动卡死问题,恢复系统正常运行。

2025-08-03 02:25:59 2768 2

原创 【Go】为什么Go把接口和函数都设计 ”一等公民“ 并且是引用类型呢?

Go的接口和函数作为一等公民,具备引用语义设计:接口采用双指针结构避免拷贝,函数通过闭包引用代码和环境。相比Java需显式实现接口或包装函数,Go通过隐式接口和直接函数引用,兼顾性能与简洁。其核心设计哲学是隐藏底层复杂性,以引用类型实现高效统一的行为抽象,同时保持语法层面的极简。

2025-07-20 19:47:41 746

原创 解决VsCode中代码无法提示以及无法点击查看源码问题

解决VsCode中代码无法提示以及无法点击查看源码问题

2025-07-19 21:03:40 452

原创 【Go】手把手教你在VsCode中配置Go的运行环境并运行第一个Go程序

本文详细介绍了在VsCode中配置Go运行环境的完整步骤:首先下载安装VsCode,然后安装Go插件和必备工具包;接着创建Go项目,初始化go.mod文件;最后通过一个"Hello world"示例程序演示了代码编写和运行过程。文章还提供了问题排查指引,包括配置Go Modules模式和阿里云镜像以解决插件安装失败问题。配置完成后,用户可以在VsCode中顺利编写、运行和调试Go程序。

2025-07-16 21:48:12 932

原创 【Go】手把手教你在Windows下配置Go的运行环境并运行第一个Go程序

本文详细介绍了在Windows系统下安装配置Go语言开发环境的完整步骤。主要内容包括:1)从官网下载.msi安装包进行安装;2)配置GOPATH和GOROOT环境变量;3)设置Go Modules模式并配置阿里云镜像源;4)演示了三种运行第一个Go程序的方法(系统编辑器、GoLand和VSCode)。文中配有详细的操作截图和命令行示例,适合初学者快速搭建Go开发环境。特别说明了Go 1.1.1版本后工作目录的变化,并提供了环境变量验证方法。

2025-01-04 00:46:47 2530

原创 解决pdf合并后页面大小不一致的问题

解决pdf合并后页面大小不一致的问题

2024-12-29 12:25:30 1462 1

原创 idea中web项目没有web-inf和web.xml的解决办法

3、展开左侧的Web->Web点击右边的小加号,会出现一个web.xml文件选项,点击它,然后出现弹窗。1、按住Ctrl+Shift+Alt+S进入Project structure(项目结构)管理的界面。若不建立在web文件夹下则默认选择即可,然后点击apply点击ok。若要将WEB-INF建立在web文件夹下,需手动修改路径,2、选择左边菜单栏里的Facet。

2022-08-22 10:32:41 5669

原创 JSP中的request和response的乱码解决

request和response的乱码解决设置1.作响应的JSP页面或者servlet设置response.setCharacterEncoding(“UTF-8”);作提交的JSP页面设置request.setCharacterEncoding(“UTF-8”);2.作响应的JSP页面或者servlet设置response.setHeader(“Content-type”, “text/html;charset=UTF-8”);request乱码指:客户端浏览器向服务器发送的请求参数中

2020-06-05 20:34:21 1489

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除