自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BAT的乌托邦

专注Java领域分享、成长,拒绝浅尝辄止。公众号搜索:BAT的乌托邦

原创 Fastjson到了说再见的时候了
原力计划

你为何用Fastjson?你为何仍在用Fastjson?

2020-07-02 18:36:49 234 0

原创 程序人生 | 春风得意马蹄疾,一日看尽长安花
原力计划

来自一个大龄程序员的坎坷职业生涯:作者万字自述

2020-05-04 11:01:23 2684 11

原创 一、为何我决定写Spring Cloud专栏
原力计划

你对Spring Framework的了解程度决定了你对Spring Boot的了解程度,你对Spring Boot的了解程度决定了你对Spring Cloud的了解程度。 了解我文章的小伙伴应该知道,到目前为止A哥还几乎没有写过`Spring Boot/Spring Cloud`的文章,虽然写了...

2020-04-28 21:53:31 3596 11

原创 Netflix OSS套件一站式学习驿站
原力计划

Netflix OSS是由Netflix公司主导开发的一套代码框架/库,目的是用于解决大规模集群的分布式系统的一连串问题,如:服务发现、负载均衡、熔断降级、限流、网关等等。对于当代的Java开发者来说,`Netflix OSS`似乎已经成为了云端开发/微服务开发解决方案的代名词。**有些人把Spr...

2020-04-19 17:18:41 4292 7

原创 IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!
原力计划

千呼万唤始出来。自从官方在2020-01-20发布了其**2020年的Roadmap**,我便持续关注着、期待着它“新10年”的首个版本的发布,这不就在**昨天(2020-04-09)**发布了其“新10年”的首个版本:`IntelliJ IDEA 2020.1`。按照国际惯例,作为大版本号的升级...

2020-04-11 08:45:13 31685 173

原创 [享学Feign] 一、原生Feign初体验,Netflix Feign or Open Feign?

说到HTTP客户端,大家都不会感到陌生。Java自己源生的就有`java.net`包下的`HttpURLConnection`(虽然不太好用),同时优秀的开源产品更是百花齐放: - Apache HttpClient - OkHttp - Spring的RestTemplate - 说明:它基于...

2020-02-09 21:40:38 2116 6

原创 [享学Jackson] 一、初识Jackson -- 世界上最好的JSON库

Jackson是一个简单的、功能强大的、基于Java的**应用库**。它可以很方便完成**Java对象**和**json对象(xml文档or其它格式)**进行互转。Jackson社区相对比较活跃,更新速度也比较快。Jackson库有如下几大特性: - 高性能,稳定:低内存占用,对大/小JSON串,...

2019-12-27 23:32:24 15045 10

原创 系统设计:你的service要用Dependency Injection吗?
原力计划

来自硅谷大佬,对依赖注入Dependency Injection的很简约易懂的解释

2020-06-18 07:14:40 286 0

原创 技术​选型的艺术---湖北技术价值分享会
原力计划

关于技术选型,我们不少技术从业的朋友容易进一些误区,而这些误区大多俗话是某种技术开发思维定势在作

2020-06-16 20:18:26 634 0

原创 IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line...
原力计划

IDEA踩坑系列提一篇:助你减少排雷时间,聚焦于写代码吧

2020-06-07 17:37:33 608 0

原创 想用@Autowired注入static静态成员?官方不推荐你却还偏要这么做
原力计划

Spring依赖注入static静态成员(属性、方法),这里的坑谁用谁知道

2020-06-07 09:52:44 674 4

原创 static关键字有何魔法?竟让Spring Boot搞出那么多静态内部类
原力计划

static关键字提升配置类的优先级,带你领略为何Spring Boot搞出那么多静态内部类

2020-06-03 12:02:43 543 0

原创 static关键字真能提高Bean的优先级吗?答:真能
原力计划

一个static关键字在Spring的使用,竟能写出一个专栏

2020-05-31 10:29:20 571 15

原创 Spring Boot 2.3.0正式发布:优雅停机、配置文件位置通配符新特性一览
原力计划

Spring Boot刚发布了2.3.0版本,好基友Spring Cloud还没跟上

2020-05-23 22:05:18 1159 0

原创 Spring配置类深度剖析-总结篇(手绘流程图,可白嫖)
原力计划

Spring配置类专栏的总结篇,绘制流程图,适合需快速掌握的白嫖党

2020-05-23 13:55:41 585 0

原创 521我发誓读完本文,再也不会担心Spring配置类问题了
原力计划

Spring配置类专栏研究得最深的一篇,不为别的,只为涨薪

2020-05-21 19:19:02 651 2

原创 你自我介绍说很懂Spring配置类,那你怎么解释这个现象?
原力计划

95%的coder只停留在应用,你愿意当那5%吗?本文就是这个个B格的文章

2020-05-19 17:23:26 752 0

原创 配置类需要标注@Configuration却不知原因?那这次就不能给你涨薪喽
原力计划

Spring配置的Full模式和Lite模式如何区分?本文用源码塞给你

2020-05-16 23:40:18 1051 6

原创 真懂Spring的@Configuration配置类?你可能自我感觉太良好
原力计划

Spring配置类的Lite模式和Full模式,一锅全端走

2020-05-15 14:22:10 942 2

原创 二、何为Spring Boot整合Spring Cloud?
原力计划

一方面了解了A哥的“创作背景”;另一方面,当然也是最主要的便是我们已经初步了解了`Spring Cloud Context`工程,并且对它的`spring.factories`文件做了介绍,从中是能窥探出SC的核心组成“元素”的。 天若有情天亦老,人间正道是沧桑。接下来会进入到“枯燥乏味”的修行...

2020-04-30 12:08:44 2340 2

原创 不懂SpringApplication生命周期事件?那就等于不会Spring Boot嘛
原力计划

我最近不是在写Spring Cloud深度剖析的相关专栏麽,在这期间有收到小伙伴发来的一些疑问。通过A哥这段时间收集到到的问题反馈,我总结了一下有一个问题反馈得比较集中:那便是对Spring Boot应用的生命周期、事件的理解。有句话不是说了麽,你对Spring Framework有多了解决定了你...

2020-04-27 11:25:42 3379 8

原创 [享学Ribbon] 二十七、手把手教你原生Ribbon整合Eureka实现负载均衡
原力计划

本文是个纯代码示例的手工活,是对前两篇文章一个很好的总结。了解A哥的风格是清楚的:理论先行,代码示例跟上加固。我们从小学就知道学习需要**多看、多想、多做(多实现)**,代码更是如此。在现在信息大爆炸时代,大多数人对“多看”做的都挺好,但是殊不知:**看和做往往是有一道银河的距离的**。所以A哥在...

2020-04-23 09:52:55 1435 0

原创 [享学Ribbon] 二十六、Ribbon和Eureka的整合(二):DiscoveryEnabledNIWSServerList从Eureka Server获取服务列表
原力计划

上篇文章A哥给大家介绍了Ribbon和Eureka的整合工程的部分内容,建立在你已经对Eureka比较熟悉的基础上,从中定能窥探出它的好处以及关键整合点。不过A哥想说,上篇文章的介绍只是开胃小菜,本文介绍内容才是重中之重。

2020-04-23 08:07:36 829 2

原创 [享学Ribbon] 二十五、Ribbon和Eureka的整合(一):ribbon-eureka工程详解
原力计划

`Ribbon`作为客户端负载均衡器,有一个必要的基础条件就获取到`ServerList`服务器列表,以及后续的动态更新服务列表。通过前面学习知道,服务列表它可以来自**任何地方**,比如默认实现`ConfigurationBasedServerList`它表示服务列表可以来自于配置(文件)。实际...

2020-04-22 23:27:21 1443 0

原创 [享学Archaius] 十七、Spring的Environment是如何整合进Archaius从而实现全局共享的?
原力计划

上篇文章主要介绍了`Archaius`和`Spring Cloud`的整合工程`spring-cloud-starter-netflix-archaius`的内容,本文将继续,会将站在**实用的角度**,深度分析`ArchaiusAutoConfiguration`该自动配置类到底做了哪些事,以及...

2020-04-18 23:15:48 872 0

原创 Spring的Bean有序吗?试试用@DependsOn或static来提高优先级
原力计划

顺序:意思是依次而不乱。顺序在生活的方方面面都显得尤为重要,自然的它对**程序执行**来说也是至关重要的。有了顺序的保证,我们就能对“结果”做出预期,作为coder的我们对应的也就更能“掌控”自己所写代码,心里也就更加踏实。 顺序固然重要,但是不乏有些场景它是不需要顺序保证的。**一般来说**:...

2020-04-18 17:56:00 1253 3

原创 使用@AutoConfigureBefore调整配置顺序竟没生效?
原力计划

调整配置的顺序,如是而已

2020-04-18 17:20:07 2221 0

原创 [享学Archaius] 一、初识Archaius的简单使用及高级使用
原力计划

Archaius是一个配置管理库,其重点是来自多个配置存储的动态属性。它包括一组用于Netflix的Java配置管理API。它主要实现为`Apache Commons Configuration`库的扩展。提供的主要功能有: 1. 动态、类型属性 2. 高吞吐量和线程安全的配置操作 3. 一个轮询...

2020-04-16 10:52:58 820 0

原创 [享学Eureka] 三十四、借助Guice的DI依赖管理,轻松实现一键启动Eureka Client端完成服务注册
原力计划

回想一下,在本系列第一篇文章就有提到过,Eureka它是使用轻量级DI框架:谷歌的Guice来管理其依赖的。通过前面这么多篇文章的学习,有理想相信亲们已经了解了Eureka几乎每个组件的作用以及**它们的依赖关系**。即使如此,但若现在要你构件其一个**完整可用**的Eureka Client客户...

2020-04-15 21:48:42 852 2

原创 [享学Eureka] 三十三、Eureka内置公用小工具:StringCache及详解String#intern()
原力计划

上坡的路都是累的设置难受的,要控制好自己的情绪。 –> 返回专栏总目录 <– 代码下载地址:https://github.com/f641385712/netflix-learning 目录前言正文详解String#intern()源码(native代码)参阅代码示例总结 前言 继上...

2020-04-15 16:28:35 428 0

原创 [享学Eureka] 三十二、Eureka内置公用小工具:基于令牌桶算法的RateLimiter限流器
原力计划

关于**基于令牌桶**的限流器实现,我想最出名的当属Google开源项目Guava中的`RateLimiter`了吧,它具有非常强大的功能特点,使用也非常的方便。 但本文介绍的不是Google家族的`RateLimiter`,而是Eureka自己实现的一个工具`RateLimiter`,它虽然功...

2020-04-14 08:09:26 903 0

原创 [享学Eureka] 三十一、DiscoveryClient透彻解析(八):接口方法和shutdown()方法详解
原力计划

关于`DiscoveryClient`这一个类的解析竟然已经到了第8篇了,经过了前7篇高密度的讲述,主体内容其实已经基本完成了,但正所谓“革命尚未统一”,就差本文临门一脚。接下来将会把其余下内容:接口方法的实现进行讲述清楚便算大功告成,并且对其最为重要的`shutdown()`方法进行一个详细的介...

2020-04-12 23:43:51 401 0

原创 [享学Eureka] 三十、DiscoveryClient透彻解析(七):initScheduledTasks() 初始化调度任务
原力计划

本文接着上篇文章的讲解,继续深入`DiscoveryClient`初始化阶段剩下的两个步骤:`register()`注册当前实例和`initScheduledTasks()`初始化调度任务。

2020-04-12 16:46:44 354 0

原创 [享学Eureka] 二十九、DiscoveryClient透彻解析(六):fetchRegistry() 拉取注册表信息
原力计划

在通过前面几篇文章介绍`DiscoveryClient`后,对它的核心内容已经有了较为深入的理解,此刻你基本可以放心的对自己说:对Eureka(client端)已经了解到了7、8成了。但作为一个有态度、有追求的程序员,我们可以更优秀。 本文将结合前几篇所述内容作为铺垫,深入挖掘`Discover...

2020-04-12 16:19:44 442 0

原创 [享学Eureka] 二十八、DiscoveryClient透彻解析(五):HeartbeatThread和CacheRefreshThread
原力计划

DiscoveryClient中有两个非常重要的内部类:`HeartbeatThread`和`CacheRefreshThread`,他俩是调度任务中真正干活的两个**任务类**,因此单摘出来放在一起讲述一把,防止迷路。 另外,前面有篇文章专门介绍了实例复制器`InstanceInfoRepli...

2020-04-12 14:20:27 351 0

原创 [享学Eureka] 二十七、DiscoveryClient透彻解析(四):增量获取注册表
原力计划

继上篇文章介绍了对注册表的全量获取后,本文来到注册表获取的主菜:Delta增量获取。增量操作并不少见,在MySql、Redis等里都有所体现,它一种轻量级方式实现,好处不言而喻。 如果说全量获取是初级程序员,那么增量获取怎么也算高工了。增量获取属于精细化操作,它需要考虑的因素众多,因此处理起来也...

2020-04-11 23:20:35 603 0

原创 [享学Eureka] 二十六、DiscoveryClient透彻解析(三):全量获取注册表
原力计划

Eureka属于c-s的设计模式,Client端本地需要维护一份注册表信息,因此它需要周期性的去远程Server端获取,这种获取注册表的方式有两种:**全量获取和增量获取**。 全量获取:顾名思义,**大而全**是它的特点,通信上属于一种相对较重的操作。 增量获取:每次仅获取**发生了变化的数据...

2020-04-11 22:37:23 687 0

原创 [享学Eureka] 二十五、DiscoveryClient透彻解析(二):初始化逻辑详解
原力计划

主要介绍了`DiscoveryClient`的成员属性,达30+个之多。我们发现其成员属性中,绝大多数否是final修饰,也就是说他们大多均得在`DiscoveryClient`初始化阶段完成赋值,由此你也能感受到它初始化的“压力”。 确实,`DiscoveryClient`的初始化阶段是它,*...

2020-04-08 23:54:33 665 0

原创 [享学Eureka] 二十四、DiscoveryClient透彻解析(一):功能概述 + 成员属性详解
原力计划

说到`DiscoveryClient`,很多小伙伴对它望而却步。那么从此篇开始,**正式**进入Eureka Client端最深水区内容,同时它也是最难啃的一块骨头:`DiscoveryClient`。由于本类过于庞大且复杂,我会分拆为多篇文章逐步讲解,势必要达到完全掌握的目的。 了解一个类,就...

2020-04-08 10:31:58 398 0

原创 [享学Eureka] 二十三、DiscoveryClient前置知识:BackupRegistry备用注册中心、HealthCheckHandler健康检查处理器...
原力计划

上篇文章介绍了`DiscoveryClient`服务注册时使用到的一个小工具`InstanceInfoReplicator`,其实它也属于前置知识。本文继续此部分的内容,为详细了解Eureka Client端最重要API `DiscoveryClient`做好铺陈。 这么做的目的是想说:直接面对...

2020-04-08 09:24:51 386 0

提示
确定要删除当前文章?
取消 删除