自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Java 集合 Collection常考面试题

HashMap:适用于需要通过键快速访问数据的场景,存储键值对。HashSet:适用于需要管理一组唯一元素的场景,只存储键,并不关心值。HashMap与TreeMap的区别是否需要存储键值对?是:选择Map的实现类(HashMapTreeMap否:继续选择Collection的实现类。是否允许重复?是:选择ListArrayListLinkedList否:选择SetHashSetTreeSet是否需要顺序访问?或。TreeMap或TreeSet。是否需要线程安全?

2024-10-10 23:31:49 1211

原创 令牌桶算法自学笔记

令牌以恒定的速率向一个令牌通中放入令牌,每一个请求必须要从桶中拿到令牌,才可以完成后续处理请求的操作。如果一个请求没有拿到令牌,那么就解决请求。可以处理固定桶数量的请求,当请求数量超过限制之后,超过原有桶中的令牌数,那么就会以“放令牌”的速度来获得令牌。令牌桶算法可以处理大流浪场景。

2024-10-09 23:14:20 282

原创 如何让 Raft 更稳健,使用 Pre-vote

本文参考文献 《Consensus: Bridging Theory and Practice》

2024-10-09 02:36:11 344

原创 一致性哈希算法解析

想象我们的网络世界是一个巨大的环形摩天轮,上面有无数的座位,每个座位都代表了一个存储空间。现在,我们需要将三万张照片安排到这个摩天轮的三台机器上。这些机器我们可以想象成三个大车厢,每个车厢可以装载一部分照片。在简单的哈希算法中,我们通过计算每张照片的哈希值来决定它应该放在哪个车厢。但如果我们决定在摩天轮上增加一个新的车厢,这时问题就来了。原本均匀分布的照片因为新车厢的加入,许多照片需要被重新分配到不同的车厢中,这就像是你已经坐好了,突然被告知要换一个座位,造成了大混乱。

2024-10-08 18:16:35 728

原创 Raft 常见问题解答

Raft 的常见问题

2024-10-08 00:23:14 870

原创 renren-fast-vue在mac上的运行

需要提前执行的命令,希望可以帮助到大家。分别是解决版本在mac m1架构上的不兼容问题,另外解决没有验证码的问题,要注意数据库的配置,账号密码是否正确。被这个折磨好久了,终于成功了。版本号-node-14。

2024-06-11 20:33:38 165

原创 异步任务 - 2

提示:这里可以添加本文要记录的大概内容:提示:以下是本篇文章正文内容,下面案例可供参考。

2024-03-24 00:36:00 337

原创 异步任务 - 1

异步任务指的是在后台运行的任务,其执行不会阻塞(即不会挂起等待任务完成)发起它的主程序流程。区别 - thread 和runnable没有返回值,但callable可以有返回值,只有线程池可以控制资源。没有满 - 都执行完了 - 有空闲 - 在live time时间内释放掉。核心线程满了 - 放到队列里面 - 如果核心有空闲 - 就去执行。业务代码内 - 启动线程的方式都不能用 - 会导致资源耗尽。将所有的多线程异步任务都交给线程池进行 - 资源控制。阻塞队列满了 - 开新线程 - 最大的数量 -max。

2024-03-22 18:43:13 231

原创 什么是泛型

当你从这个列表中取出元素时,你需要进行类型转换,这不仅代码看起来不优雅,而且可能会导致运行时错误,如果列表中加入了非。范型(泛型)在Java中是一种在编码时不指定具体类型,而在使用时指定类型的编程方式。为了理解泛型,我们可以通过比较没有泛型的代码和使用了泛型的代码来看看泛型是如何帮助我们写出更好的代码的。这样可以在编译时就发现类型不匹配的错误,避免了类型转换,使得代码更安全、更清晰。:泛型提供了编译时的类型检查,如果你试图插入错误类型的对象,编译器会报错。类的时候,你可以指定存储在其中的对象的类型。

2024-03-18 03:50:40 189

原创 Amber-Leedcode-Java - 代码随想录打卡第38 - 44天-动态规划汇总

一开始写的时候被吓到了,但是发现听完一半之后再写还是比较容易的。秒杀,和前者逻辑差不多,要注意初始化就好。对于我而言主要是找到逻辑,别人的写法,比较nb。

2024-02-14 02:51:28 270

原创 Amber-Leedcode-Java - 代码随想录打卡第30-37天-贪心算法汇总

很神奇,在顺好思路再写之后很快就写出来了,这个要点在于范围和最大值之间的取舍,在第一个取值的范围内找最大值,如果找到最大值了,就回到该值,然后测试该最大值是否触及边界。很神奇 凭直觉做出来了,,,感觉如果cost小于等于gas的话,一定是有答案的,并且找到diff最大的地方出发就好了。我的天这个题第一次自己写的特别费劲,,,不知道为什么,,意外的情况太多了 ,去看看有没有什么通用解法。没有什么思路,抄的别人的代码,太精妙了。不难,想清楚条件判断就好了。前面的比较简单,已经写完。这里要解决溢出的问题。

2024-02-12 23:46:12 400

原创 Amber-Leedcode-Java-代码随想录打卡第24-29天

2月2日这个应该是回溯的专题了,加油鸭。

2024-02-02 21:08:42 367

原创 Amber-Leedcode-Java-代码随想录打卡十七、十八、二十、二十一天、二十二天、二十三天(二叉树汇总)

主要要明白,是高度差大约1,理解高度的概念,所以是对高度进行操作。

2024-01-30 03:16:52 332

原创 SQL优化-2

例如,一个银行系统中,当某个账户正在进行转账操作时(写操作),系统会对相关行加排他锁,以防止在转账过程中其他事务读取或修改了这些行,导致数据不一致。尤其是在涉及到写操作(如UPDATE、DELETE)的时候,MySQL需要锁定所有可能会被修改的行,以避免数据在修改过程中被其他事务更改,这就保证了数据的一致性。因此,如果你在事务中执行了一个无法使用索引的查询,并且这个查询涉及到修改数据,MySQL可能会因为无法精确地定位到需要修改的行而采取更保守的做法,锁定大量行或者整张表。

2024-01-26 04:15:01 559

原创 Amber-Leedcode-Java-代码随想录打卡第十五天 |● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树

层序遍历待更新。

2024-01-25 04:50:00 387

原创 sql优化问题详解-内含大量例子-来源chat老师-未完结

这句话的核心是解释如何通过“Using index”和“Using where”来理解MySQL是如何使用索引的。覆盖索引(只有“Using index”)表示索引已经包含了查询所需的所有数据,而在索引被用于查找同时需要额外过滤(“Using index”和“Using where”同时出现)的情况下,说明索引帮助了部分查询,但不是全部。这些信息对于数据库性能优化和查询优化非常重要。这个图像包含了关于SQL查询优化的文本,解释了两种不同的查询方法:使用IN子句和EXISTS子句。

2024-01-25 04:42:39 1516

原创 ArrayList和LinkedList的区别

ArrayList和LinkedList都是Java中实现List接口的两种常用集合,但它们在内部数据结构和性能特点上有显著差异,这也决定了它们各自的使用场景:

2024-01-24 02:05:55 361

原创 Amber-Leedcode-Java-代码随想录打卡第十四天 | 理论基础、递归遍历

arraylist与list,int[]的关系。

2024-01-23 20:29:11 548

原创 谷粒商城学习-致力于深挖细节的细节控-Chat是助教-希望不坑

102 -计划15天完成谷粒商城的学习,希望自己可以坚持下来今天学了一个知识,说是主动学习可以建立更大的神经突触的链接,docker是什么Docker 是一个开源的平台,用于自动化软件的部署、扩展和管理。它通过使用容器来允许应用程序与系统基础架构分离,从而实现快速、一致和可靠的软件交付。容器是轻量级的、可执行的软件包,包含软件运行所需的一切:代码、运行时、系统工具、系统库等。由于容器与基础设施和操作系统解耦,它们在不同的环境中都能以相同的方式运行。

2024-01-22 03:42:01 1640

原创 Amber-Leedcode-Java-代码随想录打卡第十三天 | ● 239. 滑动窗口最大值● 347.前 K 个高频元素

​总结:状态:未完结 - 百分之80学习2小时左右困难:很多待解决问题:第一题今日收获:来源:代码随想录​

2024-01-22 03:36:42 461

原创 Amber-Leedcode-Java-代码随想录打卡第十一天 | ● 20. 有效的括号● 1047. 删除字符串中的所有相邻重复项● 150. 逆波兰表达式求值

不得不说和本科时候学的汇编异曲同工{()}这样有效吗?(有效)输入: "{[]}"输出: true。

2024-01-20 02:58:20 449

原创 Amber-Leedcode-Java-代码随想录打卡第十天 | ● 理论基础● 232.用栈实现队列● 225. 用队列实现栈

​总结:状态:完结学习1小时左右困难:较为简单待解决问题:。今日收获:队列和栈来源:​​​​​​​代码随想录​

2024-01-19 02:48:19 454

原创 Amber-Leedcode-Java-代码随想录打卡第八天|541. 反转字符串II● 卡码网:54.替换数字● 151.翻转字符串里的单词● 卡码网:55.右旋转字符串

1.较为简单,但是需要注意的是swap的书写,要转换为stringbuilder才可以实现转换。

2024-01-18 00:39:14 360

原创 Amber-Leedcode-Java-代码随想录打卡第七天 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和

状态:未完结学习小时左右困难:待解决问题:今日收获:代码随想录。

2024-01-17 02:53:21 1559

原创 Amber-leedcode-java-代码随想录打卡第六天 | 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

【代码】Amber代码随想录打卡第四天 | ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和。

2024-01-16 07:26:18 666

原创 Amber代码随想录打卡第四天|24. 两两交换链表中的节点 |19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交 |142.环形链表II

要点是要明确:要修改1点指向,那么必须要知道1前一个点指针。

2024-01-16 04:33:03 401

原创 Amber代码随想录打卡第三天|203.移除链表元素、707.设计链表、206.反转链表

困难:较难学习 : 2h状态:待更新代码随想录。

2024-01-12 08:31:46 437

原创 Amber代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

困难:在977和209没有什么问题,但螺旋矩阵出现了问题,思路无法捋清。大概学习了2h左右。代码随想录。

2024-01-11 06:55:24 450

原创 Amber代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

文档讲解https://programmercarl.com/%E6%95%B0%E7%BB%84%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html状态-不难

2024-01-09 23:22:03 378

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除