<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BaconZzz的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BaconZzz</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BaconZzz]]></copyright><item><title><![CDATA[【Java】异常：从 Throwable 体系到可维护的异常处理]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/167790223</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/167790223</guid><author>BaconZzz</author><pubDate>Tue, 13 Oct 2026 10:56:11 +0800</pubDate><description><![CDATA[自定义异常本质上就是定义一个继承自Exception或的类。异常类型应该表达业务语义，让调用方能够准确判断并处理。throw new InsufficientBalanceException("余额不足");当调用方通常无法恢复，或者错误表示参数和程序状态违反约定时，可以继承是否选择受查异常，不应该只看“编译器会不会强制我写代码”，而应该问：调用方是否真的有合理的恢复动作？如果没有，强迫每一层都声明throws往往只是在传递负担。]]></description><category></category></item><item><title><![CDATA[【JavaSE】String（含字符串常量池讲解）]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/167680009</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/167680009</guid><author>BaconZzz</author><pubDate>Mon, 12 Oct 2026 11:12:41 +0800</pubDate><description><![CDATA[对于同一份字符串内容，池中被选作代表的那个String实例，可以称为规范对象；指向它的引用就是规范引用。规范对象不是一种特殊类型，它仍然是普通的String。特殊之处只在于：JVM 把它选成了这份内容的统一代表。"abc" 的规范对象：池中被选中的那个 String 实例"abc" 的规范引用：指向这个实例的引用StringTable 为内容"abc"保存规范引用。str1和str2也拿到这个规范引用。三个箭头最终指向同一个规范对象。]]></description><category></category></item><item><title><![CDATA[【JavaSE】抽象类和接口]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/167480064</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/167480064</guid><author>BaconZzz</author><pubDate>Sat, 10 Oct 2026 12:06:07 +0800</pubDate><description><![CDATA[抽象类用于表示无法实例化的抽象概念（如动物、图形），通过abstract关键字定义，不可被实例化，可包含抽象方法和普通成员。抽象方法强制子类实现，确保编译时约束，避免运行时错误。接口则定义“能做什么”的行为规范，支持多实现，解决单继承限制，JDK 8后引入default方法，允许接口提供默认实现，提升扩展性。抽象类强调“是什么”，接口强调“能做什么”，二者协同实现灵活的面向对象设计。]]></description><category></category></item><item><title><![CDATA[【JavaSE】类和对象三大特性]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/167173956</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/167173956</guid><author>BaconZzz</author><pubDate>Tue, 06 Oct 2026 14:57:55 +0800</pubDate><description><![CDATA[Java面向对象三大特性——封装、继承、多态，有效解决代码设计问题。封装通过private隐藏数据，结合getter/setter实现数据校验与逻辑控制，保障数据安全；继承避免重复代码，如Programmer与Designer共用基础属性；多态则实现统一接口处理不同对象，提升扩展性。合理使用访问修饰符（private、protected、public）是实现良好封装的关键。]]></description><category></category></item><item><title><![CDATA[【JavaSE】类和对象基础]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/167040012</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/167040012</guid><author>BaconZzz</author><pubDate>Sat, 03 Oct 2026 21:57:55 +0800</pubDate><description><![CDATA[本文深入讲解Java面向对象核心概念——类与对象。通过对比传统变量管理的弊端，引出类作为“模板”、对象作为“实例”的重要性。详细介绍了类的定义、对象创建、成员变量（含默认值与作用域）及成员方法（含方法重载），并通过学生、汽车、计算器等实例演示了如何封装数据与行为，帮助读者理解面向对象编程的基本思想，为后续学习奠定坚实基础。]]></description><category></category></item><item><title><![CDATA[【JavaSE】数组的定义和使用（附管理系统实战案例）]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166949863</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166949863</guid><author>BaconZzz</author><pubDate>Thu, 01 Oct 2026 22:33:06 +0800</pubDate><description><![CDATA[本文全面解析Java数组，从解决变量冗余问题引入，系统讲解数组的内存模型、创建与初始化（动态/静态）、下标访问、遍历方法及引用特性。重点阐明数组在堆中连续存储、通过地址访问的机制，结合JVM内存分布说明其引用类型本质，强调避免越界与正确使用for-each循环，助力开发者高效掌握数组核心应用。]]></description><category></category></item><item><title><![CDATA[【JavaSE】方法的定义与使用]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166947066</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166947066</guid><author>BaconZzz</author><pubDate>Thu, 01 Oct 2026 16:37:37 +0800</pubDate><description><![CDATA[写代码常遇重复逻辑，如多次判断成绩是否及格。方法（函数）可解决此问题：定义一次，多处调用，提升复用性与可读性。方法包含参数（形参与实参）、返回值（或void），通过值传递实现数据交互。调用时程序跳转执行，完成后返回原位置。变量作用域独立，方法间需通过参数或返回值传递数据。合理使用方法能模块化代码，降低维护成本。]]></description><category></category></item><item><title><![CDATA[【JavaSE】输入与输出]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166892525</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166892525</guid><author>BaconZzz</author><pubDate>Wed, 30 Sep 2026 11:01:16 +0800</pubDate><description><![CDATA[本文系统讲解Java的输入输出基础。输出方面，介绍print、println、printf三种方式及转义字符，结合购物小票实例展示格式化输出；输入部分重点解析Scanner类的四种方法：nextInt()、nextDouble()、next()（按空白分隔）和nextLine()（读整行），厘清其差异与使用场景，帮助初学者掌握程序与用户交互的核心技能。]]></description><category></category></item><item><title><![CDATA[【JavaSE】分支与循环概念和实战]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166839840</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166839840</guid><author>BaconZzz</author><pubDate>Tue, 29 Sep 2026 11:54:04 +0800</pubDate><description><![CDATA[本文详解Java分支与循环核心语法，涵盖if、switch条件判断及for、while、do-while循环的使用场景与区别。通过成绩分级、猜数字等实例，演示条件分支逻辑与循环控制，重点强调break与continue的作用，并指出常见错误如分号误用、switch穿透等问题，帮助30分钟掌握程序流程控制精髓。]]></description><category></category></item><item><title><![CDATA[【JavaSE】运算符指南]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166367879</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166367879</guid><author>BaconZzz</author><pubDate>Mon, 28 Sep 2026 20:04:30 +0800</pubDate><description><![CDATA[本文系统介绍Java运算符，涵盖算术、关系和逻辑运算符。算术运算符实现加减乘除与取模，注意整数除法截断小数、取模结果符号与被除数一致；关系运算符用于比较，返回布尔值，不可连续使用，需用逻辑运算符连接；逻辑运算符如&&、||支持短路求值，提升效率。文中强调关键细节：整除截断、取模规律、表达式正确写法及实际应用场景，帮助读者掌握基础语法，编写高效、安全的代码。]]></description><category></category></item><item><title><![CDATA[【JavaSE】数据类型与变量]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166495222</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166495222</guid><author>BaconZzz</author><pubDate>Thu, 24 Sep 2026 01:08:29 +0800</pubDate><description><![CDATA[Java 中的数据类型决定变量存储内容及内存表示。字面量如"hello"、123、3.14等直接写在代码中，分为字符串、整数、浮点、字符、布尔和null。Java有8种基本类型（如int、double、char、boolean）和引用类型（如String、数组）。变量需声明类型、名称并初始化。整数默认为int，浮点为double；long需加L后缀。类型转换分自动提升（小转大）与强制转换（大转小，可能丢失精度）。字符用单引号，字符串用双引号，支持拼接。浮点计算有精度误差，金额建议用BigDecimal。]]></description><category></category></item><item><title><![CDATA[【JavaSE】初识 Java]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166491700</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166491700</guid><author>BaconZzz</author><pubDate>Wed, 23 Sep 2026 20:22:57 +0800</pubDate><description><![CDATA[Java 是一门跨平台编程语言，通过编译为字节码（.class）由 JVM 执行，实现“一次编译，到处运行”。它广泛应用于后端开发、Android、大数据等领域。学习 Java SE 可掌握基础语法、面向对象等核心概念。一个简单的 HelloWorld 程序包含类、main 方法和输出语句，需注意类名与文件名一致。JDK 包含编译器和运行环境，JVM 负责执行字节码。注释、标识符命名规范（如驼峰命名）和关键字是编写清晰代码的基础。]]></description><category></category></item><item><title><![CDATA[【C 语言】初识 Git：用 Git 上传项目到远端]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166364322</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166364322</guid><author>BaconZzz</author><pubDate>Tue, 22 Sep 2026 14:49:27 +0800</pubDate><description><![CDATA[本文详细介绍了在 Windows、Linux 或 macOS 上，将C语言项目上传至GitHub或Gitee的完整流程：安装Git工具，配置提交信息，创建远程仓库，克隆到本地，添加代码与.gitignore文件，通过Add、Commit、Push三步完成首次上传，并演示了修改代码后重复同步的方法。强调了三者操作的区别与顺序，确保代码安全、高效地同步至远程仓库。]]></description><category></category></item><item><title><![CDATA[【C 语言】调试：从断点、调用栈到定位越界]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/166141162</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/166141162</guid><author>BaconZzz</author><pubDate>Sun, 20 Sep 2026 21:25:14 +0800</pubDate><description><![CDATA[程序出错时，应聚焦于“第一个错误变量”而非最终结果。针对结果错误、数组越界、程序卡死或崩溃三类常见问题，推荐使用 Visual Studio（Windows）或 GDB（Linux）配合断点、单步调试与 AddressSanitizer 工具。核心步骤为：复现问题、明确正确结果、定位首个异常变量、修复并验证。关键在于建立“预期值”意识，如阶乘计算中需确保每轮重置 factorial；越界问题用 AddressSanitizer 直接定位；死循环则检查循环变量是否递增；崩溃时通过调用栈快速定位问题位置。]]></description><category></category></item><item><title><![CDATA[【C 语言】结构体：把一组相关数据装进同一个对象]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/165853164</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/165853164</guid><author>BaconZzz</author><pubDate>Sat, 19 Sep 2026 00:00:00 +0800</pubDate><description><![CDATA[本文系统讲解C语言结构体的声明、初始化、成员访问及传参机制，通过学生信息管理实例演示结构体如何整合不同类型数据。重点介绍点操作符与箭头操作符的使用场景，对比值传递与指针传递的差异，强调大结构体应传地址以提升效率。结合数组应用与常见错误（如数组赋值、分号遗漏），提供完整可运行示例，并附练习题巩固知识。]]></description><category></category></item><item><title><![CDATA[【C 语言】操作符：从基础运算到表达式求值]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/165746118</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/165746118</guid><author>BaconZzz</author><pubDate>Fri, 18 Sep 2026 10:14:49 +0800</pubDate><description><![CDATA[本文系统解析C语言操作符的核心概念，强调理解类型、结果、变量修改与求值顺序的重要性。通过实例说明除法截断、赋值与复合赋值、关系与逻辑运算的短路特性，重点剖析++前后置差异、sizeof使用及位运算规则。指出常见陷阱如i = i++ + ++i未定义行为，并提醒避免混淆=与==、数学不等式写法等问题，倡导以问题驱动而非死记优先级的学习方法。]]></description><category></category></item><item><title><![CDATA[【C 语言】指针：从地址、运算到二级指针]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/165848918</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/165848918</guid><author>BaconZzz</author><pubDate>Fri, 18 Sep 2026 10:14:04 +0800</pubDate><description><![CDATA[指针本质是地址，保存变量内存位置，解引用可访问数据。指针类型决定步长与解引用方式，如 int * 加1跳过4字节。指针运算支持数组遍历，p + 1 指向下一元素。数组名常转为首地址指针，但 sizeof 不会转换。函数传参用指针可修改调用者数据，如交换函数。野指针危险，应初始化为 NULL 并检查。正确使用指针需理解地址、类型与生命周期。]]></description><category></category></item><item><title><![CDATA[【C 语言】数组：从一维、二维到函数传参与冒泡排序]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/165724295</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/165724295</guid><author>BaconZzz</author><pubDate>Fri, 18 Sep 2026 10:01:26 +0800</pubDate><description><![CDATA[本文系统介绍C语言一维与二维数组的使用，涵盖声明、初始化、下标访问、内存布局及函数传参。强调下标从0开始、越界访问的危害，并通过带提前退出的冒泡排序示例展示实际应用。重点说明数组在函数中退化为指针、长度无法自动传递等问题，建议使用sizeof计算长度并传入显式大小，确保代码安全可维护。]]></description><category></category></item><item><title><![CDATA[【C 语言】函数]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/165715847</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/165715847</guid><author>BaconZzz</author><pubDate>Thu, 17 Sep 2026 09:39:33 +0800</pubDate><description><![CDATA[本文系统讲解C语言函数概念与应用，从最小函数入手，涵盖库函数使用、自定义函数定义、参数传递（值传与地址传）、数组处理、嵌套调用及递归。强调函数封装提升代码可读性与可维护性，重点说明函数声明与定义的区别、指针在参数传递中的作用，并通过实例演示如何安全高效地组织代码结构。]]></description><category></category></item><item><title><![CDATA[【C 语言】分支、循环和 goto 语句（附实战）]]></title><link>https://blog.youkuaiyun.com/BaconZzz/article/details/165627647</link><guid>https://blog.youkuaiyun.com/BaconZzz/article/details/165627647</guid><author>BaconZzz</author><pubDate>Wed, 16 Sep 2026 20:02:12 +0800</pubDate><description><![CDATA[写 C 程序时，我们经常要回答两类问题：接下来执行哪段代码？一段代码要重复多少次？前者要用分支，后者要用循环。本文从基本语法讲起，最后写一个成绩统计程序。]]></description><category></category></item></channel></rss>