青云博客 记录、分享

哈沙德数

一、题目 如果一个整数能够被其各个数位上的数字之和整除,则称之为 哈沙德数(Harshad number)。给你一个整数 x 。如果 x 是 哈沙德数 ,则返回 x 各个数位上的数字之和,否则,返回 -1 。 示例 1: 输入: x = 18 输出: 9 解释: x 各个数位上的数字之和为 9

詹学伟 Published on 2024-07-03

质数的最大距离

一、题目 给你一个整数数组 nums,返回两个(不一定不同的)质数在 nums 中 下标 的 最大距离。 示例 1: 输入: nums = [4,2,9,5,3] 输出: 3 解释: nums[1]、nums[3] 和 nums[4] 是质数。因此答案是 |4 - 1| = 3。 示例 2: 输

詹学伟 Published on 2024-07-02

阻塞队列的有界和无界

1.阻塞队列是一种特殊队列,它在普通队列的基础上提供了两个附加功能 当队列为空的时候,获取队列中元素的消费者线程会被阻塞,同时唤醒生产者线程; 当队列满了的时候,向队列中添加元素的生产者线程会被阻塞,同时唤醒消费者线程; 2.其中,阻塞队列中能够容纳的元素个数,通常情况下是有界的,比如我们实例化一个

詹学伟 Published on 2024-06-26

什么是hash冲突?如何解决?

一、什么是hash冲突 要了解 Hash 冲突,那首先我们要先了解 Hash 算法和 Hash 表。 Hash 算法 就是把任意长度的输入,通过散列算法,变成固定长度的输出,这个输出结果是散列值。 Hash 表 又叫做“散列表”,它是通过 key 直接访问在内存存储位置的数据结构,在具体实现上,我们

詹学伟 Published on 2024-06-25

双亲委派

要了解"双亲委派"机制,首先需要知道"类的加载机制" 一、类的加载机制 我们自己写的 java 源文件到最终运行,必须经过编译和类加载两个阶段: 编译的过程就是把.java 文件编译成.class 文件。 类加载的过程,就是把 class 文件装载到 JVM 内存中,装载完成以后就会得到一个 Cla

詹学伟 Published on 2024-06-22

RocketMQ如何保证消息不丢失?

一、消息从产生到消费过程 一个消息从生产者产生,到被消费者消费,主要经过这 3 个过程: 生产者产生消息 消息发送到存储端,保存下来 消息推送到消费者,消费者消费完,ack应答 因此如何保证MQ不丢失消息,可以从这三个阶段阐述: 生产者保证不丢消息

zhanxuewei zhanxuewei Published on 2024-06-22

Centos7访问Windows共享文件

一、Windows设置共享文件夹 首先说明,Centos和windows的网络需要畅通,比如都是在同一局域网内 在Windows系统中,右键点击需要共享的文件夹->属性->共享 点击共享,然后下拉选择一个用户,点击添加,然后点击共享:

詹学伟 Published on 2024-06-18

epoll的原理

设想一个场景: 有100万用户同时与一个进程保持着TCP连接,而每一时刻只有几十个或几百个TCP连接是活跃的(接收到TCP包),也就是说,在每一时刻,进程只需要处理这100万连接中的一小部分连接。那么,如何才能高效地处理这种场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这100万

詹学伟 Published on 2024-06-16

Jenkins安装使用

一、下载 地址:https://archives.jenkins.io/war-stable/ 下载最新的,需要jdk11或以上,需要提前安装好jdk11或以上版本,我使用的是jdk11。 说明:只是启动jenkins的时候使用的jdk11,实际项目用的还是jdk8。

詹学伟 Published on 2024-06-15

如何分析GC日志的堆栈信息?

GC日志通常包含大量关于垃圾收集器活动的详细信息,包括GC事件的类型、持续时间、内存占用情况等。以下是一些常见的信息和术语,以帮助你理解GC日志: 1. GC类型: - Full GC:表示进行完整的垃圾收集,包括新生代和老年代。 - Young GC(年轻代GC):只清理新生代。 - Mixed

詹学伟 Published on 2024-06-09
Previous Next