53 归档分页
370 留言互动
4 核心专题

最近更新

算法 2022-07-23

NC22 合并两个有序的数组

本文介绍了在 NowCoder 上的 NC22 题目——将有序整数数组 B 合并到已预留足够空间的有序数组 A 中,使 A 成为整体升序。要求在 A 的前 m 位已有序,B 的前 n 位已有序,且不返回新数组,只需在原 A 中完成合并。文章给出示例说明输入输出,并提供了 Java 实现:使用双指针遍历 A、B,比较取较小元素填入新建的临时数组 sorted,遍历结束后将 sorted 内容拷贝回 A,实现了在 O(m+n) 时间、O(m+n) 额外空间下的合并。

NowCoder 阅读全文
算法 2022-07-23

NC4 判断链表中是否有环

本文介绍了判断单链表是否存在环的问题,要求空间 O(1)、时间 O(n)。通过 Floyd 快慢指针法实现:若链表为空直接返回 false;否则让快指针每次走两步、慢指针走一步,若两指针相遇则说明有环,遍历至末尾仍未相遇则无环。文中提供了题目描述、示例及完整 Java 实现代码。

NowCoder 阅读全文
Java 2026-01-29

Spring Boot IOC架构落地与最佳实践

Spring Boot IOC是微服务松耦合的基石,文章先阐述容器层次、启动流程及 Bean 的完整生命周期,推荐构造器注入并结合 @Profile、@Conditional 实现环境化配置。进一步解析单例、原型、请求等多种作用域及线程安全设计,展示工厂模式在多实现支付服务中的使用。最后介绍延迟加载、循环依赖处理及监控、健康检查等生产实践,提供落地指南与最佳实践。

SpringBoot 阅读全文
Java 2026-01-28

Spring Boot AOP架构落地与最佳实践

Spring Boot AOP通过切面把日志、性能监控、权限校验等横切关注点模块化,提升代码可维护性。文章先介绍 AOP 基础概念及 Spring Boot 的自动配置方式,随后给出日志、性能、授权等实战切面实现示例,并演示自定义注解、ThreadLocal、CGLIB 代理等技术细节。最佳实践包括按功能划分切面目录、使用 @Order 控制执行顺序、优化切点表达式、防止性能损耗以及统一异常处理和缓存切面。最后结合分布式链路追踪和异步执行,提供在生产环境中落地 AOP 的完整方案。

SpringBoot 阅读全文
Java 2026-01-27

从A标签跳转后JS失效?我踩过的坑和填坑方法

在博客列表页通过普通 `<a>` 跳转到文章详情时,页面加载正常但灯箱、复制按钮等 JS 功能失效,刷新或直接访问 URL 则一切正常。原因是浏览器在普通跳转时可能复用旧的 JS 环境或缓存页面,导致新页面的脚本未完整重新执行。临时解决办法是给链接加 `target="_self"`,强制完整加载;更根本的做法是改进 JS 初始化时机:在 `DOMContentLoaded`、`load`、`pageshow` 等事件中检查关键元素是否已出现,必要时使用 `setTimeout` 或 `Promise` 等方式等待后再调用 `initLightbox、initCopyButton` 等函数;文中还提供了基于 `PageManager` 的完整初始化管理器,能够在页面恢复、前进/后退等场景下安全重置并逐个等待所需元素。经验教训包括:不要盲目信任 `DOMContentLoaded`,要防御性地检查 DOM,了解浏览器缓存机制,并可考虑使用 `MutationObserver` 监听 DOM 变化。

HTML JavaScript 阅读全文
Java 2026-01-26

OpenCodeAI 从入门到精通:全方位终端AI编程助手指南

OpenCodeAI 是面向终端的 AI 编程助手,采用本地客户端 + 云端模型服务的混合架构,能够读取、修改项目文件并在安全沙箱中执行操作,实现 AI 结对编程。文中详述了跨 macOS、Windows、Linux 的安装方法(Homebrew、Scoop、脚本、包管理器等),以及桌面版的图形化特性。随后提供 API 密钥获取、环境变量或配置文件安全存储的最佳实践,并给出国内模型(智谱 GLM、DeepSeek)以及多模型并存的配置示例。项目初始化通过 `opencode init` 自动生成上下文、忽略文件和模型偏好。核心功能以 Plan 模式为例,展示 AI 分析代码、制定实现计划、用户审查后执行的完整工作流,帮助完成如邮箱验证等复杂任务。全文覆盖概念、架构、安装、配置、使用全链路,帮助开发者快速上手并在命令行中高效利用 AI 编程。