- 博客(67)
- 收藏
- 关注
原创 Python入门Day5
在Python中,函数参数传递采用值传递机制,实参的值会被复制给形参,函数内修改不会影响外部变量。函数作为第一类对象,可以赋值给变量、存储在数据结构中、作为参数或返回值。参数匹配模式包括位置参数、关键字参数、默认参数、可变位置参数(*args)和可变关键字参数(**kwargs),这些模式可以组合使用。模块是组织代码的物理文件,提供代码复用、命名空间管理等功能。导入模块时应遵循标准库→第三方库→自定义库的顺序,以提高代码可读性和避免命名冲突。
2025-07-08 23:47:10
912
原创 为什么Python中有的变量两边有“__”这种下划线?
特殊方法:用于实现语言特性(如__init____str__名称改写:用于避免子类与父类的变量名冲突(如__var属于第一种情况,用于获取对象的类名。
2025-07-08 18:16:29
193
原创 Python入门Day4
根据以下代码可以看出l1和l2实际上都是对于数据的引用,当l1被改变了,l2也会发生同样的改变,那么该如何使得l2不再指向l1所指向的数据,自己开辟一块新的数据呢?我们可以使用copy这个方法可以看出,copy生成的l2在l1被修改之后并不会修改。但是问题并没有被完全解决。从以下代码可以看出,外层的数据之后互不影响;但是嵌套的列表结构之后还是会互相影响。因此在这种情况下需要用到。深拷贝需要导入copy包,使用copy.deepcopy(l1)的方法拷贝l1。
2025-07-05 21:38:04
465
原创 Python入门Day3
在Python中,字符串是由零个或多个字符组成的不可变序列,用单引号()、双引号()或三引号('''或""")包裹。str3 = '''多行字符串'''在Python中,字符串是由零个或多个字符组成的不可变序列,用单引号()、双引号()或三引号('''或""")包裹。str3 = '''多行字符串'''元组(Tuple)是Python中的一种不可变有序序列,用于存储多个元素。元组使用圆括号()定义,元素之间用逗号分隔。即使只有一个元素,也需要在元素后加逗号以区分元组和其他数据类型。# 定义元组。
2025-07-04 22:50:50
1037
原创 Python入门Day2
jupyter会以网页的形式打开,在jupyter中创建新代码可以切换MarkDown格式和Code格式去一步一步执行自己想要的操作。可以查看虚拟环境中的工具包情况。也可以在该界面上创建新的虚拟环境def:函数定义return:函数返回值class:类定义lambda:匿名函数创建。
2025-07-03 22:57:50
929
原创 Python的常见注释
Python支持两种主要的注释方式:单行注释和多行注释。注释用于解释代码,提高可读性,或暂时禁用部分代码。现代IDE(如PyCharm、VS Code)通常提供快捷键快速注释/取消注释(如。开始到行尾的内容会被Python解释器忽略。
2025-07-03 16:50:35
240
原创 如何在Jupyter notebook中删除内核以及添加内核
在Jupyter中我们可以选择自己创建的虚拟环境作为代码运行的内核,但是创建的虚拟环境需要我们手动配置才可以在Jupyter中选择。
2025-07-03 11:30:59
272
原创 Python入门Day1
Python本来是蟒蛇的意思,用来象征写代码的程序员。因为相对于Java、C++等程序,Python非常简单,所以写Python也的程序员也象征“玩蛇”的程序员。
2025-07-03 10:43:51
510
原创 黑马点评DAY5|商户查询缓存
客户端请求的数据在缓存和数据库中都不存在,那么根据我们的缓存更新策略,最终都会向数据库索取数据;那么如果有不怀好意的人用并发的线程用虚假的id向数据库请求数据,就会搞垮数据库。因为店铺种类有十种,可以通过LIst的数据结构存储,但是需要将List中的ShopType对象先转为JSON,取出的时候再由JSON转为ShopType对象。在业务中,如果我们对数据库数据做了一些修改,但是缓存中的数据没有保持同步更新,用户查询时会查到缓存中的旧数据,这在很多场景下是不允许的。,那么这样就可以达到互斥的效果。
2024-07-04 19:23:25
894
原创 黑马点评DAY4|整体项目介绍、短信登录模块
在拦截器中放行就是return true;拦截就是return false;在我们的 loginInterceptor拦截器中配置类一系列不被拦截校验的请求,这些请求不会执行preHandle 方法,因此也不会更新token,如果用户一直访问的是这些请求的内容,那么token就不会更新,可能一段时间之后,token就失效了。解决这个问题,我们可以在原有请求的基础上再加一个拦截器。因为 loginInterceptor有一些请求不被拦截,那我们新加的这个拦截器就拦截所有请求。
2024-07-03 00:33:54
1464
原创 黑马点评DAY3|Redis的Java客户端
@BeforeEach由junit5提供,在每个@Test方法执行前,将该注解下的代码执行一遍。使用步骤:创建jedis对象,建立连接(需要的参数:ip、port、密码)操作数据库释放连接Jedis线程池连接池的几个主要参数:Jedis本身是不安全的,并且频繁创建和销毁连接会有性能损耗,因此可以使用Jedis连接池代替Jedis。将Jedis中的改为SpringDataRedisSpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成
2024-07-01 16:16:32
922
原创 黑马点评DAY2|Redis基本操作
Redis是一种键值型数据库,键为String类型,值可以为很多类型:以上五种为基本数据类型以上三种为特殊数据类型。
2024-07-01 10:20:32
995
原创 黑马点评DAY1|Redis入门、Redis安装
redis是一种但是这样的存储方式,数据会显得非常松散,因为这本质上是一个用户的信息,所以我们一般使用像这样没有表的数据库被称为。
2024-06-29 23:16:04
1571
原创 代码随想录算法训练营day31|134.加油站、135. 分发糖果、406.根据身高重建队列
如下图所示:当索引一道2的时候,剩余油量的总量=1+3-6 < 0,这个时候说明以索引0为起点不合适,将起点更新为索引3.两点证明:1.如果我们从蓝色段中间选一个点开始,是不是最后sumGas就不小于0?不会,我们可以看如下图,如果蓝色sumGas<0,sumGas1>0==>可以推出sumGas2<0,这样就不符合我们在蓝色段结束才sumGas<0的条件。2.最终所有的剩余油量相加大于等于0就一定可以跑完一圈吗?。
2024-06-26 10:33:57
330
原创 代码随想录算法训练营day30|跳跃游戏、45.跳跃游戏||、1005.K次取反后最大化的数组和
这道题目的重点在于:1.不管每次能跳多远,只管跳跃范围的覆盖范围,如果最后能覆盖到最后一个元素,则可以到达最后一个下标2.覆盖的范围是随着i的遍历而不停增加的,相当于“”,每个数的最大覆盖范围应该是i+nums[i],如果大于之前的cover,就更新cover,直到有某一次cover能超过最后的索引,说明可以跳到最后。
2024-06-24 00:38:26
231
原创 代码随想录算法训练营day 29|376. 摆动序列、53. 最大子序和
如果前面的序列和为小于0,那么对于后面的序列取最大值没有任何帮助,不如舍弃前面的序列,重新开始开始计算序列和。1.保存最大值的maxValue。2.计算和的count。
2024-06-22 14:29:48
183
原创 代码随想录算法训练营day26|39. 组合总和、40. 组合总和||、8.分割回文串
由题意可知,数组中的每一个数都可以重复相加,因此我们在绘制树形图的时候,每次取完某一个数,下一次回溯的时候还可以用该数,比如2、3、6,每次取完2,候选还剩2、3、6。而最后答案也确实是2、2,所以2每次取完不能排除。另外对于存储满足条件结果的path,每次从纵向的回溯过程出来之后,要将这一层回溯加进去的值减掉给横向的循环的下一个值腾出空间,一边进入下一个值的回溯。同时要给一个sum的值记录和。我觉得这道题目卡个2讲的已经够好了,多看几遍理解透彻就行。
2024-06-20 10:43:43
416
原创 代码随想录算法训练营day23|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
这道题目需要考虑当前节点是否在[low,high]之间,因为是平衡二叉树,所以当当前节点值小于low时,那么其左节点肯定更小,因此删除该节点的方式是给root节点返回其,注意:这里不是直接返回右节点,是因为在右子树中也有可能存在不满足条件的节点,需要继续递归排查;当当前节点值大于high时,那么其右节点肯定更大,因此删除该节点的方式是给root节点返回其。如果root.val符合在[low,high]的区间内,其左右节点承接左右节点的返回值即可。最终返回root。
2024-06-16 17:18:30
502
1
原创 多线程中run()和start()的区别
而执行start方法会在main线程中异步地开启一个新线程去执行run方法中的代码,如果有两个线程执行start方法,就会出现两个线程同时去执行run方法中的情况。但是一旦出现一个线程在执行run方法的时候,另一个线程也同时要执行run方法,但是synchronized关键字中的元素只能被一个线程访问,最终会卡死。以及 thread.run();因为当我们直接调用run方法执行的时候,这是直接在main方法的主线程中调用run方法,以下代码中,通过thread.start()启动线程,最终产生了线程阻塞。
2024-06-15 17:20:55
500
2
原创 代码随想录算法训练营day22|701.二叉搜索树中的插入操作、 450.删除二叉搜索树中的节点、 235. 二叉搜索树的最近公共祖先
这道题较为简单,只需要通过递归找到符合要求的叶子节点,并将节点插入即可。
2024-06-15 15:40:55
524
原创 一个低级的错误:方法调用实参和形参的顺序没有匹配上!!!
这里的uploadChunk方法调用了addMediaFilesToMinIO方法 :boolean b = addMediaFilesToMinIO(localChunkFilePath, mimeType, bucket_video, chunkFilePath);localChunkFilePath, mimeType两个参数都是String类型,但是刚开始我把俩顺序搞反了,导致无法识别存储到Minio的路径,始终无法上传文件!调试了一个小时,做开发真的得细心细心加细心啊!
2024-06-13 20:46:33
150
原创 Hash算法、MD5算法、HashMap
哈希值”(Hash Value)本身是由哈希算法生成的,而hashCode算法在Java中是与对象的hashCode()方法相关联的概念。下面我将分别解释哈希值和Java中的hashCode算法。
2024-06-13 16:54:19
2072
原创 通过Stream流对集合进行操作
1.Stream.iterate(0, i -> ++i):创建一个无限序列,从 0 开始,每次迭代时通过 i -> ++i 函数(一个 lambda 表达式)增加当前值。将本地的一个视频文件分成多块上传到Minio服务器,现在上传功能已经完成,需要调用minioClient对已经上传的文件重新合并成一个新的视频文件。2.limit(7):使用 limit 方法来截取流的前 7 个元素,因为 iterate 创建的是无限序列,所以需要限制结果的数量。
2024-06-13 16:13:34
394
原创 代码随想录算法训练营Day17|404.左叶子之和 110.平衡二叉树 222.完全二叉树的节点个数
1、这道题需要统计出所有左叶子结点的值的和,首先要明确左叶子节点指的2.但是光凭叶子结点本身是无法判定左叶子的,因为左右孩子都是null,所以要从上一层节点往下判定。所以判断左叶子的条件语句应该是3.另外,这道题目采用后序遍历是最方便的。并且要明确递归三要素:返回值、终止条件、递归逻辑。
2024-06-07 18:05:08
482
原创 DTO和POJO的区别
在实际应用中,DTO 和 POJO 可以相互转换。例如,一个服务方法可能会接收一个 DTO,然后使用 DTO 中的数据来创建或更新一个 POJO,该 POJO 随后被用于数据库操作。这种分离有助于保持代码的清晰性和关注点分离。
2024-06-05 18:14:04
645
2
原创 代码随想录算法训练营Day15|102.二叉树的层序遍历 226.翻转二叉树 101.对称二叉树
只总结一句话:每一个节点需要知道自己的左右节点是否对称才可以判断以自己为根节点的子树是都对称,从叶子节点向上不断返回左右节点对称判定结果的与,最终返回到根节点,得到最终结果。这其实是和方法传参的机制有关,我们都知道在Java中,对象是通过引用传递的。当你将一个对象作为参数传递给方法时,实际上是传递了一个指向该对象的。swap方法中,一个是将待翻转节点的左右节点分别传入,一个是直接将待翻转节点传入。我们可以看出,这个方法只能将left和right指针的副本进行互换,不能对本身的right和left指针互换。
2024-06-05 14:52:46
625
原创 代码随想录算法训练营Day12|347.前 K 个高频元素、 239. 滑动窗口最大值
1、是一个基于优先级的队列,它使用了一个优先队列算法(通常是堆结构)来保证队列头部(peek或poll方法返回的对象)总是队列中具有最高优先级的对象。3、如果堆中的值的个数不满k个,直接加入Entry,如果正好k个,每次加入一个都会将堆中最小的那个值弹出,从而保证堆中的k个元素使所有当前已经遍历的值中的前k个。2、小顶堆维持了一个最多只有k个元素的堆,这个堆在java中可以用一个实现了Queue接口的PriorityQueue对象去模拟。4、当全部遍历完毕,堆中的元素是所有元素中前k个大。
2024-06-03 11:42:08
459
原创 代码随想录算法训练营Day11| 20. 有效的括号、 1047. 删除字符串中的所有相邻重复项、 150. 逆波兰表达式求值
这道题几个注意点都在注释中标注。
2024-06-01 20:49:20
320
原创 代码随想录算法训练营Day10| 232.用栈实现队列、 225. 用队列实现栈
【代码】代码随想录算法训练营Day9| 232.用栈实现队列、 225. 用队列实现栈。
2024-05-31 13:09:17
327
原创 代码随想录算法训练营Day8|541. 反转字符串II、替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串
卡哥的方法,先整体反转,再去除多余的空格,最后再对每一个单词反转。卡哥要求空间复杂度为O(1),那方法一就不符合要求了。这道题目很简单,但是解决了我长久以来关于ACM模式的一个困惑:连续用scanner向系统键入两个量的时候,会报错。1.这道题刚开始把题意理解错了,以为对于任意长度的字符串都只反转[0,k-1]以及[2k,3k-1]区间的值。方法一:自己想的方法,思路比较简单,但是调试了好久,贴在这里梳理一下思路。之前写的一个方法,用字符数组做的,时间复杂度和空间复杂度都很低。3.需要自己导入必要的包。
2024-05-30 01:12:10
456
原创 代码随想录算法训练营Day7|454.四数相加II、 383. 赎金信、15. 三数之和、 18. 四数之和
四个数组分成两组进行for循环,先用HashMap存储所有第一组for循环出现的和的次数。再进行第二组for循环,每一次得出的和判断其负数是否在map的key中,如果存在,就加上这个value。和有效的字母异位词那道题目类似。
2024-05-29 12:17:31
401
原创 代码随想录算法训练营Day6| 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
对于ASCII字符集,字符’a’的Unicode编码是97,字符’b’的编码是98,以此类推,直到字符’z’的编码是122。**关键:**如果map中没有target-nums[i],说明在之前没有出现可以和当前数配对相加为target的数,那么就先把他加进map,等到那个输出现,再将他们的索引成对返回。2.创建一个set集合,存储每一个按照规则算出来的数,一旦出现之前已经加入到set的数了,说明开始循环了,就跳出while,res置为false,这个数不是快乐数。记录字符串s中字符出现的次数。
2024-05-29 11:59:57
1226
原创 Mybatis的二级缓存
指的是Session级别的缓存,当调用同一个SqlSession去访问数据时,每一次读取的数据都会存储在当前SqlSession中,下一次调用不需要再次从数据库读取,直接从一级缓存中读取即可。:指的是Mapper级别的缓存,多个SqlSession可以共享缓存,同一个服务器所有实例之间甚至跨服务器共享。
2024-05-27 11:19:31
676
原创 JDBC和Mybatis开启一次会话的步骤比较
将com.mysql.jdbc.Driver这个类加载到JVM中,使得DriverManager这个类可以识别并注册这个类的实例,使得DriverManager可以用这个驱动程序和数据库建立连接。和数据库建立连接通过连接器获取Statement对象,这个对象用来执行sql语句执行查询操作的话需要ResultSet对象存储返回值亦或者执行更新操作对于查询操作,处理ResultSet对象以获取和处理查询结果。对于更新操作,可以通过返回的int值(更新的行数)来确认操作的成功与否。
2024-05-27 02:50:31
365
原创 Java的类路径究竟是什么?
它给出了三种可以作为类路径的的路径:1、应用程序的编译输出目录(通常是bin目录或target目录)。2、项目依赖的JAR文件,这些JAR文件通常放在lib目录下。(一个程序不可能只有程序员自己编码的一部分,还需要借助其他的轮子也就是我们的jar包来执行,这些jar包可以保存在lib目录下,也可以通过maven中的pom.xml文件来配置,3、其他任何在编译或运行时需要包含进来的目录或文件。
2024-05-27 02:23:48
1019
原创 Mysql中的常见类型
大整数类型,占四个字节,范围为-2,147,483,648 到 2,147,483,647,INT类型常用于存储较大的整数,如用户ID、记录编号、计数器等。
2024-05-26 23:10:52
314
原创 Mysql中表之间的关系
比如订单和商品之间:一个订单可以包含多个商品,一个商品也可以存在于多个订单中。一对一、多对一(其实就是主从关系,在从表中设置一个外键关联上主表)、订单1包含了两件商品,商品1存在于订单1和订单2中。3、设计中间表关联商品和订单表。
2024-05-26 23:01:05
718
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人