上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: 缓存穿透,缓存雪崩,缓存击穿,说白了都是缓存失效,最后还是要去数据库查。 虽然我不知道具体哪一个是,但是我知道 有一个是查不到null值, 有一个是批量过期, 有一个是高并发访问一个热点数据,但是他恰好失效了。 阅读全文
posted @ 2024-02-03 21:15 予真 阅读(11) 评论(0) 推荐(0)
摘要: 线程是Java实现多任务的基础,Thread对象代表一个线程,我们可以在代码中调用Thread.currentThread()获取当前线程。例如,打印日志时,可以同时打印出当前线程的名字: 对于多任务,Java标准库提供的线程池可以方便地执行这些任务,同时复用线程。Web应用程序就是典型的多任务应用 阅读全文
posted @ 2024-02-02 08:54 予真 阅读(20) 评论(0) 推荐(0)
摘要: 减小锁粒度:将Node链表的头节点作为锁,若在默认大小16情况下,将有16把锁,大大减小了锁竞争(上下文切换),就像开头所说,将串行的部分最大化缩小,在理想情况下线程的put操作都为并行操作。同时直接锁住头节点,保证了线程安全Unsafe的getObjectVolatile方法:此方法确保获取到的值 阅读全文
posted @ 2024-02-01 16:52 予真 阅读(58) 评论(0) 推荐(0)
摘要: ConcurrentHashMap是怎么做到线程安全的? get方法如何线程安全地获取key、value? put方法如何线程安全地设置key、value? size方法如果线程安全地获取容器容量? 底层数据结构扩容时如果保证线程安全? 初始化数据结构时如果保证线程安全?ConcurrentHash 阅读全文
posted @ 2024-02-01 16:49 予真 阅读(28) 评论(0) 推荐(0)
摘要: 但是又为何需要学习ConcurrentHashMap?用不就完事了?我认为学习其源码有两个好处: 更灵活的运用ConcurrentHashMap 欣赏并发编程大师Doug Lea的作品,源码中有很多值得我们学习的并发思想,要意识到,线程安全不仅仅只是加锁ConcurrentHashMap是怎么做到线 阅读全文
posted @ 2024-02-01 16:40 予真 阅读(109) 评论(0) 推荐(0)
摘要: synchronized锁的都是对象,可以用在方法上,或者对象上。 阅读全文
posted @ 2024-02-01 16:28 予真 阅读(14) 评论(0) 推荐(0)
摘要: 而在重写equals()方法时,总要重写hashCode()方法,原因总结下有以下两点:1.使用hashcode方法提前校验,可以避免每一次比对都调用equals方法,提高效率2.保证是同一个对象,如果重写了equals方法,而没有重写hashcode方法,会出现equals相等的对象,hashco 阅读全文
posted @ 2024-02-01 15:19 予真 阅读(707) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2024-02-01 15:01 予真 阅读(28) 评论(0) 推荐(0)
摘要: @Repeatable 是 Java 8 引入的一个元注解,用于标注某个注解可以在同一个声明上多次使用。@Repeatable 注解的值是一个容器注解,该容器注解内部定义了一个注解数组,用于存放多次使用的注解。@Repeatable 是 Java 8 引入的一个元注解,它允许同一个注解在同一声明上被 阅读全文
posted @ 2024-02-01 14:16 予真 阅读(177) 评论(0) 推荐(0)
摘要: Hive、Doris(之前称为 Apache Doris 或 Pala),和 Impala 是三种常用于大数据和分析领域的技术,它们各自有不同的特点和用途: Hive - 概述:Hive 是一个建立在 Hadoop 上的数据仓库工具,用于数据摘要、查询和分析。它将 SQL 查询转换为 MapRedu 阅读全文
posted @ 2024-02-01 13:55 予真 阅读(448) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页