自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java异常处理解析:从防御式编程到自定义异常类

本文介绍了Java异常处理机制的基本概念和分类。异常分为编译时异常(受检异常)和运行时异常(非受检异常),其中Error表示严重错误,Exception表示可捕获处理的运行时错误。文章通过示例展示了防御式编程思想,强调预先处理潜在错误的重要性。详细讲解了异常处理的五个关键字(throw、throws、try、catch、finally)的用法,并指出在异常转换时保持原始异常信息的重要性。最后通过代码示例演示了如何通过异常包装保留完整的异常栈信息,确保错误可追溯性。

2026-01-04 22:53:25 1000

原创 深入理解Java String:不可变性、内存机制与高效操作

本文深入剖析Java编程核心——String类。从字符串在JVM中的内存模型(常量池与堆)入手,详解其不可变性的本质与设计缘由。通过对比“==”与equals(),厘清字符串比较的陷阱。进而系统梳理查找、转换、替换、拆分等常用API的实战要点。针对性能瓶颈,文章通过代码实测,揭示字符串拼接的底层机制与高昂代价,并引出高效的StringBuilder与StringBuffer。最后,清晰对比二者线程安全性的差异及适用场景,助你真正掌握字符串操作的性能优化之道

2025-10-29 22:55:52 551

原创 Java对象比较与克隆:Comparable、Comparator接口与深拷贝实现

本文介绍了Java中Comparable接口的使用方法,通过实现该接口并重写compareTo()方法来自定义对象比较规则。文章以Student类为例,演示了如何按年龄或姓名排序,并解释了未实现Comparable接口时Arrays.sort()会抛出ClassCastException的原因。作者还模拟了类似冒泡排序的实现逻辑,说明比较规则在排序中的重要性。同时指出该方法的局限性,即一个类只能定义一种比较规则。

2025-10-17 20:17:28 932

原创 Java核心概念:抽象类、接口、Object类深度剖析

本文深入剖析了Java中的抽象类、接口和Object类三大核心概念。抽象类通过abstract关键字定义,不能被实例化,主要用于为子类提供框架和规范;接口通过interface声明,支持多实现,表达"具有xxx特性"的语义,默认方法为public abstract;Object类是所有类的父类,提供了toString()、equals()等基础方法。文章详细介绍了三者的特性、使用场景及相互关系,并配有代码示例,帮助理解面向对象编程中的继承、实现等核心机制。

2025-10-17 19:01:17 787

原创 Java多态 学习笔记

本文摘要: Java多态实现需要满足三个条件:继承体系、方法重写和父类引用调用。向上转型将子类对象视为父类使用,向下转型则需谨慎处理类型转换。方法重写(Override)要求子类方法与父类方法原型一致,访问权限不能更低,且父类方法不能是static/private/final或构造方法。与重载(Overload)不同,重写强调运行时多态性,而重载是编译时多态。文中通过代码示例演示了向上/向下转型的实现方式,并强调向下转型前应使用instanceof进行安全检查。

2025-09-27 20:36:26 674 1

原创 Java继承 学习笔记

Java继承机制通过extends关键字实现单一继承,子类可以访问父类非私有成员并扩展自身功能。继承特性包括子类复用父类代码、支持方法重写、提高代码复用性但增加耦合度。使用super关键字可访问父类成员,final用于限制继承或方法重写。构造子类时需先调用父类构造方法,初始化顺序遵循静态代码块→实例代码块→构造方法的规则。继承层次建议不超过三层以避免过度复杂化。

2025-09-27 20:23:47 991 1

原创 Java类与对象

本文介绍了Java中类的定义、对象创建、成员访问、构造方法等核心概念,以及强调了封装对代码安全性和可维护性的重要性,并列举了四种访问修饰符的作用范围。

2025-09-22 12:09:05 850

原创 一些Java题目讲解2

本文介绍了三种算法问题的解决方案:1) 计算二进制数中1的个数,提供逐位检查和Brian Kernighan两种方法,后者效率更高;2) 水仙花数判断,通过分解数字各位并求n次方和实现;3) 汉诺塔问题,使用递归方法解决,分析移动步骤和次数。每种方法都配有Java代码实现和原理说明,适合算法初学者理解基础编程技巧。

2025-09-14 23:13:12 480

原创 一些Java题目讲解1

本文介绍了四个Java编程案例:1)数组转置,通过创建新数组交换行列实现;2)素数判断优化为检查2到√n的范围;3)使用欧几里得算法高效计算最大公约数;4)斐波那契数列的递归和循环实现,循环版本效率更高。每个案例都提供了完整代码示例和算法思路解析,适合Java初学者练习基础编程技巧。

2025-09-14 23:11:13 305

原创 Java SE基础2

本文总结了Java基础语法中的运算符、循环语句和数组三部分内容。运算符部分包括取模运算、自增运算、逻辑运算和位运算的规则与示例。循环语句介绍了for、while、do-while三种循环结构以及switch语句的用法。数组部分涵盖了数组的定义、初始化、遍历方法,并补充了查找极值、数组倒序、foreach循环和二维数组等知识点。全文通过代码示例展示了各种语法结构的实际应用,并强调了运算符优先级、循环特点和数组操作等关键概念。

2025-09-10 20:05:37 258

原创 Java SE基础

Java基础语法要点: 标识符规则:由字母、数字、下划线、$组成,不能数字开头,区分大小写 数据类型: 整型(byte/short/int/long) 浮点型(float/double) 字符型(char,2字节Unicode) 布尔型(boolean) 类型转换: 隐式转换(小范围→大范围) 强制转换(需显式声明) 变量命名:小驼峰式,见名知意 字符串:String类型,+号用于拼接 注意:浮点数存在精度问题,char采用Unicode编码,boolean不与int互转。

2025-09-09 20:25:07 1252

原创 GitHub-Pages个人博客搭建(Mizuki)

Mizuki 博客系统环境配置与部署指南 本文档详细介绍了Mizuki博客系统的环境配置、项目启动和部署流程。

2025-09-07 20:34:37 1085 1

原创 GitHub-Pages静态博客搭建

本文介绍Mizuki博客系统的安装、配置与部署流程。搭建属于你自己的blog,记录你学习的点点滴滴!

2025-09-05 01:07:03 838

原创 Git基础学习_part2

补充对分支的理解,如我在main分支创建了a.txt (未add),此时创建dev分支可以看见main分支对a.txt的更改。但如果我在dev上commit之后,回到main之后则不存在a.txt文件了,就相当于两个工作区一样。远程仓库 = 存在于服务器(比如 GitHub)上的版本库。上的改动合并进master,如果没有冲突,会自动完成。上的改动合并进main,如果没有冲突,会自动完成。是默认的远程仓库名字,你也可以用别的名字。如果你确认合并完了,就可以删掉旧分支。」来隔离、管理不同的开发线。

2025-08-10 14:08:44 750

原创 Git基础学习_part1

本文介绍了Git的基础使用方法和常见操作。首先通过对比Git和GitHub的区别,说明Git是版本控制系统,GitHub是基于Git的协作平台。然后详细讲解了Git的三个核心区域(工作区、暂存区、版本库)和基本工作流程(add→commit)。接着提供了本地Git仓库的创建、配置、文件提交和远程同步等操作命令,并重点介绍了git status和git diff两个常用命令的使用场景和输出含义。最后讲解了文件恢复与版本回退的实用技巧,包括git restore、git reset等命令的具体用法及注意事项。全

2025-07-26 16:44:25 372

原创 算法的时间复杂度和空间复杂度

算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。 时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。

2025-06-04 17:57:06 868

原创 C++ 类与对象

/当尝试通过p访问 _a 时,会触发空指针解引用(Null Pointer Dereference),导致程序崩溃。// 输出: This is an example of returning this pointer.//正常运行,成员函数存在公共的代码段,所以p->Show()这里不会去p指向的对象上去找。// 用 this 指针区分成员变量和形参。//发生崩溃,PrintA访问了成员变量-a。成员变量最好带"_",因为当赋值给成员函数时,成员函数的形参要再赋给成员变量。// 返回自身对象的引用。

2025-04-17 20:51:53 796 1

空空如也

空空如也

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

TA关注的人

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