- 博客(301)
- 收藏
- 关注
原创 深入学习SQL优化的第五天(最后一天)
在 MySQL 中,存在一个限制,即你不能直接在UPDATE语句的FROM子句中引用要更新的表(target table),然后试图在这个FROM子句中进行操作来更新同一表。这种操作会导致错误:“You can't specify target table 'Person' for update in FROM clause”。这个限制是因为 MySQL 的解析器在处理这类查询时可能无法正确地区分何时应该读取表(以进行条件匹配)和何时应该写入表(以进行更新)。
2024-08-29 11:34:28
941
原创 深入学习SQL优化的第四天
直接通过where判断id+1,id+2是否在表中来判断是否有连续的三个数字。嗯......这个题,我寻思着我也不会啊,使用一个UNION就可以解决了,
2024-08-26 16:46:26
335
原创 深入学习SQL优化的第三天
在数据分组和聚合计算后对分组进行过滤。它可以使用聚合函数,因为它是在分组和计算聚合之后应用的。在数据分组前对行进行过滤。它不能用于聚合函数,因为。而第二个计算的是整个表的去重的数量。
2024-08-22 09:35:02
429
原创 深入学习SQL优化的第二天
SQL 优化,直接练习写SQL语句,并不仅仅是为了学习 SQL 本身,它实际上也是学习 SQL 优化的一种非常有效的方式,通过不断地编写、执行和调整SQL查询,你可以深入理解数据库的工作原理、查询的执行计划以及哪些因素会影响查询的性能。接上文。
2024-08-20 09:38:02
381
原创 系 统 错 误 由 于 找 不 到 VCRUNTIMEI 40 . 引 丨 , 无 法 继 续 执 行 代 码 。 重 新 安 装 程 序 可 能 会 解 决 此 问 题 。 确
换新电脑啦!于是在一键安装完成 Redis Desktop Manager,再经过一些安装的步骤之后,当我打开这个应用的时候就出现了这个问题!没错,首先这个电脑应该是之前更新过或者什么,导致了这个文件的缺失。
2024-08-15 10:09:03
685
原创 nacos启动时Can‘t find dependent libraries
解决方案:安装 Microsoft Visual C++ Redistributable。报错信息有题目那个,也有什么bean的名字错误啥的,工厂错误啥的。双击直接安装,但是安装失败,说是电脑上已经存在其他的版本了。okok,直接打开控制面板,咱们直接卸载原有的版本好吧。于是在启动nacos的时候就遇到了这样一个报错。卸载了之后重新安装,okok也是安装成功了好吧。首先,换了新电脑,但是电脑是重装系统的。在bin目录下的地址栏里面输入 cmd。okok这个问题也是解决了好吧。再去启动nacos,
2024-08-13 15:49:49
514
原创 从今天开始深入学习 SQL 优化
关键字大写,保持统一。保持良好的换行,便于理清楚逻辑。and,or,逗号等放在行首,这样的好处是增加删除条件时比较方便,否则删除最后一个条件时还要去上一行末删除关联词。不用保证符号对齐, where条件field对齐即可。尽量查询的field前加上表的简称,提高代码可
2024-08-08 15:45:57
988
原创 287. 寻找重复数
给定一个包含n + 1个整数的数组nums,其数字都在[1, n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。
2024-08-08 09:54:38
411
原创 136. 只出现一次的数字
就在昨天晚上遭遇了游戏中的至暗时刻,喵的队友一直在抢我箱子,到最后撤离的时候我包里和刚开始进去的时候都没啥两样,就多了一块辐射区的变异骨头,然后头甲全碎了,子弹也没了,我真的服了。喵的下一局队友给了我金光闪闪的七级甲和七级头,在辐射区又见到了另一套七级套,顺利收进包里,就在我暗暗得瑟的时候突然冒出来一队人给我打死了,就给我剩下一个七级甲了,我真服了。近日身体抱恙,盲猜应该是上周周末自己做的饭太难吃了,故而导致现在的自己身体一直在抱恙,哎,等回家之后一定要学着做饭啊,做好吃的饭,不然养不活以后的我呀!
2024-08-06 11:20:09
260
原创 并发编程CountDownLatch
该方法允许设置一个超时时间,如果在这段时间内计数器的值没有变为0,则当前线程会恢复执行,并返回false;:可以是一个或多个线程调用此方法,使调用的线程在定时器倒计数至零之前一直等待,除非线程被中断或发生了超时。方法进行等待,直到所有的线程执行完毕,也就是定时器的值为 0 的时候,主线程才会继续执行,打印出***准备!可以看到各个线程的执行时间,但最后打印出来的时间是相同的,由于线程调度和精确度等等,但最后时间还是很相近的。:将计数器的值减1。类,定义五个线程,对部分线程进行睡眠处理,打印出最后的结果。
2024-07-26 09:29:53
328
原创 Linux(简单概述)
(1)注意事项:=两边不能有空格;默认为字符串类型;如果有两个单词以上可以使用“”或’’引起来,“”里边特殊字符有固定含义,如$!. \ * 等,‘’里面均为普通字符。``反引号可以引用系统命令。变量名和等号之间不能有空格默认变量类型为字符串使用双引号或单引号引用含有多个单词的变量双引号中的特殊字符如 $!. \ * 等有特殊含义单引号中的特殊字符视为普通字符反引号 `` 可以引用系统命令的输出(2)echo输出echo $name # 输出 John Doe。
2024-06-25 16:46:51
1071
原创 一顿操作猛如虎,结果我是二百五
给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。差值是一个正数,其数值等于两值之差的绝对值。
2024-06-20 10:31:03
248
2
原创 Linux
(1)注意事项:=两边不能有空格;默认为字符串类型;如果有两个单词以上可以使用“”或’’引起来,“”里边特殊字符有固定含义,如$!. \ * 等,‘’里面均为普通字符。``反引号可以引用系统命令。变量名和等号之间不能有空格默认变量类型为字符串使用双引号或单引号引用含有多个单词的变量双引号中的特殊字符如 $!. \ * 等有特殊含义单引号中的特殊字符视为普通字符反引号 `` 可以引用系统命令的输出(2)echo输出echo $name # 输出 John Doe。
2024-06-14 20:19:10
1335
原创 82. 删除排序链表中的重复元素 and II
近日总结:下下周考试,难受,还是建议预备大学生们,当你选择的专业涉及到技术,需要下载各种技术软件的话,电脑系统还是选择windows比较好,有不少技术软件居然不支持mac。至于具体两者有什么区别呢,第一道算法题是保留了重复元素,也就是最后的结果是链表中每个出现的数据都是唯一的,而第二道算法题则是去掉了重复的数据,只保留了只出现过一次的数据。也就是第一道是prev的下一个节点直接指向了重复节点,而第二道则是如果判断当前节点不唯一的话就直接指向了重复节点的下一个节点。
2024-06-11 22:10:11
402
原创 extends与implements区别
用于实现一个或多个抽象的接口。二者都可以实现代码复用和多态,但适用于不同的场景和需求。关键字都是用于实现类之间的继承关系。用于继承一个具体的类,而。
2024-06-11 15:54:38
326
原创 在Java中,子类继承了父类,子类和父类都定义了一个静态方法,一个午无参构造方法,一个play方法,如果调用子类的play方法的话执行顺序是什么
其中,静态方法的调用和实例方法的调用是有区别的,静态方法是与类本身相关的,而实例方法是与具体的对象实例相关的。近日总结:难受ing。
2024-06-11 15:38:14
282
1
原创 141. 环形链表
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。
2024-06-08 10:14:55
296
原创 B树与B+树区别
总之,B+树相比B树有更好的空间利用率和查询性能,更适合用作大型数据库的索引结构。近日总结:做了一个梦,去实习了,实习场景忒吓人了,吓得我在梦里连夜跑了。
2024-05-26 11:16:37
3225
1
原创 Tomcat
Tomcat 服务器Apache软件基金会项目中的一个核心项目,是一个免费的开放源代码的Web 应用服务器(Servlet容器),属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。:利用Java的异步IO处理,可以通过少量的线程处理大量的请求。默认端口是8080,可以可以通过在tomcat安装包conf目录下,service.xml中的Connector元素的port 属性来修改端口。:一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。
2024-05-25 16:32:36
530
原创 浏览器输入URL到网页显示之间发生了什么
DNS(Domain Name System,域名系统)就是根据域名来查找对应的IP地址的一个关键系统。
2024-05-23 17:54:08
460
原创 Redis实现热点数据排行榜或游戏积分排行榜
综上所述,Redis的Sorted Set非常适合用于实现排行榜功能。它提供了丰富的命令操作,可以轻松地实现数据的增删改查和排名统计等需求。
2024-05-20 21:52:49
755
原创 缓存降级
缓存降级的关键是要提前设计好降级策略,并在代码中实现相应的逻辑。同时,还要定期测试和验证这些降级策略的有效性,确保在Redis缓存出现问题时,系统能够平滑地进行降级,保证业务的正常运行。
2024-05-20 21:12:48
620
原创 假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?
我们可以使用 keys 命令和 scan 命令,但是会发现使用 scan 更好。
2024-05-20 18:19:47
362
原创 Redis的延时队列
/ 处理任务enqueue(String task, long delay): 将任务添加到延时队列中,延迟时间为 delay 毫秒。getReadyTasks(): 获取当前应该被处理的任务集合。dequeue(String task): 从延时队列中删除指定的任务。processReadyTasks(): 处理当前应该被处理的所有任务。
2024-05-19 11:29:06
805
原创 Redis定期删除过期数据
以上对于redis的过期数据进行定期删除是使用了@Scheduled(fixedDelay = 60000)注解,这是Spring 框架提供的注解,用于定义定期执行的任务。这行代码获取了 Redis 中所有的键(key),keys("*") 方法会返回一个 Set 类型的集合,其中包含了所有的键。其中:if (template.getExpire(key)
2024-05-18 21:01:03
942
原创 详解绝对路径和相对路径的区别
可移植性:绝对路径在不同的操作系统和环境中通常是一致的,因为它们始终从根目录开始。完整性:绝对路径提供了完整的文件或目录路径,从根目录开始,可以唯一地确定位置。相对路径是相对于当前位置或已知位置的路径,它只提供了与当前位置的相对关系。绝对路径(Absolute Path)是从文件系统的根目录开始的完整路径,可以唯一地确定一个文件或目录的位置。简洁性:相对路径相对于当前位置,通常比绝对路径更简洁,尤其是当文件或目录与当前位置在同一层级或子目录中时。
2024-05-15 22:04:22
1058
原创 Hystrix服务熔断
当某个微服务不可用或者响应时间太长时, 会进行服务降级,进而熔断该节点微服务的调用,快速返回“就是当某个服务熔断之后,服务器将不再被调用,此时客户端可以自己准备一个本地的fallback。一段时间后,Hystrix会尝试恢复正常的调用,如果调用成功,则重新关闭熔断器。通过以上步骤,当被标记的服务方法发生故障或超时时,Hystrix将会拦截该请求并执行备选的熔断处理方法(即。回调,返回一个缺省值。这样做,虽然水平下降,但好歹可用,比直接挂掉强。会监 控微服务间调用的状况,当失败的调用到一定阈值,缺省是5。
2024-05-13 21:39:40
742
原创 详解drop,delete,truncate区别
在SQL中,"DROP"、"DELETE"和"TRUNCATE"是用于删除数据的不同命令,它们之间有一些重要的区别:DROP:DROP用于删除数据库对象,例如删除表、视图、索引、触发器等。使用DROP删除的对象将完全从数据库中删除,包括其定义和所有相关的数据。DROP是一种不可逆操作,执行后无法恢复。
2024-05-11 22:06:55
345
原创 Mybatis的缓存机制
每个 SqlSession 中持有了 Executor,每个 Executor 中有一个 LocalCache,当用户发起查询时,MyBatis 根据当前执行的语句生成 MappedStatement,在 Local Cache 进行查询,如果缓存命中的话,直接返回结果给用户,如果缓存没有命中的话,查询数据库,结果写入 Local Cache,最后返回结果给用户。总结来说,二级缓存是 MyBatis 提供的一种跨会话的缓存机制,可以在不同的 SqlSession 之间共享缓存数据。
2024-05-10 16:11:01
1008
原创 15. 三数之和
解题思路:最后的解题思路其实和前面的暴力解法思路一样,只是换成了while,由原来的三个for循环一个一个的遍历改成了一个for循环,一个while循环。过了45个测试案例, 当看到下面的预期结果时,我懵了,?看到题目,大家可能第一反应想到的是用递归,我偏偏反其道而行!终于,发现了原来是元组不重复,和索引下表不重复,我悟了......880ms,呵呵......好像是最慢的......然后看看评论区,咋没人说这个问题啊,是我着相了吗?我看成了不仅里面的三个元素,还有元组都不重复。
2024-05-09 20:41:56
337
原创 增强for循环(for-each循环)
这是因为这些基本数据类型都可以被自动装箱为对应的包装类(Byte、Short、Integer、Long、Float、Boolean、Double和Character),而包装类实现了Iterable接口,因此可以使用增强for循环遍历它们。总结起来,可以使用增强for循环遍历的基本数据类型数组为:byte[]、short[]、int[]、long[]、float[]、double[]、char[]、boolean[]。这样可以使代码更简洁、可读性更高,并且不需要手动管理迭代器。
2024-05-08 10:31:32
461
原创 继承与实现
子类可以使用父类的属性和方法,同时还可以添加自己的属性和方法,或者覆盖父类的方法。公共成员(public)可以在继承类中直接访问,私有成员(private)只能在抽象类内部访问,不能在继承类中直接访问,受保护成员(protected)可以在抽象类内部和继承类中访问。需要注意的是,继承类可以根据需要覆盖(重写)继承的方法,以提供自己的实现。此外,继承类也可以添加新的属性和方法,以扩展抽象类的功能。继承类可以通过调用父类的构造函数来初始化继承的属性,也可以通过调用父类的方法来访问和操作继承的方法和属性。
2024-05-03 15:25:14
359
原创 详解封装,继承,多态
在上面的示例中,Animal类定义了一个makeSound()方法,在子类Dog和Cat中进行了重写。:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。在上面的示例中,name和age属性被声明为私有(private),只能通过公共的getter和setter方法来访问和修改。在上面的示例中,Dog类继承了Animal类,通过super关键字调用父类的构造方法。的特性,所以易维护、易复用、易扩展。可以设计出低耦合的系统。
2024-04-30 16:50:58
548
原创 买卖股票的最佳时机
在测试案例中有一部分是巨量案例,看了其他官解,使用了一次for循环解决了这个问题,其实就是定义两个变量,分别是minprice(最小价格),maxprofit(最大利润,即差值),之后使用一个for循环,找出前面的小的元素记录下来,遇到比这个元素大的就与maxprofit做比较,比maxprofit大的话就更新maxprofit的值,这样一个for循环遍历下来,也就找到了最大差值。解题思路:首先看到这一题,我第一个想到的是使用暴力解法,直接两个for循环重拳出击,但是在提交代码后却显示超时。
2024-04-29 21:27:48
237
原创 80. 删除有序数组中的重复项 II
思路:根据nums中正负数的情况分成两个桶,一个装正数,一个装负数,中间不断的在判断......只通过了26个用例,因为没有考虑到还存在负数的情况。所以还再优化优化......我觉得我还可以再抢救一下。
2024-04-28 10:55:08
296
原创 springboot+thymeleaf实现一个简单的监听在线人数功能
在登录过程中,常见的做法是将用户的身份信息存储在会话中,存储用户对象在会话中的好处是,它允许在用户的后续请求中访问用户的相关信息,而无需重复进行身份验证。当用户成功登录时,服务器会为该用户创建一个唯一的会话ID,并将其与用户的会话数据关联起来。:OnlineUserManager是一个用户全局的用户管理,同时,里面存储的数据会在每一个session被创建的时候()同步到一个全局的servletContext中。同时,在每个会话中,也可以将当前的在线人数存储在会话的属性中,以便在该会话的请求中访问和使用。
2024-04-26 16:20:56
696
java基础知识(笔记)
2022-08-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人