自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(460)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring DisposableBean作用,在spring Bean销毁时的钩子 以及@PreDestroy

在Spring框架中,DisposableBean是一个接口,它定义了一个单一的方法,用于在Spring容器关闭时或一个由Spring管理的Bean不再需要时执行特定的清理操作。DisposableBean接口在Spring框架中用于定义Bean的销毁逻辑,允许开发者在Bean生命周期结束时执行必要的资源释放、清理工作,以保证应用程序的健壮性和系统资源的有效管理。在Spring的XML配置文件中,可以直接为某个元素指定一个destroy-method属性,其值为Bean类中需要在销毁时调用的方法名。

2024-04-24 16:48:26 369

原创 python 字符串格式化 format 不定长变长多个变量,获取exec 中结果的方式

的方式展示出来的,而参数存放在其他地方,导致我想要还原每一句 sql 原语句时需要将参数通过 format 的方式分别重新塞到sql中 然后输出。格式化自然使用 format 一类的,但是参数的个数不是确定的,这样说明我的 format 部分代码需要动态生成才行,而要生成并执行动态的代码,我想到的是使用 exec() 即我将要执行的语句通过字符串拼接出来,然后使用 exec 执行这一部分代码。自此,format 不定长变长多个变量,获取exec 中结果的方式 已结束。

2024-04-23 09:46:41 95

原创 python练习 平年闰年判断,质数判断,指定范围内的素数(质数),阶乘,九九乘法,斐波那契

【代码】python练习 平年闰年判断,质数判断,指定范围内的素数(质数),阶乘,九九乘法,斐波那契。

2024-04-22 20:51:42 240

原创 python练习 二数求和,求平方根,计算圆的面积,随机数,摄氏度转华氏摄氏度,判断是否是数字

【代码】python练习 二数求和,求平方根,计算圆的面积,随机数,摄氏度转华氏摄氏度,判断是否是数字。

2024-04-22 20:48:45 238

原创 Python 中类的方法上使用 @property

Python中 @property

2024-04-19 17:57:02 279

原创 Python __slots__ 作用和意义 以及部分示例

显然无法修改,但是修改其他在 slot 内的是可以的,在实际其他人的使用中也发现,放到 slot 外的属性基本都直接在外部赋值了,后续没有其他操作,用于存放一些不会变的数据。属性,这是一个字典,用于存储实例的所有动态属性(即在类定义之外添加的属性)。中列出的属性,不允许添加其他未声明的属性。执行成功,可以修改成功继承的属性,同时父类 slots 内外的属性都被继承了,但父类slots 外的属性依旧无法修改,会报同样的错误。,而是直接在对象内部分配固定大小的空间来存储指定的属性,从而减少了内存使用。

2024-04-19 17:46:43 624

原创 python 通用repr方法的重写方式以及 class的__dict__ 作用

相当于 Java 中对对象的构造,toString 方法,可以格式化的输出当前对象内的所有属性以及属性对应的值,repr 要求尽可能输出的字符串结果要可以被 eval() 函数直接解析并执行成功从而还原此对象,主要也是用于辅助理解代码,但并不强制要求满足此要求,主要是还是用于理解某一个对象的定义。

2024-04-19 11:45:50 253

原创 python中isinstance()作用

它接受两个参数:一个是待检测的对象,另一个是期望的类型(或一个包含多个类型的元组)。函数返回一个布尔值——如果对象的类型与指定的类型相符(或属于指定类型元组中的任何一个),则返回。通过在关键点检查变量或函数参数的类型,开发者可以避免因类型不匹配导致的错误,提高程序的稳定性和容错能力。函数主要用于进行运行时类型检查,确保代码逻辑处理的对象符合预期的类型或行为规范,同时充分考虑了面向对象编程中的继承关系和泛型编程的需求。如果对象是所检查类型的一个子类实例,或者实现了特定的接口(对于抽象基类),

2024-04-19 11:06:00 648

原创 python 中 repr 作用

当打印变量、查看交互式 shell(如 IPython 或 Python 解释器)中的对象,或者在调试器中检查对象时,函数主要服务于开发者,用于生成表示对象的精确、可读且尽可能可解析的字符串,便于调试、交流和在编程环境中重现对象状态。对于自定义类,通过实现。函数执行,应当能够得到与原始对象等价的新对象(尽管不是所有情况下都保证可行,特别是对于复杂对象或者包含循环引用的情况)。编写这个特殊方法可以让类按照预期的方式生成其代表字符串,包括包含重要的属性值或其他有助于识别和重建对象的信息。表示该对象的值或状态。

2024-04-19 11:00:27 331

原创 python 中 typing 模块主要用途

对于支持类型推断的库和框架(如Jupyter Notebook、IPython、NumPy等),类型注解可以帮助它们更准确地理解用户意图,提供更智能的交互和更高效的执行。类型注解作为一种形式化的文档,可以作为代码的一部分,与代码一起演化,减少了维护单独文档与实际代码同步一致性的负担。模块旨在增强Python代码的类型信息表达能力,支持静态类型检查,提升开发工具的智能化程度,提高代码质量与可维护性,促进团队协作,并更好地与支持类型系统的第三方库和框架集成。类型注解与静态类型检查工具(如。

2024-04-19 10:58:38 341

原创 Python练习 List join,判断等,执行字符串内的代码,字典合并,模拟秒表

【代码】Python练习 List join,判断等,执行字符串内的代码,字典合并,模拟秒表。

2024-04-18 18:57:40 216

原创 Python练习 输出一个简易日历,递归斐波那契数列,一般文件读写,字符串判断和变形,当前月有多少天,昨日日期

【代码】Python练习 输出一个简易日历,递归斐波那契数列,一般文件读写,字符串判断和变形,当前月有多少天,昨日日期。

2024-04-18 18:54:19 222

原创 Python练习 阿姆斯特朗数,斐波那契数列,二,八,十六进制之间的转换,ascii码值转换,最大公约数,最小公倍数

【代码】Python练习 阿姆斯特朗数,斐波那契数列,二,八,十六进制之间的转换,ascii码值转换,最大公约数,最小公倍数。

2024-04-18 18:50:36 193

原创 Python 日期格式化,等日期相关操作

【代码】Python 日期格式化,等日期相关操作。

2024-04-18 18:13:46 209

原创 Python 类方法注解 @classmethod 作用和意义

但是,将这样的功能封装为类方法可以使代码组织更加清晰,因为它们与对应的类紧密关联,易于查找和理解,同时保持了命名空间的整洁。当需要根据不同的输入参数创建类的不同子类型或特定配置的实例时,可以提供一个或多个类方法作为“工厂方法”。这在需要基于类的状态进行操作时非常有用,例如初始化类的默认值、管理类级别的资源、或者提供一个基于类属性的工厂方法。在Python中主要用于提供与类相关而非特定实例相关的功能,允许直接访问和操作类属性,实现工厂方法以灵活创建实例,以及支持元编程和其他与类级别行为相关的任务。

2024-04-18 15:04:55 320

原创 pycharm 更换Eclipse 的按键模式 keymap

安装完成后还是在 settings 下切换到 keymap即可以看到eclipse 的按键设置出现了,应用后ok 即可完成。整体来说比较简单,其实只要下载一个eclipse keymap插件就可以完成。首先 ctrl + alt + s 打开设置页面,找到 plugin。再去试试,此时已经换成 eclipse 的热键了。

2024-04-17 20:34:59 433

原创 Python3 类型注解 def __init__(self, xxxx: str, xxx: int) -> None:

这里:__init__(self, name, age) 定义了一个名为的特殊方法(构造器),它属于某个类,用于初始化对象实例。该方法接收两个参数:self:指向即将创建的对象实例,这是 Python 中对实例方法的约定。:表示参数 name 应该是一个字符串类型。:表示参数 age 应该是一个整数类型。: 表示该方法在执行后不返回任何值,或者说它的返回类型是 None。在 Python 中,None 是一个特殊的单例对象,用来表示空值或者无意义的返回结果。

2024-04-17 18:22:42 381

原创 Python 0.1 + 0.2 等于0.30000000000000004 ?0.1 + 0.3 = 0.4?

这个问题涉及到浮点数在计算机中的表示方式,特别是 IEEE 754 浮点数标准。在 Python(以及其他许多编程语言)中,浮点数并不是以精确的十进制形式存储,而是以二进制近似值存储。这种近似可能导致某些看似简单的浮点运算产生看似不精确的结果。总之,浮点数在计算机中的不精确表示是造成您所观察到现象的根本原因。理解这一原理有助于在编写涉及浮点数计算的代码时采取适当的应对措施。实际上,任何涉及浮点数的运算都可能存在类似的问题,特别是在进行比较或需要高精度结果的场景中。

2024-04-17 17:33:44 705

原创 Python3 标准库,API文档链接

sys 模块:sys 模块提供了与 Python 解释器和系统相关的功能,例如解释器的版本和路径,以及与 stdin、stdout 和 stderr 相关的信息。urllib 模块:urllib 模块提供了访问网页和处理 URL 的功能,包括下载文件、发送 POST 请求、处理 cookies 等。os 模块:os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等。time 模块:time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。

2024-04-12 18:01:42 848

原创 Python 命名空间和作用域 global 和 nonlocal 关键字

简单说,函数内部定义的变量,外部是没法直接用的,但外部的变量可以传递到某一函数内以供使用,或通过特殊的关键字直接引用外部的变量。简而言之,我们在方法内定义的变量等,当方法执行结束就会消失,相当于一次性使用,下次再使用则重新创建一个临时的变量。模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量。局部找不到时会去局部外的局部找(例如闭包),再找不到就会去全局找,还不行就去内置中找。

2024-04-12 17:33:06 297

原创 Python中的类(class)面向对象 理解和学习整理,构造方法,私有属性,专有方法

需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。python 在设计时也是符合面向对象的原则的,和 Java 类似也存在类的创建,类的成员属性,成员方法,构造函数,类之间的继承等操作。子类虽然继承了父类的方法,但是不能满足子类想要的结果,那么可以在子类中再次重写该方法,最终子类调用时就会走自己的实现了。简单的来一个,一个人的类,有名字,有年龄两个属性。有两个方法或者说函数,一个是吃,一个是喝。

2024-04-12 16:27:59 984

原创 Python 异常和错误机制,assert 学习总结

>> try:')异常的命名一般都以 Error 结尾,与java 不同,当一个模块可能抛出多个异常时,我们通常会封装一个基础的异常,然后再基于这个基础的异常再分出其子异常。

2024-04-12 14:25:16 265

原创 Python3 OS 文件目录操作

python3 OS 常用方法

2024-04-12 11:20:31 509

原创 Python 输出输入(包含文件 File)以及格式美化的方式 以及 pickle

用于返回文件当前的读/写位置(即文件指针的位置)。f.tell() 返回一个整数,表示文件指针的当前位置。直接使用会读取每一行,返回每一行内容的列表,如果指定了 sizehint 则会按指定长度读取字节,然后分割。如果要改变文件指针当前的位置, 可以使用 f.seek(offset, from_what) 函数。(但是因为这种旧式的格式化最终会从该语言中移除, 所以应该更多的使用 str.format())将字符串内容直接写入到文件中,并返回写的字符数,不是字符串的要先转。打开文件的模式:见下表。

2024-04-11 18:03:03 948

原创 python 中 from import, __name__, __all__, __init__.py 作用,python的模块和导入包

由于python 在import * 时会访问文件系统获取 from 后路径下的所有文件但windows平台对于大小写不区分的问题导致不知道要导入同名但不知道大小写是哪个的问题,所以使用了__all__属性来来手动指定精确的模块名。最简单的情况下放一个空的__init__.py就可以,这也是我们使用 pycharm 创建新的 package 时为什么会自动生成一个空的__init__.py的原因。如果包定义文件__init__.py 存在一个叫做__all__的列表变量,那么在使用。

2024-04-11 16:26:39 308

原创 python 读取文件内容每一行,写入另一个文件内

想要利用 python 读取指定文件的中的内容,格式自行解析,然后将读取到的内容整理后再写入另一个文件中。

2024-04-10 17:26:48 318

原创 解决The file size (5.13MB) exceeds configured limit (5.12MB). Code insight features are not available.

文件的大小超出了IDEA 本身的限制可解析文件大小,导致文件直接报错,然后该文件在实际被其他代码引用时无法识别,直接报错,但是执行是可以正常用的,只是IDEA 有问题而已 代码本身没有问题。

2024-04-08 11:37:48 156

原创 @Inject 与 @Autowired 区别

这意味着它是一个与具体框架无关的标准注解,理论上可以在任何支持 CDI 的环境中使用,如 Java EE 或 MicroProfile 应用。主要区别在于它们各自所属的标准(Java EE / Jakarta EE 与 Spring)、提供的配置选项以及所在的编程环境。在实际应用中,如果你正在编写一个基于 Spring 的应用,通常会选择使用。特有的注解,用于其自身的 IoC 容器中的依赖注入。根据 CDI 规范,默认情况下也是要求注入成功的,但它本身不提供像。的兼容性,两者在很多情况下可以互换使用。

2024-04-07 18:23:33 389

原创 MySQL 行锁和表锁是什么?区别,作用等学习总结

个人理解,所谓的锁就是为了保证数据库数据操作的一致性而产生的一种机制,即我们可能有很多数据,但是当我们有多个人或者多个线程或会话对同一条数据或同一批数据执行操作时,可能大家都要修改这一部分数据,但为了保证单独一个人的操作在前后都保持一致而不被其他人在自己不知情的情况下中途又修改了数据而导致的与自己预期结果不一致而导致的问题。

2024-04-07 11:30:03 996

原创 IDEA 代码提示不区分大小写设置

进入设置,按如图操作,结束

2024-03-28 16:23:55 274

原创 读锁和写锁(共享锁和排他锁)介绍 以及相关类 ReentrantReadWriteLock 学习总结,使用场景

构造方法public ReentrantReadWriteLock():默认构造方法,非公平锁public ReentrantReadWriteLock(boolean fair):true 为公平锁常用APIpublic ReentrantReadWriteLock.ReadLock readLock():返回读锁public ReentrantReadWriteLock.WriteLock writeLock():返回写锁lock():加锁unlock():解锁。

2024-03-20 16:18:17 718

原创 什么是云?公共云,私有云,混合云分别是什么?云概念的提出 白话总结

云” 通常是指,非本地化的计算环境。即我们没有环境或者机器,那么可以将我们的提供的服务部署到云计算环境,而这个环境是由其他运营商来提供和维护。也可以理解为我们将我们的或者网络。我们设计了一款游戏,但是通常来说别人来访问和游玩需要本地下载一份客户端(软件安装包)到自己的电脑上来运行,此时软件运行需要的软硬件环境就需要游玩者使用自己的电脑来提供和运行,我们有时会遇到一些无法运行或者运行不流畅的问题,也是因为自己的电脑有些必要的软件或者硬件,例如显卡的性能而受到限制。

2024-03-15 14:29:48 887

原创 大模型基本概念和分类介绍总结

大模型的基本概念,大模型的分类,大模型的泛化和微调,大模型发展历程

2024-03-15 13:55:18 2241

原创 Java i++ 是原子性的吗?多线程i++的结果

多线程操作i++ 的结果,结果最低 i 的值和单线程的结果一致(相当于假使了所有现场大家每次操作的时机和赋值都是一摸一样的),最大值相当于所有线程的执行结果总和,即 线程数 * 单线程的结果。i++ 操作在大多数编程语言中,包括 Java 和 C/C++ 等,并不是原子性的。AtomicInteger 提供了诸如 getAndIncrement() 方法,该方法保证了递增操作的原子性。i++ 和 ++i 都是一步完成的,只不过写法简化了而已。来实现线程安全的递增操作。i++ 不是原子性的!

2024-03-15 11:39:50 329

原创 什么是悲观锁,乐观锁,举例和适用场景,悲观锁实现

乐观锁的情况下当我们查询和修改数据时都不会去做限制,只有当我们需要提交本次修改的时候需要检查当前的记录的这个标识字段是否和我们刚拿到时一样,例如刚开始拿到本条数据的时候 version 为 1,准备提交修改的时候也为1,那么就没有人动过,我们就可以执行更新操作,并将该字段加 1。但悲观锁的开销是固定的,即使再多的请求也一样,但乐观锁不同,由于乐观锁的反复重试的机制,当竞争非常激烈的情况下,会消耗大量算力和资源,最终整体的性能和速度反而会降低。

2024-03-15 11:21:52 899

原创 synchronized底层原理 以及 公平锁和非公平锁的基本概念

如果对象的锁状态为偏向锁状态,但记录的Thread ID与当前线程的Thread ID不同,则需要撤销偏向锁,并升级为轻量级锁状态。这种情况下,锁的开销非常小。如果对象的锁状态为无锁状态(标记为01),则该线程可以获取到锁,并将锁状态标记为偏向锁状态(标记为01)。锁的升级是指在多个线程竞争同一个monitor时,锁的状态会从偏向锁升级为轻量级锁,再升级为重量级锁。如果对象的锁状态为偏向锁状态,并且记录的Thread ID与当前线程的Thread ID相同,则该线程可以直接获取到锁,并继续执行同步代码。

2024-03-14 17:09:56 986

原创 IDEA 配置文件乱码,项目编码设置

其中第一二项控制全局以及工程的编码格式,下方的则是 properties 配置文件的格式,统一调整为 UTF-8 后不再乱码。

2024-03-07 18:56:26 533

原创 org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.Provi

在新的 IDEA 配置完成maven 后,拉取代码并启动项目初始化,pom 中出现部分包没有获取到,继续使用 Build 直接报错。这里降低到 3.6.3 再次重新配置 maven 重新download 并 Build 不再报错,部分丢失的包也能找到了。网上查询后发现需要降低 maven 版本。当前使用Maven 版本 3.9.6。

2024-03-07 17:38:32 390

原创 手动配置 kafka 用户密码,认证方式等的方式

部分场景会指定使用某一kafka 来提高安全性,这里就不得不使用用户密码认证方式等来控制。

2023-12-18 16:25:08 1013

原创 @KafkaListener 注解配置多个 topic

其中 ${xxxx.topic1} 为从springBoot 配置文件中读取的属性值。由于该注解 topic 为字符串数组的类型,所以可以如上加大括号来完成指定。

2023-12-18 16:15:27 994

kingbase8-8.2.0.jar

kingbase8人大金仓驱动jar包,也可以到官网去找

2021-04-10

空空如也

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

TA关注的人

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