<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[likuolei的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/likuolei</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; likuolei]]></copyright><item><title><![CDATA[Java 入门必学：final、单例、枚举、抽象类、接口]]></title><link>https://blog.csdn.net/likuolei/article/details/159200415</link><guid>https://blog.csdn.net/likuolei/article/details/159200415</guid><author>likuolei</author><pubDate>Wed, 18 Mar 2026 09:30:08 +0800</pubDate><description><![CDATA[/ 抽象方法System.out.println("睡觉");final→ 限制（不能改/不能继承）单例→ 控制对象数量枚举→ 固定常量集合（更安全）抽象类→ “是什么”（is-a）接口→ “能做什么”（can-do）接口定能力，抽象类做模板，枚举管常量，单例控实例，final保约束如果你想继续深入，我可以帮你👇✅ 出一套「面试高频考题（final/接口/单例）」✅ 或做「设计模式入门（含代码实战）」✅ 或带你写一个“小项目综合应用这些知识点”]]></description><category></category></item><item><title><![CDATA[用Java设计一个素数的判断与统计]]></title><link>https://blog.csdn.net/likuolei/article/details/159200377</link><guid>https://blog.csdn.net/likuolei/article/details/159200377</guid><author>likuolei</author><pubDate>Wed, 18 Mar 2026 09:28:45 +0800</pubDate><description><![CDATA[本文介绍了Java实现素数判断与统计的完整方案。首先定义素数为只能被1和自身整除的数（≥2），随后给出三种实现方法：1）暴力法（O(n)复杂度）；2）优化到√n的方法（O(√n)复杂度）；3）埃拉托斯特尼筛法（O(n log log n)复杂度），重点讲解了筛法的核心思想和i*i起始的优化原理。文章还提供了完整的测试代码和三种方法的对比表格，最后指出进阶优化方向（如只判断奇数、欧拉筛等）。核心结论是：单个素数判断推荐√n优化法，区间统计推荐筛法。]]></description><category></category></item><item><title><![CDATA[Java数组详解：从入门到精通]]></title><link>https://blog.csdn.net/likuolei/article/details/159200353</link><guid>https://blog.csdn.net/likuolei/article/details/159200353</guid><author>likuolei</author><pubDate>Wed, 18 Mar 2026 09:27:14 +0800</pubDate><description><![CDATA[本文系统讲解了Java数组的基础到进阶知识。主要内容包括：数组的定义与初始化（静态/动态）、基本操作（访问/修改/遍历）、内存原理、常见操作（求最大值/求和/查找）和异常处理。进阶部分涵盖多维数组、数组与集合对比、Arrays工具类使用、数组拷贝方式以及排序算法实现。文章还指出了面试常见陷阱，分析了数组的性能特点，强调其内存连续和高效随机访问的特性。最后总结了数组的本质是&quot;一块连续内存，用索引高效访问数据&quot;，为深入学习提供了方向指引。]]></description><category></category></item><item><title><![CDATA[Java实现数字华容道：乱序算法]]></title><link>https://blog.csdn.net/likuolei/article/details/159200325</link><guid>https://blog.csdn.net/likuolei/article/details/159200325</guid><author>likuolei</author><pubDate>Wed, 18 Mar 2026 09:25:54 +0800</pubDate><description><![CDATA[摘要： 数字华容道（如8数码/15数码）的乱序算法需确保生成的局面可解，直接随机打乱会导致50%概率无解。核心规则是逆序数为偶数时可解，奇数时无解。推荐三种方法： 随机打乱+修正：交换非0元素修正逆序数； 从已解状态随机移动（最优）：通过N次随机移动空格生成100%可解局面； A*逆向生成：适合控制难度。 方法二最推荐，因其真实且无缺陷。进阶优化包括难度控制、避免回退及AI求解（如A*算法）。关键是在保证可解的前提下实现随机性。]]></description><category></category></item><item><title><![CDATA[Java分支结构详解：if与switch]]></title><link>https://blog.csdn.net/likuolei/article/details/159200281</link><guid>https://blog.csdn.net/likuolei/article/details/159200281</guid><author>likuolei</author><pubDate>Wed, 18 Mar 2026 09:24:39 +0800</pubDate><description><![CDATA[本文系统讲解了Java中的分支结构，重点对比了if语句和switch语句。if语句适用于范围判断和复杂逻辑条件，支持单分支、双分支和多分支结构；switch语句则针对固定值匹配场景，支持多case合并和Java 12+新语法。文章指出二者的核心区别在于if用于&quot;判断条件&quot;而switch用于&quot;匹配值&quot;，并列举了常见使用陷阱（如忘记break、判断顺序错误等）和进阶技巧（如switch+枚举）。最后强调根据具体场景选择合适的分支结构，if适合范围判断，switch适合离散]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 18 期：CSS 选择器 (3) 伪元素选择器 详解]]></title><link>https://blog.csdn.net/likuolei/article/details/159157533</link><guid>https://blog.csdn.net/likuolei/article/details/159157533</guid><author>likuolei</author><pubDate>Wed, 18 Mar 2026 09:22:12 +0800</pubDate><description><![CDATA[本文详细介绍了CSS伪元素选择器的使用方法，包括常见的伪元素类型如::before、::after、::first-letter等。通过语法示例和应用场景展示，讲解了如何在元素前后插入内容、设置首字母样式、调整首行文本等实用技巧。文章还区分了伪类和伪元素的差异，并推荐使用CSS3标准的双冒号写法。伪元素选择器广泛应用于UI装饰、文本排版和清除浮动等场景，是前端开发必备的重要知识点。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 17 期：CSS 选择器 (2) 伪类选择器 详解]]></title><link>https://blog.csdn.net/likuolei/article/details/159157496</link><guid>https://blog.csdn.net/likuolei/article/details/159157496</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:13:13 +0800</pubDate><description><![CDATA[本文详细介绍了CSS伪类选择器的使用方法。伪类选择器通过冒号:表示，用于选择元素的特殊状态（如悬停、焦点等）。主要分为链接伪类（:link、:visited等）、交互伪类（:hover、:focus）、结构伪类（:first-child、:nth-child()等）和表单伪类。文章重点讲解了:hover、:focus和:nth-child()等常用伪类的语法和实际应用场景，如导航菜单效果、表格斑马纹等。伪类选择器能实现交互效果而无需JavaScript，是提升用户体验的重要工具。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 16 期：CSS 选择器 (1) 核心语法规则、常见的选择器分类]]></title><link>https://blog.csdn.net/likuolei/article/details/159157471</link><guid>https://blog.csdn.net/likuolei/article/details/159157471</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:11:53 +0800</pubDate><description><![CDATA[本文介绍了CSS选择器的核心语法和常见分类。主要内容包括：1）CSS选择器的基本语法结构；2）标签、类、ID和通配符等基础选择器的使用方法；3）选择器优先级规则（标签&lt;类&lt;ID）；4）开发中选择器的使用建议（推荐类选择器）。文章通过代码示例详细说明了每种选择器的特点和应用场景，并强调了理解选择器对CSS样式设置的重要性。最后预告了下一期将讲解关系选择器的相关内容。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 15 期：CSS 元素(标签)之间的层次关系与代码注释(复盘)]]></title><link>https://blog.csdn.net/likuolei/article/details/159157398</link><guid>https://blog.csdn.net/likuolei/article/details/159157398</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:09:42 +0800</pubDate><description><![CDATA[本文梳理了HTML元素层级关系与代码注释规范。HTML标签形成树状结构（DOM树），包括父子、祖先/后代、兄弟等关系，这些关系直接影响CSS选择器的使用方式（如后代选择器div p和子选择器div&gt;p）。同时介绍了HTML(&lt;!--注释--&gt;)和CSS(/注释/)的注释语法及其应用场景：标记模块、解释复杂逻辑、临时关闭代码等。文章强调良好的注释规范能提升代码可读性和可维护性，并提供了标准项目结构示例。最后总结了各类元素关系及注释的作用，为后续深入学习CSS选择器奠定基础。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 14 期：CSS 页面布局中的块元素和内联元素]]></title><link>https://blog.csdn.net/likuolei/article/details/159157369</link><guid>https://blog.csdn.net/likuolei/article/details/159157369</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:07:59 +0800</pubDate><description><![CDATA[块级元素是指在页面中独占一行的元素。默认独占一整行可以设置宽度和高度可以设置margin 和 padding可以包含块元素或内联元素示例：< div > 这是一个块元素 </ div > < div > 这是第二个块元素 </ div ></< div > 这是一个块元素 </ div > < div > 这是第二个块元素 </ div >< div > 这是一个块元素 </ div > < div > 这是第二个块元素 </ div ></]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 13 期：CSS 层叠样式表的编写位置与使用规范]]></title><link>https://blog.csdn.net/likuolei/article/details/159157316</link><guid>https://blog.csdn.net/likuolei/article/details/159157316</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:06:44 +0800</pubDate><description><![CDATA[本文介绍了CSS样式的三种编写位置及其适用场景，重点分析了外部样式表的优势。详细讲解了CSS的层叠机制和优先级规则（标签选择器&lt;类选择器&lt;ID选择器&lt;行内样式&lt;!important），并提供了实际开发中的最佳实践建议：推荐使用外部CSS文件、避免行内样式、减少!important使用、采用语义化命名和模块化组织。文章最后总结了不同编写方式的使用场景和优先级顺序，为后续深入学习CSS选择器奠定了基础。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 12 期：CSS基础介绍与使用3D视图查看网页层叠结构]]></title><link>https://blog.csdn.net/likuolei/article/details/159157270</link><guid>https://blog.csdn.net/likuolei/article/details/159157270</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:05:08 +0800</pubDate><description><![CDATA[本期介绍了CSS的基础概念与使用方法，包括CSS的作用（控制网页样式）、基本语法（选择器+属性值）以及三种引入方式（行内、内部、外部样式表）。重点讲解了浏览器开发者工具的使用，特别是通过3D视图查看DOM层级结构的方法（Chrome的Layers面板/Firefox的Tilt 3D），帮助开发者直观理解网页元素的层叠关系。文章强调外部样式表的优势，并指出理解DOM层级对CSS、JavaScript及现代前端框架学习的重要性。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 11 期：HTML常用标签 (7) 实体符号与Unicode编码]]></title><link>https://blog.csdn.net/likuolei/article/details/159157241</link><guid>https://blog.csdn.net/likuolei/article/details/159157241</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:03:37 +0800</pubDate><description><![CDATA[本文介绍了HTML实体符号与Unicode编码的使用方法。HTML实体用于显示特殊字符（如&lt;、&gt;、&amp;等），避免被浏览器解析为标签。文章详细讲解了实体符号的两种写法（&amp;实体名称;和&amp;#实体编号;），列举了常见保留字符、数学符号、货币符号、版权符号等实体表示方式，并介绍了Unicode编码在HTML中的应用，包括显示中文和Emoji表情。此外，还提供了实际开发中的使用场景和建议，如推荐使用实体名称提高可读性、必须声明UTF-8编码等。最后总结了HTML实体的核心作用与常见实体]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 10 期：HTML常用标签 (6) 表单技术 详解]]></title><link>https://blog.csdn.net/likuolei/article/details/159157204</link><guid>https://blog.csdn.net/likuolei/article/details/159157204</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:02:29 +0800</pubDate><description><![CDATA[本文详细介绍了HTML表单的开发技术，包括表单基本结构、提交方式（GET/POST）及各类输入控件的使用方法。重点讲解了input标签的多种类型（文本框、密码框、单选/复选框、按钮等）、下拉菜单、多行文本框的实现，以及label标签的辅助功能。文章通过完整示例展示了表单的典型应用场景，如登录、注册等数据交互场景，并总结了核心表单标签及其作用。最后预告了下期将介绍HTML5新增表单控件，这些内容对前端开发具有重要实践价值。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 09 期：HTML常用标签 (5) 表格标签]]></title><link>https://blog.csdn.net/likuolei/article/details/159157174</link><guid>https://blog.csdn.net/likuolei/article/details/159157174</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 10:01:03 +0800</pubDate><description><![CDATA[本文介绍了HTML表格标签的基本用法，主要包括表格核心标签（table、tr、td、th）、表头设置、边框控制、单元格合并（colspan/rowspan）以及HTML5语义化标签（thead/tbody/tfoot）。文章强调表格应专注于数据展示而非页面布局，推荐使用CSS控制样式，并提供完整示例展示学生成绩表的实现。最后指出大数据表格应使用分页或组件库优化性能，总结了表格标签的核心功能和开发注意事项。]]></description><category></category></item><item><title><![CDATA[【H5 前端开发笔记】第 08 期：HTML常用标签 (4) ul 无序列表、ol 有序列表、li 项目列表、dl、dt、dd 自定义列表 详解]]></title><link>https://blog.csdn.net/likuolei/article/details/159157103</link><guid>https://blog.csdn.net/likuolei/article/details/159157103</guid><author>likuolei</author><pubDate>Tue, 17 Mar 2026 09:59:19 +0800</pubDate><description><![CDATA[本期H5前端开发笔记详解HTML三种列表标签：无序列表&lt;ul&gt;用于导航和并列内容，有序列表&lt;ol&gt;适合步骤流程，定义列表&lt;dl&gt;专为名词解释和FAQ设计。文章包含基础语法、2026推荐写法、嵌套技巧及实战应用示例（导航菜单、商品参数、FAQ等），强调语义化使用对SEO的重要性。最后提供5项手写练习，帮助巩固列表标签的核心用法。下期预告将讲解HTML表格标签。]]></description><category></category></item><item><title><![CDATA[MySQL 总结｜MySQL 从入门到高级]]></title><link>https://blog.csdn.net/likuolei/article/details/159078319</link><guid>https://blog.csdn.net/likuolei/article/details/159078319</guid><author>likuolei</author><pubDate>Mon, 16 Mar 2026 09:24:39 +0800</pubDate><description><![CDATA[SQL基础↓数据库设计↓索引优化↓事务与锁↓存储引擎↓查询优化↓高可用架构。]]></description><category></category></item><item><title><![CDATA[8个高实用性的 Python 游戏测试框架]]></title><link>https://blog.csdn.net/likuolei/article/details/159113548</link><guid>https://blog.csdn.net/likuolei/article/details/159113548</guid><author>likuolei</author><pubDate>Mon, 16 Mar 2026 09:24:14 +0800</pubDate><description><![CDATA[框架类型适合pytest单元测试游戏逻辑unittest单元测试基础测试自动化测试QABehaveBDD测试功能测试Locust性能测试服务器压力Airtest游戏自动化手游PyAutoGUIGUI自动化简单操作SeleniumWeb自动化Web游戏。]]></description><category></category></item><item><title><![CDATA[【Java 学习】详细讲解---包和导包、Scanner类、输入源]]></title><link>https://blog.csdn.net/likuolei/article/details/159113510</link><guid>https://blog.csdn.net/likuolei/article/details/159113510</guid><author>likuolei</author><pubDate>Mon, 16 Mar 2026 09:23:03 +0800</pubDate><description><![CDATA[本文详细讲解了Java初学阶段的关键概念：包（package）、导包（import）和Scanner类。主要内容包括：包的作用是管理类目录结构，避免命名冲突；导包的三种方式（单个类、整个包、完整类名）；Scanner类用于读取输入数据的基本用法和常用方法（如nextInt()、nextLine()）；不同输入源（键盘、字符串、文件）的使用方法；以及初学者常见错误（如忘记导包、nextLine()读取问题）。最后总结了Java输入的知识结构和核心要点，帮助初学者掌握基础输入操作。]]></description><category></category></item><item><title><![CDATA[初学者如何用 Python 写第一个爬虫？]]></title><link>https://blog.csdn.net/likuolei/article/details/159113471</link><guid>https://blog.csdn.net/likuolei/article/details/159113471</guid><author>likuolei</author><pubDate>Mon, 16 Mar 2026 09:21:34 +0800</pubDate><description><![CDATA[本文介绍了Python爬虫的入门指南，适合初学者快速上手。主要内容包括：爬虫的基本概念（自动访问网页并提取信息）、核心流程（发送请求→获取HTML→解析→提取数据）、必备工具（Requests和Beautiful Soup库的安装使用）。文章通过示例代码演示了如何获取网页、解析HTML和提取数据（如标题、链接），并提供了完整爬虫示例。最后总结了常见技巧（添加请求头、保存数据）、进阶学习路线和注意事项（遵守robots.txt、合法使用等）。全文以简洁的代码示例和步骤说明，帮助读者快速掌握基础爬虫技术。]]></description><category></category></item></channel></rss>