Fork me on GitHub

随笔分类 -  java

摘要:概述 注册中心服务端的主要功能包括,接收客户端的服务注册,服务发现,服务下线的功能,但是除了这些和客户端的交互之外,服务端还要做一些更重要的事情,就是我们常常会在分布式系统中听到的AP和CP,作为一个集群,nacos即实现了AP也实现了CP,其中AP使用的自己实现的Distro协议,而CP是采用ra 阅读全文
posted @ 2020-07-01 21:25 猿起缘灭 阅读(1441) 评论(0) 推荐(0) 编辑
摘要:概述 客户端与注册中心服务端的交互,主要集中在服务注册,服务下线,服务发现以及订阅某个服务,其实使用最多的就是服务注册和服务发现,下面我会从源码的角度分析一下这四个功能,客户端是如何处理的,本文不会介绍注册中心服务端如何处理的,这个之后会写文章分析。 客户端代码 public class Namin 阅读全文
posted @ 2020-06-30 20:43 猿起缘灭 阅读(1262) 评论(0) 推荐(0) 编辑
摘要:概述 为了实现redis集群的高可用,redis经历了好几次迭代,从最开始的主从模式,到哨兵模式,再到现在的集群模式,可以说架构的优化越来越好,那本篇文章就介绍一下redis的哨兵模式,不过我司其实使用的是cluster模式,这里就当学习一下。 redis哨兵模式架构 声明:本图来源Redis == 阅读全文
posted @ 2020-06-19 10:03 猿起缘灭 阅读(4237) 评论(0) 推荐(1) 编辑
摘要:概述 由于互联网发展,用户量激增,传统的架构直接使用关系型数据库,已经不能扛得住现在的并发量了,mysql单机一般的配置并发达到2000基本就顶天了,而且如果打到这个负载,mysql的性能会非常差,所以redis基本是现在各大互联网公司的标配。 本篇文章会以问答的方式编写,方便大家查看。 一、red 阅读全文
posted @ 2020-06-18 15:20 猿起缘灭 阅读(451) 评论(0) 推荐(0) 编辑
摘要:概述 这个方法我们并不陌生,通常我们在程序中都会先获取到ApplicationContext,之后调用getBean()方法获取bean,那这个方法是如何获取的bean呢?下面就来分析一下 getBean()方法 public Object getBean(String name) throws B 阅读全文
posted @ 2020-06-13 16:20 猿起缘灭 阅读(1279) 评论(0) 推荐(0) 编辑
摘要:概述 在学习springboot时候,会牵涉到很多的知识,而refresh方法可以说其中的核心方法,为什么这么说,因为整个spring的核心aop和ioc都和这个方法有关,既然这个方法那么重要,那我们就分析一下这个方法到底干了什么。 refresh()调用的核心方法预览 看了上面这个图是不是都晕了, 阅读全文
posted @ 2020-06-13 15:41 猿起缘灭 阅读(1164) 评论(0) 推荐(0) 编辑
摘要:本文承接上文:springboot源码分析(五)-监听器实现原理(中) 开篇之前先把祖师爷搬出来 费玉清:问大家一个脑筋急转弯,高个子女生,打一种化妆品,很常见的那种 思考。。。 思考。。。 思考。。。 揭晓谜底:唇膏 反正谜底我已经揭晓了,至于大家能不能看到,我就不管了,哈哈 概述 上一篇文章已经 阅读全文
posted @ 2020-06-04 20:30 猿起缘灭 阅读(764) 评论(0) 推荐(0) 编辑
摘要:开篇之前先把祖师爷搬出来 费玉清:问大家一个脑筋急转弯,女人生孩子,用一个成语来形容这一现象 思考。。。 思考。。。 思考。。。 揭晓谜底:血口喷人 反正谜底我已经揭晓了,至于大家能不能看到,我就不管了,哈哈 概述 监听器,在很多的源码中都非常的常见,之后我会写一个nacos源码分析的文章,那里面也 阅读全文
posted @ 2020-06-03 16:34 猿起缘灭 阅读(2792) 评论(0) 推荐(0) 编辑
摘要:本篇文章是承接上一篇文章写的:springboot源码解析(二)-从源码角度分析系统初始化器的实现原理 开篇之前先把祖师爷搬出来 费玉清:问大家一个脑筋急转弯,500个女人在沙滩上裸奔,打一种体育运动项目,在大学生的春季或者秋季运动会上都会有这个项目 思考。。。 思考。。。 思考。。。 揭晓谜底:铅 阅读全文
posted @ 2020-06-03 12:00 猿起缘灭 阅读(754) 评论(0) 推荐(0) 编辑
摘要:概述 集合类中的sort方法,听说在java7中就引入了,但是我没有用过java7,不太清楚,java8中的排序是采用Timsort排序算法实现的,这个排序最开始是在python中由Tim Peters实现的,后来Java觉得不错,就引入了这个排序到Java中,竟然以作者的名字命名,搞得我还以为这个 阅读全文
posted @ 2020-06-03 09:42 猿起缘灭 阅读(7235) 评论(0) 推荐(0) 编辑
摘要:&运算符 与运算,具体运算规则是,当两个二进制进行位运算时,都是1的时候,结果为1,否则为0。 举例如下: 32的二进制: 0010 0000 33的二进制: 0010 0001 计算结果为32: 0010 0000 &=运算符 a &= b,其实就是a = a & b,运算方式就是上面的。 |运算 阅读全文
posted @ 2020-06-02 15:13 猿起缘灭 阅读(1174) 评论(0) 推荐(0) 编辑
摘要:概述 最近几年微服务火的一塌糊涂,先是从dubbo开始,之后火的是spring cloud,spring cloud整合了非常多的组件,比如注册中心eureka,rpc远程调用组件feign,负载均衡组件ribbon,熔断限流工具hystrix,网关zuul,以及配置中心,上面提到的大多数组件都是N 阅读全文
posted @ 2020-04-27 19:07 猿起缘灭 阅读(1828) 评论(0) 推荐(0) 编辑
摘要:概述 最近在学习二叉查找树,这个树的特点就是每个节点必须可以比较,那对于常见的数据类型,比如Integer,Double,String这些对象都内置了比较方法,但是对于自定义的对象,里面是没有比较方法的,因此需要自定义比较方法,下面就是代码。 实现方式 实现java提供的Comparable接口。 阅读全文
posted @ 2020-04-16 10:14 猿起缘灭 阅读(2171) 评论(0) 推荐(0) 编辑
摘要:hbase体系架构和设计模型 上图过于简单,具体详细的架构图如下 zookeeper:作为分布式协调框架 HRegionServer:向master报告自己的健康状态和自己管理的region信息,管理region。同时把自己的健康状态和管理的region信息也会同步到zookeeper。具体作用如下 阅读全文
posted @ 2020-03-28 10:49 猿起缘灭 阅读(304) 评论(0) 推荐(0) 编辑
摘要:概述 由于innodb支持事务和行级别锁,使得mysql拥有更好的安全性和并发性,mysql从5.5版本已经把innodb引擎作为默认引擎,而且除非有一些非常特别的原因,不然innodb都是最优的选择 mysql架构 连接器:负责连接客服端和MySQL服务端,并且可以进行权限验证,保持连接等 查询缓 阅读全文
posted @ 2020-03-26 15:47 猿起缘灭 阅读(447) 评论(0) 推荐(0) 编辑
摘要:概述 mysql作为一个最常见的数据库,平时我们基本上只会对其进行增删改查操作,对于mysql的读写过程,数据存储结构,索引存储结构都所知甚少,一般来说专业的数据库性能调试是由dba完成的,普通的开发人员一般只会涉及到sql调优的问题,不过对底层的存储原理了解对工作还是很有帮组的,这篇文章主要讲述m 阅读全文
posted @ 2020-03-24 16:39 猿起缘灭 阅读(331) 评论(0) 推荐(0) 编辑
摘要:1.fastjson List转JSONArrayList<T> list = new ArrayList<T>();JSONArray array= JSONArray.parseArray(JSON.toJSONString(list)); 2.fastjson JSONArray转ListJS 阅读全文
posted @ 2020-03-18 11:38 猿起缘灭 阅读(567) 评论(0) 推荐(0) 编辑
摘要:概述 es是使用Java编写的,对Java原生比较支持,下面是使用Java写的一个demo,根据关键字进行搜索,并对搜索结果重排序,对部分字段惊醒高亮处理。 public class EsIndexService { protected Logger logger = LoggerFactory.g 阅读全文
posted @ 2020-03-16 22:53 猿起缘灭 阅读(718) 评论(0) 推荐(0) 编辑
摘要:概述 Elasticsearch简称es,是一个基于Lucene分布式的搜索引擎,使用Java开发,基于RESTful web接口,提供近实时搜索,广泛应用与很多的搜索场景,比如github的搜索就是使用es做的。 Elasticsearch架构 说明:上图是石杉老师的一个课程中画的es的架构图,图 阅读全文
posted @ 2020-03-16 21:35 猿起缘灭 阅读(642) 评论(0) 推荐(0) 编辑
摘要:概述 MQ也即是Message Queue,翻译就是消息队列,那何为消息队列就是存放消息的队列,为什么需要一个队列来存放这些消息,为什么不直接发送呢?举个例子,如果一个服务正常可以支持tps是1000,现在突然请求量达到5000,怎么办,有可能直接把服务器访问崩溃了,这时如果使用消息队列,就可以先把 阅读全文
posted @ 2020-03-03 18:01 猿起缘灭 阅读(275) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示