Jerry
首页博客作品集关于

Jerry

一个现代化的技术博客平台
用代码构建未来,用文字记录思考。

快速导航

  • 博客文章
  • 关于我

联系方式

© 2026 Jerry. All rights reserved. Built with Next.js & TypeScript.

返回博客列表
📁

技术笔记

共 17 篇文章

技术笔记63 分钟

浏览器缓存

从缓存位置上来说分为四种,并且各自有优先级,当依次查找缓存且都没有命中的时候,才会去请求网络。首先是发送请求的时候。这里所说的请求,不仅仅是 *HTTP* 请求,也包括服务器向数据库发起查询数据的请求。其次是大量计算的时候。一般涉及到大量计算,主要是在服务器端和数据库端,服务器端要进行计算这个很好理解,数据库要根据服务器发送过来的查询命令查询到对应的数据,这也是比较耗时的一项工作。

管
管理员
2026/1/26
#浏览器
技术笔记51 分钟

浏览器的渲染流程

浏览器,作为用户浏览网页最基本的一个入口,我们似乎认为在地址栏输入 *URL* 后网页自动就出来了。殊不知在用户输入网页地址,敲下回车的那一刻,浏览器背后做了诸多的事情。网络线程和服务器之间通信的过程并非本节课咱们要讨论的,本节课咱们要研究的主要内容,是浏览器的渲染进程如何将一个密密麻麻的 *html* 字符串渲染成最终页面的。

管
管理员
2026/1/26
#浏览器
技术笔记19 分钟

useCallback和useMemo

useCallback 和 useMemo 的区别是什么?在组件更新阶段,首先拿到之前的 hook 对象,从之前的 hook 对象的 memoizedState 上面拿到之前的依赖项,和新传入的依赖项做一个对比,如果相同,则返回之前缓存的 callback,否则就重新缓存,返回新的 callback

管
管理员
2026/1/26
#React
技术笔记59 分钟

Hooks原理

Hook是如何保存函数组件状态的?为什么不能在循环,条件或嵌套函数中调用 Hook ?- HoosDispatcherOnUpdate:函数组件进行更新的时候,会执行该对象所对应的方法。此时 Fiber 上面已经存储了函数组件的相关信息,这些 Hook 需要做的就是去获取或者更新维护这些 FIber 的信息

管
管理员
2026/1/26
#React
技术笔记32 分钟

React 中的事件-合成事件对象

简述一下 React 中的事件是如何处理的?React 事件系统需要考虑到很多边界情况,因此代码量是非常大的,我们这里通过书写一个简易版的事件系统来学习 React 事件系统的原理。这个是对浏览器原生事件对象的一层封装,兼容了主流的浏览器

管
管理员
2026/1/26
#React
技术笔记52 分钟

图解 diff 算法

React 中的 diff 算法有没有了解过?具体的流程是怎么样的?React 为什么不采用 Vue 的双端对比算法?diff 算法本身是有性能上面的消耗,在 React 文档中有提到,即便采用最前沿的算法,如果要完整的对比两棵树,那么算法的复杂度都会达到 O(n^3),n 代表的是元素的数量,如果 n 为 1000,要执行的计算量会达到十亿量级的级别。

管
管理员
2026/1/26
#React
技术笔记27 分钟

Fiber 双缓冲

谈一谈你对 React 中 Fiber 的理解以及什么是 Fiber 双缓冲?在 React v16 之前,使用的是 Stack Reconciler,因此那个时候的 React 架构被称之为 Stack 架构。从 React v16 开始,重构了整个架构,引入了 Fiber,因此新的架构也被称之为 Fiber 架构,Stack Reconciler 也变成了 Fiber Reconciler。各个 FiberNode 之间通过链表的形式串联起来:

管
管理员
2026/1/26
#React
技术笔记28 分钟

React 渲染流程

是否了解过 React 的整体渲染流程?里面主要有哪些阶段?注意上面 render 阶段的工作是在内存里面进行的,不会更新宿主环境 UI,因此这个阶段即使工作流程反复被中断,用户也不会看到“更新不完整的UI”。当 Scheduler 调度完成后,将任务交给 Reconciler,Reconciler 就需要计算出新的 UI,最后就由 Renderer **同步**进行渲染更新操作。

管
管理员
2026/1/26
#React
技术笔记37 分钟

React 整体架构

是否了解过 React 的架构?新的 Fiber 架构相较于之前的 Stack 架构有什么优势?Stack 架构在进行虚拟 DOM 树比较的时候,采用的是递归,计算会消耗大量的时间,新的 Fiber 架构采用的是链表,可以实现时间切片,防止 JS 的计算占用过多的时间从而导致浏览器出现丢帧的现象。

管
管理员
2026/1/26
#React
技术笔记28 分钟

Virtual DOM

虚拟 DOM 是一种思想,JS 对象是一种思想的具体实现。虚拟 DOM 最早是由 React 团队提出来的,因此 React 团队在对虚拟 DOM 的定义上面有绝对的话语权。也就是说,只要我们有一种方式,能够将真实 DOM 的层次结构描述出来,那么这就是一个虚拟 DOM。

管
管理员
2026/1/26
#React
技术笔记29 分钟

Next.js中的cache(四种缓存机制)

Next.js内置了多种缓存机制来提升应用性能、减少服务器负载并优化用户体验。这些机制主要包括 Request Memoization(请求记忆化)、Data Cache(数据缓存)、Full Route Cache(完整路由缓存)和 Router Cache(路由器缓存)。

管
管理员
2026/1/16
#Next.js
技术笔记42 分钟

Next.js 16 中的 Cache Components(新缓存机制)

Next.js 16 中的 Cache Components 是 16 版引入的最重要的新缓存机制之一

管
管理员
2026/1/16
#Next.js
技术笔记43 分钟

服务器端渲染 SSR

Next.js 是一个基于 React 的全栈 Web 开发框架,它支持多种渲染模式,其中 Server-Side Rendering(SSR,服务器端渲染)是一种核心功能。SSR 允许在服务器上动态生成 HTML 页面,并在每个请求时发送给客户端,从而实现动态内容渲染、更好的 SEO和初始加载性能。Next.js 根据路由器类型(Pages Router 和 App Router)对 SSR 的实现有所不同。下面我将详细介绍 SSR 的概念、实现方式、优缺点、与其他渲染模式的比较、代码示例以及最佳实践。内容基于 `Next.js` 最新版本(截至 2026 年初,版本 16.1.2)的官方文档。

管
管理员
2026/1/16
#Next.js
技术笔记31 分钟

next-缓存渲染

Next.js 通过缓存渲染工作和数据请求来提高应用程序的性能并降低成本。本页面深入介绍了 Next.js 的缓存机制、可用于配置它们的 API,以及它们之间如何相互作用。

管
管理员
2026/1/6
#Next.js
技术笔记16 分钟

Windows 终端配置

Windows 终端结合 git bash 配置 oh-my-zshWindows 上直接用自带的 cmd 或者 PowerShell,奇丑无比,所以我要改进优化。上网搜索了一下感觉用虚拟机实现 zsh 很麻烦,用 **Git 自带的 Bash** 很简单。下面我用 **Windows Terminal + git-bash + zsh + oh-my-zsh** 组合进行优化终端。

管
管理员
2026/1/6
#配置
技术笔记29 分钟

静态站点生成(SSG)

介绍了什么是SSG,SSG应该怎样用,有什么优势和缺点。输出结果:每个页面对应一个 .html 文件(或 /page/index.html 结构),以及必要的 JS/CSS 资源。用户访问页面时,直接从静态服务器(如 Vercel 或 Netlify)获取预生成的 HTML。

管
管理员
2026/1/5
#Next.js
技术笔记7 分钟

白嫖vercel + 域名解析 = 快速访问

部署在 vercel 上,服务器在国外,有 wall 才可以访问,使用域名进行解析后,可以正常访问,本文介绍了怎样配置域名。

管
管理员
2025/8/7
#配置