10 2021 档案
摘要:简介 3种基本的同步机制: synchronized关键字。 Lock接口及其实现类:ReentrantLock、ReentrantReadWriteLock.ReadLock和ReentrantReadWriteLock.writeLock。 StampedLock类。 高级同步机制: Semap
阅读全文
摘要:**题目连接:**https://www.acwing.com/problem/content/description/848/ 错误代码分析: 重点就在于这句话: t2 += son[e[j]]; 并不是每一个子节点都应该被加上,这个过程只能在深搜时进行,因为st数组在深搜后就无效了,所以这么写为
阅读全文
摘要:**题目链接:**https://www.acwing.com/problem/content/description/242/ 题解: 见代码详细注释 AC代码: import java.util.*; public class Main { static int N = (int) 5e4 +
阅读全文
摘要:概念 (1)竞态条件产生的原因:当一段程序中存在多个线程同时访问同一个共享资源时,竞态条件随之产生 (2)可见性问题: 当一个线程尝试修改一个共享变量的值时,由于该线程对这个共享变量的修改可能仅在当前工作线程内部的缓存中生效,因此其他工作线程无法获知当前工作线程对这一共享变量值的修改 (3)临界区:
阅读全文
摘要:数组排序 主要利用Arrays.sort方法及其变体 待排序数据对象: Integer[] a = new Integer[10]; int n = 5; Random random = new Random(2); for (int i = 0; i < n; i ++) { a[i] = ran
阅读全文
摘要:**题目链接:**https://www.acwing.com/problem/content/803/ 解法: 核心lowbit操作:x & -x 操作的含义: x代表原数(不论负数正数):如101110100 -x的计算方式是:x的所有位取反+1,即010001011 + 1 = 0100011
阅读全文
摘要:线程创建、运行和设置 (1)Java中创建线程的主要两种方式 直接继承Thread类,然后重写run()方法。 构建一个实现Runnable接口的类并重写run()方法,然后创建该类的实例对象,并以其作为构造参数去创建Thread类的对象。建议首选这种方法,因为它可以带来更多的扩展性。 (2)Thr
阅读全文