- 博客(65)
- 资源 (4)
- 收藏
- 关注
原创 类变量的初始化规则在Python中有哪些特殊类型处理?
表格变量类型初始化语法核心特性避坑方案不可变类型类内直接赋值修改需重新赋值,实例误赋值仅创建实例变量无需特殊处理,使用最安全可变类型类内直接赋值实例修改内部元素会影响所有实例如需隔离,在__init__中重新初始化依赖外部变量类内直接引用需保证引用的变量先定义避免引用未初始化的全局 / 类变量Python 类变量初始化语法上无类型豁免规则,所有类型均在类内直接赋值;核心特殊处理点是可变类型类变量:类内初始化的可变类型会被所有实例共享,需在__init__
2026-06-21 04:30:50
173
原创 类变量在继承场景下的初始化规则是怎样的?
Python 中类变量在类定义代码块执行时初始化,继承场景下的核心规则是 “父类先定义(初始化)、子类后定义,同名变量直接覆盖,且父 / 子类变量完全隔离”。核心顺序:所有语言均遵循 “父类类变量先初始化,子类后初始化”,且初始化早于任何实例创建;覆盖规则:子类重定义同名类变量时,会创建自身独立的变量(与父类隔离),修改父类同名变量不影响子类;继承规则:子类未重定义的类变量,会共享父类的同一份变量(修改父类的,子类会同步变化);语言差异。
2026-06-21 04:29:45
179
原创 如何在项目中统一使用大驼峰命名规范?
核心要求:首字母大写,后续每个独立单词首字母大写,无下划线(如UserInfo而非user_infoUser_Info单词拆分原则:按语义拆分(如而非Orderdt而非通用缩写约定:仅使用行业通用缩写(如IDHTTPAPI,写作UserIdHttpClient,而非UseridHttpClient定规则:明确格式、场景、例外,写入文档;做校验:IDE 实时提示 + pre-commit 提交检查 + CI 合并拦截;推落地:新人培训 + 旧代码分批重构 + CR 专项检查;长期护。
2026-06-20 11:21:15
175
原创 类变量和全局变量的命名规范是什么?
核心原则:常量全大写、变量小写蛇形,前缀标识 “内部使用”;类变量:利用类的隔离性,无需额外前缀,重点区分 “常量 / 可变”;全局变量:通过 “模块前缀 +_ 前缀” 降低冲突,尽量少用可变全局变量;最终目标:命名 “见名知意”,让开发者通过名称快速判断「归属(类 / 模块)」「可变性(常量 / 变量)」「作用域(公开 / 内部)」。
2026-06-19 14:40:36
228
原创 类变量和实例变量的访问和修改方式在多线程环境下有哪些注意事项?
类变量:全局共享,多线程并发修改必现竞争条件,需使用类级锁保护,优先避免频繁修改;实例变量:仅在 “多线程共享同一实例” 时存在风险,需使用实例级锁或 “线程本地存储” 隔离,独立实例无需同步;最小化共享状态,优先使用线程私有数据;若必须共享,通过锁或线程安全结构保证原子操作,减少锁粒度;关键操作:非原子操作(自增、修改可变对象内部元素)必须加锁,读取共享变量也需在锁保护下进行,避免脏读。sfcstco.cn。
2026-06-19 14:38:15
230
原创 Python作用域分类与LEGB规则详解
举例来说, 你撰写了一个名为outer的函数, 该函数返回inner函数, 而在inner函数里运用了outer的变量text。在函数外部直接去访问属于局部的变量, 将会触发NameError错误, 比如说定义一个def foo()函数, 其中让x等于10, 接着在函数外面进行print(x)操作, 此时解释器就会提示你x并没有被定义, 这便是局部作用域独有的那种隔离特性, 它能够确保函数之间的变量不会相互产生干扰。不过请注意, 访问是单向的, 内部函数无法直接对外部函数的变量予以修改。
2026-06-16 14:45:29
159
原创 C++ const在指针左边右边啥意思?底层顶层const区别
举例来说, 你是不可以将普通的int类型数字赋给const修饰的int类型变量的, 这是由于一旦这样做, 就会使得原本应是可变的变量能够借助const int被修改, 进而会破坏类型安全。一般而言, 声明全局常量配置表时, 会经常采用此种写法如一个某系统的错误码所映射的表格, 在2023年期间一个大型游戏引擎的某个项目当中, 存在着数超500个这般的双重const指针, 被用作确保运行期间的配置不会受到意外的篡改, 其优点在于编译器能够助力你对代码予以检查, 从而避免出现低级错误。该限制仅仅针对p自身。
2026-06-16 14:44:21
155
原创 Python变量类型通俗解析:全局、局部、类与实例变量区别
不符合正确标准的变量选取会致使各类问题产生, 要是将本应是局部变量的数据写成全局变量, 那么有可能会遭遇意外的更改, 要是把类变量当成实例变量来利用, 所有对象共用同一数值, 便会出现数据紊乱的状况, 只有领会每种变量的特性, 才能够做出恰当的抉择呢。于实际开发期间, 挑选何种变量类型直接就决定了代码的可维护性, 比如说在一个电商系统之内, 用户购物车的数据应当采用实例变量, 这是由于每个用户的购物车是独立的, 而网站的全局配置信息运用类变量才更为合意, 这源于所有页面都需要去读取同样的配置。
2026-06-16 14:42:52
161
原创 C++变量区别:全局、局部、静态全局和静态局部详解
局部变量于函数或者代码块内部被进行定义, 它仅仅在执行的期间才会存活, 当函数被调用之际, 它于栈上开展内存分配, 在函数返回之后会自动地被释放, 栈空间存在着限制, 其典型的大小处于1MB到8MB之间, 所以递归函数或者大量的局部变量容易致使栈发生溢出, 比如在一个嵌入式项目当中, 有某一位工程师在循环之内定义了一个1KB的数组, 当递归深度达到2000的时候程序出现崩溃, 经过排查之后才发觉是栈空间不足。内存分配之时, 静态局部变量处在静态存储区这个地儿, 而并非在栈上面, 所以不会去占用栈空间。
2026-06-16 14:41:21
211
原创 开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)
FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理,使应用程序能够处理各种不同的请求场景,提高应用程序的灵活性和可扩展性。在数据验证和转换方面,高级用法提供了更精细和准确的控制,确保输入数据的质量和安全性。它还能更高效地处理异步操作,提升应用程序的性能和响应速度,特别是在处理大量并发请求时优势明显。此外,高级用法还有助于更好地整合数据库操作、实现数据的持久化和查询优化,以及实现更严格的认证和授权机制,保护应用程序的敏感数据和功能。总之,掌握 FastAPI 的高级用
2026-03-24 23:51:00
373
原创 PostgreSQL异常:An IO error occurred while sending to the backend
在使用PostgreSQL。
2026-03-23 10:20:29
58
原创 maven导入spring框架
spring-jdbc包括了一些如jdbcTemplate的工具类。4.Spring test依赖:方便做单元测试和集成测试。在eclipse导入maven项目,在pom.xml文件中加入以下内容。2.Spring dao依赖。3.Spring web依赖。1.Spring核心依赖。
2026-03-23 02:28:53
65
原创 基于SpringBoot和PostGIS的省域“地理难抵点(最纵深处)”检索及可视化实践
最近看到一个有趣的内容,就是求解一个Polygon的地理难抵点以及其空间范围。地理难抵点(Pole of Inaccessibility)是指在一个多边形区域内,距离周边边界的最远点。这一概念在地理学、城市规划、资源勘探等领域具有重要意义。例如,在城市规划中,了解一个区域的难抵点有助于评估该区域的可达性和开发潜力;在资源勘探中,难抵点的确定可以帮助确定资源开发的最佳位置。因此,对省域“地理难抵点”的研究具有重要的理论和实践价值。下图是我国上海市、山东省、河南省等6个省的地理难抵点的空间分析结果拼图。
2026-03-22 12:10:31
332
原创 全面解读 Databricks:从架构、引擎到优化策略
Databricks 是一个基于云的统一分析平台,旨在解决企业在大数据处理、数据仓与数据湖融合、实时分析与机器学习上的诸多挑战。通过高度整合的计算引擎、存储层以及可扩展的生态体系,Databricks 帮助企业快速搭建现代数据分析和机器学习架构。全托管云平台:减少基础设施运维成本,自动扩容、弹性计算。协作环境:支持 Notebook、Job 调度和版本控制,多团队可并行开发、测试和部署。混合架构:统一数据湖和数据仓(Lakehouse),简化数据处理链路。可扩展的生态。
2026-03-22 11:28:53
317
原创 【问题解决】org.springframework.web.util.NestedServletException Handler dispatch failed;
这个错误的根本原因是从 Java 9 开始,不再默认提供。通过手动添加JAXB依赖或确保正确的打包配置,应该可以解决这个问题。如果你使用的是 Java 8,那么这可能是依赖未被正确打包的问题。
2026-03-22 10:48:25
328
原创 SSM与Springboot是什么关系? -----区别与联系
SSM(Spring + Spring MVC + MyBatis)和 Spring Boot 都是基于 Spring 框架的技术栈,但它们在使用方式、配置复杂度以及设计理念上有所不同。下面是 SSM 和 Spring Boot 之间的关系及主要区别:定义:SSM 是一种传统的 Java Web 应用开发技术组合,其中包含了三个框架:特点:适用场景:适用于那些需要高度定制化配置的企业级应用,或者对于已有系统的迁移和扩展。定义:Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来
2026-03-22 03:47:28
206
原创 MySQL:数据查询-limit
LIMIT` 是 MySQL 中一个非常实用和强大的功能,能够帮助控制查询结果的行数,适用于各种场景,尤其是数据分页和结果集限制。对于大多数涉及大量数据的查询来说,合理地使用 `LIMIT` 可以显著改善性能。
2026-03-22 00:35:25
243
原创 JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
我们想要部署一个javaWeb项目到tomcat上,需要了解一些概念Tomcat 是 Apache 软件基金会(Apache Software Foundation)下的一个开源项目,主要用于实现 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(JSTL)、Java WebSocket 技术以及 Java API for WebSocket 的容器。
2026-03-21 01:59:38
155
原创 JavaEE要想学得好,【Java spring】少不了,稳扎稳打学JavaEE
spring 的初识: 认识spring 是一种功能强大, 开发人员用起来很轻松, 开发效率高效的面向企业的应用程序框架。如何学好spring : 学好spring 的关键就在于: 如何使用Maven建立spring项目, 并且学会利用注解依赖注入数据调用等… 来操作spring的特定的框架来进行 web 开发。spring 项目的学习工具: 学习spring主要是围绕着http请求来的, 搭配postman能够方便的建立http请求的相关配置,达到更高效的开发。如果觉得小编写的还不错的咱可支持三连。
2026-03-21 01:59:04
209
原创 Java 进阶:如何让线程主动让出 CPU
suspend 挂起线程,并不会释放锁,又不像 sleep 那样一段时间后自动恢复,所以容易引起死锁。wait 会把当前持有的锁释放掉同时阻塞住,让出 CPU。当其他线程调用 Object.notify/notifyAll 时,会被唤醒,可能得到 CPU,并且获得锁。yield 也可以让线程主动让出 CPU,然后和其他线程一起竞争 CPU,但是调度器也可以忽略 yield。,直接停止线程,同时会释放所有锁,太过暴力,容易导致数据不一致。sleep 方法可以让线程主动让出 CPU,但是并不会释放锁。
2026-03-21 01:57:43
241
原创 java 进阶系列
地址:http://blog.csdn.net/sunhuaqiang1/article/details/45537809。地址:http://blog.csdn.net/sunhuaqiang1/article/details/49951031。增加:参考:http://www.cnblogs.com/janneystory/p/5758958.html。
2026-03-21 01:57:02
153
原创 Linux安装Redis以及Redis三种启动方式
也就是上面我们说的,窗口要一直打开。后台进程启动搞完之后,以后开启redis后,就可以去进行其他操作了(在src目录下 ./redis-server /opt/soft/redis-4.0.6/redis.conf启动redis)。此时Redis服务已经可以成功启动了,但是小问题来了,界面一直停留在Redis服务窗口中,按ctrl+c虽然可以屏蔽服务窗口,但是也会结束Redis服务。./redis-server代表要启动redis,后面一串代码进入redis.conf来开启redis,就是路径。
2026-03-18 02:36:02
245
原创 5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
当我们设置 “application_name” 为 “Default” 时,这意味着我们希望将当前的数据库连接标识为默认应用程序,通常这是指使用 pgAdmin 4 连接到 PostgreSQL 数据库的客户端。当我们选择强制删除数据库时,pgAdmin 4会尝试删除数据库,并在删除之前,会递归删除所有与该数据库相关的依赖项,例如表、视图、函数等。当我们选择删除数据库时,pgAdmin 4会尝试删除数据库,但只有在没有其他数据库对象(如表、视图、函数等)依赖于要删除的数据库时才能成功删除。
2026-03-18 00:09:52
157
原创 SpringBoot项目中读取resource目录下的文件(六种方法)
查找资源,所以如果不加“/”表示去根路径查找的话,是找不到的。源码里还是方法三、方法四,只不过做了一些封装,更方便开发。的getResource()是从。的getResource()是。查找的,所以不加“/”也可以。2)启动jar包指令。
2026-03-17 16:55:47
263
原创 Spring Boot(七):Swagger 接口文档
Swagger 是一款 RESTful 风格的接口文档在线自动生成 + 功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。目标是使客户端和文件系统作为服务器以同样的速度(同步)更新文件的方法,参数和模型紧密集成到服务器。这个解释简单点来讲就是说,Swagger 是一款可以根据 resutful 风格生成的接口开发文档,API 文档与 API 同步更新,并且支持做测试的一款中间软件。
2026-03-17 14:37:58
297
原创 PostgreSQL的备份方式
是 PostgreSQL 内置的逻辑备份工具,可以将数据库导出为 SQL 脚本或二进制文件。WAL-G 是 PostgreSQL 的现代备份工具,支持增量备份和快速恢复,常用于云环境。按照这些方式定期备份 PostgreSQL 数据库,可以最大程度地保障数据的安全和可恢复性。Barman 是社区维护的 PostgreSQL 专用备份工具,支持物理备份和时间点恢复。PostgreSQL 提供多种方式进行备份,适用于不同需求的场景。是 PostgreSQL 提供的物理备份工具,适合对数据库进行完整二进制备份。
2026-03-17 12:10:16
225
原创 mysql 迁移达梦数据库出现的 sql 语法问题 以及迁移方案
Copy CodeMySQL: DATE_FORMAT( a.expiry_date, ‘%Y-%m-%d %H:%M:%S’ ) 达梦: TO_CHAR(a.expiry_date, ‘YYYY-MM-DD HH24:MI:SS’)MySQL: DATE_FORMAT( a.expiry_date, ‘%Y-%m-%d %H:%M:%S’ ) 达梦: TO_CHAR(a.expiry_date, ‘YYYY-MM-DD HH24:MI:SS’)另外,在某些函数和操作符的使用上也有一些差异。
2026-03-17 03:45:53
167
原创 如何使用C#与SQL Server数据库进行交互
3.对应项目,系统添加数据库连接。3. 数据查询:通过点击按钮,应用程序能够查询并显示student表中的所有数据,使用户可以轻松地查看数据库中存储的信息。2. 数据插入:点击相应按钮可以将预设的学生信息插入到数据库的student表中,这提供了一种简单的数据录入方式。1. 数据库连接与测试:通过点击按钮可以测试与数据库的连接,确保应用程序能够成功连接到本地数据库XSCJDB。4. 按姓名查询:应用程序还提供了按姓名查询学生数据的功能,用户只需输入学生姓名,即可获取相应的学生信息。
2026-03-15 12:35:21
303
原创 使用Nginx正向代理让内网主机通过外网主机访问互联网
在企业网络环境中,通常会存在内网与外网的隔离,内网机器无法直接访问外部Internet。而外网机器具有访问互联网的能力。为了让内网机器能够通过外网机器访问互联网,我们可以配置Nginx正向代理来实现。(代理服务器为linux系统,Windows系统中nginx中默认不包含proxy_connect模块,Windows编译proxy_connect模块比较麻烦,可以使用CCProxy代理软件实现,参考外网主机使用CCProxy代理使内网主机上网内网主机。
2026-03-15 11:26:48
312
原创 【SQL】count(1)、count() 与 count(列名) 的区别
COUNT(1): 计算查询结果集中的行数,性能与COUNT(*)基本相同。COUNT(*): 计算查询结果集中的总行数,包括所有列,不忽略任何行,通常是最常用和推荐的方式。COUNT(列名): 计算查询结果集中某一列非NULL值的行数,适用于统计特定列中的有效数据。
2026-03-15 10:17:59
323
原创 【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之后端环境搭建
跟着黑马敲了黑马点评和苍穹外卖,但是感觉黑马教程封装的太好了。于是想自己从零到一搭建一个前后端分离的简单项目。记录一下自己的实现过程。
2026-03-15 04:58:55
413
原创 SQL多行数据合并到一行中的一个字段
在SQL中,将多行数据转换为一行数据通常涉及到使用聚合函数和字符串函数。这种转换在数据库中被称为“行转列”或“透视”操作。
2026-03-15 02:27:24
186
原创 nginx的重定向
location = 完整路径 = 1.jpg即完整的一个字也不能少location^~location ~、location /(字符串)部分起始位置、location /
2026-03-14 10:08:51
173
原创 MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
在安装好MySQL数据库使用一段时间后,会产生许多的数据库和数据。那这些数据库的数据文件存放在本地文件夹的什么位置呢一、默认位置MySQL创建的数据库实际上存储在文件系统的一个特定目录中,该目录通常为MySQL的数据目录。这个目录的默认位置依据操作系统和MySQL的安装方式不同而有所差异。、这个目录通常位于,它可能位于是个隐藏文件夹)**其中“X.X”是MySQL的版本号。目录(每个数据库都有一个与其同名的文件夹,而这个文件夹中包含了该数据库的所有表的文件,而其中的文件代表了数据库中的表。
2026-03-14 02:48:30
299
原创 MySQL 批量插入详解:快速提升大数据导入效率的实战方法
在日常开发中,我们经常需要将大量数据批量插入到 MySQL 数据库中。然而,逐行插入(单条执行 )的方式效率较低,尤其在处理大规模数据时,会导致性能瓶颈。为了解决这个问题,我们可以使用批量插入技术,显著提升数据插入效率。本文将介绍批量插入的原理、实现方法,并结合 Python 和 库提供详细的实战示例。批量插入数据有以下几个优点:我们以学生信息表为例,假设有如下的表结构:表 用于存储学生的基本信息,包括 (主键),(姓名),(年龄),(性别),以及 (成绩)。接下来,我们使用 Python 的 库来
2026-03-14 01:33:42
220
原创 docker desktop安装redis
v /D/docker/redis/conf/redis.conf:/etc/redis/redis_6379.conf 把宿主机配置好的redis.conf放到容器内的这个位置中。也可以在创建容器时使用网络别名(运行 Redis 在 test-net 网络中,别名redis) docker run -d --name redis --network。4. volume 由容器创建和管理,创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,Linux 文件系统,适合存储数据库数据。
2026-03-13 22:51:29
367
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅