李阳阳的博客

旨在记录自己的学习经历,也希望和大家共同交流,一起成长!

排序:
默认
按更新时间
按访问量

elasticsearch 6.2.2 搜索推荐系列(三)之高级搜索查询实现( 中文+拼音+首字母+简繁转换+特殊符号过滤)

一、先摆需求: 1、中文搜索、英文搜索、中英混搜   如:“南京东路”,“cafe 南京东路店” 2、全拼搜索、首字母搜索、中文+全拼、中文+首字母混搜   如:“nanjingdonglu”,“njdl”,“南京donglu”,“南京dl”,“nang南东路”,“njd路”等等组合 3、简...

2018-07-27 17:53:49

阅读数:339

评论数:0

elasticsearch搜索推荐系列(一)之 ElasticSearch6.2.2安装拼音插件 elasticsearch-analysis-pinyin

拼音分词在日常生活中其实很常见,也许你每天都在用。打开淘宝看一看吧,输入拼音”zhonghua”,下面会有包含”zhonghua”对应的中文”中华”的商品的提示: elasticsearch-analysis-pinyin 是 ElasticSearch的拼音插件,强大的功能支持拼音等的搜索...

2018-07-24 13:30:36

阅读数:229

评论数:0

Java并发编程实战中,对象尚未被完全创建的问题

问题来自于java并发编程实战中的一段话,如下:在网上找到了针对以上问题讲的比较透彻的回答,如下:java虚拟机性能的提高,有一部分得归功于对代码的重排序。在if(n!=n)中,其实存在控制依赖关系。这里有几个操作:一、读取左边的n值,二、读取右边的n值,三、进行不等比较,四、把不等比较的结果给i...

2018-07-05 14:52:17

阅读数:44

评论数:0

jvm晚期(运行期)最具代表性的4项优化技术

晚期(运行期)指的是通过即时编译器(包括c1、c2)把class字节码编译为本地机器码的过程。

2018-06-15 10:13:11

阅读数:120

评论数:0

jvm早期(编译期)优化(三)条件编译

java语法糖系列-条件编译

2018-06-14 14:56:11

阅读数:74

评论数:0

jvm早期(编译期)优化(二)自动装箱、拆箱

java语法糖系列-自动装箱、拆箱

2018-06-14 13:37:21

阅读数:94

评论数:2

jvm早期(编译期)优化(一)泛型与类型擦除

java语法糖public static void main(String[] args) { Map<String,String> map=new HashMap<String, String&gt...

2018-06-13 23:01:39

阅读数:68

评论数:0

java互联网开发 史上最细最用心的知识点总结(面试必备)

一、Java基础1.String类为什么是final的。1.设计需求java设计者不希望用户定义类去继承String类,所以定义为final类型。final修饰类时,类不可被继承;修饰变量,变量的值不可以被修改;修饰方法,方法不可被子类重写。做这样的规则规定,为了代码更严谨2.性能需求String...

2018-06-01 11:14:14

阅读数:1340

评论数:4

springcloud ribbon 源码分析(8)——拿到了负载均衡算法选出来的server如何发起一个真正的网络请求?

紧接着上篇通过ribbon负载局衡算法选择出了一个server localhost:8080后,这篇我们来看看拿到了负载均衡算法选出来的server localhost:8080如何发起一个真正的网络请求?   (1)在LoadBalancerInterceptor中,可以找到调用Ribbon...

2018-10-16 14:28:25

阅读数:5

评论数:0

springcloud ribbon 源码分析(7)——spring cloud与ribbon整合时的默认负载均衡算法如何选择一个server?

通过LoadBalancer从一个服务对应的server list中选择一个server出来,保持负载均衡,将请求均匀的打到各个服务器上去 LoadBalancer的chooseServer()方法,通过自己内置的负载均衡算法,选择一个server出来 ZoneAwareLoadBalance...

2018-10-15 16:44:04

阅读数:10

评论数:0

springcloud ribbon 源码分析(6)——ribbon第一次从eureka获取到注册表之后后续如何持续更新呢?

eureka client自己本身,是不断的去从eureka server每隔30秒更新一次注册表,拉取增量注册表。所以说ribbon和eureka整合的机制里,肯定得有一个组件,负责每隔一定的时间,从本地的eureka client里刷新一下服务的注册表到LoadBalancer中。。。   ...

2018-10-15 15:03:50

阅读数:0

评论数:0

springcloud ribbon 源码分析(5)——ribbon是如何与eureka整合获取服务注册列表的?

首先放一个Netflix.ribbon 源码下载地址(我下的是v2.2.2版本):https://github.com/Netflix/ribbon/ 推测:在LoadBalancer内部,必须要去获取到当前要访问的这个服务的server list。如果要访问一个服务,那么就要获取一个LoadB...

2018-10-15 11:29:56

阅读数:10

评论数:0

springcloud ribbon 源码分析(4)——spring cloud与ribbon整合时的默认ILoadBalancer是谁?

上篇说到会将RestTemplate方法的请求转发给RibbonLoadBalancerClient.execute()方法去执行,本篇我们就来看看RibbonLoadBalancerClient.execute()方法是怎么处理转发过来的请求的。 本篇的重点是根据一个服务名,serviceId...

2018-10-12 14:14:30

阅读数:9

评论数:0

springcloud ribbon 源码分析(3)——LoadBalancerClient是如何完成实例化的?

上一篇我们讲到了由拦截器拦截下来请求后,真正的处理其实是在LoadBalancerClient的execute方法中的,LoadBalancerClient是在构造LoadBalancerInterceptor的时候直接传进来的,但是这个LoadBalancerClient,是如何完成实例化的? ...

2018-10-12 11:10:10

阅读数:0

评论数:0

springcloud ribbon 源码分析(2)——spring cloud通过拦截器机制改变了RestTemplate的行为

LoadBalancerAutoConfiguration里面,通过RestTemplateCustomizer给我们自己创建的那个RestTemplate设置了一个拦截器LoadBalancerInterceptor,里边有一个intercept()拦截方法。 当我们执行restTemplat...

2018-10-12 10:14:08

阅读数:3

评论数:0

springcloud ribbon 源码分析(1)——通过@LoadBalanced注解作为突破口来找找线索

(1)首先下载源码并关联IDE:@LoadBalanced注解属于spring-cloud-commons项目,源码地址: https://github.com/spring-cloud/spring-cloud-commons 我用的源码是spring-cloud-commons-1.2.3...

2018-10-11 10:22:59

阅读数:0

评论数:0

springcloud Eureka源码分析(23)——spring-cloud-eureka-client注解式启动服务实例的源码剖析

看完了spring cloud eureka server的注解式启动的这个过程,spring cloud eureka client是如何通过一个注解就启动一个服务实例的呢?肯定是那个注解触发了一个sping boot auto configuration。肯定是spring boot启动了一个...

2018-10-10 13:23:08

阅读数:35

评论数:0

springcloud Eureka源码分析(22)——spring-cloud-eureka-server注解式启动注册中心的源码剖析

eureka,netflix的eureka,仅仅用在netflix公司内部的注册中心,负责微服务架构的服务注册和发现的。spring cloud eureka,其实不是一个什么所谓很复杂的项目,他其实就是一个将netflix eureka整合到spring技术体系中的这么一个包装类的技术,spri...

2018-10-10 11:34:12

阅读数:24

评论数:0

Netflix Eureka源码分析(21)——将eureka的整体架构、运行流程以及核心机制画一张图来梳理一下

其实到这里为止,eureka自己本身的核心的源码,我们都已经分析过了。到此为止,我们对eureka的整体的架构设计、运行流程、核心机制,都已经理解了,而且从源码层面可以理解,对这些东西,在代码的层面,我们应该差不多都知道是怎么回事了。 我们来画一张图,我们把之前学过的eureka架构设计、运行流...

2018-10-10 09:58:49

阅读数:15

评论数:0

Netflix Eureka源码分析(20)——eureka server集群之间注册表同步使用的3层队列任务批处理机制

(1)注册表同步使用的3层队列任务批处理机制的入口 @Singleton public class PeerAwareInstanceRegistryImpl extends AbstractInstanceRegistry implements PeerAwareInstanceRegist...

2018-10-09 17:56:51

阅读数:8

评论数:0

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