摘要:
  ![
阅读全文
posted @ 2024-09-14 23:07
Duancf
阅读(10)
推荐(0)
摘要:
守护线程和普通线程的最大区别是守护线程会在主线程结束后退出,但是普通线程在主线程结束后不会退出。 普通线程的执行 import java.sql.Time; import java.util.concurrent.ExecutorService; import java.util.concurren
阅读全文
posted @ 2024-09-14 21:19
Duancf
阅读(14)
推荐(0)
摘要:
Java 的基本数据类型包括以下 8 种: byte(1 字节):用于表示整数值,取值范围为 -128 到 127。 short(2 字节):用于表示整数值,取值范围为 -32768 到 32767。 int(4 字节):用于表示整数值,取值范围为 -2147483648 到 2147483647。
阅读全文
posted @ 2024-09-13 23:03
Duancf
阅读(26)
推荐(0)
摘要:
报文 UDP怎么实现可靠传输? UDP(用户数据报协议)本身是不可靠的传输协议,因为它不保证数据包的交付、顺序或完整性。然而,许多应用程序和协议在UDP之上实现了可靠性机制。以下是一些常见的方法: 应用层重传机制:应用程序可以实现自己的重传逻辑。例如,发送方在发送数据后等待接收方的确认(ACK),如
阅读全文
posted @ 2024-09-13 00:00
Duancf
阅读(54)
推荐(0)
摘要:
范式 第一范式:所有属性都是不可再分的基本数据项 第二范式:一是表必须有一个主键;二是非主属性必须完全依赖于主键。去掉部份依赖,比如一张表是(学生id,课程id,成绩,课程名称),主键是学生id加上课程id,但是课程名只部分依赖于主键中的课程id 第三范式:每一个非主属性都不传递依赖于该范式的候选键
阅读全文
posted @ 2024-09-12 22:30
Duancf
阅读(17)
推荐(0)
posted @ 2024-09-12 22:02
Duancf
阅读(17)
推荐(0)
摘要:
用户态内核态 用户态线程和内核态线程有什么区别? 这是一个组合型的问题,由很多小问题组装而成,比如: 用户态和内核态是什么? 用户级线程和内核级线程是一个怎样的对应关系? 内核响应系统调用是一个怎样的过程? 什么是用户态和内核态 Kernel 运行在超级权限模式(Supervisor Mode)下,
阅读全文
posted @ 2024-09-12 20:50
Duancf
阅读(152)
推荐(0)
摘要:
删除重复的电子邮箱 delete from Person where id not in (select id from (select min(id) as id from Person group by email) as temp) 好友申请 II :谁有最多的好友 select id,cou
阅读全文
posted @ 2024-09-11 10:14
Duancf
阅读(26)
推荐(0)
摘要:
class Solution: def kSmallestPairs(self, nums1: List[int], nums2: List[int], k: int) -> List[List[int]]: if not nums1 or not nums2: return [] heap = [
阅读全文
posted @ 2024-09-11 09:20
Duancf
阅读(22)
推荐(0)
摘要:
class Solution: def subarraySum(self, nums: List[int], k: int) -> int: map = {0: 1} cur_sum = 0 counter = 0 for i in nums: cur_sum += i counter += map
阅读全文
posted @ 2024-09-10 23:31
Duancf
阅读(26)
推荐(0)
摘要:
线程安全的List 目前比较常用的构建线程安全的List有三种方法: 使用Vector容器 使用Collections的静态方法synchronizedList(List< T> list) 采用CopyOnWriteArrayList容器 使用Vector容器 Vector类实现了可扩展的对象数组
阅读全文
posted @ 2024-09-10 21:21
Duancf
阅读(2344)
推荐(0)
摘要:
https://www.codedump.info/post/20220807-weekly-23/#概论
阅读全文
posted @ 2024-09-10 20:28
Duancf
阅读(17)
推荐(0)
摘要:
1.一致性定义 关于一致性的定义,大概如下: 一致性(Consistency)是指多副本(Replications)问题中的数据一致性。可以分为强一致性、顺序一致性与弱一致性。 1.1 强一致性(Strict Consistency) 强一致性也被可以被称做: 原子一致性(Atomic Consis
阅读全文
posted @ 2024-09-10 20:01
Duancf
阅读(171)
推荐(0)
摘要:
class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: res = [] left = 0 right = len(matrix[0]) - 1 down = len(matrix) - 1 up =
阅读全文
posted @ 2024-09-10 16:15
Duancf
阅读(18)
推荐(0)
摘要:
class Solution: def sortArray(self, nums: List[int]) -> List[int]: def quicksort(nums): if not nums: return [] pivot = random.choice(nums) less = [] e
阅读全文
posted @ 2024-09-10 16:14
Duancf
阅读(21)
推荐(0)
摘要:
为什么主键索引最好是有序递增的 移动元素。如果主键不是有序递增的,比如一个叶子结点的存储范围是1-10现在已经存储了2-9,现在我们想要插入数据1就必须要把2-9的数据向后移动。 更多的IO。如果主键不是有序递增的,我们可能需要经常访问那些很久之前访问过的节点,甚至是已经被刷回磁盘的页,这样会造成很
阅读全文
posted @ 2024-09-10 13:49
Duancf
阅读(238)
推荐(0)
摘要:
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def
阅读全文
posted @ 2024-09-10 11:45
Duancf
阅读(18)
推荐(0)
摘要:
class Solution: def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]: n = len(nums) res = [] queue = [[0,nums[0]]] for i in range(1,k): wh
阅读全文
posted @ 2024-09-10 11:16
Duancf
阅读(28)
推荐(0)
摘要:
100Wqps短链系统,怎么设计? 这道题,看上去业务简单,其实,覆盖的知识点非常多: 高并发、高性能分布式 ID Redis Bloom Filter 高并发、低内存损耗的 过滤组件知识 分库、分表海量数据存储 多级缓存的知识 HTTP传输知识 二进制、十六进制、六十二进制知识 总体来说,高并发、
阅读全文
posted @ 2024-09-09 23:47
Duancf
阅读(70)
推荐(0)
摘要:
字节面试题 在可重复隔离级别下,这种情况会发生什么? 答案:死锁 下面我们用一个具体的例子来展示: 首先我们有一张这样的表 下面我们来执行一些语句, 可以看到结果输出了,检测到发生了死锁 Deadlock found when trying to get lock; try restarting t
阅读全文
posted @ 2024-09-09 22:24
Duancf
阅读(19)
推荐(0)
摘要:
Thread.sleep 是 Java 中用来让当前线程进入休眠状态一段时间的方法。调用 Thread.sleep 后,线程会进入“等待”状态,直到指定的时间过去,然后自动被唤醒继续执行。 但 Thread.sleep 并不是在其他线程的干预下被唤醒的,而是依赖以下几个条件之一来结束休眠: 时间到达
阅读全文
posted @ 2024-09-09 19:57
Duancf
阅读(73)
推荐(0)
摘要:
static方法不能重写 在 Java 中,静态方法不能被重写,但是可以被继承。静态方法属于类本身,而不是类的实例。因此,当你在子类中定义一个与父类静态方法同名的方法时,这不是重写,而是隐藏。 public class classA { public static void method(){ Sy
阅读全文
posted @ 2024-09-09 19:25
Duancf
阅读(67)
推荐(0)
摘要:
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def
阅读全文
posted @ 2024-09-09 09:04
Duancf
阅读(17)
推荐(0)
摘要:
nums = [1,2,4,9] target = 2533 nums.sort(reverse=True) print(nums) n = len(nums) def dfs(index,num,length): print(index,num) if index == length-1: if
阅读全文
posted @ 2024-09-08 23:00
Duancf
阅读(191)
推荐(0)
摘要:
IPv4与IPv6的11个主要区别。 下面是IPv4和IPv6之间的11个主要区别。 IPv6提供了一个令人惊叹的地址数量。 IPv6是为了解决IPv4地址耗尽而引入的。IPv4的地址大小为32位,而IPv6的地址大小为128位。IPv6的格式可以支持令人难以置信的大量网络地址组合。而IPv4大约只
阅读全文
posted @ 2024-09-08 22:06
Duancf
阅读(524)
推荐(0)
摘要:
Java 的 IO 分为两大类,一类是传统的 IO(Blocking IO),一类是 NIO (New IO)。 传统的 IO 基于字节流和字符流,以阻塞式 IO 操作为主。常用的类有 FileInputStream、FileOutputStream、InputStreamReader、Output
阅读全文
posted @ 2024-09-08 20:10
Duancf
阅读(114)
推荐(0)
摘要:
在Linux中,挂载和卸载文件系统过程是什么? 在Linux中,挂载和卸载文件系统是系统管理中常见的操作,用于访问和管理存储设备上的数据。以下是挂载和卸载文件系统的基本过程: 挂载文件系统过程: 1. 准备挂载点: 在Linux系统中,挂载文件系统需要一个挂载点,这是一个空目录,充当存储设备和Lin
阅读全文
posted @ 2024-09-08 11:02
Duancf
阅读(132)
推荐(0)
摘要:
MyBatis的执行原理详细介绍 为了使大家能够更加清晰的理解MyBatis程序,在正式讲解MyBatis入门案例之前,先来了解一下MyBatis程序的工作原理,如图1所示。 MyBatis的工作原理 从图1可以看出,MyBatis框架在操作数据库时,大体经过了8个步骤。下面就对图1中的每一步流程进
阅读全文
posted @ 2024-09-08 10:47
Duancf
阅读(126)
推荐(0)
posted @ 2024-09-08 10:40
Duancf
阅读(13)
推荐(0)
摘要:
grep 是 Linux 和 Unix 系统中用于搜索文本的强大工具。它可以在文件中搜索符合某种模式的文本,并将匹配的行输出。常见的用法包括正则表达式匹配、忽略大小写、递归搜索等。以下是一些常见的 grep 使用示例和选项: 基本用法 搜索一个关键词: grep "pattern" filename
阅读全文
posted @ 2024-09-08 00:11
Duancf
阅读(76)
推荐(0)
摘要:
redis事务的ACID性质讨论 A原子性 单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的 如果一个事务队列中的所有命令都被成功地执行,那么称这个事务执行成功 另一方面,如果 Redis 服务器进程在执行事务的
阅读全文
posted @ 2024-09-07 22:59
Duancf
阅读(73)
推荐(0)
摘要:
通知 提醒 点赞 评论 私信 聊天室 消息记录
阅读全文
posted @ 2024-09-07 22:24
Duancf
阅读(14)
推荐(0)
摘要:
概述 Redis到底是多线程还是单线程程序要看是针对哪个功能而言,对于核心业务功能部分(命令操作处理数据),Redis是单线程的,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程,所以一般我们认为Redis是个单线程程序。但是从
阅读全文
posted @ 2024-09-07 21:53
Duancf
阅读(711)
推荐(0)
摘要:
在 Linux 中,有多种工具可以用来查看网络状态。以下是一些常用的方法: 使用 ss 命令 ss 是查看套接字统计信息的现代工具,功能强大且高效。 查看所有连接和监听端口: ss -a 查看仅 TCP 连接: ss -t 查看仅 UDP 连接: ss -u 查看监听的套接字: ss -l 查看与进
阅读全文
posted @ 2024-09-07 21:19
Duancf
阅读(1860)
推荐(0)
摘要:
netstat 是一个用于显示网络连接、路由表、接口统计等网络相关信息的命令行工具。在 Linux 系统中,它可以帮助你了解和分析网络状态。虽然 netstat 已被 ss 命令取代,但它在某些系统上仍然可用。 以下是 netstat 的一些常用选项: 基本用法 netstat -a:显示所有连接和
阅读全文
posted @ 2024-09-07 21:16
Duancf
阅读(102)
推荐(0)
摘要:
慢查询可能的原因 SQL 没加索引 很多时候,我们的慢查询,都是因为没有加索引。如果没有加索引的话,会导致全表扫描的。因此,应考虑在 where 的条件列,建立索引,尽量避免全表扫描。 反例: select * from user_info where name ='捡田螺的小男孩公众号' ; 正例
阅读全文
posted @ 2024-09-07 20:48
Duancf
阅读(61)
推荐(0)
posted @ 2024-09-07 20:11
Duancf
阅读(40)
推荐(0)
摘要:
Java 线程池中的四种拒绝策略在处理任务过载或资源不足时非常有用。每种策略适用于不同的场景: AbortPolicy (默认策略) 描述: 当线程池无法接受新任务时,该策略会直接抛出 RejectedExecutionException,阻止任务被执行。 使用场景: 适用于希望立即得知线程池无法处
阅读全文
posted @ 2024-09-06 22:29
Duancf
阅读(386)
推荐(0)
摘要:

阅读全文
posted @ 2024-09-06 22:21
Duancf
阅读(13)
推荐(0)
摘要:
数据包肯定可以通过 IP 表而不是 MAC 表到达目标设备,但是使用动态 IP,数据包最终可能会到达错误的设备(当旧设备离线并且新设备采用相同的 IP 时),新设备无法在没有标识符的情况下确定数据包是否是发给自己的,这时 MAC 就派上用场了。 您需要能够识别网络堆栈所有级别的连接。 MAC 地址仅
阅读全文
posted @ 2024-09-06 21:52
Duancf
阅读(52)
推荐(0)