自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kubernetes 集群管理与微服务集群的异同分析

通过以上协作模式,Kubernetes 集群与微服务集群可共同构建高可用、易维护的云原生架构。

2025-03-29 01:03:36 439

原创 Java Enum 类values 的神秘作用

然而,这里的 Set 方法只关心方法名,并不关心方法签名,所以在调用 Explore.removeAll(Enum) 后,只剩下了 [values]。由于 values() 方法是由编译器在枚举类的定义中插入的一个静态方法,因此如果你将枚举类型向上转型为 Enum,则values() 方法将不可用。由于类型擦除(相关介绍参见基础卷第 20 章)的缘故,反编译器得不到 Enum 类的完整信息,因此只能将 Explore 类的基类作为一个原始的 Enum 类来显示,而不是实际上的 Enum。

2025-03-29 01:02:22 173

原创 kafka常见面试题

以上问题覆盖了 Kafka 的分布式一致性、性能优化、容错机制及与生态系统的集成,适合考察候选人对 Kafka 底层原理和复杂场景的解决能力。实际面试中可结合候选人的项目经验,延伸至具体场景设计(如“如何设计一个日均千亿级消息的金融风控系统”),进一步考察工程实践能力。

2025-03-26 01:18:49 690

原创 websocket面试必知必会

以上问题覆盖了 WebSocket 的核心原理、协议设计、性能优化及安全防护,适合考察候选人对实时通信技术的深度理解。实际面试中可结合具体业务场景(如金融、物联网)进一步提问,例如:“如何设计一个支持百万级并发的 WebSocket 消息系统?”(需结合负载均衡、集群化等方案)。

2025-03-26 00:36:34 709

原创 双亲委派机制是什么?为什么需要双亲委派机制?

的核心工作机制,它定义了类加载器在加载类时的协作规则。

2025-03-24 19:19:34 361

原创 一个简单的人脸识别demo

使用和OpenCV。

2025-03-22 14:46:55 643

原创 mysql中的游标是什么?作用是什么?

游标是处理逐行数据的工具,适合在存储过程中实现复杂逻辑,但需谨慎使用以避免性能问题。当查询返回多行结果时,游标可以逐行读取数据,适用于需要对每一行数据进行复杂逻辑处理的场景(例如条件判断、计算、更新其他表等)。当简单的 SQL 语句无法直接完成复杂操作时(例如需要基于前一行结果处理下一行),游标提供了一种灵活的处理方式。它的作用类似于编程语言中的迭代器,允许遍历查询返回的多行数据,并对每一行执行特定操作。游标通常与存储过程结合使用,用于在数据库服务端直接处理查询结果,避免将大量数据传输到客户端。

2025-03-21 13:15:25 259

原创 高并发编程有哪些规范?

领域核心规范与工具架构设计分布式服务拆分、熔断降级、消息队列异步化并发编程、无锁数据结构、清理数据库优化分库分表、索引设计、缓存策略安全与性能限流降级、HTTPS加密、连接池管理测试监控JMeter压测、Prometheus监控、全链路追踪通过以上规范,可系统化提升高并发系统的稳定性、扩展性和安全性。更多细节可参考相关开发手册和行业实践。

2025-03-20 23:58:30 668

原创 第三方接口对接流程与规范

通过系统化的设计、清晰的异常处理及完备的测试,可显著提升第三方接口对接的可靠性。

2025-03-20 21:42:21 807

原创 7 sustainable innovations to watch

Something that is for certain, is that it is not possible for us to continue to rely on fossil fuels if we are to significantly slow down and even stop global warming. “We need to get to a point where we are not reliant to the extent we are today on these

2024-09-05 10:40:30 804

原创 elasticsearch 索引的监控

*

2024-02-12 15:27:13 1118 2

原创 elasticsearch 索引模版

elasticsearch 索引模版和组件模版

2024-02-03 23:59:42 907

原创 基于java的 aws s3文件上传

接下来,需要在Java项目中添加AWS SDK的依赖。可以使用Maven或Gradle进行依赖管理。代码示例中还包括了设置文件元数据、设置文件访问权限以及获取文件URL的步骤。这些步骤可以帮助您更好地控制上传文件的属性和访问权限。首先,确保您已经在AWS上创建了一个S3存储桶,并拥有相应的访问密钥和密钥ID。这些凭据将用于在Java代码中进行身份验证。替换为想要为上传文件指定的对象键,替换为自己的S3存储桶名称,替换为要上传的文件的路径。aws s3 文件上传代码。在上述代码中,需要将。

2024-01-13 22:05:06 1287 1

原创 Solving distributed transaction management problems in microservices architecture using Saga

Distributed transaction management Sega .

2023-09-25 23:22:02 210

原创 指令流水线

总之,计算机指令流水线是一种强大的硬件技术,它可以显著提高处理器的性能和吞吐量。当一条指令进入流水线时,它会从流水线的一端进入,然后依次通过每个阶段的处理。在每个阶段,指令可能会被中断并返回到流水线的开始,以便其他指令得以继续处理。通过并行处理大量的数据和计算,计算机指令流水线可以帮助实现高效的模型训练和实时推理。通过将多个图像和纹理的处理分配给不同的流水线阶段,图形处理器可以实现高效的渲染和显示性能。提高性能:通过将指令处理过程分解为多个阶段,计算机指令流水线可以实现多个指令在同一时间进行处理。

2023-09-12 16:00:53 850

原创 Spring 三级缓存的原理

如果需要获取该单例对象实例,会首先从该缓存中查找。当完成单例对象实例的扫描后,Spring会将所有扫描到的单例对象实例放入singletonFactories缓存中。总之,Spring框架的三级缓存通过将单例对象实例和工厂类实例分别存放在不同的缓存中,实现了对单例对象的高效管理。同时,通过使用三级缓存,可以避免重复创建单例对象实例和工厂类实例,提高了应用程序的性能和效率。当需要获取单例对象实例并且在第二级缓存中没有找到时,Spring会继续查找,直到找到或者遍历完所有的单例对象实例为止。

2023-05-14 16:38:05 1697

原创 spring security(一):springsecurity 功能

Spring Security 是一个非常流行和强大的框架,它提供了许多内置的安全功能,例如认证、授权、密码管理和会话。

2023-05-14 16:37:15 789

原创 算法专题:使用双指针解决问题:给定一个长度为 n(1≤n≤10 7 ) 的字符串 s,求一个最长的满足所有字符不重复的子串。

解决思路: 维护两个指针 i和j,区间[i,j] 储存合乎条件的字符串,当寻找到重复字符串的时候执行 i=i+1,否则执行j=j+1直到找到下一个重复的字符串或者是字符遍历完成,期间不断的维护 最长不重复字符串的长度,j-i+1的最大值。

2023-05-07 22:50:08 149

原创 restore deleted file on linuxos

【代码】restore deleted file on linuxos。

2023-05-07 22:37:27 501

原创 build one simple redis-cluster with local machine

【代码】build one simple redis-cluster with local machine。

2023-04-17 22:17:05 333

原创 Redisson 看门狗机制

总之,Redisson Watch Dog机制是一个非常有用的工具,可以帮助开发人员轻松地监视Redis中的键并在其发生变化时进行相应的操作。通过使用Redisson库中提供的watch方法和addListener方法,我们可以轻松地实现Watch Dog机制,并在我们的应用程序中处理Redis数据的变化。总之,Redisson Watch Dog机制是一种强大的功能,可以帮助开发人员实时地监视Redis中的键,并在键发生变化时进行相应的操作。例如,应用程序可以重新读取被修改的键并更新自己的数据。

2023-04-16 18:18:47 3550

原创 Redisson 创建分布式锁

redisson distributed lock

2023-04-16 18:07:28 202

原创 AQS工作原理

acquire(int args) 方法的作用是独占式的获取同步状态, 该方法对中断不敏感,也就是说当线程获取同步状态失败后进入到CHL中,后续对线程进行中断时,线程不会从CHL中移除。调用同步器的acquire(int arg)方法可以获取同步状态,该方法对中断不敏感,即线程获取同步状态失败后进入同步队列,后续对线程进行中断操作时,线程不会从同步队列中移除。根据锁的获取机制,又分为公平锁和非公平锁等待队列中按照FIFO的原则获取锁,等待时间越长的线程越先获取到锁,这就是公平的获取锁,即公平锁。

2023-04-16 18:00:58 172

原创 vscode 对 typescript debug

还需要注意的是,由于 TypeScript 代码和 JavaScript 代码之间的映射关系,断点位置可能会有所偏移,此时可以使用 Source Map 功能来解决这个问题。在 Debug 模式下,打开 Debug 控制台,选择 Sources 选项卡,可以看到 TypeScript 和 JavaScript 代码之间的映射关系。4.在 VS Code 中打开编译后的 JavaScript 代码文件,设置断点,按 F5 或点击 Debug 按钮进入 Debug 模式,最后运行程序即可开始调试。

2023-03-28 13:38:59 739

原创 算法专题: 找出数字连续的最长序列(不要求序列元素在原数组中连续)

遍历数组中的每个数 x,如果 x-1 不在哈希表中,说明 x 是一个连续序列的开头,我们可以从 x 开始不断向后找 x+1,直到找不到为止,此时记录连续序列的长度,并更新哈希表中左右两端数的长度。首先,对于一个数 x,如果存在 x-1,那么说明 x 不可能是连续序列的开头,因为在这种情况下会选择 x-1 作为开头。解释: 最长数字连续序列是 [1, 2, 3, 4]。输入: nums = [0,3,7,2,5,8,4,6,0,1]输入: nums = [100,4,200,1,3,2]

2023-03-11 18:08:33 768

原创 SpringBeanJobFactory 的作用

ChatGPT SpringBeanJobFactory

2023-03-09 15:59:33 333

原创 杰出诗人:chatGPT

【代码】杰出诗人:chantGPT。

2023-03-08 10:29:27 252

原创 windows底下 docker挂载目录

docker 在windows底下进行镜像与本地目录的挂载

2023-03-06 14:59:16 893

原创 Linux commands: du and the options you should be using

总结: du是用来查看文件内存使用的命令, -s 表示汇总总共使用了多少内存,与 -c类似区别是-c多了一个total汇总选项,这一个命令其实更像一张空头支票,实用性不大。

2022-11-14 10:57:39 480

原创 deepin系统无法定位软件包问题

这种问题一般是镜像源中不包含此软件包,一种可行的办法就是配置一个新的镜像源。更新之后即可安装之前未可安装的软件包。途中示例添加的是清华的镜像源。

2022-10-29 22:47:10 3489

原创 linux RAID管理与恢复误删除文件

RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。RAID1(镜像):把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。一、RAID磁盘阵列概述;

2022-10-11 22:28:59 353

原创 基于递归求解全排列组合

【代码】基于递归求解全排列组合。

2022-10-06 18:12:59 115

原创 docker通过 systemd 配置访问远程服务

docker通过systemd配置访问远程服务

2022-08-26 00:15:40 548

原创 linux命令大全:ftp命令

结尾关键字END或STOP必须是行中唯一的单词,并且必须位于行的开头。一、ftp输入重定向。

2022-07-23 14:52:57 887

原创 线程池执行原理(执行流程)

面试的时候没答对,仔细复盘了一下源码,记录一下线程池执行的流程如下:1、当一个任务到来的时候会判断核心线程数是否已经满了,(注意核心线程数是否会被回收是根据 参数 allowCoreThreadTimeout()来确定,默认为false,即核心线程数并不会被回收,设置为true时则会与常规线程一样当keepalive time到达的时候会被回收)未满则分配一个核心线程,满了则放置到等待队列中去2、当队列未满则会将任务添加到队列当中去,满了则会判断是否达到最大线程数3、达到了最大线程数的数量就会出发rej

2022-06-07 17:39:05 561

原创 异步编程:java nio 之 buffer原理与intBuffer示例demo

java nio , 缓存切片

2022-06-05 18:56:52 222

原创 每日一算:java基于动态规划求解最长回文子串详解

动态规划、回文子串

2022-06-05 17:47:45 336

原创 redis事件机制

redis是一个基于事件驱动的程序一、文件事件服务器通过套接字与客户端或者其它服务器进行通信,文件事件就是对套接字操作的抽象。Redis 基于 Reactor 模式开发了自己的网络事件处理器,使用 I/O 多路复用程序来同时监听多个套接字,并将到达的事件传送给文件事件分派器,分派器会根据套接字产生的事件类型调用相应的事件处理器。如下图所示:二、时间事件服务器有一些操作需要在给定的时间点执行,时间事件是对这类定时操作的抽象。时间事件又分为:1.定时事件:是让一段程序在指定的时间之内执行一次;

2022-05-30 14:13:12 237

原创 关系型数据库事务控制的三级封锁协议

1、一级封锁协议事务 T 要修改数据 A 时必须加 X 锁,直到 T 结束才释放锁。可以解决丢失修改问题,因为不能同时有两个事务对同一个数据进行修改,那么事务的修改就不会被覆盖。2、二级封锁协议在一级的基础上,要求读取数据 A 时必须加 S 锁,读取完马上释放 S 锁。可以解决读脏数据问题,因为如果一个事务在对数据 A 进行修改,根据 1 级封锁协议,会加 X 锁,那么就不能再加 S 锁了,也就是不会读入数据。3、三级封锁协议在二级封锁协议的基础上添加约束 直到事务结束之后才能释放S锁,因

2022-05-29 09:40:25 409

原创 浅谈关系型数据库并发一致性问题

在并发环境下事务的一致性很难保证,因此会出现很多的并发一致性问题。具体的如下所示:一、丢失修改问题丢失修改指一个事务的更新操作被另外一个事务的更新操作替换。一般在现实生活中常会遇到,例如:T1 和 T2 两个事务都对一个数据进行修改,T1 先修改并提交生效,T2 随后修改,T2 的修改覆盖了 T1 的修改。二、读脏数据读脏数据指在不同的事务下,当前事务可以读到另外事务未提交的数据。例如:T1 修改一个数据但未提交,T2 随后读取这个数据。如果 T1 撤销了这次修改,那么 T2 读取的数据是脏数据。

2022-05-29 09:33:53 181

空空如也

空空如也

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

TA关注的人

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