-
HashMap那点事儿
HashMap 也是一个非常重要的key-value 映射集合,在开发中经常用到,底层是数组+单向链表的数据结构。在jdk1.7 和 1.8中实现略有不同,jdk8引入红黑树,提升了查询性能,并在扩容算法上做了优化,省去重新计算hash 的时间。 H... -
LinkedList那点事儿
前面写了点 ArrayList 一些源码的分析,今天分析下 LinkedList 集合常用 API 的源码。 LinkedList 和 ArrayList 都是 List接口的实现类,都是线程不安全、允许元素为 null 的。这俩集合经常被拿来进行比... -
ArrayList那点事儿
java集合框架图: Collection 接口下的 Queue接口,打算以后放到多线程那块分析,今天来分析下 ArrayList类 ArrayListArrayList集合是 java.util 包下最常用的集合类,它的继承结构如下: 12pub... -
Spring事务默认回滚规则
背景今天搭建公司SpringBoot基础框架时,在设计自定义异常阶段,参考其他框架优秀源码发现都是继承了 RuntimeException,为何不直接继承 Exception 呢?特此记录一下这样做的好处。 Exception我们知道异常分为两类:检... -
Spring Cloud F 版整合 Sleuth服务链路追踪 Zipkin 组件
前言在微服务系统里,随着业务的发展,服务拆分成越来越多的微服务时,服务之间的调用关系也越来越复杂,经常一个业务流程要调用 N 个微服务才能完成,当一个业务流程请求变慢或者卡死时,我们需要知道到底是哪里调用出现了问题,所以需要服务链路追踪功能,帮助我们... -
微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布(转)
本文转自 http://www.spring4all.com/article/602 在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。 目前有很多用于部署的技术,有的简单,有的复杂;有的... -
Zuul 过滤器
前面学习了 Zuul 的一些特性和基本使用,包括请求转发,负载均衡等,前面也提到 Zuul 还可以用来做过滤权限、记录API日志等功能,其实这些都是基于 ZuulFilter 过滤器来实现的,今天对学习 ZuulFilter 做一个总结。 如何利用 ... -
Zuul 服务网关
前面学习了 SpringCloud 的 Eureka 注册中心,Fegin、Ribbon 可做服务间负载均衡调用,Hystrix 熔断器为系统提供保障,今天学习下 SpringCloud-Netflix 下 Zuul 的应用,在此之前先了解下服务网关... -
Hystrix 熔断器
最近往返北京-邯郸较频繁,有点累,好久没集中学习了。今天周六来公司加班,配合测试联调,趁着这个时间正好学习 SpringCloud-Netflix 下 Hystrix 熔断器的使用。 背景之前说过,在分布式、集群服务环境中,通常会有多个服务层之间调用... -
Eureka 和 Ribbon
上次学习了 Eureka 服务的注册和调用,当某个服务搭建了多实例,共同注册到了 Eureka 上,那么 Eureka 是如何把消费者们的请求均衡到这些多个实例的呢?今天来学习下 Eureka 负载均衡相关的东西。 使用 Feign新建 eurek...