M义薄云天的博客

生命不息,学习不止。

设计模式之责任链模式

模式的定义与特点 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 在责任链模式中,客户只需要将...

2019-04-24 14:52:52

阅读数 31

评论数 0

浅析dubbo原理和实现

一、Duboo基本概念解释 Dubbo是一种分布式服务框架。 Webservice也是一种服务框架,但是webservice并不是分布式的服务框架,他需要结合F5实现负载均衡。因此,dubbo除了可以提供服务之外,还可以实现软负载均衡。它还提供了两个功能Monitor 监控中心和调用中心。这两个...

2017-12-21 22:28:25

阅读数 8278

评论数 4

设计模式之观察者模式(Observer模式)

一.背景 在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;还有,当我们开车到交叉路口时,遇到红灯会停,遇到绿灯会行。这样的例子还有很多,例如,股票价格与股民、微信公众号与...

2019-07-03 11:00:44

阅读数 25

评论数 0

SpringBoot基于tk.mybatis的通用API操作(基于反射的通用模糊查询)

一.背景 在项目很多基本的操作时,编码费时费力,所以想简化基本的增删改查,让开发更加高效,这个插件里面封装好了我们需要用到的很多sql语句,不过这个插件是通过我们去调用它封装的各种方法来实现sql语句的效果。对于单表查询不需要写SQL语句,这样就不用像mybatis那样每次写一个接口就要写一条s...

2019-06-13 16:37:00

阅读数 178

评论数 0

MyBatis 插件之拦截器(Interceptor)

一.背景 在很多业务场景下我们需要去拦截sql,达到不入侵原有代码业务处理一些东西,比如:分页操作,数据权限过滤操作,SQL执行时间性能监控等等,这里我们就可以用到Mybatis的拦截器Interceptor 二.Mybatis核心对象介绍 从MyBatis代码实现的角度来看,MyBatis...

2019-06-12 16:30:50

阅读数 760

评论数 0

JVM之HotSpot虚拟机对象的创建、内存布局和访问定位

背景 在学习JVM知识时用以记录,回顾,以及抛砖引玉。 一 对象的创建 java是一门面向对象的编程语言,在java程序运行中无时无刻都有对象被创建。在语言层面上,创建对象(例如深度克隆,反序列化)通常仅仅一个new关键字而已。而当虚拟机遇到一条new指令时,首先将去检查这个指令参数是否能在常量池...

2019-05-25 21:54:12

阅读数 62

评论数 0

Linux/Centos定时任务之Crontab

一.背景 执行一些定时任务,crontab命令的功能是给定的计划周期内执行给定的命令。 二.crontab涉及的配置文件 /etc/crontab:文件这个文件一般用来安排由系统管理员制定的维护系统以及其他任务的crontab /var/spool/cron/:这个目录下存放的是每个用户包...

2019-05-21 19:52:40

阅读数 23

评论数 0

kaptcha 验证码技术

一.背景 图形验证码的生成与使用(防止机器恶意攻击) 二.代码(使用) 1.添加Maven依赖 <!--验证码 --> <dependency> <groupId>com.github.pengg...

2019-05-17 17:04:32

阅读数 62

评论数 0

动态数据源切换(二):Mybatis不同Mapper映射不同数据源

背景 面对业务需要,业务数据在不同的数据库里面,数据又要在系统里面整合所以需要根据不同的数据操作切换不同的数据源,因此根据Mapper不同切换不同的数据源,来操作对应的数据库 图解 代码实现 Mybatis配置信息 // Uplus数据源配置信息, @Configuration ...

2019-04-26 11:03:42

阅读数 267

评论数 0

docker安装nginx并配置https访问

1.在dockerhub上查询是否有自己需要的nginx版本 #dockersearchnginx 2.拉取仓库nginx镜像,不加版本号默认拉取最新的版本 #dockerpull nginx 3.启动nginx容器 # docker run --detach \ --...

2019-03-06 09:25:02

阅读数 244

评论数 0

国际化与异常提示结合

一.背景意义 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。开发这样的程序的过程,就称为国际...

2019-02-26 18:32:24

阅读数 205

评论数 0

SpringBoot2整合Swagger2添加Header头属性字段信息,与添加字段属性描述

1.在SpringCloud Zuul网关整合Swagger在网关swagger-ui.html查看各个服务的接口文档的基础上补充添加头部信息, 当我们需要传递获取Header头部携带消息时,也需要在Swagger上显示测试,所以测试Header这也是必要的; 2.直接贴代码: @Conf...

2019-01-18 09:03:52

阅读数 2479

评论数 0

浅谈java jvm垃圾回收(gc)

垃圾收集器(G1):首先它是面向服务端的,同时它是一种不会产生内存碎片的垃圾回收,类似于“标记-整理算法”,使用G1收集器时,Java堆得内存布局就与其它收集器有很大差别,它将整个Java堆划分为多个大小相等的独立区域(Region),虽然还保留有新生代和老年代的概念,但新生代和老年代不再是物理隔...

2019-01-11 10:15:25

阅读数 47

评论数 0

SpringCloud Zuul网关整合Swagger在网关swagger-ui.html查看各个服务的接口文档

一.背景 微服务服务众多,在测试接口时每个服务整合Swagger要单独去访问每一个服务获取接口文档有点繁琐,现在利用网关的也整合Swagger访问网关就可以获取到所有服务的接口文档就大大的便利了我们的开发 二.使用 1.对于Zuul 网关配置 添加pom依赖: <!--s...

2019-01-11 09:51:02

阅读数 1036

评论数 1

一步教你将本地将镜像打到Linux中的docker仓库

二. Windows中操作远程linux中的docker(在本地将镜像打到Linux中的docker仓库) 1.在linux服务器安装docker(Docker要求64位的系统且内核版本至少为3.10):     a:Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具...

2019-01-05 16:00:21

阅读数 692

评论数 1

一步教你Windows安装Docker,并部署应用

一.本地Windows电脑(Windows安装Docker,并部署应用) 1.安装:     Docker可以支持在mac、windows、linux上安装。但是在windows系统中Docker目前仅有win10专业版和企业版的安装包,     win7/win8/win10家庭版需要通过do...

2019-01-05 15:57:40

阅读数 2914

评论数 0

一步教你Docker安装搭建RabbitMq

1.Docker 安装 RabbitMq     a:注意获取镜像的时候要获取management版本的,不要获取last版本的,management版本的才带有管理界面       #docker search rabbitmq:management     b:拉取官方的镜像,标签为manag...

2019-01-05 15:55:55

阅读数 68

评论数 0

一步教你Docker安装搭建redis(单机版)

1.Docker 安装 Redis   方案一:使用docker拉取镜像     查找Docker Hub上的redis镜像     #docker search  redis     拉取官方的镜像,标签为3.2(先创建redis文件夹)     #docker pull  redis:3.2 ...

2019-01-05 15:55:13

阅读数 331

评论数 0

一步教你Docker安装搭建GitLab仓库(用来做SpringCloudConfig配置中心)

Docker 安装 Git(以下在Centos7上操作,前提是已经安装过docker)   a:拉取官方的镜像   #docker pull gitlab/gitlab-ce:latest   b:运行容器   #docker run --detach \     --publish 8443:...

2019-01-05 15:53:30

阅读数 272

评论数 0

SpringCloud2.0整合OAuth2.0

以下是把配置文件放在Git仓库,SpringCloudConfig配置中心拉取,动态刷新 一.for pom.xml <dependencies> <dependency> ...

2018-12-25 14:21:37

阅读数 718

评论数 0

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