<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[鲁迷那的专栏—坚持实践后再写出来！]]></title><description><![CDATA[坚持实践后，才写出来！]]></description><link>https://blog.csdn.net/YuDBL</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; YuDBL]]></copyright><item><title><![CDATA[6、Integer 缓存池 vs String 缓存池 的对比内存图（一眼彻底分清）]]></title><link>https://blog.csdn.net/YuDBL/article/details/160475938</link><guid>https://blog.csdn.net/YuDBL/article/details/160475938</guid><author>YuDBL</author><pubDate>Fri, 24 Apr 2026 15:06:36 +0800</pubDate><description><![CDATA[摘要：String字面量和Integer小数字（-128~127）都采用对象复用机制。String通过字符串常量池复用相同对象，Integer通过数字缓存池复用。当值相同时，它们会指向堆中同一地址，因此==比较为true。而超出Integer缓存范围的值（如128）会创建新对象，地址不同，==比较为false。两者的内存结构原理完全一致，区别仅在于使用的缓存池不同。]]></description><category></category></item><item><title><![CDATA[5、Integer缓存池里同一个对象指的是什么？Integer 和String 内存结构逻辑完全一样？]]></title><link>https://blog.csdn.net/YuDBL/article/details/160468154</link><guid>https://blog.csdn.net/YuDBL/article/details/160468154</guid><author>YuDBL</author><pubDate>Fri, 24 Apr 2026 11:18:37 +0800</pubDate><description><![CDATA[文章摘要： Integer的缓存池机制与String常量池逻辑相同，默认缓存-128~127的Integer对象，通过Integer.valueOf()复用。Integer a=10和b=10指向堆中同一缓存对象，==比较为true；超出范围则new新对象，地址不同。区别在于String池无固定范围，而Integer池范围固定。核心结论：两者内存结构一致，仅缓存范围不同。 思考题答案： String常量池无预设范围限制，所有字面量均自动缓存并复用。]]></description><category></category></item><item><title><![CDATA[4、String 内存完整流程（面试必考，纯严谨结构）]]></title><link>https://blog.csdn.net/YuDBL/article/details/160368911</link><guid>https://blog.csdn.net/YuDBL/article/details/160368911</guid><author>YuDBL</author><pubDate>Tue, 21 Apr 2026 12:32:32 +0800</pubDate><description><![CDATA[摘要： String内存机制主要分三种情况：1)字面量赋值时，相同字符串共享常量池地址（s1==s2为true）；2)new创建时，每次都在堆生成新对象（s1==s2为false）；3)编译期优化会合并字面量拼接。关键结论：==比较栈地址，字面量入常量池共享，new必定新建对象。字符串内容比较必须用equals()，其实现会依次检查对象同一性、类型和字符内容。面试重点在于理解常量池机制和对象创建方式的差异。（150字）]]></description><category></category></item><item><title><![CDATA[3、基本、引用、特例String类型，画一张极简 ASCII 内存图]]></title><link>https://blog.csdn.net/YuDBL/article/details/160367595</link><guid>https://blog.csdn.net/YuDBL/article/details/160367595</guid><author>YuDBL</author><pubDate>Tue, 21 Apr 2026 12:12:53 +0800</pubDate><description><![CDATA[摘要：本文通过ASCII图清晰展示了Java中基本类型和引用类型的内存结构差异。基本类型变量直接存储值在栈中，==比较真实值；引用类型变量存储堆地址，==比较地址而非对象内容。特别指出Integer缓存池特例：小整数会复用同一对象，导致==比较为true。核心结论是==永远只比较栈中存储的内容（值或地址），不会比较堆中对象。这种直观的内存图示法有助于理解Java的==操作本质，为后续String内存分析做铺垫。]]></description><category></category></item><item><title><![CDATA[2、基本类型和引用类型的执行存储流程是怎样的？]]></title><link>https://blog.csdn.net/YuDBL/article/details/160314443</link><guid>https://blog.csdn.net/YuDBL/article/details/160314443</guid><author>YuDBL</author><pubDate>Sun, 19 Apr 2026 21:48:22 +0800</pubDate><description><![CDATA[摘要：JVM变量存储规则清晰区分基本类型和引用类型。基本类型变量（如int）直接存储在栈中，存真实值；引用类型变量（如Integer）在栈中存储堆地址，对象实例在堆中。==操作符的底层逻辑：基本类型比较栈中的二进制值，引用类型比较栈中存储的堆地址。new操作必然产生不同堆地址，导致引用类型==比较为false。关键记忆点：基本类型-栈存值；引用类型-栈存地址；==比较栈中内容（值或地址）。]]></description><category></category></item><item><title><![CDATA[1、==、equals、hashCode底层原理？重写场景？]]></title><link>https://blog.csdn.net/YuDBL/article/details/160314170</link><guid>https://blog.csdn.net/YuDBL/article/details/160314170</guid><author>YuDBL</author><pubDate>Sun, 19 Apr 2026 21:20:06 +0800</pubDate><description><![CDATA[【摘要】本文系统解析Java中==、equals()和hashCode()的核心概念与底层机制。==是原生运算符，用于比较基本类型的值或引用类型的内存地址；equals()是可重写方法，用于自定义对象内容比较；hashCode()为对象生成哈希码，支持哈希表高效操作。三者遵循强制契约：equals为true则hashCode必须相同。重写场景包括：自定义实体类需内容比较时必须重写equals()，涉及哈希集合时必须同步重写hashCode()。JDK已为String等常用类实现合理的重写逻辑。理解这些机制对]]></description><category></category></item><item><title><![CDATA[鸿蒙转型特训第1天0104：将知识转化为面试语言]]></title><link>https://blog.csdn.net/YuDBL/article/details/157224068</link><guid>https://blog.csdn.net/YuDBL/article/details/157224068</guid><author>YuDBL</author><pubDate>Wed, 21 Jan 2026 22:33:45 +0800</pubDate><description><![CDATA[本文摘要：鸿蒙核心概念面试指南包含Stage与FA模型区别（多实例/生命周期分离）、ArkTS语言特性（响应式装饰器+严格类型）、声明式UI设计理念（What驱动）、@State状态管理（组件私有状态）及项目结构（Ability与UI松耦合）。通过现实场景类比（如会议室、智能水杯等）帮助理解技术原理，提供简洁回答模板和详细说明，强调从安卓命令式思维向鸿蒙声明式思维的转变。建议采用&quot;对比实现方式&quot;的策略展现实战经验，包含理解→记忆→模拟的三步准备法。]]></description><category></category></item><item><title><![CDATA[鸿蒙转型特训第1天0102：理解核心模型比速成更重要，关键在于深度理解，而不是表面上的进度快慢]]></title><link>https://blog.csdn.net/YuDBL/article/details/157140377</link><guid>https://blog.csdn.net/YuDBL/article/details/157140377</guid><author>YuDBL</author><pubDate>Wed, 21 Jan 2026 16:41:36 +0800</pubDate><description><![CDATA[《鸿蒙开发首日速成指南》摘要 本文为安卓开发者转型鸿蒙提供高效学习路径，首日聚焦最小可行目标：实现一个点击计数器应用。核心掌握三点：ArkUI组件写法、@State响应式数据和事件绑定。通过详细注释的代码示例，对比鸿蒙声明式UI与传统安卓命令式开发差异，强调&quot;修改数据即自动更新UI&quot;的核心理念。学习路径拆解为六步实操任务，从创建项目到运行调试。文章指出学习困难正是突破舒适区的信号，鼓励开发者利用既有安卓经验理解鸿蒙新范式，这种复合型人才在未来市场极具竞争力。明日将深入探讨Stage模型的]]></description><category></category></item><item><title><![CDATA[鸿蒙转型特训第1天0103：必备核心、必背金句]]></title><link>https://blog.csdn.net/YuDBL/article/details/157139943</link><guid>https://blog.csdn.net/YuDBL/article/details/157139943</guid><author>YuDBL</author><pubDate>Mon, 19 Jan 2026 17:52:04 +0800</pubDate><description><![CDATA[本文摘要： 本文聚焦鸿蒙开发第1天需掌握的5个核心概念： Stage模型：UI与Ability生命周期分离，支撑分布式能力 声明式UI：数据驱动视图自动更新（vs安卓命令式操作） ArkTS：TypeScript增强版，内置响应式装饰器 @State装饰器：变量变更自动触发UI刷新 build()方法：声明式UI的构建入口 关键转变：从&quot;如何操作UI&quot;到&quot;描述UI应呈现的状态&quot;。建议通过简单Demo体验&quot;改数据即自动刷新&quot;的声明式特性，完成思维模式]]></description><category></category></item><item><title><![CDATA[鸿蒙转型特训第1天：建立核心心智模型]]></title><link>https://blog.csdn.net/YuDBL/article/details/157133722</link><guid>https://blog.csdn.net/YuDBL/article/details/157133722</guid><author>YuDBL</author><pubDate>Mon, 19 Jan 2026 13:37:06 +0800</pubDate><description><![CDATA[《鸿蒙转型特训第1天摘要》聚焦从安卓转向鸿蒙的核心思维转变，重点解析Stage模型与ArkTS两大特性。Stage模型通过分离UI与Ability生命周期实现更好的分布式支持；ArkTS作为TS超集，强化类型系统与响应式编程。实践部分指导创建首个ArkTS应用，展示声明式UI开发模式。内容包含关键概念对比、代码示例、面试题及学习建议，帮助安卓开发者建立鸿蒙开发思维框架，强调动手实践与新旧技术对比的学习方法。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-26-推荐内容-布局搜索区域]]></title><link>https://blog.csdn.net/YuDBL/article/details/151819174</link><guid>https://blog.csdn.net/YuDBL/article/details/151819174</guid><author>YuDBL</author><pubDate>Tue, 23 Sep 2025 09:17:30 +0800</pubDate><description><![CDATA[该代码实现了一个推荐页面的布局结构，使用Column作为主容器。搜索区域采用Row布局，包含搜索图标、文本输入框和二维码图标。通过layoutWeight属性让TextInput自动填充剩余空间，并设置了圆角背景、间距和颜色样式。整体实现了响应式搜索框效果，支持默认提示文本和图标自定义。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-25-布局页-Tabs选项卡交互功能-高亮/切换功能]]></title><link>https://blog.csdn.net/YuDBL/article/details/151792449</link><guid>https://blog.csdn.net/YuDBL/article/details/151792449</guid><author>YuDBL</author><pubDate>Tue, 23 Sep 2025 09:13:46 +0800</pubDate><description><![CDATA[本文介绍了如何实现一个带底部Tab栏的布局页面，包含Tabs组件的使用和切换高亮效果。通过onChange事件获取当前选中索引，动态改变图标和文字颜色（粉色表示选中，浅绿色为默认）。文章详细展示了Layout布局页的完整代码，包括Tab数据定义、Builder构建方法以及四个Tab页卡（推荐、发现、动态、我的）的组件实现。关键点包括：使用Tabs组件管理内容区和菜单栏，通过currentIndex控制状态切换，并提供了comp+enter快捷键生成组件模板的技巧。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-24-布局页-Tabs选项卡]]></title><link>https://blog.csdn.net/YuDBL/article/details/151740261</link><guid>https://blog.csdn.net/YuDBL/article/details/151740261</guid><author>YuDBL</author><pubDate>Fri, 19 Sep 2025 07:59:26 +0800</pubDate><description><![CDATA[本文介绍了Tabs选项卡的实现方式，包含三种不同方案：1)基础版通过ForEach循环生成固定菜单项；2)动态数据版使用接口定义菜单数据；3)自定义版通过@Builder构建包含图标和文字的菜单样式。关键实现包括TabContent内容区、tabBar菜单区，以及barPosition定位属性。代码展示了完整的组件结构，包括导航控制、数据定义和样式设置，支持安全区适配和背景颜色定制，适用于不同场景的底部导航需求。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-23-广告页-stack层叠布局/3秒倒计时跳转]]></title><link>https://blog.csdn.net/YuDBL/article/details/151646210</link><guid>https://blog.csdn.net/YuDBL/article/details/151646210</guid><author>YuDBL</author><pubDate>Fri, 19 Sep 2025 07:57:47 +0800</pubDate><description><![CDATA[本文介绍了广告页的实现方案，采用Stack层叠布局实现&quot;跳过&quot;按钮叠加在广告图上。主要功能包括：1.3秒自动跳转（通过setTimeout实现）；2.手动跳过功能（通过replacePathByName跳转）；3.安全区域适配处理。代码展示了完整的ArkTS组件结构，包括生命周期方法、导航控制和UI布局实现，适用于需要广告页面的场景开发。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-22-项目结构-首页和子页]]></title><link>https://blog.csdn.net/YuDBL/article/details/151640663</link><guid>https://blog.csdn.net/YuDBL/article/details/151640663</guid><author>YuDBL</author><pubDate>Sat, 13 Sep 2025 08:24:26 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS中Navigation组件的实现方法，通过构建广告页和布局页两个子页面，并配置路由信息实现页面跳转功能。主要内容包括：1）项目结构分析；2）采用官方推荐的Navigation组件实现方案；3）具体代码实现步骤：先创建子页面（NavDestination），再配置路由信息（routerMap），最后编写导航页（Navigation）；4）演示了广告页到布局页的跳转功能。关键点在于使用NavPathStack对象统一管理页面跳转，并通过pushPathByName方法实现页面切换。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-22-项目功能结构说明-写首页及子页]]></title><link>https://blog.csdn.net/YuDBL/article/details/151277454</link><guid>https://blog.csdn.net/YuDBL/article/details/151277454</guid><author>YuDBL</author><pubDate>Fri, 12 Sep 2025 21:52:52 +0800</pubDate><description><![CDATA[本文介绍了如何使用HarmonyOS的Navigation组件实现页面导航功能。主要内容包括：1.项目功能结构预览；2.Navigation组件实现分析，包括页面跳转原理和配置管理；3.具体代码实现步骤：先创建广告页和布局页子页面，添加路由配置信息，最后实现导航页控制逻辑。关键点在于使用NavPathStack对象统一管理页面跳转，通过pushPathByName方法实现页面导航，并配置hideNavBar隐藏导航栏。文章强调理解实现流程比死记代码更重要。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-21-创建项目、修改软件文字/图标]]></title><link>https://blog.csdn.net/YuDBL/article/details/151221535</link><guid>https://blog.csdn.net/YuDBL/article/details/151221535</guid><author>YuDBL</author><pubDate>Tue, 09 Sep 2025 06:59:33 +0800</pubDate><description><![CDATA[本文摘要： 详细介绍了修改HarmonyOS项目配置文件的完整流程。首先预览了module.json5文件中的关键配置项（图标、文字等），然后逐步演示创建项目、初次运行预览的过程。重点讲解了如何通过修改module.json5文件来定制应用图标和名称，包括引用追踪、代码调试等操作技巧。文章提供了完整的最终配置代码示例，并强调了&quot;先规划再行动&quot;和&quot;以终为始&quot;的高效开发原则，帮助开发者快速掌握HarmonyOS应用配置方法。]]></description><category></category></item><item><title><![CDATA[鸿蒙项目篇-20-创建模拟器]]></title><link>https://blog.csdn.net/YuDBL/article/details/151209313</link><guid>https://blog.csdn.net/YuDBL/article/details/151209313</guid><author>YuDBL</author><pubDate>Fri, 05 Sep 2025 12:37:19 +0800</pubDate><description><![CDATA[《配置华为模拟器设备管理器指南》摘要：在设备管理器中选择&quot;NoDevices&quot;后，需将默认镜像目录从C盘（如C:\Users\ThinkPad\AppData\Local\Huawei\Emulator\deployed）修改至D盘指定路径（如D:\DevEco\deployed）。完成镜像下载后保留其他默认设置即可正常运行。该操作可有效释放系统盘空间，适用于开发环境配置需求。]]></description><category></category></item><item><title><![CDATA[鸿蒙开发案例-19-歌单列表交互效果]]></title><link>https://blog.csdn.net/YuDBL/article/details/151081974</link><guid>https://blog.csdn.net/YuDBL/article/details/151081974</guid><author>YuDBL</author><pubDate>Mon, 01 Sep 2025 20:33:39 +0800</pubDate><description><![CDATA[本文展示了使用DevEco Studio开发歌单交互界面的代码实现。通过定义SongItemType接口规范歌曲数据结构，使用ForEach循环渲染歌单列表，实现点击播放状态切换功能。代码包含歌曲图片、名称、作者等信息展示，VIP标识渲染，以及当前播放歌曲的波浪动画效果。界面采用黑色背景配白色文字，具有现代音乐APP风格，支持安全区域适配。该实现展示了HarmonyOS应用开发中组件化、数据绑定和事件处理等核心技术。]]></description><category></category></item><item><title><![CDATA[鸿蒙ArkTS 核心篇-18-@Builder 自定义构建函数]]></title><link>https://blog.csdn.net/YuDBL/article/details/151045302</link><guid>https://blog.csdn.net/YuDBL/article/details/151045302</guid><author>YuDBL</author><pubDate>Sun, 31 Aug 2025 13:32:19 +0800</pubDate><description><![CDATA[本文介绍了如何使用@Builder装饰器封装UI元素，提升代码复用性。通过DevEco Studio实战演示，展示了如何创建带标题和图标的自定义Row组件，并实现多个相同样式的标题栏。示例中使用了Text、Image等基础组件，设置了字体、颜色、权重等样式属性，最终呈现黑色背景下的白色标题栏效果。这种方法有效减少了重复代码，提高了开发效率。]]></description><category></category></item></channel></rss>