- 博客(20)
- 收藏
- 关注
原创 【C语言】✅如何理解函数中形参数组的维度规则
如果你省略了第二维及其后的维数,编译器无法知道每一行有多少个元素,从而无法正确计算每个元素的地址。函数的形参数组只能省略第一维的大小,而不能省略第二维及其后的大小,这是因为编译器在处理数组时需要明确知道每个元素的大小和布局。在这个例子中,虽然省略了第一维的大小,但编译器知道第二维的大小是4,因此可以正确地计算每个元素的位置。在这个例子中,省略了第二维的大小,编译器无法知道每一行有多少个元素,因此无法正确地计算每个元素的位置。在这个例子中,省略第二维的大小是不允许的,编译器无法确定每一行的大小。
2024-07-03 00:10:06
422
原创 【Java基础】✅String、StringBuilder和StringBuffer的深度分析
String是不可变的,StringBuilder和StringBuffer是可变的,StringBuffer是线程安全的,而StringBuilder是非线程安全的。
2024-04-27 18:02:07
969
1
原创 【Spring】✅FactoryBean和BeanFactory的区别
FactoryBean和BeanFactory在Spring框架中各自扮演不同的角色,具有不同的功能和用途。
2024-04-15 22:21:56
443
1
原创 【Spring】✅Spring的事务传播机制
在复杂的业务场景中,多个事务方法之间的调用可能会导致事务的不一致,如出现数据丢失、重复提交等问题,使用事务传播机制可以避免这些问题的发生,保证事务的一致性和完整性。假设有A和B两个业务方法,方法A在方法B中被调用,需要在事务中保证它们的一致性,若其中一个发生了异常,则进行回滚事务。,如果不存在事务则开启一个事务,如果存在事务则加入之前的事务,总是只有一个事务在执行。,如果之前有事务,则创建嵌套事务,嵌套事务回滚不影响父事务,反之父事务影响嵌套事务。,有事务则加入事务,没有事务则普通执行。
2024-04-15 21:24:48
351
2
原创 【Spring】✅为什么不建议使用@Autowired(强制字段注入)
首先,依赖注入是一种设计模式,用于实现控制反转(IoC),使得一个对象(通常是一个Bean)不需要自己创建它所依赖的对象,而是通过外部容器(比如Spring容器)来注入这些依赖。这样做的好处是解耦了对象和其依赖之间的关系,提高了代码的可测试性和可维护性。在设计Spring Bean时,应该优先使用构造器注入和setter方法注入这两种显式的方式来实现依赖注入,以保持Bean的封装性,此外还需要注意一个Bean的初始化顺序,避免NPE。所以字段注入应该尽量避免使用,除非在特殊情况下有充分的理由。
2024-04-15 17:37:22
1176
1
原创 PyCharm 2023.3.2专业版-解决关闭PyCharm时一直卡在closing project加载栏的问题
装了官网最新的PyCharm版本后,在直接关闭PyCharm时直接卡在Closing project加载栏中。
2024-01-07 01:58:42
1929
1
原创 将TensorFlow的版本从2.x.x降为1.x.x的解决方案及记录遇到的坑
搭建深度学习框架过程中,安装完anaconda和pycharm后,使用anaconda prompt安装TensorFlow运行代码时遇到了一个棘手问题:版本控制。
2024-01-04 01:38:13
4641
3
原创 vue-cropper解决图片跨域问题
近期加入了一个学校某团队一起做项目,被一个前端问题卡了好一会,浅浅记录一下。看到Access to…立马反应到是跨域问题,没想到图片也有跨域问题(课业都是关于后端学习,前端并不是很熟悉)解决方案:在js中的edit函数下将图片格式转为base4即可。
2022-10-26 21:03:17
3929
2
原创 【Ubuntu21.04】更换国内源后无法使用update命令 解决方案
ubuntu21.04已经停止使用,因此我们可以换个归档仓库使用。在/etc/apt/sources.list 中把里面的仓库域名换成old-releases.ubuntu.com即可。其他博客上的方法我都试过,可能是因为Ubuntu21.04停止服务的原因,网上各种方法都无效 现在提供一种我成功解决的方案。更换后再执行update。
2022-09-05 13:17:43
1297
2
原创 解决Java读取数据库的时间类型时出现的8小时时差问题
在写web时,在测试类里读取数据库的时间字段时发现,得到的时间一直比数据库中的实际时间多8个小时,这是因为默认时区是0时区导致的。在数据库连接类中加入上海时区serverTimezone=Asia/Shanghai private static final String DATABASE_URL = "jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=UTC&serverTimezone=Asia/Shanghai"
2022-05-16 02:12:28
2535
原创 【第四届蓝桥杯C++ A组】大臣的旅费(两次DFS求树的直径)
一开始试着用BFS和DFS写过纯暴力(枚举每个点的最长距离再求最大值),过了一半的测试点(BFS没写出来,DFS过了一半)接着发现这道题核心是求树的直径,即两次DFS,第一次DFS以任意点为起点,求距离起点最远的点(即树直径的端点,详细图论的证明自行百度),确认树直径的其中一个端点后,用该端点作为起点进行第二次DFS,找到距离该端点最远距离的点,即为直径的另一个端点,两点距离即为直径长度。接着用等差数列求和公式推导出公式(m为直径长度,S为答案):S = (mm + 21m)/ 2直接输出 S即可
2022-04-02 23:02:46
805
原创 递增三元组(二分法)第九届蓝桥杯省赛C++B组真题
算法分析这题给出的数据范围是是10的5次方量级,因此应选择O(nlogn)或O(n*n)的算法,说明最多只能有一层循环,剩余时间复杂度用于判断和计数。常规思路很容易想到二分法,二分法能够找到边界,且由于二分法的时间复杂度为O(logn),乘上循环所需要的O(n),刚好满足时间复杂度要求。有个值得注意的地方是,若选择循环A数组,那么B数组元素的选择会影响到C数组元素的选择,脱离了乘法的独立性,就不能使用乘法来统计方案个数了。因此我们选择循环B数组,这样就能够在循环B数组时,使A的选择不影响C的选择,满足
2022-03-25 17:26:42
2280
1
原创 十进制转换N进制 C++代码模板
输入若干行,每行一个十进制数x,以及一个目标进制数c#include<bits/stdc++.h>using namespace std;#define rep(i, a, b) for(int i=(a); i<=(b); i++)#define lop(i, a, b) for(int i=(a); i<(b); i++)#define el "\n" typedef long long LL;const int N = 100010;const double
2022-02-27 15:44:30
909
原创 十六进制转十进制简洁C++代码
题目描述输入一个十六进制数,输出相应的十进制数。十六进制的基数是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。输入格式输入有若干行,每行表示一个十六进制的数。输出格式输出每个十六进制数对应的十进制数。输入样例a11a110输出样例16126272代码如下#include<bits/stdc++.h>using namespace std;#define rep(i, a, b) for(int i=(a); i<=(b); i
2022-02-27 14:35:44
2548
原创 【动态规划】房屋染色问题
题目描述这里有n个房子在一列直线上,现在我们需要给房屋染色,分别有红色蓝色和绿色。每个房屋染不同的颜色费用也不同,你需要设计一种染色方案使得相邻的房屋颜色不同,并且费用最小,返回最小的费用。费用通过一个nx3 的矩阵给出,比如cost[0][0]表示房屋0染红色的费用,cost[1][2]表示房屋1染绿色的费用,依此类推。找到油漆所有房子的最低成本。样例样例1:输入: [[14,2,11],[11,14,5],[14,3,10]]输出: 10解释: 第一个屋子染蓝色,第二个染绿色,第三
2021-10-30 16:33:14
636
1
原创 PTA(C/C++) 另类循环队列
6-5 另类循环队列 (20 分)如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。函数接口定义:bool AddQ( Queue Q, ElementType X );ElementType DeleteQ( Queue Q );其中Queue结构定义如下:typedef int Position;typedef struct QNode *PtrToQNode;..
2021-04-26 21:43:31
894
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人