Loading

上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 管程即monitor是阻塞式的悲观锁实现并发控制,这章我们将通过非阻塞式的乐观锁的来实现并发控制 本章内容 CAS 与 volatile原子整数原子引用原子累加器Unsafe 6.1 问题提出 有如下需求,保证account.withdraw取款方法的线程安全 package cn.itcast.t 阅读全文
posted @ 2021-01-14 20:57 kopoo 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 5. 共享模型之内存 上一章讲解的 Monitor 主要关注的是访问共享变量时,保证临界区代码的原子性。这一章我们进一步深入学习共享变量在多线程间的【可见性】问题与多条指令执行时的【有序性】问题 5.1 Java 内存模型 JMM 即 Java Memory Model,它从java层面定义了主存、 阅读全文
posted @ 2021-01-11 21:49 kopoo 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 4.13 ReentrantLock 相对于 synchronized 它具备如下特点 可中断可以设置超时时间可以设置为公平锁支持多个条件变量,即对与不满足条件的线程可以放到不同的集合中等待 与 synchronized 一样,都支持可重入 基本语法 // 获取锁 reentrantLock.loc 阅读全文
posted @ 2021-01-05 11:28 kopoo 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 剑指 Offer 03. 数组中重复的数字 题目描述 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 Input: {2, 3, 1, 0, 2, 5} Output: 阅读全文
posted @ 2020-12-19 21:13 kopoo 阅读(100) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/findbetterme/p/10787118.html 看这个就完事了 1. 统计两个数的二进制表示有多少位不同 461. Hamming Distance (Easy) Leetcode / 力扣 Input: x = 1, y = 4 Outpu 阅读全文
posted @ 2020-12-09 17:24 kopoo 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 1. 把数组中的 0 移到末尾 283. Move Zeroes (Easy) Leetcode / 力扣 class Solution { public void moveZeroes(int[] nums) { int id=0; for(int num:nums){ if(num!=0)num 阅读全文
posted @ 2020-12-05 22:13 kopoo 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 204. 计数质数 难度简单523 统计所有小于非负整数 n 的质数的数量。 class Solution { public int countPrimes(int n) { boolean[] isPrim = new boolean[n]; Arrays.fill(isPrim, true); 阅读全文
posted @ 2020-12-03 11:02 kopoo 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 4. 两个字符串包含的字符是否完全相同 242. Valid Anagram (Easy) Leetcode / 力扣 可以用 HashMap 来映射字符与出现次数,然后比较两个字符串出现的字符数量是否相同。 由于本题的字符串只包含 26 个小写字符,因此可以使用长度为 26 的整型数组对字符串出现 阅读全文
posted @ 2020-12-03 10:37 kopoo 阅读(50) 评论(0) 推荐(0) 编辑
摘要: Java 中的 HashSet 用于存储一个集合,可以查找元素是否在集合中。如果元素有穷,并且范围不大,那么可以用一个布尔数组来存储一个元素是否存在。例如对于只有小写字符的元素,就可以用一个长度为 26 的布尔数组来存储一个字符集合,使得空间复杂度降低为 O(1)。 Java 中的 HashMap  阅读全文
posted @ 2020-12-01 11:30 kopoo 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 1. 用栈实现队列 232. Implement Queue using Stacks (Easy) Leetcode / 力扣 class MyQueue { Stack<Integer> stack1=new Stack<>(); Stack<Integer> stack2=new Stack< 阅读全文
posted @ 2020-11-30 19:21 kopoo 阅读(42) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页