上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 46 下一页
摘要: 转载自:最通俗易懂的LCA求解方法 最近公共祖先(Lowest Common Ancestors,LCA)指有根树中距离两个节点最近的公共祖先。祖先指从当前节点到树根路径上的所有节点。 u和v的公共祖先指一个节点既是u的祖先,又是v的祖先。u和v的最近公共祖先指距离u和v最近的公共祖先。若v是u的祖 阅读全文
posted @ 2023-06-12 11:31 r1-12king 阅读(288) 评论(0) 推荐(1)
摘要: peek 我们看下peek的文档说明:peek主要被用在debug用途。 我们看下debug用途的使用: Stream.of("one", "two", "three","four").filter(e -> e.length() > 3) .peek(e -> System.out.println 阅读全文
posted @ 2023-06-05 15:15 r1-12king 阅读(340) 评论(0) 推荐(0)
摘要: Effectively Final 变量 如果在lambda表达式中引用了non-final变量,则会报错。 effectively final是什么意思呢?这个是一个近似final的意思。只要一个变量只被赋值一次,那么编译器将会把这个变量看作是effectively final的。 String 阅读全文
posted @ 2023-06-05 15:07 r1-12king 阅读(61) 评论(0) 推荐(0)
摘要: 当字典的key 是元组的时候,kv 遍历会出问题 class Solution: def oddString(self, words): mp = dict() a = [i for i in range(26)] b = [chr(i) for i in range(97, 123)] ind = 阅读全文
posted @ 2023-05-25 13:45 r1-12king 阅读(45) 评论(0) 推荐(0)
摘要: 1. 引言 枚举类型(enum type)是在 Java 1.5 中引入的一种新的引用类型,是由 Java 提供的一种语法糖,其本质是 int 值。关于其用法之一,便是单例模式,并且在《Effective Java》中有被提到: 单元素的枚举类型已经成为实现 Singleton 的最佳方法 本文便是 阅读全文
posted @ 2023-05-25 11:07 r1-12king 阅读(224) 评论(0) 推荐(0)
摘要: 为什么ConcurrentHashMap要放弃分段锁? 答:1、因为在 JDK7 中 Segment 继承了重入锁 ReentrantLock。在每个 Segment 在增长的时候,这时候锁的粒度也会在不断的增长。每个锁控制的是一段,当分段很多,并且加锁的分段不连续的时候,内存空间的浪费比较严重。 阅读全文
posted @ 2023-05-22 14:57 r1-12king 阅读(39) 评论(0) 推荐(0)
摘要: 前言 思维导图.png 最近阿里巴巴发布了Java开发手册(泰山版) (公众号回复: 开发手册 可收到阿里巴巴开发手册(泰山版 2020.4.22发布).pdf),其中第17条写到: 阿里巴巴开发手册.png 对于Java项目中计数统计的一些需求,如果是 JDK8,推荐使用 LongAdder 对象 阅读全文
posted @ 2023-05-16 17:06 r1-12king 阅读(105) 评论(0) 推荐(0)
摘要: 看了AtomicLong的实现或许会立马想到ReentrantLock或者Synchronized也可以实现原子类,只要在操作前获取锁,操作完释放锁。 但是为什么不用这些锁,而是用CAS呢? 显然,这些锁都是互斥锁,在多线程竞争激烈的情况下,伴随着大量线程上下文切换和独占,严重降低吞吐量。 然使用C 阅读全文
posted @ 2023-05-16 16:08 r1-12king 阅读(42) 评论(0) 推荐(0)
摘要: 前言 Unsafe类提供了硬件级别的的原子性操作,Unsafe类中的方法都是native方法,通过使用JNI的方式访问本地C++库。 unsafe类在jdk源码中得到了非常广泛的应用,是理解jdk源码的基础,今天我们就来分享一下其中常见的方法。 1.compareAndSwapInt方法说明 pub 阅读全文
posted @ 2023-05-16 15:39 r1-12king 阅读(110) 评论(0) 推荐(0)
摘要: SynchronousQueue是一个没有容量的队列,它的put操作和take操作之间是相互依赖的,即put操作必须在take操作准备好时才能将元素“推”过去,反之take操作也必须在put操作准备推元素的时候才能获取到元素。 同步队列:SynchronousQueue,零容量的Synchronou 阅读全文
posted @ 2023-05-16 15:03 r1-12king 阅读(113) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 46 下一页