- 博客(34)
- 收藏
- 关注
原创 Java复习第四天
给你两棵二叉树的根节点p和q,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。(1)注意:声明的时候,最好采用多态的形式,就是父类引用指向子类对象。原因:关于可重复,有序操作的方法,都是在接口中已经定义好了;题目:如何存储多条狗狗信息,获取狗狗总数,逐条打印出各条狗狗信息?4.List、ArrayList、LinkedList 区别。你一个二叉树的根节点root,检查它是否轴对称。(3)单元测试——@Test。
2025-01-21 23:50:28
2107
原创 Java复习第三天
每次你可以爬1或2个台阶,因此到达第n阶的方法数等于到达第n-1阶的方法数加上到达第n-2阶的方法数。这是因为从第n-1阶爬1个台阶可以到达第n阶,从第n-2阶爬2个台阶也可以到达第n阶。5.copyOf——copy0f(array,length):将数组array复制成一个长度为length的新数组,返回类型与复制的数组一致。示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]a.题目:有一个数列:8,4,2,1,23,344,12。
2025-01-19 23:41:08
951
原创 Java复习第二天
给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。为了应对这种情况,nums1的初始长度为m+n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。需求:使用do-while实现:输出摄氏温度与华氏温度的对照表,要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。(1)特点:循环次数固定用for,如果我们知道循环至少走一次的话,选择dowhile循环而不是while循环。
2025-01-18 23:36:53
1111
原创 Java复习第一天
3.文档注释 ——/** */——使用者可以获取该信息——意思是在 Demo1 中可以看见 Demo 中的类注释。需求:某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分?3.转义字符——制表符——\t 这里面的 t 代表 Tab 键。1.单行注释——//——写代码的时候,把关键的思考点写上注释。2.重点来说取模运算:简单来说,就是除不尽的,剩下来的数。2.多行注释——/**/——使用者无法获取该信息。2.常量和变量的区别:常量不可变,变量可以变。
2025-01-17 21:24:25
845
原创 IO流(Java)
在使用 IO 流时,应该使用 try-catch-finally 语句块来捕获和处理可能发生的异常。4.请解释Java NIO中的Channel和Buffer的作用,以及它们与标准IO的区别。2.选择合适的字符编码:在处理文本数据时,需要指定正确的字符编码,以避免出现乱码问题。3.使用缓冲流提高性能:对于大文件或频繁的IO操作,使用缓冲流可以显著提高性能。5.请解释Java中的序列化与反序列化,并给出实现序列化的步骤。7.在使用 IO 流时,如何有效地捕获和处理异常?2.请解释节点流和处理流的区别。
2025-01-16 12:56:13
1570
原创 算法练习03
给你两个字符串 haystack和 needle,请你在haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle不是 haystack 的一部分,则返回-1。1. 从 haystack 的第一个字符开始,逐个检查从该字符开始的子字符串是否与 needle 相等。3. 如果遍历完整个 haystack 仍未找到匹配的子字符串,则返回 -1。第一个匹配项的下标是0,所以返回0。2. 如果找到了匹配的子字符串,则返回该子字符串的起始下标。
2025-01-09 15:27:09
646
原创 算法练习02
提示: 1<= strs.length <= 200、0<= strs[i].length<=200 strs[i]、仅由小写英文字母组成。示例 2: 输入:strs =["dog","racecar","car" 输出:"" 解释:输入不存在公共前缀。示例 1: 输入:strs =["flower" ,"flow" ,"flight"] 输出:"fl”4.更新前缀:对于每个字符串,逐字符比较当前公共前缀,更新公共前缀为相同的部分。5.返回结果:最终的公共前缀即为结果。如果不存在公共前缀,返回空字符串""
2025-01-08 01:21:48
448
原创 算法练习01
给定一个整数数组 nums 和一个整数目标值target,请你在该数组 中找出 和为目标值 target 的那 两个整数,并返回它们的数组下标。6.返回结果:如果遍历结束后没有找到符合条件的两个数,则返回空数组(根据题意,这种情况不会发生)。1.哈希表:使用一个哈希表(HashMap)来存储数组中已经访问过的元素及其对应的下标。4.如果存在,说明找到了两个数,它们的和为目标值,返回它们的下标。
2025-01-07 17:43:41
993
原创 TreeMap
(5)自平衡:通过旋转和重新着色操作,红黑树能够在插入和删除操作后保持平衡,从而保证O(log n)的操作效率。(3)红节点的子节点是黑色的::如果有的话,红色节点的子节点必须是黑色;即红色节点不能有红色的父节点或子节点。TreeMap的底层结构是基于红黑树实现的。(4)黑色平衡:从任意节点到其每个叶子的所有路径都包含相同数量的黑色节点。(1)节点颜色:每个节点都有颜色,红或黑。(2)根节点是黑色:树的根节点必须是黑色的。(2)带Comparator参数的构造方法。(4)带Map参数的构造方法。
2024-12-31 16:41:24
1527
原创 HashTable
九、Hashmap和HashTable和区别。(1) equals和hashCode方法。(3)初始容量和加载因子。在单线程环境下的性能。性能的一个重要因素。
2024-12-30 10:48:32
1186
原创 HashMap
九、Hashmap、HashTable和LinkedHashMap区别。1.为什么 HashMap 在 JDK 1.8 中引入了红黑树?2.HashMap 的初始容量和负载因子是多少?1. 使用 for-each 循环遍历键值对。2. 使用 Iterator 遍历键值对。3.HashMap 的扩容机制是什么?4.HashMap 如何保证线程安全?1.HashMap允许null值。2.与HashTable的区别。4. 使用 values 遍历值。1.HashMap是非线程安全。(4)resize方法。
2024-12-29 23:11:24
967
原创 反射相关知识
其次,在反射中,我们常用到的方法Class.forname方法获取class对象,通过getConstructor,getFiled,getMethod获取对象的构造方法,成员方法,成员变量。首先我们要知道反射是干啥的,反射是获取一个运行时状态,为什么我们要获取运行时状态呢?我们要获取运行时状态获取对象,创建对象后用其构造方法,成员方法。最后,通过反射,我们可以更好看别人的代码和底层代码。四、获取Class对象方式。五、访问类的成员的常用方法。4.序列化和反序列化。
2024-12-28 18:25:50
1051
原创 数据库基础知识---以MySQL为例
集合表示多个值,使用逗号分隔,例如: name in (悟空,八戒)in中的每个数据都会作为一次条件,只要满足条件就会显示。例如: 2000-10000之间: Between 2000 and 1000。查询某一列为NULL的值, 注: 不能写 = NULL。大致分为三类:数值、时间/日期、字符/字符串。大于、小于、大于(小于)等于、不等于。3.通配符--模糊查询。5.产生问题及隔离级别。一、什么是MySQL。LIKE '%张%'十一、MySQL索引。十二、MySQL视图。十三、MySQL优化。
2024-12-27 22:07:31
1220
原创 mybatis/mybatisplus
1.什么是2.核心组件(3)Mapper接口(4)Mapper XML 文件3.配置文件4.映射文件(1)SQL语句(2)参数映射(3) 结果映射5.动态SQL(1)if:条件判断。代码(2)choose (when, otherwise):多条件选择。代码(3)where:自动处理 AND 和 OR 关键字。代码(4)set:自动处理 SET 关键字。代码(5):遍历集合。代码6.缓存机制(1)一级缓存什么是代码(2)二级缓存什么是代码7. 优点8.插件机制什么是代码。
2024-12-26 15:20:32
1476
原创 SpringBoot
ControllerAdvice:用于定义全局异常处理器。@Transactional:用于声明事务管理。2.集成测试-SpringBootTest。八、安全-Spring Security。1.单元测试-junit。
2024-12-25 16:02:42
1467
原创 常见场景题
间接授权通过令牌实现,sso认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,即得到了授权,可以借此创建局部会话,局部会话登录方式与单系统的登录方式相同。需要将下单这一操作进行异步处理。流程图中的 第 11 ~ 15 步骤,这是扫码登录的最后阶段,移动端携带上一步骤中获取的临时 token ,确认登录,服务端校对完成后,会更新二维码状态,并且给 PC 端生成一个正式的 token ,后续 PC 端就是持有这个 token 访问服务端。
2024-12-23 10:29:22
1134
原创 常见八股文05
假设正确的用户名和密码为ls和123456,输入正确的用户名和密码、提交,相当于调用了以下的SQL语句。服务降级主要用于当整个微服务架构整体的负载超出了预设的上限阈值或即将到来的流量预计将会超过预设的阈值时,为了保证重要或基本的服务能正常运行,可以将一些不重要或不紧急的服务或任务进行服务的延迟使用或暂停使用。当某一时间内服务 A 的访问量暴增,而 B 和 C 的访问量较少,为了缓解 A 服务的压力,这时候需要 B 和 C 暂时关闭一些服务功能,去承担 A 的部分服务,从而为 A 分担压力,叫做服务降级。
2024-12-22 13:59:33
1252
原创 常见八股文04
过滤通过后,拦截器将检查用户提交数据的验证,做一些前期的数据处理,接着把处理后的数据发给对应的Action;数据插入和删除:B+树的插入和删除操作相对简单,因为只涉及到叶子节点,不需要更新非叶子节点,而 B 树的插入和删除操作可能需要调整树的结构,增加了磁盘 I/O 的次数。动态SQL主要是来解决查询条件不确定的情况,在程序运行期间,根据提交的条件动态的完成查询。该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。
2024-12-21 18:14:31
1553
原创 常见八股文03
在Vue3中,引入ES6的Proxy API进行数据代理,可以直接绑定整个对象,提升效率,且能监听数组内部数据的变化。从API上,在Vue2中,使用选项类型API,将组件的选项(如data、computed、methods等)分割到不同的属性中;最后,当其中一个子序列的指针到达序列尾部时,将另一个子序列中剩余的元素全部复制到临时数组的剩余位置。:Spring Cloud拥有庞大的生态系统,包括许多开源项目和第三方库,这些库可以帮助开发者更容易地构建各种类型的微服务,如API网关、认证中心、监控中心等。
2024-12-20 09:01:52
1351
原创 常见八股文01
所谓分装,就是代码不做细节处理,不对外公布,提供对外访问的接口。比如private(我们定义个Teacher的类的话,private int age无法访问,若想访问age,那就找对应的set,get方法。其次,在反射中,我们常用到的方法Class.forname方法获取class对象,通过getConstructor,getFiled,getMethod获取对象的构造方法,成员方法,成员变量。最后多态,理解起来也简单,就是把参数类型定义成父类类型,在传给子类,这也体现出Java的延展性。
2024-12-18 01:03:47
920
原创 Redis
缓存空对象思路分析:当我们客户端访问不存在的数据时,先请求redis,但是此时redis中没有数据,此时会访问到数据库,但是数据库中也没有数据,这个数据穿透了缓存,直击数据库,我们都知道数据库能够承载的并发不如redis这么高,如果大量的请求同时过来访问这种不存在的数据,这些请求就都会访问到数据库,简单的解决方案就是哪怕这个数据在数据库中也不存在,我们也把这个数据存入到redis中去,这样,下次用户过来访问这个不存在的数据,那么在redis中也能找到这个数据就不会进入到缓存了。因为锁能实现互斥性。
2024-10-16 18:37:34
1132
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅