自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘本龙的专栏

个人邮箱:3089008201@qq.com. 技术交流群:684457529

  • 博客(28)
  • 资源 (1)
  • 论坛 (2)
  • 收藏
  • 关注

原创 jdk11源码--Integer.numberOfLeadingZeros

该函数的功能是:在指定 int 值的二进制补码表示形式中最高位(最左边)的 1 位之前,返回零位的数量。如果指定值在其二进制补码表示形式中不存在 1 位,换句话说,如果它等于零,则返回 32。实现原理:源码:应用了典型的二分查找,先把32位整形分为高16位和低16位查找非零数,在对高16位进行或低16位进行二分// 首先在jvm中一个int类型的数据占4个字节,共32位,其实就相当于一个长度...

2019-02-26 20:03:51 765 2

原创 JDK11源码--HashMap源码分析

文章目录概述hashmap数据结构基本参数`MAXIMUM_CAPACITY`为什么设置成1 << 30为什么map的容量要限制为2的整数次方`DEFAULT_LOAD_FACTOR`负载因子为什么是0.75概述本文介绍JDK11中HashMap的源码实现。hashmap数据结构map中存储的是key,value键

2019-02-26 16:11:08 1008 2

原创 springboot 1.5.3 源码分析(五):@SpringBootApplication注解,springboot注解

@SpringBootApplication他是一个组合注解:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = {

2019-02-24 21:45:50 664

原创 springboot 1.5.3 源码分析(四):自定义Conditional注解

书接上文。 前面已经讲过condition的原理。其实自定义一个condition很简单,只需要实现SpringBootCondition类即可,并重写com.example.demo.condition.OnLblCondition#getMatchOutcome方法。下面我们简单写个实例:根据属性配置文件中的内容,来判断是否加载bean。首先定义一个注解,有两个内容:一个是属性文件的KEY,

2019-02-24 21:45:45 380

原创 springboot 1.5.3 源码分析(三):spring @Conditional注解

书接上文。 前面讲了springboot的实现基础是spring的@Conditional注解。介绍原理前我们来看看怎么用。后面介绍其原理。我们实现这么一个小功能:根据不同的环境,实例化不同的bean。 springboot通常都是通过-Dspring.profiles.active=dev来区分环境的,如果我们想实现线上的代码逻辑与开发或者测试环境不同,那么这是一个解决方案。使用java的多态

2019-02-24 21:45:33 376

原创 springboot 1.5.3 源码分析(二):springboot自动化配置原理及自定义starter

前面的文章已经讲了springboot的实现原理,无非就是通过spring的condition条件实现的,还是比较简单的(感谢spring设计的开放性与扩展性)。 在实际工作过程中会遇到需要自定义starter的需求,那么我们接下来就自己实现一个starter。先看一下目录结构: MyConfig是自定义的配置类HelloService是自定义的beanHelloServiceProperti

2019-02-24 21:44:42 525

原创 springboot 1.5.3 源码分析(一):springboot启动初始化过程源码分析

本文内容有:springboot源码分析 springboot启动初始化机制 SpringFactoriesLoader工厂加载机制 spring事件广播,springboot启动过程中的事件广播 自定义spring事件 FailureAnalyzers错误分析器 afterRefresh与CommandLineRunner、ApplicationRunner spring的@orde

2019-02-24 21:44:11 590

原创 spring cloud Greenwich 学习笔记(十二)spring cloud sleuth 集成zipkin持久化存储 MySQL Elasticsearch

本文介绍springcloud sleuth 集成zipkin时,将数据保存到MySQL和elasticsearch中。zipkin数据持久化。

2019-02-24 20:58:40 4337 3

原创 Elasticsearch学习笔记(八)Elasticsearch6.6 及 Kibana 6.6 安装(Windows)

文章目录Windows下Elasticsearch6.6 安装Windows下kibana安装Windows下Elasticsearch6.6 安装直接官网【https://www.elastic.co/cn/downloads/elasticsearch】下载zip包,我这里下载的最新的6.6.1。解压到自己安装目录下,然后进入到elasticsearch-6.6.1\bin,双击ela...

2019-02-24 19:05:12 2022

原创 spring中 allowBeanDefinitionOverriding(spring.main.allow-bean-definition-overriding) 分析

文章目录问题描述问题分析到底allowBeanDefinitionOverriding应该设置true还是false?问题描述最近在学习spring cloud sleuth过程中,遇到了一个问题:The bean 'characterEncodingFilter', defined in class path resource [zipkin/autoconfigure/ui/Zipkin...

2019-02-22 21:01:43 70708 9

原创 spring cloud Greenwich 学习笔记(十一)spring cloud sleuth集成zipkin + rabbitmq+kafka

spring cloud sleuth集成zipkin。不适用HTTP方式,使用rabbitmq及kafka进行通信。zipkin+kafka;zipkin+rabbitmq

2019-02-22 20:29:02 4205 1

原创 dubbo分布式日志追踪

dubbo+MDC实现的分布式日志追踪

2019-02-18 16:46:57 682

原创 spring cloud Greenwich 学习笔记(十)spring cloud sleuth 服务链路追踪

文章目录概述Spring Cloud Sleuth基本术语准备zipkinspringcloud集成zipkin运行测试概述目前主流的分布式微服务系统都会有大量的服务,各个服务之间会有相互的调用,问题排查起来比较困难,不容易定位。这时就需要分布式服务全链路追踪体系。Google开源的 Dapper链路追踪组件,并在2010年发表了论文《Dapper, a Large-Scale Distri...

2019-02-18 16:32:55 2078 2

原创 spring cloud Greenwich 学习笔记(九)spring cloud gateway 集成 eureka

文章目录概述环境准备springcloud gateway服务改造概述笔者前面spring cloud gateway 教程入门和spring cloud gateway 高并发限流 源码分析 两篇文章讲述的都是经过单个网关服务访问单个后端服务,这肯定不符合实际的应用场景。公司实际应用中肯定是会有很多的服务组成一个集群,那么本文就介绍一下如何通过gateway集成eureka服务注册发现访问后...

2019-02-18 11:35:19 2759

原创 spring cloud Greenwich 学习笔记(八)spring cloud gateway 高并发限流 源码分析

文章目录概述计数器算法漏斗算法令牌桶算法限流方式应用级限流分布式限流接入层限流spring cloud gateway + redis + lua实现限流lua脚本源码分析概述在高并发场景下,经常会遇到流量激增,超过服务可承受范围的情况。这种情况下就需要限流。限流算法很多种,常用的有漏斗算法、令牌桶算法。计数器算法这种算法是最简单粗暴的。假如一秒最多支撑100个请求,那么维护一个计数器(单...

2019-02-17 18:08:48 6804

原创 spring cloud Greenwich 学习笔记(七)spring cloud gateway 教程入门

文章目录概述helloworld使用Hystrix概述Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。spring cloud 早期版本中使用的是zuul 1.X 。后来zuul 1.X 升级到 zuul 2.x 的进度过于缓慢,springclo...

2019-02-15 17:06:33 7108 2

原创 spring cloud Greenwich 学习笔记(六)spring cloud eureka 集群部署

文章目录概述集群部署改造之前的服务提供者和消费者客户端Linux上部署eureka集群概述在spring cloud Greenwich 学习笔记(一)spring cloud eureka ribbon 服务注册与发现和spring cloud Greenwich 学习笔记(二)spring cloud eureka Feign 服务注册与发现两篇文章中介绍了如何使用eureka注册中心。但...

2019-02-14 14:57:25 2821 5

原创 java.lang.NoClassDefFoundError: integration/config/HandlerMethodArgumentResolversHolder

在使用spring-cloud-starter-bus-amqp时报错java.lang.NoClassDefFoundError: org/springframework/integration/config/HandlerMethodArgumentResolversHolder。环境说明:springcloud : Finchley.SR2springboot : 2.1.1.RELE...

2019-02-13 17:31:32 3113 2

原创 spring cloud Greenwich 学习笔记(0)spring cloud 与 spring boot的版本对应情况,环境说明

文章目录spring cloud 的版本要与springboot的版本对应,否则可能会出现一些意外惊喜。就像Spring Boot需要依赖对应的Spring Framework版本一样,Spring Cloud需要依赖对应版本的Spring Boot,我们不能随便使用版本。版本的对应关系可以在 https://start.spring.io/info 上查看。本系列文章springcl...

2019-02-13 17:23:07 7510

原创 spring cloud Greenwich 学习笔记(五)spring cloudconfig + spring cloud bus实现全自动刷新集群配置

spring cloudconfig + eureka + spring cloud bus + rabbitmq实现了配置中心全自动刷新功能。

2019-02-13 17:15:03 1554

原创 RabbitMQ学习笔记(一)RabbitMQ简介 及 Windows安装RabbitMQ

文章目录RabbitMQ介绍RabbitMQ特点RabbitMQ 基本概念及架构安装Erlang安装RabbitMQ用户管理创建新用户java客户端测试RabbitMQRabbitMQ介绍rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit ...

2019-02-13 15:53:35 629 1

原创 spring cloud Greenwich 学习笔记(四)springcloud config 分布式配置中心

文章目录概述配置中心服务端配置中心客户端配置刷新-手动刷新配置刷新-全自动刷新概述Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持,使用Config Server,您可以在所有环境中管理应用程序的外部属性。  目前也有一些开源的配置中心,比如百度的disconf,阿里的diamand。本文介绍springcloud官方的配置中心springcloud co...

2019-02-12 16:54:36 2114 1

原创 spring cloud Greenwich 学习笔记(三)hystrix 断路器

文章目录概述在ribbon中使用断路器在feign中使用断路器概述Hystrix 简介:Hystrix 是 Netflix 开源的一款容错系统,能帮助使用者码出具备强大的容错能力和鲁棒性的程序。Hystrix 具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包(request collapsing,即自动批处理,译者注),以及监控和配置等功能。hystrix的详细使用以及原理实...

2019-02-09 20:56:48 1629

原创 spring cloud Greenwich 学习笔记(二)spring cloud eureka Feign 服务注册与发现

文章目录概述编写feign消费者本文依赖于 上一篇 spring cloud Finchley 学习笔记(一)spring cloud eureka ribbon 服务注册与发现 中的三个项目。概述springcloud提倡微服务采用rest http的方式。消费者在注册中心中发现服务后,需要通过负载均衡进行调度,springcloud全家桶提供了两种服务调用方式,一种是ribbon+res...

2019-02-09 20:16:24 1419

原创 spring cloud Greenwich 学习笔记(一)spring cloud eureka ribbon 服务注册与发现

文章目录概述环境说明eureka注册中心eureka 简介工程搭建eureka注册中心服务提供者ribbon客户端负载均衡服务消费者概述Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置...

2019-02-09 19:58:07 4677 5

转载 运行springboot项目出现:Type javax.xml.bind.JAXBContext not present

环境说明:win10 + java11 + springboot 2.1.1 + spring cloud Finchley.SR2错误日志:Type javax.xml.bind.JAXBContext not present错误原因:java9+版本以后,JAXB默认没有加载解决办法:手动添加jaxb模块<dependency> <groupId&

2019-02-09 18:07:59 6657 1

原创 java9 响应式编程支持

文章目录概述响应式编程接口demo概述java9开始,官方支持了响应式编程规范,提供了顶级的响应式编程接口。java11开始,官方提供了支持http2的、友好的http客户端java.net.http,该客户端就是jdk内部第一个基于响应式编程规范的实现。响应式编程接口package java.util.concurrent;//这是Flow API的主要类。该类封装了Flow API...

2019-02-01 14:52:57 3083

原创 响应式编程规范

文章目录响应式宣言反应式系统的特质reactive-streams响应式宣言响应式编程的概念已经很早就提出来了,业内很多大牛共同构建了 响应式宣言(中文版)。如果您认可该宣言,可以在其中签下自己的大名。内容不多,这里我们直接拷贝过来。在不同领域中深耕的组织都在不约而同地尝试发现相似的软件构建模式。 希望这些系统会更健壮、更具回弹性 、更灵活,也能更好地满足现代化的需求。近年来,应用程序...

2019-02-01 14:40:51 1472

jquery右键菜单

jquery右键菜单 支持原著

2013-06-02

快乐崇拜234的留言板

发表于 2020-01-02 最后回复 2020-01-02

当梦想和身体健康发生冲突,你会如何选择

发表于 2014-10-29 最后回复 2014-11-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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