上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
摘要: 什么是重排序 假设a56爆大奖在线娱乐们写了一个 Java 程序,包含一系列的语句,a56爆大奖在线娱乐们会默认期望这些语句的实际运行顺序和写的代码顺序一致。 但实际上,编译器、JVM 或者 CPU 都有可能出于优化等目的,对于实际指令执行的顺序进行调整,这就是重排序。 重排序的好处:提高处理速度 图中左侧是 3 行 Java 代码, 阅读全文
posted @ 2021-08-13 12:29 mzjnumber1 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: Adder 的介绍 a56爆大奖在线娱乐们要知道 Adder 和 Accumulator 都是 Java 8 引入的,是相对比较新的类。 对于 Adder 而言,比如最典型的 LongAdder,在高并发下 LongAdder 比 AtomicLong 效率更高, 因为对于 AtomicLong 而言,它只适合用于低 阅读全文
posted @ 2021-08-13 12:24 mzjnumber1 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1、阻塞队列:ArrayBlockingQueue 源码分析 a56爆大奖在线娱乐们首先看一下 ArrayBlockingQueue 的源码,ArrayBlockingQueue 有以下几个重要的属性: 第一个就是最核心的、用于存储元素的 Object 类型的数组;然 后它还会有两个位置变量,分别是 takeInde 阅读全文
posted @ 2021-08-13 12:10 mzjnumber1 阅读(151) 评论(0) 推荐(1) 编辑
摘要: 这一课时a56爆大奖在线娱乐们主要讲解为什么 Map 的桶中超过 8 个才转为红黑树? JDK 1.8 的 HashMap 和 ConcurrentHashMap 都有这样一个特点: 最开始的 Map 是空的,因为里面没有任何元素, 往里放元素时会计算 hash 值,计算之后,第 1 个 value 会首先占用一个桶 阅读全文
posted @ 2021-08-13 11:52 mzjnumber1 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 在 Java 8 中,对于 ConcurrentHashMap 这个常用的工具类进行了很大的升级,对比之前 Java 7 版本在诸多方面都进行了调整和变化。 不过,在 Java 7 中的 Segment 的设计思想依然具有参考和学习的价值,a56爆大奖在线娱乐在很多情况下面试官都会问你: ConcurrentHas 阅读全文
posted @ 2021-08-13 11:39 mzjnumber1 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 什么是自旋? 首先,a56爆大奖在线娱乐们了解什么叫自旋?“自旋”可以理解为“自a56爆大奖在线娱乐旋转”,这里的“旋转”指“循环”,比如 while 循环或者 for 循环。 “自旋”就是自己在这里不停地循环,直到目标达成。而不像普通的锁那样,如果获取不到锁就进入阻塞。 对比自旋和非自旋的获取锁的流程,下面a56爆大奖在线娱乐们用这样一张流程图来对比 阅读全文
posted @ 2021-08-13 11:24 mzjnumber1 阅读(1402) 评论(0) 推荐(0) 编辑
摘要: 根据分类标准a56爆大奖在线娱乐们把锁分为以下 7 大类别,分别是: 偏向锁/轻量级锁/重量级锁; 可重入锁/非可重入锁; 共享锁/独占锁; 公平锁/非公平锁; 悲观锁/乐观锁; 自旋锁/非自旋锁; 可中断锁/不可中断锁。 以上是常见的分类标准,下面a56爆大奖在线娱乐们来逐一介绍它们的含义。 偏向锁/轻量级锁/重量级锁 第a56爆大奖在线娱乐分类是 阅读全文
posted @ 2021-08-13 11:15 mzjnumber1 阅读(1111) 评论(0) 推荐(0) 编辑
摘要: 线程也有自己的生命周期,在 Java 中线程的生命周期中一共有 6 种常见状态。 New(新创建) Runnable(可运行) Blocked(被阻塞) Waiting(等待) Timed Waiting(计时等待) Terminated(被终止) 如果想要确定线程当前的状态,可以通过 getSta 阅读全文
posted @ 2021-08-12 19:44 mzjnumber1 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 序列化 1、java使用 ObjectOutputStream() 和 ObjectInputStream() 对对象进行手动序列化和反序列化。 序列化的时候会调用 writeObject() 方法,把对象转换为字节流。 反序列化的时候会调用 readObject() 方法,把字节流转换为对象。 2 阅读全文
posted @ 2021-08-12 09:56 mzjnumber1 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 算法面试-TopK 问题描述: 从arr[1, n]这n个数中,找出最大的k个数,这就是经典的TopK问题。 栗子: 从arr[1, 12]={5,3,7,1,8,2,9,4,7,2,6,6} 这n=12个数中,找出最大的k=5个。 方式一、排序 排序是最容易想到的方法,将n个数排序之后,取出最大的 阅读全文
posted @ 2021-08-10 08:33 mzjnumber1 阅读(54) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页