摘要:概述 这里是 实践的第一篇,主要讲过滤器的相关实现。Spring Cloud Gateway 是以 为基础的响应式架构设计, 是异步非阻塞式的,它能够充分利用多核 CPU 的硬件资源去处理大量的并发请求。 本篇将基于 "spring cloud gateway 简介" 基础环境进行改造。 工作原理 阅读全文
posted @ 2020-04-01 22:32 当我遇上你csy 阅读 (48) 评论 (0) 编辑
摘要:概述 API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求。如果让客户端直接与各个微服务通信,会有以下的问题: 1. 客户端会多次请求不同的微服务,增加了客户端的复杂性。 2. 存在跨域请求,在一定场景下处理相对复杂 阅读全文
posted @ 2020-04-01 22:18 当我遇上你csy 阅读 (8) 评论 (0) 编辑
摘要:1. 概述 策略模式(Strategy Pattern)是比较典型的对象行为型模式,它是将对处理对象的一系列不同算法都单独抽离出来,单独封装成一个个类。策略的出现,主要是为了解决不同算法替换时的逻辑判断, 将逻辑判断移到 Client 中去(即由客户端自己决定在什么情况下使用什么具体策略) 。 2. 阅读全文
posted @ 2020-03-18 20:31 当我遇上你csy 阅读 (15) 评论 (0) 编辑
摘要:1. 概述 接上一篇 "学习 ConcurrentHashMap1.8 并发写机制" , 本文主要学习 的实现原理。 虽然 在生产环境已逐渐被 替代,然而一些好的思想还是需要进行学习的。比方说位图中寻找 位的思路是不是和 有点相似? 接下来,本文基于 来做源码解析。 2. ConcurrentHas 阅读全文
posted @ 2020-03-17 22:02 当我遇上你csy 阅读 (148) 评论 (0) 编辑
摘要:1. 前言 上篇文章讲了 Unsafe 类中 CAS 的实现,其实是在为这篇文章打基础。不太熟悉的小伙伴请移步 "Unsafe 中 CAS 的实现" 。本篇文章主要基于 来做源码解析。 2. 源码 ConcurrentHashMap 基于 HashMap 实现。 JDK1.7 和 JDK1.8 作为 阅读全文
posted @ 2020-03-15 23:55 当我遇上你csy 阅读 (116) 评论 (0) 编辑
摘要:前言 Unsafe 是位于 sun.misc 包下的一个类。Unsafe 提供的 API 大致可分为内存操作、CAS、Class 相关、对象操作、线程调度、系统信息获取、内存屏障、数组操作等几类。由于并发相关的源码很多用到了 CAS,比如 java.util.concurrent.atomic 相关 阅读全文
posted @ 2020-03-15 11:19 当我遇上你csy 阅读 (34) 评论 (0) 编辑
摘要:1. 前言 还是从面试中来,到面试中去。面试官在面试 Redis 的时候经常会问到,Redis 的 LRU 是如何实现的?如果让你实现 LRU 算法,你会怎么实现呢?除了用现有的结构 LinkedHashMap 实现,你可以自己实现一个吗?跳跃表、小顶堆行不行... 阅读这篇文章前建议大家先熟悉下 阅读全文
posted @ 2020-03-14 00:27 当我遇上你csy 阅读 (133) 评论 (0) 编辑
摘要:1. 概述 Hashset 实现 set 接口,底层基于 Hashmap 实现, 但与 Hashmap 不同的实 Hashmap 存储键值对,Hashset 仅存储对象。 HashSet 使用成员对象来计算 hashcode 值。 2. 原理 在《Head fist java》一书中有描述: 当你把 阅读全文
posted @ 2020-03-12 18:11 当我遇上你csy 阅读 (95) 评论 (0) 编辑
摘要:一、前言 MySQL分页查询作为Java面试的一道高频面试题,这里有必要实践一下,毕竟实践出真知。 很多同学在做测试时苦于没有海量数据,官方其实是有一套测试库的。 二、模拟数据 这里模拟数据分2种情况导入,如果只是需要数据测试下,那么推荐官方数据。如果官方数据满足不了需求的话,那么我们自己模拟数据。 阅读全文
posted @ 2020-03-10 21:51 当我遇上你csy 阅读 (24) 评论 (0) 编辑
摘要:1. 前言 上一篇从源码方面了解了JDK1.7中Hashmap的实现原理,可以看到其源码相对还是比较简单的。本篇笔者和大家一起学习下JDK1.8下Hashmap的实现。JDK1.8中对Hashmap做了以下改动。 默认初始化容量=0 引入红黑树,优化数据结构 将链表头插法改为尾插法,解决1.7中多线 阅读全文
posted @ 2020-03-06 09:48 当我遇上你csy 阅读 (203) 评论 (0) 编辑