![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
加斯特独挨踢
这个作者很懒,什么都没留下…
展开
-
Canal1.1.4增加canal-admin发送数据至RabbitMQ
Canal1.1.4服务端原生支持mysql数据变化直接发送至kafka、rocketMQ,但是由于我们的项目是使用的RabbitMQ,故需要对原有框架进行扩展。以下记录处理过程:1、下载canal1.1.4源码,详见github:https://github.com/alibaba/canal.git2、分析canaldeployer模块,发现关键引用:<de...原创 2019-11-14 16:26:51 · 3463 阅读 · 1 评论 -
互联网单点登录集成方案
为了迎合公司互联网化经营,业务部门均纷纷上马了互联网的项目,部门应用之间各自为政,无法形成公司整体品牌效应,以及影响用户体验,故,有了以下的单点登录集成方案。概述整合集成公司各个业务部门的应用,支持通过多终端全渠道单点登录功能;总体方案1、用户访问业务系统,通过业务系统集成的拦截器跳转到登录服务器,进行系统的登录、登出操作;2、登录服务器原创 2017-02-10 14:38:58 · 5217 阅读 · 0 评论 -
配置管理系统方案
随着IT技术的发展,系统使用的技术越来越多,相关的配置文件也越来越庞大,不同的环境需要对应不同的配置项,增加了系统大包发布的难度,还容易出错,为了解决这个问题,可以考虑建设统一的配置管理系统来托管配置文件;一般配置管理系统分为:配置管理中心、版本注册中心、安全管理中心、开放平台、配置管理客户端等这几部分:配置管理中心:配置管理系统的控制台,所有的功能均在配置管理中心进行操作;版原创 2017-01-16 16:53:00 · 1754 阅读 · 0 评论 -
JAVA高级面试总结-基础篇
参考了网上的面试题,整理了一份面试题的资料。String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?String是字符串常量,后两者是字符串变量。其中,StringBuffer是线程安全的,而StringBuilder是非线程安全的,线程安全会带来额外的开销,所以StringBuilde原创 2016-11-23 09:58:33 · 8955 阅读 · 4 评论 -
JAVA高级面试总结-JVM篇
Sun HotSpot VM,是JDK和Open JDK中自带的虚拟机,也是目前使用范围最广的Java虚拟机。JVM内存分布程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。程序中的分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。由于多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,故该区域为线程私有的内存。虚拟机原创 2016-11-23 16:09:52 · 32967 阅读 · 0 评论 -
我的设计模式-外观(Facade)
外观模式是解决类与类之间的依赖关系的,很多应用框架将类与类的依赖关系配置在XML文件中,外观模式是使用一个外观类,将类与类的依赖关系定义在外观类中,降低类与类之间的耦合。如果不使用外观类,那么类123之间就可能存在相互持有实例,造成严重的依赖关系。通过一个外观类,持有所有类123的对象实例,并在外观类中封装方法调用类123实例的方法,实现了类的解耦,后续调整只需要调整外观类中类原创 2016-11-22 22:49:57 · 410 阅读 · 0 评论 -
我的设计模式-装饰(Decorator)、代理(Proxy)
经常会有一种场景,需要临时增加一段业务逻辑,该段业务逻辑使用一段时间后需要失效,比如:按照时间段促销等等,这种就可以使用装饰模式进行实现。装饰模式是动态的给某对象增加一些新的功能,要求装饰类实现同一接口,并且拥有被装饰类的对象实例。实现类图如下:通过新增装饰类实现原有接口,在实现的方法内新增装饰内容,再调用原有的方法来实现扩展原有实现类的功能。通过实现接口,可以实现装饰类的动态原创 2016-11-22 22:25:07 · 338 阅读 · 0 评论 -
我的设计模式-适配器(Adapter)
适配器是用来解决原来的目标接口和现有的方法没有办法一起使用的问题,通过适配器模式,将现有方法适配至原有接口模式进行使用。这种情况其实在实际应用中存在很多问题,并不是一种设计模式就可以解决的问题,所以适配器模式实际场景使用并不广泛,不过可以了解下实现思路。从上图不难看出,原有接口和现有实现类无法一起使用,通过适配类实现原有接口,以及注入的现有实现类的实例对象,实现了将现有方法适配原创 2016-11-22 21:13:22 · 259 阅读 · 0 评论 -
我的设计模式-单例(Singleton)
单例模式是最常见的设计模式,比较简单,就是保证在JVM内,一个对象只有一个实例存在。比如:spring bean默认模式就是单例。一般按照对象实例创建的时机,单例又分为懒汉模式和饿汉模式:懒汉模式在类加载的时候不创建对象实例,在实际使用中判断对象实例是否存在,如果存在则直接返回;如果不存在,则new出对象实例再返回;该模式有3个关键点:1、构造函数私有;2、静态获取原创 2016-11-22 20:40:59 · 267 阅读 · 0 评论 -
我的设计模式-抽象工厂(Abstract Factory)
抽象工厂主要是在工厂模式的基础上,将对象实例生成工厂进行了抽象,增加了对象实例生成工厂的拓展性。工厂模式可以参看:点击打开链接以下举例说明抽象工厂模式:可能有多种打印机,但都有打印方法;将原有工厂模式的打印机工厂类进行封装,通过实现统一的接口来实现不同的打印机实例的建造工厂,增加了打印机工厂的扩展性,使程序更加灵活。原创 2016-11-22 17:48:49 · 280 阅读 · 0 评论 -
我的设计模式-工厂(Factory Method)
工厂模式主要解决对象实例的创建问题,就是建造一个工厂类,来负责实现了同一接口的所有类的实例的创建。这种模式比较简单,下面举打印机的例子进行说明:使用方通过打印机工厂类来获取具体打印机的实例,通过这种方式,将使用方和具体的打印机实现类进行了解耦,后续调整修改都非常方便,且对使用方基本没有影响;原创 2016-11-22 17:16:51 · 291 阅读 · 0 评论 -
CentOS安装JDK1.8
安装JDK1.8很简单,先下载Oracle提供的rpm包,然后删除掉本机的OpenJdk,最后安装下载的jdk1.8的rpm包即可。1、jdk安装包下载到Oracle官网上去下载对应的rpm安装包,先接受协议,再下载对应的rpm包;或者直接后台下载:wget http://download.oracle.com/otn-pub/java/jdk/8u102-b1原创 2016-08-04 10:41:07 · 3008 阅读 · 0 评论