- 博客(39)
- 收藏
- 关注

原创 Spring框架(带你秒懂,超详细)
我们就想,如果能把框中的内容给去掉,不就可以降低依赖了么,但是又会引入新的问题,去掉以后。需要注意的一点是,构造方法在类中默认会提供,但是如果重写了构造方法,默认的就会消失,在使。在解决这个问题之前,需要提前说明的是,这个参数名发生变化的情况并不多,所以上面的还是比较。如果数据层的实现类发生变化,那么业务层的代码也需要跟着改变,发生变更后,都需要进行编译。容,接下来主要是把这三块内容展开进行详细的讲解,深入的学习下这三部分的内容,首先是。在框架整合这块已经做到了极致,它可以整合市面上几乎所有主流框架,比。
2024-11-17 00:03:36
1961
1

原创 计算机网络整理(全是干货)
短连接: 像WEB网站的http服务一般都用短链接(http1.0只支持短连接,1.1keep alive 带时间,操作次数限制的长连接),因为长连接对于服务端来说会耗费一定的资源,而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源,如果用长连接,而且同时有成千上万的用户,如果每个用户都占用一个连接的话,那可想而知吧。这是由于 TCP 的半关闭造成的。用户数据报协议是一种不可靠、无连接的协议,与同层面向连接的TCP相比,UDP是一种无连接的协议(无错误检测功能)。
2024-11-05 22:05:31
1326

原创 第十五届蓝桥杯C/C++学B组(解)
则时间*速率=路程 t*dx = 2px ,t*dy = 2qy,令一式/二式,得p/q= y/x*dx/dy = y*dx/x*dy ,利用gcd(求两个数的最大公约数)对分式p,q进行约分,进而得到约分后的p,q 则利用时间t=2px/dx,总路程 = t*(sqrt(15^2+17^2))针对前进的方向进行分解为x,y方向,去求解运动返回到左上角的时间,有了时间,即可利用时间来计算总路程,假设 x方向走了p个来回,y方向走了q个来回,经过了时间t,小球第一次回到原点。本题考察利用数组模拟高精度,
2024-10-12 11:32:27
7091
2

原创 ConcurrentHashMap在JDK1.7和1.8的区别,详解
JDK7的put过程首先对key进行第一次hash,通过hash值确定segment的值;如果此时segment未初始化,则利用自旋CAS操作来创建对应的segment;获取当前segment的hashentry数组后进行对key进行第2次hash,通过值确定在hashentry数组的索引位置。
2024-10-05 21:26:03
1995
2
原创 洛谷B3726 [语言月赛202303] String Problem P
3.选择1时,进行字符串的位置插入操作,此时来利用StringBuilder里的insert()方法,进行字符串位置插入。4.选择2时,进行字符串String数组的 索引存储,遍历,查找索引所在位置的字符串,输出字符串即可。1.创建String数组 ,存储每一个字符串。2.判断1||2,进行不同的处理。
2024-11-16 16:50:47
438
原创 校门外的树(算法:标记法)
3.遍历二维数组,取到每段区间的开始位置和结束位置,在标记数字组中将边界点及边界点内置1。2.开辟一个包含所有范围的数组用来·做标记初始为0。4.遍历标记数组记录0的个数,即可。1.利用二维数组来存储输入数据。
2024-11-04 00:00:00
362
原创 数据库连接池实现
创建一个 Connect 类来实现Connection连接类,使MyConnection 继承Connect,间接的实现实现Connection连接类,这样Connection类就可以调用MyConnection 中写的方法,用于判断,是否使用同一个连接,(用还是没用,还还是没还)3.避免数据库连接遗漏:当其余使用者需要连接而没有链接时,连接池会去判断其余未归还连接的线程池在干什么,如果发现使用者使用完链接后一直不归还,连接池会强制断开连接,此时等待的使用者就可以使用了。首先导入德鲁伊jar包。
2024-11-03 01:00:00
564
原创 用递归算法将一个十进制整数转换成任意进制数
如果 num 在 10 到 15 之间,返回对应的字母。例如,num 为 10,返回字符 'A'。如果 num 在 0 到 9 之间,返回对应的字符。例如,num 为 5,返回字符 '5'。递归调用 convertToBase(n / m, m),处理更高位。使用 getChar 方法将余数转换为对应的字符,并输出。15 / 16 = 0,余数 15 % 16 = 15。计算当前位的值 n % m,即 n 除以 m 的余数。这一步将 n 除以 m,得到商,继续处理更高位。如果 n 为 0,递归终止,返回。
2024-11-02 00:07:43
504
原创 动态规划 01背包(算法)
以f(4,8)为列,记录每次偷取物品有两种情况 偷//不偷,如果偷取出物品的价值并减少对应背包的容量,如果不偷,则不需要取出价值,也不需要减去对应的容量, 依次找到偷取物品为0个,或者容量不够时为止。记f(k,w) ,当背包容量为w,可以偷k件物品,所能偷到的最大价值。现有四个物品,小偷的背包容量为8,怎么可以偷得价值较多的物品。物品编号: 1 2 3 4。物品容量: 2 3 4 5。物品价值: 3 4 5 8。
2024-10-31 22:54:50
471
1
原创 第十五届蓝桥杯Java大学b组(解)
思路二:通过观察发现,第奇数位个数是20的倍数,第偶数位个数是24的倍数。所以第202420242024个数就是24的倍数,那我们直接除以2(判断是这个数是第几个24的倍数),然后再成24就行。思路一:发现第10个数,第20个数,第30个数,第40个数......(每十个数为一轮)等等都是120的倍数,既然题目要求第202420242024个数,那我们不妨先求第202420242020个数,然后再往后再多求4个数就行。第1-10个: 20 24 40 48 60 72 80 96 100 120。
2024-10-20 20:11:34
2267
原创 过河卒(Java+算法)
如图,AA 点有一个过河卒,需要走到目标 BB 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的 CC 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 CC 点上的马可以控制 99 个点(图中的 P1,P2…P8P1,P2…P8 和 CC)。卒不能通过对方马的控制点。
2024-10-17 23:39:22
516
原创 数据库常见面试
如果你的应用程序对插入顺序不敏感,并且对读取性能要求较高,或者是在一个高度分布式的环境中运行,那么UUID可能是更好的选择。如果你的应用需要快速的插入性能,并且对数据的物理存储顺序有一定的需求,或者是在一个不太关心全局唯一性的单一服务器上运行,那么自增ID可能更适合。
2024-10-12 12:44:27
1203
原创 排序大全(干货)
但我们并不能确定待排元素中究竟哪一部分是有序的,所以我们一开始只能认为第一个元素是有序的,依次将其后面的元素插入到这个有序序列中来,直到整个序列有序为止。在待排序的元素中,假设前n-1个元素已有序,现将第n个元素插入到前面已经排好的序列中,使得前n个元素有序。5.tem插入到该元素的后面,如果已排序所有元素都大于tem,则将tem插入到下标为0的位置。4.重复步骤3,直到找到已排序元素中小于等于tem的元素。时间复杂度:最坏情况:O(N^2)最好情况:O(N^2)时间复杂度:最坏情况:O(N^2)
2024-10-04 14:00:48
610
1
原创 计算器/求表达式(算法)
给定一个包含正整数,加法(+),减法(-),乘法(*),除法(/)的算术表达式(括号除外),计算其结果,表达式仅包含非负整数,+,-,*,/四种运算符和空格。整数除法仅包含整数部分。此算法利用栈来实现,一个栈用来存储数字,另一个栈用来存储表达式字符,逻辑1.数字直接入数字栈,2,运算符c >栈顶运算符 c直接入栈 3.运算符c
2024-10-01 18:23:02
387
原创 删除连续重复字符
字符串删除掉连续的3个重复的字符。比如“abbbc”,返回“ac”,"abbbaac",返回“c”题解,可以利用栈来实现,创建一个对象用来储存,字母以及字母的个数,最后从栈中取出元素,拼接到字符串。
2024-09-29 15:26:59
265
原创 利用瓶盖酒瓶换酒(算法)
现有x瓶啤酒,每3个空瓶子换一瓶啤酒,每7个瓶盖子也可以换一瓶啤。* 例题讲解:例题1:阿里钉钉22届暑期实习。* 酒,问最后可以喝多少瓶啤酒。
2024-09-25 17:27:11
422
原创 IP地址解析(算法题)
c.数字前后可以有空格,但中间不能有空格。比如"123.92.2.34“合法,"123.9 2.2.34"给定一个字符串表示的IP地址, 如“123.92.2.34”,判断其是否合法。当然,这个问题还可以继续加一些规则,让题目变得更加复杂,比如每个数字不能有前导0,但。b.IP地址由四个数字构成,由.分隔,每个,隔开的数字大小在0~255之间。比如“021.3.02.34“非法,“0.2.0.33”合法。例题讲解:例题1:IP地址解析(拼多多面试题)a.除了空格、数字和.之外,不得包含其他字符。
2024-09-25 16:52:34
359
原创 C语言课设(远程文件控制传输)
2.实现本地文件操作及路径检索等功能,A电脑可通过通信传输的命令可以对B电脑本地文件进行操作。1.构建套接字socket的链接,实现两台电脑间一对一的通信。3.实现文件传输功能,能够实现不同类型文件的传输。
2024-06-26 12:06:01
355
原创 Spring_注解方式管理Bean
Component 放在类上,用于标记,告诉spring当前类需要由容器实例化bean并放入容器中。@Service 用于实例化service层bean。第二步:在类上添加注解,让spring容器给我们创建bean实例并存储于容器中。@Controller 用于实例化controller层bean。第一步:在applicationContext.xml中配置开启注解扫描。@Resources 可以根据类型,也可以根据名称注入。让容器扫描 Service层,实例化对象。
2024-06-10 11:29:47
272
原创 并归排序算法
3) 然后两组之间再进行排序,首先10和7对比,对比结果7小,那么将7放到一个空列表中,然后10和50进行对比,对比结果10小,将10追加到刚才的空列表中,排在7后面,然后17和50对比,对比结果17比较小,然后追加到空列表中,然后将50追加到空列表中,以此类推,那么排序结果如下图。因为10和17是一组,所以两者进行排序为10、17,然后50和7进行排序,排序结果为7、50,那30、24排序后变成24、30,最后的27、45排序后为24、45。对9、5、2、7、12、4、3、1、11进行归并排序总图。
2024-05-24 20:39:16
332
1
原创 数据库常用函数
NOW()--当前时间函数,SYSDATE()--函数执行的时间。14、RAND()--返回0-1.0之间的随机数,若想要返回的随机数不变化,可以给出一个seed(种子),种子值一样即可。下面FORMAT函数代表最后取两位小数。sysdate() 与now()、current_timestamp()等获取当前时间函数的主要区别是sysdate() 是执行当前函数的时间。15、RAND()--返回0-1.0之间的随机数,如果想取0-100,乘以100即可。
2024-05-14 22:31:25
2449
2
原创 web登录校验简单开发案列
Servlet接收到用户名和密码之后,校验是否正确。输入完毕后向后台Servlet提交用户名和密码。准备一个登录页,可以输入用户名和密码。如果正确响应Success。2开发后台Servlet。如果不正确响应Fail。3配置Servlet。
2024-05-11 13:58:45
544
2
原创 正则表达式
在上述代码中,我们首先创建了一个 Pattern 对象,它包含了我们要使用的正则表达式。然后,我们使用 matcher 对象来匹配字符串,并使用 find 方法来查找所有匹配项。我们还展示了如何使用 replaceAll 方法来替换字符串中的匹配项,以及如何使用 split 方法来分割字符串。正则表达式是一种用于字符串搜索和操作的模式,它使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。今天的代码大赏就到这里。:指定一个元素出现的次数,如 * 表示零次或多次,+ 表示一次或多次。
2024-05-10 22:58:01
444
2
原创 技术人员必不可少的技能之sql优化
在实际的业务场景中,我们可能只需要1、2列就可以,*是查询出所有的列,这样白白浪费了数据库资源,增加了服务器内存或者cpu的使用,此外查询出来的数据,通过网络IO传输的过程中,也会增加数据传输的时间,还有比较重要的一点,select *不会走覆盖索引,会出现大量的回表操作,从而导致查询效率低下。而且在代码中循环调用数据库一般是不允许的。此时的业务场景更合适用 in 关键字,因为如果sql语句中包含in关键字,则会优先执行in里面的子查询然后在执行in外面的语句,此时in 子查询数据量很小,查询速度会很快。
2024-05-08 19:35:37
2043
1
原创 栈及栈的应用案例
它按照先进后出的原则存储教据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来 )。如果遍历完了整个字符串,也就是没有右括号了,但是此时栈中还有左括号等待被匹配,那就说明左括号数量大于右括号数量,括号数量也不匹配;:遍历数组,如果元素是数据,直接入栈,是符号就从栈中弹出两个值进行计算,计算完后的结果入栈,遍历完数组之后就将最后的结果弹栈。我们把生活中的栈的概念引入到计算机中,就是供数据休息的地方它是一种数据结构,数据既可以进入到栈中,又可以从栈中出。
2024-05-06 22:41:56
762
原创 Java抽象工厂模式
然后,我们定义了一个抽象工厂接口 Factory,以及两个具体工厂类 ConcreteFactoryA 和 ConcreteFactoryB,它们分别创建相应的产品对象。抽象工厂模式是一个高级的结构型模式,它结合了多个工厂方法,提供了一个统一的接口来创建一系列相关或依赖的对象。抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而不需要指定它们的具体类。工厂模式根据其实现方式的不同,可以分为简单工厂模式、工厂方法模式和抽象工厂模式。:增加新的产品族变得容易,只需提供新的具体工厂即可。
2024-05-04 18:41:44
505
原创 算法前缀和
这是我们特别容易想到的方法,但是他不是一个好方法,因为暴力法的时间复杂度往往都会很高,在我们算法体重往往会因为超市而不予通过,暴力法可以说是一种无奈之举,即没有更优化的方式解决某个问题,但是问题又不能不解决,这时候我们才能使用暴力法。思路:每次输入一个数就求一次和,即定义一个sum[],进行预处理,sum[i]表示数组中前i个数的和,sum[i]=sum[i-1]+arr[i]。比如,对于数组{1,2,3,4,5},要查询第2个数到第4个数的和,每输入一个数就求一次和,即定义一个二维数组sum[][],
2024-05-04 18:34:35
1189
原创 快速排序详细讲解及冒泡排序比较
4) 1存到L指向的位置后,L++,继续从L处开始遍历,与基数进行比较,发现9小于19,那么继续执行L++,直到L指向位置的数据大于基数,17也小于基数,继续L++,发现此时的L和R不满足L
2024-04-24 21:24:27
287
原创 深度搜索dfs解决迷宫问题
每一个单元格正常而言都有4个方向可走,分别是右下左上,我们可以将每个单元格先按照右下左上的顺序去走,如果右方向不能走(不能走的情况有 边界、障碍、已经访问),则走下,下不可走,则走左、上; 每个单元格走完以后,要将走过的单元格置为已走,当单元格的位置与终点位置一致时,则代表已经到达终点,此时记录下该条路线的步数,然后回溯去找其他路线,注意,回溯时要将单元格置为未走,此时的单元格代表仍然可以走;
2024-04-23 22:30:44
331
1
原创 基于源码分享String类(部分)
对应的JVM行为:先在堆中创建空间,里面维护了value属性 指向常量池的“TOM”空间, 如果常量值没有“TOM”,则重新创建, 如果有,直接通过value指向, 而栈中的变量指向的是堆中的空间地址。6)String 是final类,不能被其它类继承,不可以修改,指存放字符串的数组value[] 的地址不可以修改,但是单个字符的内容是可以改变的。s最终指向的常量池的地空间地址。4)String类较常用的构造器(列举一些,其余看API手册)实现了构造器的重载。7)创建String对象的两种的方式。
2024-04-23 22:28:33
195
原创 基于源码总结 ArrayList和LinkedList
ArrayList:应用场景:1.适合根据索引查询数据,数据量不是很大时(高效)2.不适合数据量大的同时,又要频繁的进行增删改查!
2024-04-23 22:15:35
360
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人