<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Chen's Notes</title><link>https://lucky-chen.github.io/zh/</link><description>Recent content on Chen's Notes</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 12 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://lucky-chen.github.io/zh/index.xml" rel="self" type="application/rss+xml"/><item><title>AI 技术体系总览：应用、训练推理、模型算法与计算基础</title><link>https://lucky-chen.github.io/zh/docs/ai/ai-technology-stack/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/ai/ai-technology-stack/</guid><description>&lt;h1 id="ai-技术体系总览"&gt;AI 技术体系总览&lt;a class="anchor" href="#ai-%e6%8a%80%e6%9c%af%e4%bd%93%e7%b3%bb%e6%80%bb%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="分层与职责"&gt;分层与职责&lt;a class="anchor" href="#%e5%88%86%e5%b1%82%e4%b8%8e%e8%81%8c%e8%b4%a3" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;以大模型为核心，整体技术体系可自顶向下划分为 4 个层次：应用与编排、训练与推理框架、模型结构与算法、计算与基础设施。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;层次&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;主要问题&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;负责内容&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;应用与编排&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;怎样用模型完成用户任务？&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Agent、Workflow、上下文、知识检索、工具与外部系统&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;训练与推理框架&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;怎样组织训练过程并提供模型服务？&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;数据流水线、训练执行、模型部署、生成执行与请求调度&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;模型结构与算法&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;模型怎样表示文本、学习参数并生成 token？&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Tokenizer、Transformer、训练目标、参数更新与生成算法&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;计算与基础设施&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;模型计算怎样在设备和集群上执行？&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;张量框架、算子与加速库、GPU、存储、通信与资源管理&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item><item><title>Agent 工程：SDK 需求拆解与运行时架构</title><link>https://lucky-chen.github.io/zh/docs/ai/agent-sdk-design/</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/ai/agent-sdk-design/</guid><description>&lt;h1 id="背景"&gt;背景&lt;a class="anchor" href="#%e8%83%8c%e6%99%af" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;本文从 Agent SDK 切入，将其作为 AI 入门的实践入口，通过以下 Agent 运行时与编排的共性需求理解 AI 应用工程：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;运行时承载&lt;/li&gt;&#10;&lt;li&gt;接口边界&lt;/li&gt;&#10;&lt;li&gt;编排控制&lt;/li&gt;&#10;&lt;li&gt;上下文管理&lt;/li&gt;&#10;&lt;li&gt;工具接入&lt;/li&gt;&#10;&lt;li&gt;模型接入&lt;/li&gt;&#10;&lt;li&gt;权限控制&lt;/li&gt;&#10;&lt;li&gt;可观测性&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>大模型工作流程：从训练到推理，以 nanochat 为例</title><link>https://lucky-chen.github.io/zh/docs/ai/llm-workflow-with-nanochat/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/ai/llm-workflow-with-nanochat/</guid><description>&lt;p&gt;以 GPT 类 decoder-only Transformer 为对象，介绍大模型从训练到生成回答的工作流程，并结合 nanochat 的代码说明各阶段的执行细节。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;预训练：准备文本、Tokenizer 与 Batch，通过下一 token 预测训练基础模型。&lt;/li&gt;&#10;&lt;li&gt;后训练：通过 SFT 提供回答示范，通过 RL 利用奖励改进模型，并介绍 LoRA 的应用方式。&lt;/li&gt;&#10;&lt;li&gt;推理：准备输入，串联 Prefill、token 选择、Decode、KV Cache 与输出处理。&lt;/li&gt;&#10;&lt;li&gt;评测：贯穿训练与使用过程，检查预测表现、任务能力、回答质量和运行性能。&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>跨平台渲染方案对比探究</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/crocess-platform-solution/</link><pubDate>Sat, 21 Sep 2019 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/crocess-platform-solution/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="anchor" href="#%e6%a6%82%e8%bf%b0" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;方案&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;性能&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;动态性&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;能力集&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;维护成本&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;H5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;高&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;全&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;小程序&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;中&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;高&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;部分&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;中&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;WEEX/RN&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;中高&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;高&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;部分&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;高&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Flutter&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;高&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;全&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;低&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;其中，前3个基本是面向前端生态的解决方案，而Flutter更像是面向native生态的解决方案。&lt;/p&gt;&#10;&lt;p&gt;当然也有基于这几种方案之上，各种各样的魔改方案&lt;/p&gt;</description></item><item><title>LLM System（一）：GPT 结构与 Forward 计算</title><link>https://lucky-chen.github.io/zh/docs/ai/llm-system-1/</link><pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/ai/llm-system-1/</guid><description>&lt;h1 id="goal"&gt;Goal&lt;a class="anchor" href="#goal" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;展开 GPT Model 的结构与 Forward 计算，跟踪 token IDs 怎样转换为下一 token 的词表分数。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;模型结构：Token Embedding、Transformer、Final Norm 与 LM Head 的连接和数据流。&lt;/li&gt;&#10;&lt;li&gt;Transformer 逐层计算：Norm 与 Residual 怎样组织 Attention 和 MLP。&lt;/li&gt;&#10;&lt;li&gt;Attention 与 MLP：展开 Q/K/V、Head、RoPE、注意力权重和前馈变换。&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>LLM System（二）：训练目标、参数更新与生成计算</title><link>https://lucky-chen.github.io/zh/docs/ai/llm-system-2/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/ai/llm-system-2/</guid><description>&lt;h1 id="goal"&gt;Goal&lt;a class="anchor" href="#goal" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;承接 &lt;a href="https://lucky-chen.github.io/zh/docs/ai/llm-system-1/"&gt;LLM System（一）：GPT 结构与 Forward 计算&lt;/a&gt;，从 GPT Forward 输出的 Logits 开始，介绍训练目标、参数更新和生成计算的内部机制。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;训练目标：Cross-Entropy 怎样衡量预测误差，SFT 怎样选择监督位置，GRPO 怎样利用回答评价构造 Loss。&lt;/li&gt;&#10;&lt;li&gt;参数更新：Backward 怎样计算梯度，Optimizer 怎样更新参数，以及梯度累积与 LoRA 怎样接入训练。&lt;/li&gt;&#10;&lt;li&gt;生成计算：KV Cache 怎样支持增量 Attention，Greedy、Sampling 与 Beam Search 怎样选择生成结果。&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>nanochat：LLM 核心架构与实现</title><link>https://lucky-chen.github.io/zh/docs/ai/llm-system-nanochat/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/ai/llm-system-nanochat/</guid><description>&lt;h1 id="goal"&gt;Goal&lt;a class="anchor" href="#goal" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;结合 nanochat 官方源码，介绍数据、模型、训练与生成模块的组织及内部实现。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;数据处理：字节级 BPE、词表、对话编码、token 打包与监督目标构造。&lt;/li&gt;&#10;&lt;li&gt;模型计算：GPTConfig、GPT.forward、Transformer Block、Attention 与 MLP。&lt;/li&gt;&#10;&lt;li&gt;训练实现：交叉熵、Backward、梯度累积，以及 AdamW / Muon 参数更新。&lt;/li&gt;&#10;&lt;li&gt;生成实现：Engine、KV Cache、token 采样与回答状态管理。&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>产品工程：传统 SDE 在 AI 时代的可能职业方向</title><link>https://lucky-chen.github.io/zh/docs/product/product-engineer/</link><pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/product/product-engineer/</guid><description>&lt;h1 id="目标"&gt;目标&lt;a class="anchor" href="#%e7%9b%ae%e6%a0%87" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;探讨随着 AI 改变软件开发成本结构，为什么产品工程可能成为传统 SDE 在 AI 时代的一个职业方向。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;AI 如何影响传统 SDLC&lt;/li&gt;&#10;&lt;li&gt;SDE 在 AI 时代的能力迁移方向&lt;/li&gt;&#10;&lt;li&gt;产品工程能力应该如何建立&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>面向产品工程师的精益数据分析</title><link>https://lucky-chen.github.io/zh/docs/product/lean-analytics-in-product/</link><pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/product/lean-analytics-in-product/</guid><description>&lt;h1 id="目标"&gt;目标&lt;a class="anchor" href="#%e7%9b%ae%e6%a0%87" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;接着产品工程师职业方向的话题，本文介绍一套基础的产品判断框架：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;产品创新通常经历哪些验证阶段？&lt;/li&gt;&#10;&lt;li&gt;每个阶段需要做出什么定性判断？&lt;/li&gt;&#10;&lt;li&gt;可以用什么量化指标验证这些判断？&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;本文参考 &lt;a href="https://www.amazon.sg/dp/1449335675"&gt;《精益数据分析》（Lean Analytics）&lt;/a&gt;。这本书主要讲如何验证创新想法，也有助于工程师建立产品意识。&lt;/p&gt;&#10;&lt;p&gt;推荐者包括 &lt;a href="https://www.oreilly.com/library/view/lean-analytics/9781449335687/apc.html"&gt;Kevin Weil&lt;/a&gt;、&lt;a href="https://www.oreilly.com/library/view/lean-analytics/9781449335687/pr01.html"&gt;Dan Martell&lt;/a&gt;、&lt;a href="https://www.sohu.com/a/115328943_358836"&gt;范冰&lt;/a&gt;、&lt;a href="https://www.woshipm.com/pmd/393383.html"&gt;张溪梦&lt;/a&gt;和&lt;a href="https://tech.sina.cn/csj/2019-03-05/doc-ihsxncvf9865915.d.html"&gt;丁磊&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>全栈视角下的后端技术栈地图</title><link>https://lucky-chen.github.io/zh/docs/backend/full-stack-tech/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/backend/full-stack-tech/</guid><description>&lt;h1 id="目标"&gt;目标&lt;a class="anchor" href="#%e7%9b%ae%e6%a0%87" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;快速了解全栈，尤其是后端技术栈。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;全栈项目整体架构和技术栈地图。&lt;/li&gt;&#10;&lt;li&gt;电商秒杀系统案例，串联整体架构和关键技术。&lt;/li&gt;&#10;&lt;li&gt;具体项目选型和架构设计参考。&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Dart编译器概述</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/dart-compiler/</link><pubDate>Mon, 12 Jun 2023 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/dart-compiler/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;了解编译原理,对现代编译器compiler设计有所了解&lt;/li&gt;&#10;&lt;li&gt;介绍dart编译器设计, 工程实践上如何设计和实现&lt;/li&gt;&#10;&lt;li&gt;了解dart编译器核心代码流转: 核心代码、主要优化&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>关于我</title><link>https://lucky-chen.github.io/zh/about/</link><pubDate>Thu, 08 Jun 2023 15:57:03 +0000</pubDate><guid>https://lucky-chen.github.io/zh/about/</guid><description>&lt;h1 id="关于我"&gt;关于我&lt;a class="anchor" href="#%e5%85%b3%e4%ba%8e%e6%88%91" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;就职公司：奇虎 360、阿里巴巴淘宝技术部、字节跳动技术中台。&lt;/li&gt;&#10;&lt;li&gt;专业能力与实践：&#10;&lt;ul&gt;&#10;&lt;li&gt;客户端与跨平台：专家，具备大型复杂企业项目的核心开发和技术负责经验，覆盖跨平台框架、虚拟机、编译器与图形渲染。&lt;/li&gt;&#10;&lt;li&gt;产品工程：大型企业复杂客户端项目中的产品工程实践经验。&lt;/li&gt;&#10;&lt;li&gt;AI：系统理解 AI 技术体系及训练、推理原理，具备开源项目源码分析与代码实操经验，暂无企业项目经验。&lt;/li&gt;&#10;&lt;li&gt;后端：系统理解后端技术体系，早年开发过简单的企业级后端项目，并在大型客户端项目中与复杂后端系统团队协作。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;主要项目：&#10;&lt;ul&gt;&#10;&lt;li&gt;Atlas：动态组件化框架与 Patch 方案核心开发。&lt;/li&gt;&#10;&lt;li&gt;Weex SDK：核心开发。&lt;/li&gt;&#10;&lt;li&gt;ALiFlutter、BDFlutter：核心开发。&lt;/li&gt;&#10;&lt;li&gt;Oryx：跨平台响应式自渲染框架核心开发，小程序原生渲染方向负责人。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote class=''&gt;&#10;&lt;p&gt;e-mail : &lt;a href="mailto:qh438406812@gmail.com"&gt;qh438406812@gmail.com&lt;/a&gt;&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;h1 id="就职经历"&gt;就职经历&lt;a class="anchor" href="#%e5%b0%b1%e8%81%8c%e7%bb%8f%e5%8e%86" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="2020-至今--字节跳动"&gt;2020-至今 字节跳动&lt;a class="anchor" href="#2020-%e8%87%b3%e4%bb%8a--%e5%ad%97%e8%8a%82%e8%b7%b3%e5%8a%a8" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;项目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;简介&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;工作内容&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Oryx&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;自研跨平台响应式开发框架&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;框架核心开发 &lt;br&gt;小程序原生渲染方向owner&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Flutter&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;字节flutter项目&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;dart虚拟机、编译器、patch方案&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Compose&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;android compose框架&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;BDCompose项目owner &lt;br&gt;探索compose在业务上的落地、技术改造； &lt;br&gt;预研kotline-native、wasm跨平台方案探索&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Skity&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;自研矢量渲染器，类比skia&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;核心开发、质量稳定性方案&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="2017-至今--阿里巴巴"&gt;2017-至今 阿里巴巴&lt;a class="anchor" href="#2017-%e8%87%b3%e4%bb%8a--%e9%98%bf%e9%87%8c%e5%b7%b4%e5%b7%b4" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;项目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;简介&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;工作内容&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a href="https://alibaba.github.io/atlas/"&gt;Atlas&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Atlas是伴随着手机淘宝的不断发展而衍生出来的一个动态组件化框架。&lt;br&gt;它主要提供了解耦化、组件化、动态性的支持。&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;开发阿里第2代Patch方案&lt;br&gt;维护Atlas框架、开源社区&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a href="https://github.com/apache/incubator-weex?spm=a2c7j.-.0.0.ed23c8eevBAb0F"&gt;Weex&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Weex 是一个可以使用现代化的 Web 技术开发高性能原生应用的框架&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;核心开发，开源社区维护&lt;br&gt;WeexCore2.0升级&lt;br&gt;JSRuntime开发&lt;br&gt;性能稳定性体系化监控&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;ALiFlutter&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;阿里集团Flutter体方案提供&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Flutter容器开发&lt;br&gt;Engine定制修改优化&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="2015-2017-奇虎360"&gt;2015-2017 奇虎360&lt;a class="anchor" href="#2015-2017-%e5%a5%87%e8%99%8e360" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;项目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;简介&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;工作内容&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;360手机卫士&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;无&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;程序锁功能开发&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;&lt;a href="https://github.com/Qihoo360/DroidPlugin"&gt;DroidPlugin&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;360插件化框架&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;无，感兴趣自行研究&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h1 id="能力图"&gt;能力图&lt;a class="anchor" href="#%e8%83%bd%e5%8a%9b%e5%9b%be" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌──────────────────────────────────────────────────────────────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 上层：问题场景 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 产品工程 · 客户端大项目实践 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 用户需求与业务目标 → 产品判断 → 方案验证 → 交付与效果评估 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└──────────────────────────────────────────────────────────────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▼&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌──────────────────────────────────────────────────────────────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 中层：技术栈方案 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ┌────────────────────────────┬────────────────────────────┬────────────────────────────┐ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 客户端 │ 后端 │ AI │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 专家 │ 系统理解 │ 系统理解 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 大型复杂企业项目实践 │ 基础企业项目开发 │ 开源项目代码实操 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ │ 复杂后端系统对接 │ 暂无企业项目经验 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├────────────────────────────┼────────────────────────────┼────────────────────────────┤ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 应用层 │ 应用层 │ 应用层 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 页面、交互、状态 │ 业务接口、业务编排 │ Agent、Workflow │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ │ 领域模型、业务规则与事务 │ RAG、工具与上下文 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├────────────────────────────┼────────────────────────────┼────────────────────────────┤ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 框架层 │ 框架与中间件层 │ 模型与训练推理层 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ Android、Weex │ Spring Boot、Gin、NestJS │ LLM、多模态模型 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ Flutter、Compose │ 网关、鉴权、数据访问 │ 预训练、SFT、RL │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ │ 数据库、缓存、消息队列 │ 模型服务、推理引擎 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ ├────────────────────────────┼────────────────────────────┼────────────────────────────┤ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 运行时与渲染层 │ 运行时与基础设施层 │ 计算与基础设施层 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ VM、编译器 │ JVM、Go Runtime、Node.js │ PyTorch、CUDA │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 渲染流水线 │ 操作系统、容器、集群 │ 算子库、通信库 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ 系统与图形接口 │ 计算、存储、网络 │ GPU、存储、网络 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │ Skia、Skity │ │ 集群与资源调度 │ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ └────────────────────────────┴────────────────────────────┴────────────────────────────┘ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└──────────────────────────────────────────────────────────────────────────────────────────┘&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ▲&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; │ 支撑&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;┌──────────────────────────────────────────────────────────────────────────────────────────┐&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 底层：核心能力 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;│ 问题发现 → 问题拆解 → 方案设计 → AI 辅助落地 │&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;└──────────────────────────────────────────────────────────────────────────────────────────┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>DartVM概述</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/dart-vm/</link><pubDate>Sun, 28 May 2023 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/dart-vm/</guid><description>&lt;h1 id="主要内容"&gt;主要内容：&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e5%86%85%e5%ae%b9" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Dart对象模型&lt;/li&gt;&#10;&lt;li&gt;虚拟机内部模型&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Compose架构模块梳理</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/compose/</link><pubDate>Wed, 15 Feb 2023 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/compose/</guid><description>&lt;h1 id="背景"&gt;背景&lt;a class="anchor" href="#%e8%83%8c%e6%99%af" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://developer.android.com/jetpack/compose?hl=zh-cn"&gt;Jetpack Compose&lt;/a&gt; 是Google推出的一个使用kotlin语言、声明式的UI框.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;针对框架的PreCompose优化方案&lt;/li&gt;&#10;&lt;li&gt;通过PreCompose方案，深入compose的源码: 介绍有哪些模块, 有什么作用, 未来能做些什么&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Compose Compiler(1) Compose plugin</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/compiler-2/</link><pubDate>Fri, 30 Dec 2022 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/compiler-2/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;前端检查&lt;/li&gt;&#10;&lt;li&gt;ir生成&lt;/li&gt;&#10;&lt;li&gt;recompose判断&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Compose Compiler(1) kotlin编译架构&amp;&amp;KCP</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/compiler-1/</link><pubDate>Sun, 25 Dec 2022 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/compiler-1/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Compose compiler是compose框架的一部分, 本质是一个kcp(kotlin compiler plugin),用于支持编译期针对compose特性进行静态检查和代码生成.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://lucky-chen.github.io/image/compose_compiler/compose_layer.PNG" alt="" /&gt;&lt;/p&gt;&#10;&lt;p&gt;在进入compose的编译之前, 需要事先对kotlin的编译架构、过程以及概念做一些探究储备&lt;/p&gt;</description></item><item><title>Flutter移植嵌入式linux设备、IOT方向探索</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/flutter-iot/</link><pubDate>Fri, 15 Jul 2022 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/flutter-iot/</guid><description>&lt;h1 id="背景"&gt;背景&lt;a class="anchor" href="#%e8%83%8c%e6%99%af" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;iot有着很广阔的场景: &lt;a href="https://pdf.dfcfw.com/pdf/H3_AP202202071545436398_1.pdf"&gt;艾瑞咨询-积基“数”本、重塑产业：中国物联网行业研究报告-220129&lt;/a&gt;. 智慧城市、车联网、智慧零售、智能家居、智能工厂.&lt;/p&gt;</description></item><item><title>FlutterEngine AndroidX/Support适配</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/tools-androidx/</link><pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/tools-androidx/</guid><description>&lt;h1 id="概要"&gt;概要&lt;a class="anchor" href="#%e6%a6%82%e8%a6%81" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://mp.weixin.qq.com/s/VXNbqxpoVDJeOPkBt5_88A"&gt;Flutter 1.17 | 2020 首个稳定版发布！&lt;/a&gt; 全线迁移到AndroidX,现有app迁移成本巨大(几乎不可能迁移)&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;改造Flutter engine、工具链，1.17支持support库&lt;/li&gt;&#10;&lt;li&gt;跟一下工具链&lt;code&gt;flutter create&lt;/code&gt;的源码实现方式&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Flutter渲染流程(二)-GPU线程工作</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/2d_rendering/flutter-render-pipline-1/</link><pubDate>Sun, 15 Mar 2020 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/2d_rendering/flutter-render-pipline-1/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;将上一节中UI线程生成了&lt;code&gt;laytertree&lt;/code&gt;，交给GPU线程的&lt;code&gt;rasterizer&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;调用&lt;code&gt;LayerTree&lt;/code&gt;的&lt;code&gt;Preroll&lt;/code&gt;、&lt;code&gt;Paint&lt;/code&gt;2个方法，完成所有&lt;code&gt;Layer&lt;/code&gt;的绘制前准备以及绘制操作&lt;/li&gt;&#10;&lt;li&gt;将纹理化的结果，上屏&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Flutter渲染流程(一)-UI线程工作</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/2d_rendering/flutter-render-pipline/</link><pubDate>Sun, 08 Mar 2020 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/2d_rendering/flutter-render-pipline/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;这一部分的主要工作是&lt;code&gt;WidgetTree&lt;/code&gt;转化成&lt;code&gt;LayerTree&lt;/code&gt;，主要分为下面几个阶段&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://user-gold-cdn.xitu.io/2018/8/8/16517c804ab5e799?imageView2/0/w/1280/h/960/format/webp/ignore-error/1" alt="" /&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Animate: 首先执行动画，这个过程可能会改变状态state&lt;/li&gt;&#10;&lt;li&gt;Build: 重新build脏节点的widget（状态改变）&lt;/li&gt;&#10;&lt;li&gt;Layout: 对脏节点进行重新的layout&lt;/li&gt;&#10;&lt;li&gt;Paint: 脏节点重新绘制&lt;/li&gt;&#10;&lt;li&gt;更新layertree，提交给gpu线程&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;流程还是比较清晰、容易理解的&lt;/p&gt;</description></item><item><title>Flutter混合栈的实现原理</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/flutter-hybrid/</link><pubDate>Wed, 25 Dec 2019 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/flutter-hybrid/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;解决2个问题&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;容器和engine的对应关系&lt;/li&gt;&#10;&lt;li&gt;路由管理&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>FlutterEngine初始化源码分析以及优化(官方PR)</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/flutter-engine-startup/</link><pubDate>Sun, 15 Dec 2019 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/flutter-engine-startup/</guid><description>&lt;h1 id="核心点"&gt;核心点&lt;a class="anchor" href="#%e6%a0%b8%e5%bf%83%e7%82%b9" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;主要分为3个部分&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;启动Engine前的准备(Platform端&lt;code&gt;Android&lt;/code&gt;)&lt;/li&gt;&#10;&lt;li&gt;Engine的启动(创建DartVM、相关线程、初始化相关配置)&lt;/li&gt;&#10;&lt;li&gt;Engine加载Dart产物，直到执行&lt;code&gt;main.dart&lt;/code&gt;中的&lt;code&gt;main&lt;/code&gt;方法&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;给官方提交了&lt;a href="https://github.com/flutter/engine/pull/18047"&gt;相关PR给官方&lt;/a&gt;，支持engine异步初始化&lt;/p&gt;&#10;&lt;blockquote class=''&gt;&#10;&lt;p&gt;Engine创建流程不是很合理，底层在做异步任务的时候，主线程会wait阻塞，非常影响体验。&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Weex架构设计思想和原理</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/weex-architecture/</link><pubDate>Wed, 21 Nov 2018 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/weex-architecture/</guid><description>&lt;h1 id="weex架构原理"&gt;Weex架构原理&lt;a class="anchor" href="#weex%e6%9e%b6%e6%9e%84%e5%8e%9f%e7%90%86" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;JSFRAM 负责和JS框架(&lt;code&gt;VUE/RAX&lt;/code&gt;)交互，生成DomTree，将数据传给WeexCore&lt;/li&gt;&#10;&lt;li&gt;WeexCore 有3部分&#10;&lt;ul&gt;&#10;&lt;li&gt;JSSide: 运行在JS进程中，负责jsbinding、创建、管理js的vm、context&lt;/li&gt;&#10;&lt;li&gt;CoreSide: 运行在主进程中，负责layout以及将&lt;code&gt;RenderTree&lt;/code&gt;以命令形式交给Platform绘制&lt;/li&gt;&#10;&lt;li&gt;IPC: 跨进程通信&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Platform(Android/iOS)&#10;&lt;ul&gt;&#10;&lt;li&gt;将&lt;code&gt;RenderTree&lt;/code&gt;转化为平台对应的&lt;code&gt;ViewTree&lt;/code&gt;,进行渲染&lt;/li&gt;&#10;&lt;li&gt;native能力调用提供&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;JSRuntime: 底层封装&lt;code&gt;JSC/V8&lt;/code&gt;接口，&lt;code&gt;WeexCore&lt;/code&gt;使用&lt;code&gt;JSRuntime&lt;/code&gt;和&lt;code&gt;jsengine&lt;/code&gt;通信&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Weex架构图如下&lt;/p&gt;</description></item><item><title>《Java多线程编程》笔记</title><link>https://lucky-chen.github.io/zh/docs/backend/concurrent-thread/</link><pubDate>Sun, 06 Aug 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/backend/concurrent-thread/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;进程通信方式&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;方式&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;特点&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;场景&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Socket&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;2次copy，作为更通用的接口，传输效率低&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;主要用于不通机器或跨网络的通信&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;管道&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;创建时分配一个page大小的内存，缓存区大小比较有限&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;|grep&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;信号/信号量&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;携带信息有限，只是通知其他进程一个信号&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;锁机制、kill,crash&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;共享内存&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;0次copy性能最好，但是需要各个进程自己处理好同步操作&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;极限性能&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;消息队列&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;信息2次cop&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;不合适频繁或信息量大的通信&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;Binder&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;1次copy,C/S架构&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;专为Android场景设计(性能、安全)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;线程同步&lt;/p&gt;&#10;&lt;p&gt;|||&lt;/p&gt;</description></item><item><title>Android动态化容器框架Atlas之bundle加载过程</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-bundle-load/</link><pubDate>Mon, 05 Jun 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-bundle-load/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="anchor" href="#%e6%a6%82%e8%bf%b0" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://alibaba.github.io/atlas/code_read/atlas_gradle_apk/atlas_atlas_gradle_apk.html"&gt;对应官网文档地址&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;将流程分为三大部分&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;部分&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;说明&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;对应步骤&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;第一部分&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;加载时机的触发逻辑&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1-7&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;第二部分&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;bundle加载过程&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8-15&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;第三部分&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;bundle代码初始化&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;16-19&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item><item><title>Android动态化容器框架Atlas启动过程(下)</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-start-2/</link><pubDate>Sun, 21 May 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-start-2/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="anchor" href="#%e6%a6%82%e8%bf%b0" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://alibaba.github.io/atlas/code_read/atlas_start/atlas_start_2.html"&gt;对应官网文档地址&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;接&lt;a href="https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-start-1/"&gt;上篇&lt;/a&gt; ,继续 6-10 步的启动过程。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://lucky-chen.github.io/image/android/atlas_core_start_img.svg" alt="" /&gt;&lt;/p&gt;</description></item><item><title>Android动态化容器框架Atlas之启动过程(上)</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-start-1/</link><pubDate>Wed, 17 May 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-start-1/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="anchor" href="#%e6%a6%82%e8%bf%b0" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://alibaba.github.io/atlas/code_read/atlas_start/atlas_start_1.html"&gt;对应官网文档地址&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Atlas整个启动过程的时序如下图所示，本篇只关注下图中的1-5步。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://lucky-chen.github.io/image/android/atlas_core_start_img.svg" alt="" /&gt;&lt;/p&gt;</description></item><item><title>Android动态化容器框架Atlas-从gradle到apk</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-atlas-gradle-apk/</link><pubDate>Thu, 11 May 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/atlas-atlas-gradle-apk/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="anchor" href="#%e6%a6%82%e8%bf%b0" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://alibaba.github.io/atlas/code_read/atlas_gradle_apk/atlas_atlas_gradle_apk.html"&gt;对应官网文档地址&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Atlas一个运行于Android系统上的一个容器化框架。为了实现这一目标，在编译器和运行期，Atlas都做了很多工作。本文是一个入门级别的文章，梳理从gradle配置到生成最终apk的期间，Atlas框架到底搞了哪些事情。&lt;/p&gt;&#10;&lt;p&gt;代码以 &lt;a href="https://github.com/alibaba/atlas/tree/master/atlas-demo"&gt;官方demo&lt;/a&gt; 为例。&lt;/p&gt;</description></item><item><title>ART 与 Dalvik 区别</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/art-dalvik/</link><pubDate>Wed, 08 Mar 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/art-dalvik/</guid><description>&lt;h1 id="不同点"&gt;不同点&lt;a class="anchor" href="#%e4%b8%8d%e5%90%8c%e7%82%b9" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;内存堆的划分&lt;/li&gt;&#10;&lt;li&gt;代码编译运行区别&lt;/li&gt;&#10;&lt;li&gt;GC&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Android源码之进程启动过程</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/android-process-start/</link><pubDate>Tue, 14 Feb 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/android-process-start/</guid><description>&lt;h1 id="概要"&gt;概要&lt;a class="anchor" href="#%e6%a6%82%e8%a6%81" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;API21&lt;/li&gt;&#10;&lt;li&gt;AMS 启动进程&lt;/li&gt;&#10;&lt;li&gt;Zygote fork进程&lt;/li&gt;&#10;&lt;li&gt;应用端初始化&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;上一张调用流程的时序图:&#10;&lt;img src="https://lucky-chen.github.io/image/android/android_process_start.svg" alt="" /&gt;&lt;/p&gt;</description></item><item><title>插件化DroidPlugin-Receiver</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-receiver/</link><pubDate>Tue, 07 Feb 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-receiver/</guid><description>&lt;h1 id="主要思想"&gt;主要思想&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e6%80%9d%e6%83%b3" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;拦截动态广播的注册和发送，cache广播信息&lt;/li&gt;&#10;&lt;li&gt;cache插件的静态广播，在stubReceiver中操控插件的receiver&lt;/li&gt;&#10;&lt;li&gt;模仿AMS,自己管理receiver&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>插件化DroidPlugin-Provider</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-provider/</link><pubDate>Wed, 01 Feb 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-provider/</guid><description>&lt;h2 id="主要思想"&gt;主要思想&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e6%80%9d%e6%83%b3" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;host预先申请若干stubProvider&lt;/li&gt;&#10;&lt;li&gt;hook ams，插件查询provider时，返回stubProVider&lt;/li&gt;&#10;&lt;li&gt;在 stubProvider 中操控插件的providr对象&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Android源码之Activity与AMS、WMS联系</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/activity-ams-wms/</link><pubDate>Wed, 25 Jan 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/activity-ams-wms/</guid><description>&lt;h1 id="要点"&gt;要点&lt;a class="anchor" href="#%e8%a6%81%e7%82%b9" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Activity启动过程&lt;/li&gt;&#10;&lt;li&gt;Activity与AMS联系&lt;/li&gt;&#10;&lt;li&gt;Activity与WMS联系&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>插件化DroidPlugin-Service</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-service/</link><pubDate>Fri, 20 Jan 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-service/</guid><description>&lt;h1 id="主要思想"&gt;主要思想&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e6%80%9d%e6%83%b3" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;注册若干个stubService&lt;/li&gt;&#10;&lt;li&gt;插件启动service时，启动一个stubService.&lt;/li&gt;&#10;&lt;li&gt;在stubService中模仿service生命周期，调用插件service的生命周期函数。&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>插件化DroidPlugin-Activity</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-activity/</link><pubDate>Thu, 05 Jan 2017 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/droid-plugin-activity/</guid><description>&lt;h1 id="主要思想"&gt;主要思想&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e6%80%9d%e6%83%b3" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;申请多个activity坑&lt;/li&gt;&#10;&lt;li&gt;欺骗AMS,在准备启动Activity时，启动一个坑Activity数据给AMS。&lt;/li&gt;&#10;&lt;li&gt;AMS准备好回调到APP中启动activity时，替换成真正需要的Activity.&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>《深入理解JVM虚拟机》读书笔记——第7章 虚拟机类加载机制</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/jvm-class-load/</link><pubDate>Sun, 27 Nov 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/jvm-class-load/</guid><description>&lt;h1 id="主要内容"&gt;主要内容：&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e5%86%85%e5%ae%b9" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;类加载时机&lt;/li&gt;&#10;&lt;li&gt;类加载过程&lt;/li&gt;&#10;&lt;li&gt;类加载器(ClassLoader)&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Java单例-内存模型-并发</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/jvm-concurrent-singleton/</link><pubDate>Tue, 15 Nov 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/jvm-concurrent-singleton/</guid><description>&lt;h1 id="涉及知识"&gt;涉及知识&lt;a class="anchor" href="#%e6%b6%89%e5%8f%8a%e7%9f%a5%e8%af%86" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;JVM内存模型&lt;/li&gt;&#10;&lt;li&gt;Java并发&lt;/li&gt;&#10;&lt;li&gt;JVM加载类以及初始化过程&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>《深入理解JVM虚拟机》读书笔记——第2章 Java内存区域</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/jvm-mem-struct/</link><pubDate>Sun, 06 Nov 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/compiler_vm/jvm-mem-struct/</guid><description>&lt;h1 id="概要"&gt;概要&lt;a class="anchor" href="#%e6%a6%82%e8%a6%81" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;运行时数据区域&lt;/li&gt;&#10;&lt;li&gt;对象创建、布局以及定位&lt;/li&gt;&#10;&lt;li&gt;各区域OOM分析&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;比较枯燥，比较干，但没办法，怼吧`&lt;/p&gt;</description></item><item><title>ReactNative源码-启动过程</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/rn-init/</link><pubDate>Wed, 21 Sep 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/cross_platform/rn-init/</guid><description>&lt;h1 id="概述"&gt;概述&lt;a class="anchor" href="#%e6%a6%82%e8%bf%b0" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;就像大多数框架一样,ReactNative(简称RN)启动需要初始化依赖的环境和资源,抛开繁复的细节,概括为以下几点:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;初始化通信接口表,表中保存 &lt;em&gt;java&lt;/em&gt; 端和 &lt;em&gt;js&lt;/em&gt; 端的接口信息。&lt;/li&gt;&#10;&lt;li&gt;初始化ReactBridge,作为 &lt;em&gt;js&lt;/em&gt; 和 &lt;em&gt;java&lt;/em&gt; 通信的桥梁，在 &lt;em&gt;java&lt;/em&gt; 端开启两个线程 &lt;em&gt;native_modules&lt;/em&gt; 和 &lt;em&gt;js&lt;/em&gt; ,加上 &lt;em&gt;ui&lt;/em&gt; 线程，总共三个线程。&lt;/li&gt;&#10;&lt;li&gt;加载JSbundle文件&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Android源码之Handler</title><link>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/handle/</link><pubDate>Thu, 25 Aug 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/client_front_end/android_framework/handle/</guid><description>&lt;h1 id="主要思想"&gt;主要思想&lt;a class="anchor" href="#%e4%b8%bb%e8%a6%81%e6%80%9d%e6%83%b3" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;通过MessageQueqe保存mesage&lt;/li&gt;&#10;&lt;li&gt;通过looper轮询MessageQueqe&lt;/li&gt;&#10;&lt;li&gt;handler回调处理message&lt;/li&gt;&#10;&lt;/ol&gt;</description></item><item><title>Http版本协议变迁历史</title><link>https://lucky-chen.github.io/zh/docs/backend/http2/</link><pubDate>Sat, 06 Aug 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/backend/http2/</guid><description>&lt;h1 id="概览"&gt;概览&lt;a class="anchor" href="#%e6%a6%82%e8%a7%88" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;版本&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;底层协议&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;特性&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th style="text-align: left"&gt;备注&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;1.x&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;tcp&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;更多的缓存控制策略&lt;br&gt;请求范围设置(断点续传)&lt;br&gt;新增了错误状态响应码&lt;br&gt;Host头处理，传递主机名&lt;br&gt;支持长连接&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;:&amp;mdash;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;https&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;tcp+tls&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;需要证书&lt;br&gt;TLS加密传输协议&lt;br&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;:&amp;mdash;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;2.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;tcp+tls&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;二进制格式&lt;br&gt;多路复用&lt;br&gt;header压缩&lt;br&gt;服务端推送&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;:&amp;mdash;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;3.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;udp&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;减少了TCP三次握手及TLS握手时间&lt;br&gt;连接迁移&lt;br&gt;线头阻塞(HOL)问题的解决更为彻底&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td style="text-align: left"&gt;:&amp;mdash;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item><item><title>开篇大吉</title><link>https://lucky-chen.github.io/zh/docs/notes/hello-chen/</link><pubDate>Wed, 06 Jul 2016 00:00:00 +0000</pubDate><guid>https://lucky-chen.github.io/zh/docs/notes/hello-chen/</guid><description>&lt;p&gt;    忽忽然已二十好几,时间就像开了挂的玩家一样,自己玩的很嗨,全然不顾我这普通玩家的感受。想要总结一下吧,发现记忆虽然清晰,但是太过散乱。想了想，觉着写些东西可能会有所帮助。文章可能是技术相关，可能是阅读随想，也可能是狗屁不通的胡思乱想，whatever。&lt;/p&gt;&#10;&lt;p&gt;    倒也没什么高大上的目的,主要是梳理一下这个最近不太灵光的脑袋,在一个是记录一下所思所想,以后看起来应该会很有趣。&lt;/p&gt;</description></item></channel></rss>