HashMap
-
CompletableFuture 异步编程设计的大杀器
1. 什么是异步编程 在很多时候,我们在进程中使用单一线程从头到尾地执行程序,这种简单模式会导致性能和用户体验另人难以接受。 比如程序向另外一台服务器发出请求,由于网络等外部原因,…
-
LeetCode算法系列 146. LRU 缓存机制
LeetCode算法系列(Java版) 146. LRU 缓存机制LeetCode算法系列(Java版) 460. LFU 缓存机制 力扣原题 146. LRU 缓存机制 运用你所…
-
LeetCode算法系列 460. LFU 缓存机制
LeetCode算法系列(Java版) 146. LRU 缓存机制LeetCode算法系列(Java版) 460. LFU 缓存机制 力扣原题 460. LFU 缓存机制 请你为 …
-
Dubbo 的 SPI 核心原理机制源码级解析
1. Java-SPI 机制 SPI 全称为(Service Provider Interface),是 Java 提供的一套用来被第三方实现或者扩展的接口,它可以用来启用框架扩展…
-
LeetCode算法系列 106. 从中序与后序遍历序列构造二叉树
LeetCode算法系列(Java版) 105. 从前序与中序遍历序列构造二叉树LeetCode算法系列(Java版) 106. 从中序与后序遍历序列构造二叉树 力扣原题 106.…
-
Java设计模式代码案例 (三):行为型设计模式
Java 版设计模式代码案例 (一):创建型设计模式Java 版设计模式代码案例 (二):结构型设计模式Java 版设计模式代码案例 (三):行为型设计模式 1. 策略模式(Str…
-
TransmittableThreadLocal 线程池内异步线程值传递解决方案
1. ThreadLocal 基础回顾 从字面上的意思来理解 ThreadLocal,Thread:线程;Local:本地的,局部的。 ThreadLocal 是 JDK1.2 新…
-
面试必备:Java并发编程10道面试题及答案
在面试过程中,经常会遇到涉及并发编程的问题,本文将为您提供10道常见的Java并发编程面试题及详细的答案,同时结合实际案例和代码示例,帮助您更好地理解并发编程的原理和应用。 第一题…
-
实现业务代码解耦:Spring事件驱动模式用起来真的优雅!
举个例子🌰 大部分软件或者APP都有会有会员系统,当我们注册为会员时,商家一般会把我们拉入会员群、给我们发优惠券、推送欢迎语什么的。 值得注意的是: 注册成功后才会产生后面的这些动…
-
代码优雅之道——如何干掉过多的 if else
1前言 注意标题是过多的,所以三四个就没必要干掉了。实际开发中我们经常遇到判断条件很多的情况,比如下图有20多种情况,不用想肯定是要优化代码的,需要思考的是如何去优化? 网上很多说…
-
设计模式第四弹 – 结构型模式[二]
哈喽,我是janker。 上篇通过小故事已经介绍了一些结构型的设计模式,今天介绍剩下的结构型模式,阿峰的故事还在继续。 正文 外观模式 阿峰身在卷都,为了能留下来,他入手了余杭区的…
-
为什么阿里不推荐使用 keySet() 遍历HashMap?
Part1引言 HashMap相信所有学Java的都一定不会感到陌生,作为一个非常重用且非常实用的Java提供的容器,它在我们的代码里面随处可见。因此遍历操作也是我们经常会使用到的…
-
Java并发系列之 第二篇:深入浅出AQS之共享锁模式源码分析
引言 在Java并发编程中,为了保证多线程间的数据一致性和线程安全性,我们经常会使用锁来对共享资源进行保护。而AbstractQueuedSynchronizer(AQS)是Jav…
-
JVM诊断命令jcmd介绍
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 从JDK7开始,jdk提供了一个方便扩展的诊断命令jcmd,用来取代之前比较分散的jdk基础命…
-
Gson的TypeToken与泛型擦除
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 问题 在Java的json框架中,Gson是使用得比较广泛的一个,其Gson类提供了toJson()…
-
Java8中那些方便又实用的Map函数
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处。 简介 java8之后,常用的Map接口中添加了一些非常实用的函数,可以大大简化一些特定场景的代码编写…