自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在 Android 的`Handler` 和 `Binder

是两个核心概念,分别用于不同场景的线程通信和跨进程通信(IPC)。在 Android 开发中,

2025-05-14 11:08:17 380

原创 在Java中实现Parcelable接口和Serializable接口有什么区别?

优先使用 Parcelable:在 Android 开发中,若需频繁传递对象(如 Intent、IPC),Parcelable是首选,性能显著优于。使用 Serializable:若数据需跨平台存储或传输,且对性能要求不高,更方便。选择建议:在 Android 中,除非必要(如第三方库依赖),否则尽量避免使用传递数据。

2025-05-13 19:16:23 706

原创 请解释 React Native 的新架构(Fabric 和 TurboModules)与旧架构的主要区别

新架构通过。

2025-05-12 16:11:56 1218

原创 安卓的systemservice 、systemserver、systemservicemanage和servicemanage用法

以下是对安卓中SystemService、SystemServer、SystemServiceManager和ServiceManager的讲解和区别:定义:是Framework中对应特定功能的服务,供其他模块和App调用,如BatteryService、PowerManagerService等。它是所有系统服务的基类,定义了系统服务的基本结构和生命周期方法,如onStart、onBootPhase、onSwitchUser等。

2025-05-07 07:09:59 838

原创 ‌进程间通信IPC

借助Intent可以在不同组件(像 Activity、Service 等)间传递数据,这些组件能够运行于不同进程。Intent支持传递基本数据类型、或Parcelable对象。// 在发送端// 在接收端。

2025-05-06 09:08:29 325

原创 IPC中的Binder

在 Android 系统里,Binder 是实现进程间通信(IPC)的核心机制,它具备高效、安全等特性。下面从架构、工作原理、调用流程等方面详细介绍 Binder 的原理。

2025-05-06 08:59:10 904

原创 android的MVC、MVP、MVVM

在 Java 里,private和public属于访问修饰符,其作用是管控类、方法、变量等的访问权限。除此之外,Java 还有protected访问修饰符以及默认(不写修饰符)的访问级别。

2025-05-06 08:58:29 427

原创 android 中的AMS 和 WMS

在Android开发中,AMS(Activity Manager Service)和WMS(Window Manager Service)是系统中非常重要的服务,学习它们对于深入理解Android系统架构和开发高性能应用具有重要意义。

2025-05-01 07:55:14 982

原创 java访问修饰符

在 Java 里,private和public属于访问修饰符,其作用是管控类、方法、变量等的访问权限。除此之外,Java 还有protected访问修饰符以及默认(不写修饰符)的访问级别。

2025-04-30 13:45:13 256

原创 Kotlin 常见问题

答案要点:密封类用于表示受限的类层次结构,即一个密封类的子类是有限的,并且必须在与密封类相同的文件中声明。密封类通常用于替代枚举类,当枚举类的每个常量需要携带不同的数据时,使用密封类更为合适。在 Kotlin 中,变量默认是不可为空的,如果需要允许变量为空,需要在类型后面加上。答案要点:Kotlin 中的反射机制允许在运行时检查类、属性和方法等信息,并且可以动态调用它们。答案要点:协程是一种轻量级的线程,它可以在单线程中实现并发。不过,反射会带来一定的性能开销,并且可能会破坏类的封装性,因此应该谨慎使用。

2025-04-29 16:14:26 1134

原创 Kotlin和JavaScript的对比

【代码】Kotlin和JavaScript的对比。

2025-04-29 16:10:26 669

原创 android开发中的多线程、数据存储同步功能实现方案和应用场景

在Android开发中,多线程、数据存储与同步功能有多种实现方案,以下是详细介绍及其应用场景:

2025-04-29 15:31:28 1188

原创 消息处理机制 Handler、Looper 和 MessageQueue

在 Android 中,为避免阻塞主线程(UI 线程)导致界面卡顿,耗时操作(如网络请求、文件读写)需在子线程执行。但更新 UI 只能在主线程进行,这时就需要借助消息处理机制把任务从子线程传递到主线程。该机制的核心工作流程是:子线程把消息发送到消息队列,主线程从消息队列取出消息并处理。定义即消息队列,本质是一个基于单链表的数据结构,用于存储Message对象。Message是一个封装了消息数据和处理信息的类,它包含了消息的标识、携带的数据等内容。作用:它负责管理和维护消息,遵循先进先出(FIFO)原则。

2025-04-29 15:19:54 309

原创 Android Framework常见问题

答案要点:Intent 是 Android 中用于在组件(如 Activity、Service、Broadcast Receiver)之间传递消息的对象。它可以用于启动 Activity(显式或隐式)、启动 Service、发送广播等。显式 Intent 通过指定目标组件的类名来启动特定组件,而隐式 Intent 则通过指定动作(Action)、数据(Data)等信息,由系统根据这些信息来匹配合适的组件。继承系统服务的基类:根据需求继承合适的系统服务基类,实现必要的方法。

2025-04-29 14:59:20 795

原创 详解React Fiber架构中,reconcile阶段的具体工作流程

在 React Fiber 架构里,协调(Reconcile)阶段处于虚拟 DOM(VDOM)与实际 DOM 渲染之间,主要承担着把 VDOM 转化为 Fiber 节点树、开展 Diff 比较并标记节点变化的任务。

2025-04-27 15:24:25 498

原创 react的 Fiber 节点的链表存储

在React Fiber架构中,Fiber节点的链表存储是一种重要的数据结构组织方式,用于管理和遍历Fiber节点。

2025-04-27 15:22:28 379

原创 关于 React Fiber 架构、Hooks 原理

在 React 16 版本之前,采用的是栈调和(Stack Reconciler),流程是 JSX 经过render函数转换为虚拟 DOM(VDOM),然后直接递归渲染 VDOM。这种方式一旦开始渲染就无法中断,若渲染任务复杂,会导致页面卡顿,影响用户体验。而 React 16 引入了 Fiber 架构,在 VDOM 和实际 DOM 渲染之间增加了一个协调(Reconcile)阶段。

2025-04-27 15:14:07 1037

原创 安卓的Launcher 在哪个环节进行启动

在某些特殊情况下,如用户手动更换Launcher应用,或者系统出现故障需要重新启动Launcher时,Launcher的启动过程会在相应的触发条件下重新进行。例如,当用户在设置中切换默认Launcher应用后,系统会在下次启动或用户返回主屏幕时,启动新设置的Launcher应用。

2025-04-27 15:12:19 385

原创 Monorepo、Lerna、Yarn Workspaces、pnpm Workspaces 用法

Monorepo 即单仓库,是一种项目管理策略,它将多个相关的项目或包存放在同一个代码仓库中。与之相对的是 Polyrepo(多仓库),即每个项目或包分别存放在独立的代码仓库。Lerna 是一个用于管理包含多个包(package)的 JavaScript 项目的工具,专门为 Monorepo 设计。它可以帮助开发者更高效地管理 Monorepo 中的多个包,提供了一系列命令来处理包的版本管理、发布、依赖安装等操作。

2025-04-27 13:48:35 1063

原创 Rollup、Webpack、Esbuild 和 Vite 前端打包工具

Rollup、Webpack、Esbuild 和 Vite 都是前端开发中常用的打包工具,它们各有特点,以下是对它们的详细对比:

2025-04-27 11:12:54 1178

原创 npm、pnpm 和 yarn 包管理工具

npm:适合初学者和对生态兼容性要求较高的项目,尤其是在需要频繁使用 npm 官方提供的一些功能和工具时。yarn:对于对安装速度和依赖锁定有较高要求的项目,yarn是一个不错的选择,特别是在团队协作开发中。pnpm:当项目依赖较多,磁盘空间有限时,pnpm的节省磁盘空间和快速安装的优势会更加明显。

2025-04-27 11:11:02 723

原创 Babel 对 Polyfill 的运用

Babel 中用到了 Polyfill 相关内容,主要是(在 Babel 7.4.0 及以后版本被弃用)和core-js。

2025-04-27 09:54:37 483

原创 Polyfill 介绍及用法

编写自己的 Polyfill:对于一些简单的特性,可以自己编写 Polyfill。这样可以更好地控制代码,并且减少引入第三方库的风险。例如,实现的 Polyfill:if (!k++;});

2025-04-27 09:42:46 685

原创 babel核心知识点

Babel 是一个 JavaScript 编译器,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 代码,以便在旧版本的浏览器或环境中运行。

2025-04-26 08:48:17 475

原创 react的fiber 用法

异步渲染:借助React.lazy和Suspense实现代码分割和异步加载组件。优先级调度:使用函数设置任务优先级。时间切片:通过React.memo记忆化组件,减少不必要的渲染。Fiber 是 React 16.x 及以后版本所采用的协调算法,其核心目标在于提升 React 应用的渲染性能和响应能力。

2025-04-26 08:34:42 1062

原创 Redux和MobX有什么区别

【代码】Redux和MobX有什么区别。

2025-04-26 08:29:53 434

原创 前端如何连接tcp 服务,接收数据

在传统的浏览器前端环境中,由于浏览器的同源策略和安全限制,无法直接建立 TCP 连接。不过,可以通过 WebSocket 或者使用 WebRTC 来间接实现与 TCP 服务的通信,另外在 Node.js 环境中可以直接使用net模块建立 TCP 连接。

2025-04-25 17:23:23 1225

原创 tcp 和http 网络知识

TCP:即传输控制协议(Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通信协议。它为互联网中的数据通信提供稳定的传输机制,在不可靠的IP层之上,通过确认、重传和错误检测等技术确保数据正确到达。比如在文件传输场景中,TCP保证文件的每个字节都能准确无误地从源端传输到目的端。HTTP:超文本传输协议(HyperText Transfer Protocol),是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。

2025-04-25 17:12:22 1588 2

原创 Ollama 是什么

【代码】Ollama 是什么。

2025-04-25 10:58:05 632

原创 安卓的Launcher 在哪个环节进行启动

在某些特殊情况下,如用户手动更换Launcher应用,或者系统出现故障需要重新启动Launcher时,Launcher的启动过程会在相应的触发条件下重新进行。例如,当用户在设置中切换默认Launcher应用后,系统会在下次启动或用户返回主屏幕时,启动新设置的Launcher应用。

2025-04-21 14:45:20 454

原创 安卓的桌面 launcher是什么

安卓的桌面Launcher是一种安卓应用程序,它主要负责管理和展示手机主屏幕的界面以及相关功能,为用户提供与设备交互的主要入口。

2025-04-21 14:44:28 541

原创 android的 framework 是什么

Android的Framework(框架)是Android系统的核心组成部分,它为开发者提供了一系列的API(应用程序编程接口),使得开发者能够方便地创建各种Android应用。

2025-04-21 14:28:56 545

原创 android的 framework 有哪些知识点和应用场景

【代码】android的 framework 有哪些知识点和应用场景。

2025-04-21 14:27:46 503

原创 如何学习 Android Framework

学习 Android Framework 具有一定的挑战性,但通过合理规划和有效的学习方法,能够逐步掌握。

2025-04-21 14:26:35 289

原创 训练出一个模型需要哪些步骤

训练一个大模型(如LLM)是一个系统化工程,涉及数据、算法、算力和工程优化的复杂协作。掌握这些步骤后,可根据实际需求调整流程。

2025-04-03 17:24:57 540

原创 大模型中的参数规模与显卡匹配

在大模型训练和推理中,显卡(GPU/TPU)的选择与模型参数量紧密相关,需综合考虑显存、计算能力和成本。70B模型原始显存需求(FP16):140GB →。*基于AWS p4d.24xlarge实例估算。→ 需多卡分布式训练。实际部署前,建议使用。

2025-04-03 17:23:05 933

原创 大模型训练必须使用英伟达的显卡吗

大模型训练并非必须使用英伟达(NVIDIA)显卡,但英伟达GPU因其成熟的生态和工具链目前仍是主流选择。随着AI芯片竞争加剧,未来3-5年可能会出现更成熟的替代方案,但目前训练百亿级大模型仍建议优先考虑英伟达硬件。

2025-04-03 17:21:30 573

原创 大模型的参数规模

在大模型(如LLM、多模态模型)的讨论中,= 各层参数量累加,最终以。

2025-04-02 15:20:18 1289

原创 Mistral模型

Mistral 是由法国初创公司 Mistral AI 开发的一系列高效开源大语言模型(LLM),以其小体积、高性能著称,尤其在7B(70亿参数)规模下表现优异,甚至超越部分更大的模型(如Llama 2 13B)。以下是关键细节:优势总结:(2)本地量化运行(llama.cpp + GGUF)下载GGUF模型(如Mistral-7B-v0.1-Q4_K_M.gguf)。使用llama.cpp运行:(3)微调(LoRA/PEFT)支持Hugging Face生态的微调工具:5. Mistr

2025-04-02 13:55:36 555

原创 模大型格式

是一种专为**本地运行大型语言模型(LLMs)**设计的二进制文件格式,由。它优化了模型加载、内存管理和跨平台兼容性,特别适合在。团队开发,用于替代早期的。设备上高效运行量化模型。GGUF 文件通常以。

2025-04-02 13:50:28 690

空空如也

空空如也

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

TA关注的人

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