Loading

摘要: 破坏死锁的四个条件 银行家算法 按顺序请求资源 尽量避免嵌套锁 尝试锁定trylock 避免死锁 是并发编程中的一个重要问题。死锁是指多个线程在等待彼此持有的资源,导致无法继续执行的状态。在 Java 中,死锁通常发生在多线程程序中,尤其是在使用同步块、锁和其他并发机制时。 避免死锁有几种常见的策略 阅读全文
posted @ 2024-09-28 22:59 Duancf 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 优先级队列 数据结构是堆 一. PriorityQueue PriorityQueue 简介 继承关系 PriorityQueue 示例 二. Comparable 比较器 Compare 接口 三. Comparator 比较器 Comparator 接口 四. 底层原理 一. PriorityQ 阅读全文
posted @ 2024-09-28 22:41 Duancf 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 进程调度算法 进程调度算法也称 CPU 调度算法,毕竟进程是由 CPU 调度的。 当 CPU 空闲时,操作系统就选择内存中的某个「就绪状态」的进程,并给其分配 CPU。 什么时候会发生 CPU 调度呢?通常有以下情况: 当进程从运行状态转到等待状态; 当进程从运行状态转到就绪状态; 当进程从等待状态 阅读全文
posted @ 2024-09-28 22:24 Duancf 阅读(22) 评论(0) 推荐(0) 编辑
摘要: public class Main { public static void main(String[] args) throws InterruptedException, FileNotFoundException { try(FileInputStream file = new FileInp 阅读全文
posted @ 2024-09-28 22:18 Duancf 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 在 Java 中,线程的并行等待(即等待多个线程并行执行完毕)通常可以通过以下几种方式来实现。我们要确保多个线程能够并行执行,并在所有线程执行完毕后再继续后续的操作。这种场景通常可以用在并发任务的协调中。以下是几种常见的实现方式: 1. 使用 Thread.join() 方法 join() 方法是最 阅读全文
posted @ 2024-09-28 15:46 Duancf 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 在 Java 中,IO(输入输出)操作 是指对数据的读写操作,通常涉及文件、网络、控制台等。Java 提供了丰富的 IO 类和接口,主要分为两大类:字节流 和 字符流。它们的主要区别如下: 1. 字节流(Byte Stream) 字节流用于处理 原始二进制数据,通常适合于处理所有类型的文件,包括文本 阅读全文
posted @ 2024-09-28 15:45 Duancf 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 要实现大文件的断点续传,通常的实现方式是将文件分块上传(切割文件)并记录每个块的状态,以便在中断后可以从上次上传完成的块继续上传。你可以基于以下几个步骤来实现这个功能,主要涉及字节流操作、文件分块、状态记录和续传的逻辑。 1. 文件分块 将大文件切割成多个小块进行上传,这样在上传过程中,如果某个块上 阅读全文
posted @ 2024-09-28 15:43 Duancf 阅读(34) 评论(0) 推荐(0) 编辑
摘要: HTTP 协议,建立在 TCP 连接基础之上的。HTTP 是一种允许浏览器向服务器获取资源的协议,是 Web 的基础,通常由浏览器发起请求,用来获取不同类型的文件,例如 HTML 文件、CSS 文件、JavaScript 文件、图片、视频等。此外,HTTP 也是浏览器使用最广的协议。 HTTP请求发 阅读全文
posted @ 2024-09-28 15:20 Duancf 阅读(4) 评论(0) 推荐(0) 编辑
摘要: # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def removeDuplicateN 阅读全文
posted @ 2024-09-28 11:28 Duancf 阅读(7) 评论(0) 推荐(0) 编辑
摘要: class Solution: def findCircleNum(self, isConnected: List[List[int]]) -> int: n = len(isConnected) visited = [0]*n count = 0 def bfs(start): queue = [ 阅读全文
posted @ 2024-09-28 10:56 Duancf 阅读(8) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示