自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python 中的魔术方法(Magic Methods)

Python魔术方法(Magic Methods)是双下划线包围的特殊方法(如__init__),用于让自定义类支持运算符、内置函数等高级特性。

2025-09-19 23:07:43 1076

原创 Java 的双亲委派模型(Parent Delegation Model)

双亲委派模型是 Java 类加载器(ClassLoader)在加载一个类时所采用的一种工作模式。当一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。每一层的类加载器都是如此,因此所有的加载请求最终都应该传送到最顶层的启动类加载器(Bootstrap ClassLoader)中。只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去加载。简单来说,就是“先让爸爸来,爸爸不行我再上”。特性说明核心思想。

2025-09-18 21:57:57 1119

原创 Python中的继承

本文系统介绍了Python中的继承机制,包括基本语法、super()函数使用、方法重写、多重继承等核心概念。继承通过class ChildClass(ParentClass)实现,支持代码复用和功能扩展。super()函数用于调用父类方法,方法重写允许子类覆盖父类行为。Python还支持多重继承,通过MRO确定方法调用顺序。文章还讲解了isinstance/issubclass检查、抽象基类和属性访问控制,最后通过员工管理系统示例展示了继承的实际应用。继承是Python面向对象编程

2025-09-18 21:26:10 733

原创 Python中的异常和断言

本文系统介绍了异常的概念、层次结构以及处理方式,包括try/except/else/finally语句的用法。详细列举了常见内置异常类型如ZeroDivisionError、IndexError等,并讲解了如何通过raise主动抛出异常。文章还介绍了自定义异常类的创建方法,强调finally块在资源清理中的关键作用

2025-09-17 22:39:03 943

原创 Python 中的封装

Python封装机制概述 Python通过命名约定实现封装,分为三个层次: 公开成员:普通命名,可直接访问修改 保护成员:单下划线前缀(_),仅约定提示内部使用 私有成员:双下划线前缀(__),通过名称改写实现伪私有化 Python还提供@property装饰器和property()函数,用于精细控制属性访问: 可定义getter、setter和deleter方法 实现只读属性、数据验证等特性 保持接口简洁同时隐藏实现细节 这种封装机制虽不如Java等语言严格,但通过约定和工具提供了足够的灵活性,既能保护数

2025-09-17 22:15:21 897

原创 JVM的类加载流程_非常详细

类加载是JVM将.class文件加载到内存并创建Class对象的过程,分为加载、链接、初始化三大阶段。加载阶段读取字节流并生成Class对象;链接包含验证、准备(分配静态变量默认值)、解析(符号引用转直接引用);初始化执行静态代码块和变量赋值。JVM规定了主动引用(如new、访问静态变量等)会触发初始化,而被动引用(如访问父类静态变量、final常量)不会。类加载机制保证了线程安全,父类优先于子类初始化。理解类加载流程对掌握Java运行机制和性能优化至关重要。

2025-09-16 22:37:25 1095

原创 Python 类与对象入门

本文介绍了Python中类与对象的基础概念。类作为对象的蓝图,定义了属性和行为;对象是类的具体实例。文章涵盖类定义、实例化、实例属性与类属性、三种方法(实例方法、类方法和静态方法)的使用场景,以及构造方法__init__的作用。通过代码示例展示了如何正确使用这些特性,并强调了不同方法间的调用规则,特别是类方法和静态方法不能直接调用实例方法的限制。最后提供了属性访问和动态添加属性的注意事项。

2025-09-16 22:09:20 778

原创 一文弄懂Python元组 - 有序的不可变序列

Python元组(Tuple)是一种有序且不可变的序列类型,具有高效轻量和可哈希的特性。元组使用圆括号()创建,但括号并非必须,单元素元组需加逗号区分。元组支持索引、切片、成员检查等操作,但不支持修改元素。其内置方法仅有count()和index()。与列表相比,元组不可变但性能更高,适合作为常量数据、字典键或多返回值。虽然元组本身不可变,但若包含可变对象(如列表),其内部状态仍可修改。命名元组(namedtuple)可提升代码可读性。元组常用于数据记录、函数返回值和配置存储等场景。

2025-09-15 22:52:20 805

原创 一文弄懂嵌套类、内部类的所有细节

Java嵌套类(内部类)是指定义在另一个类内部的类,分为四种类型:成员内部类(非静态)、静态内部类、局部内部类和匿名内部类。成员内部类可以访问外部类的所有成员,但必须先创建外部类对象;静态内部类不依赖外部类实例,适合定义工具类;局部内部类定义在方法内,只能访问final局部变量;匿名内部类无类名,常用于接口实现。嵌套类提供了更强的封装性和逻辑分组,并能间接实现多继承效果。静态内部类是最佳实践,避免内存泄漏。

2025-09-15 22:25:29 1119

原创 一文弄懂Python中的序列--干货满满

Python中的序列(Sequence)是一种有序、支持索引访问的数据结构,主要包括列表、元组、字符串和范围(range)。序列支持通用操作如索引访问、切片、成员检查、长度计算等,其中可变序列(如列表)允许修改元素,而不可变序列(如字符串、元组)则不支持。序列还支持解包、嵌套结构等高级用法,可用于构建复杂的数据模型。

2025-09-14 22:42:03 1231

原创 一文搞懂Java中的类和对象(超详细)--全是干货

Java中的类是对象的抽象模板,定义了对象的属性和行为(如汽车设计图),而对象是类的具体实例(如某辆汽车)。类包含成员变量、构造方法、成员方法等组成部分,通过new创建对象。类与对象的关系体现在:类是抽象蓝图,对象是具体实例;类在方法区存储,对象在堆内存存在。类通过访问修饰符(private/public等)控制封装性,支持静态成员(static)和代码块初始化。类和对象是掌握面向对象编程的基础。

2025-09-14 21:53:44 1532

原创 Python 的字符串(Str)常用方法详解

本文详细介绍了Python字符串的各种操作方法,包括:1)大小写转换(upper/lower/capitalize等);2)查找替换(find/replace/count等);3)判断验证(startswith/isalpha等);4)分割连接(split/join等);5)去除填充(strip/center等);6)编码解码(encode/decode);7)字符串格式化(format/f-string)。每个方法都配有示例代码,涵盖了字符串处理中最常用的功能,是Python字符串操作的实用指南。

2025-09-14 00:19:43 750

原创 Python变量与数据类型详解

介绍了Python变量与数据类型的基本概念。数据类型分为基本类型(整型、浮点型、布尔型、字符串、None)和复合类型(列表、元组、字典、集合)。类型检查和转换方法,包括数值运算中的自动类型转换(如整型转浮点型)、布尔值参与运算时的转换规则(True为1,False为0),以及常用的强制类型转换函数(int()、float()、str()等)。示例代码展示了不同类型间的转换操作。

2025-09-13 15:40:33 629

原创 uni-app轻松实现PDF预览功能(Android ios 通用)

遇到一个需求,需要实现uni-app的pdf预览功能,网上找到好几个相关的链接,但在一些地方有点不符合我的需求,特此记录。

2025-01-07 22:50:42 1875

原创 Maven BOM (Bill of Materials) 超详细介绍

BOM文件是Bill of Materials 的简称,BOM 文件并没有特殊的命名规则。它实际上是一个标准的 Maven POM 文件,通常被用作定义一组依赖的版本管理。BOM(Bill of Materials)只是描述这种用途的一个术语,文件名可以根据项目的需求自行命名。BOM 允许你在多个模块中使用统一的依赖版本管理,而无需在每个模块中重复指定版本号。这种方式简化了依赖管理,并确保了模块之间依赖版本的一致性。统一依赖管理。

2024-08-17 15:03:42 1863 3

原创 二、JVM篇

JVM定义了不同运行时数据区,他们是用来执行应用程序的。某些区域随着JVM启动及销毁,另外一些区域的数据是线程性独立的,随着线程创建和销毁。jvm内存模型总体架构图如下:(摘自oracle官方网站)JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。下图是根据自己理解画的一个JVM内存模型架构图:JVM内存分为线程私有区和线程共享区。

2024-02-06 14:31:22 1153

原创 一、Java基础

在运行时动态的获取、检查、和操作程序的元数据和对象的能力,这种动态获取信息以及动态调用对象方法的功能称为反射。我们可以通过反射:获取类的信息,动态创建对象,动态调用方法,访问和修改字段,实现通用性代码,实现动态代理。可以通过反射获取类的名称、父类、接口、方法、字段等元数据信息。可以在运行时动态地创建类的实例,而不需要在编译时硬编码类名。可以在运行时动态地调用对象的方法,包括私有方法,而不需要提前知道方法名。可以在运行时动态地访问和修改对象的字段,包括私有字段。

2024-02-06 14:28:44 1365

原创 Maven Install 报错 [ERROR] Malformed \uxxxx encoding.

如果你什么也没改过的话,大概率是下载依赖包时中途强制打断,导致依赖包不全,如果找不到是哪一个依赖包引起的,建议删除本地仓库所有jar包,重新install。错误消息"Malformed \uxxxx encoding."通常发生在源代码或配置文件中的字符编码存在问题,特别是Unicode字符表示为。要解决此问题,您可能需要检查源代码、配置文件和项目设置,以确保Unicode字符得到正确编码和表示。这可能是由于多种原因引起的,例如编码不匹配、无效的Unicode转义序列或文件损坏。

2024-02-06 14:20:01 2382

原创 mySQL中exists关键字的详细用法

今天总结的关于exists的作用和用法,借鉴了一些他人的想法,并进行了一些补充,希望对你们有所帮助

2023-12-21 17:36:28 4233

空空如也

空空如也

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

TA关注的人

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