自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猿上生活

爱技术,爱生活,爱音乐

  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

原创 深度解析xxl-rpc之RPC原理

一.什么是RPC?RPC(remote process call),中文是远程过程调用的意思。怎么理解这个远程过程调用呢?可以这样理解,可以与本地的过程调用对比下,本地过程调用,也就是调用函数或者是调用方法,比如说,在单体架构中,我们要根据用户的id获取订单信息,我们就需要找到订单service,调用getOrderInfoById(String id)这个方法,这个调用动作这就是本地过程调...

2019-07-31 22:44:17 836

原创 访问者模式

访问者模式访问者模式(Visitor),表示一个作用于某个对象结构中的各个元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。这个定义比较晦涩难懂,首先有两个关键的点,一个是应用场景是某种结构的各个元素(比如说我这个结构可以是list,那它就作用在这个你这个list里面的所有元素),另一个是它能在不改变这个类(就是不改类结构代码了,谁说也不好使)的前提下来扩展这个类的功...

2019-07-29 23:07:45 45

原创 Callable,FutureTask,Future详解

目录一.介绍1.Callable2.Future3.FutureTask二.简单使用1.使用Thread类实现2.使用线程池实现三.源码详解1.Callable接口2.Future接口3. FutureTask一.介绍1.Callable<T>Callable<T>是一个接口,有一个唯一的抽象方法call方法...

2019-07-28 13:40:35 157

原创 深度解析xxl-rpc之负载均衡算法

介绍

2019-07-26 21:13:05 311

原创 享元模式

享元模式享元模式(Flyweight)是指利用共享技术有效的支持大量细粒度的对象。这是什么意思呢?可以这么理解,现在池化技术已经成为编程世界里面不可或缺的一部分,有各种池,包括数据库连接池,线程池,对象池,常量池等等,池化技术可以说是享元模式的实现。拿数据库连接池来举例子,我项目初始化的时候,就先创建诺干个数据库连接放到池子里,等我这个线程用的时候我直接去池子里面拿,用完后再放进去,然后另一个线...

2019-07-23 22:31:24 55

原创 java SPI机制详解

目录一.SPI是啥1.定义2.图解3.使用场景二.使用规则三.demo演示1.定义接口与实现类2.编写配置3.测试四.源码分析1.创建2.加载3.获取五.SPI的优缺点一.SPI是啥1.定义SPI全称为 Service Provider Interface,是java中提供的一套可以被第三方实现和扩展的API接口机制...

2019-07-23 15:54:02 356 1

原创 中介者模式

中介者模式定义中介者模式(Mediator),又称为调停者模式,用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且独立改变它们之间的交互。中介者,通俗的讲就是中间人或者调停者的意思。就比如说现在的微信群聊,房产中介,短信等等都可以叫做中介者,举个例子,我们要租房子,我们就需要房东的联系方式,跟房东一对一交流,这样很麻烦的。这时我们可以将找房子的需求...

2019-07-22 22:52:34 106

原创 深度解析xxl-rpc之服务注册与发现

一.介绍包结构:正如上图所示,一个注册抽象类ServiceRegistry和三个实现类LocalServiceRegistry,XxlRegistryServiceRegistry,ZkServiceRegistry二.源码解析2.1ServiceRegistryServiceRegistry 抽象类,定义了注册客户端启动,停止,注册,发现的抽象方法。很简单。从注册,发现方法中可以看...

2019-07-22 15:21:10 399

原创 深度解析xxl-rpc之服务调用者

一.服务的调用者服务调用者总揽:在remoting包中的invoker包就是服务调用者,包括配置,bean代理,负载均衡策略,调用方案等。二.生成代理2.1 @XxlRpcReference我们先来看下 @XxlRpcReference注解,这个注解中定义了服务调用者的一些使用的一些策略。@Target({ElementType.FIELD})@Retention(Retentio...

2019-07-21 19:15:03 734

原创 深度解析xxl-rpc之项目结构一览

一.项目结构项目github仓库地址:链接,我们首先要克隆下来。然后看到的项目结构如图:xxl-rpc-core项目是rpc的实现代码。xxl-rpc-simple项目是使用demo。1.xxl-rpc-core我们来看下core这个项目结构:作者按照组件功能来划分了rpc项目,分别划分4个包。1.1 registryregistry主要是服务发现与注册功能的包。包括zook...

2019-07-20 23:27:30 213

原创 责任链模式

责任链模式责任链模式(chain of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。责任链模式可以这么理解,比如说,一个网络请求来到你服务器的时候, 你要对这个请求做一些处理,鉴权,json反序列化,往request对象设置一些属性等等,虽然这些操作业务不同,但是处理...

2019-07-20 20:03:40 47

原创 javaWeb之jsp

jsp简介: JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,在jsp中既可以写html 代码 ,又可以写java代码作用:将页面显示与业务逻辑相分离;通常分为三部分:  java 代码  html代码  jsp指令jsp本质:  当你发起请求时,服务器会根据匹配的规则,匹配给jsp...

2019-07-19 08:58:39 41

原创 InheritableThreadLocal原理解析

InheritableThreadLocal使用在该《ThreadLocal原理解析》篇文章中ThreadLocal有一个问题就是子线程不能继承父线程的变量。那么本篇所分析的InheritableThreadLocal类就是为了解决这个问题诞生的。ThreadLocal问题演示 public static ThreadLocal<String> threadLocal...

2019-07-18 20:21:27 266

原创 javaWeb之Servlet详解

Servlet详解1.servlet简单介绍  servlet是javaweb三大组件之一,他与filter ,listener 共同组成了javaweb的三大组件,Servlet(Server Applet)是Java Servlet的简称,解释为运行在服务器端的java小程序,  作用:用来接收客户端的请求,处理业务逻辑,响应动态内容2.使用  创建一个java类,实现...

2019-07-18 11:10:57 67

原创 ThreadLocal原理解析

当我们在使用多个线程访问一个共享变量的时候特别容易带来数据安全问题,尤其是我们在对一个共享变量写操作的时候,我们通常的解决方案是加锁,使对该共享变量的操作串行化,那么有没有一种方式可以做到,创建一个变量,每个线程对其访问的时候访问的是自己线程变量呢?使用ThreadLocal就可以实现。ThreadLocal它提供了一个本地线程变量,通俗的讲就是你创建了一个ThreadLocal变量,线程a在给...

2019-07-17 22:20:21 972 1

原创 单例模式

单例模式单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象访问,但它不能防止你实例化多个对象,一个最好的办法就是让类自身负责保存它唯一的实例,这个类可以保证没有其他实例被创建(构造私有化),并且提供一个访问该实例的方法。UML类图Java实现单例的几种方式饿汉式饿汉式,提前加载好,效率高,不支持延时加载// 饿...

2019-07-16 21:39:28 83

原创 迭代器模式

迭代器模式迭代器模式(Iterator),提供一种方法顺序访问聚合对象中的各个元素,又不暴露该对象的内部表示。当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,可以选择使用迭代器模式。如果需要对聚集对象使用多种方式遍历的时候,可以考虑迭代器模式,同时为遍历聚集结构提供统一的如开始,下一个,是否还有,当前哪一项等接口。UML类图UML类图代码实现Iteratorpubli...

2019-07-14 18:20:09 36

原创 组合模式

组合模式定义组合模式(Composite),将对象组合成数结构来表示“整体-部分”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。UML类图组合模式组件ComponentComponent抽象组件,为组合中所有对象提供一个接口,不管是叶子组件还是组合组件,在适当的情况下,实现所有类共有接口的默认行为,声明一个接口用于访问和管理Component的子组件。LeafL...

2019-07-11 22:21:25 33

原创 适配器模式

适配器模式适配器模式(Adapter),将一个类的接口转换成客户希望的另一个接口。适配器模式能够使原本由于接口不兼容而不能一起工作的那些类一起工作。...

2019-07-10 21:38:52 29

原创 状态模式

状态模式状态模式(State)当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象转换的条件表达式过于复杂时的情况。把状态判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。UML类图UML类图代码实现StateState提供了一个状态的抽象,并且定义一个与context特定状态相关的行为public abstra...

2019-07-09 21:13:44 24

原创 抽象工厂模式

抽象工厂模式定义抽象工厂模式(Abstract Factory)是指提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类。

2019-07-07 12:46:17 19

原创 工厂方法模式

工厂方法模式工厂方法模式(Factory Method)是指定义一个用于创建对象工厂的接口,让子类决定实例化哪一个类。工厂方法模式使对象的实例化延迟到子类里面。UML类图...

2019-07-05 21:33:51 48

原创 简单工厂模式

简单工厂模式简单工厂模式主要是将创建对象与客户端业务分离,不在业务代码显式new对象,而是将new对象的事情交给一个工厂类,工厂类根据提供的不同业务标识创建所需的对象,这样做的好处是能够与业务解耦合,更加灵活,增强扩展性。计算器简单案例案例需求:实现一个计算器,应有简单的加减乘除功能运算类运算类主要是抽象了一个获取结果方法(getResult),另外定义了两个计算因子。public ...

2019-07-03 22:22:06 35

原创 观察者模式

观察者模式观察者模式又称订阅-发布模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某个主题对象,当这个主题对象发生变化时,会通知所有观察者对象,使他们能够更新自己。UML类图UML类图代码实现SubjectSubject 主题抽象类,它把所有的观察者放入一个集合中,每个主题都可以有任何数量的观察者,然后定义添加观察者,移除观察者,通知的方法。public abst...

2019-07-01 21:53:34 52

JAVA核心知识点整理

JAVA核心知识点整理 这个涵盖了老多的JAVA知识点, 面试前看看有好处,可以说是JAVA的面试宝典,从jvm到各种框架,看完无敌了,如果你没有积分你可以联系我,就当交个朋友

2020-10-19

nexus私服下载包3.20版本的

这个是nexus的安装包,然后里面有win ,linxu,mac os 的,是3.20版本的,我花了不少积分下载的,你没有积分的可以联系我

2020-10-20

RocketMQ可视化控制台

RocketMQ的可视化控制台,不为赚积分,你自己可以上github 搜rocketmq-externals这个项目,然后自己clone下来,到console子项目中打个包可以了,你要是下载了我这个,用的时候自己用360解压打开这个jar,修改一下application.properties 这个里面的配置,然后jave -jar 打开就可以了

2020-10-19

dubbo服务监控工具dubbo-admin

dubbo-admin 是诊断dubbo服务问题的利器,由阿里开源,忍受不了github龟速的可以这里下载

2020-07-04

java线上诊断工具arthas

arthas 是阿里开源的线上诊断工具,它能够快速定位线上问题,这里上传主要是为了用的时候直接下载,而不需要到github上下载,忍受不了github龟速的可以下载本资源,解压就可以使用

2020-07-03

空空如也

空空如也

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

TA关注的人 TA的粉丝

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