加载中
Mybatis初始化的builder建造者模式

建造者模式有四大角色 建造者接口:用于定义建造者构建产品对象的各部分的行为 导演:调用建造者接口或抽象类来进行建造流程的打造。 具体建造者:实现建造者接口或抽象类的两类方法:一是建...

2019/04/06 03:55
3.4K
Spring MVC的模板方法模式

Spring MVC的全部组件继承图如下所示 模板方法模式是由抽象类或接口定义好执行顺序,由子类去实现,但无论子类如何实现,他都得按照抽象类或者接口定义好的顺序去执行。实例代码请参考 设计模...

2019/03/24 12:37
491
mybatis缓存的装饰器模式

一般在开发生产中,对于新需求的实现,我们一般会有两种方式来处理,一种是直接修改已有组件的代码,另一种是使用继承方式。第一种显然会破坏已有组件的稳定性。第二种,会导致大量子类的出现...

2019/03/20 23:54
434
mybatis datasource的工厂方法模式(深度好文)

工厂方法模式是使用抽象工厂(抽象类或接口)来生产抽象产品(抽象类或接口)的一个过程,由抽象工厂来决定抽象产品的生产过程,实际生产中由具体的工厂子类或者实现类来完成具体的产品子类或...

2019/03/19 14:53
2.7K
浅谈mybatis的日志适配模式

Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

2019/03/18 23:53
1.7K
Spring事务说明与自实现

要使用Springboot的事务其实非常简单,在启动类上添加@EnableTransactionManagement,在Service的类或者方法上使用@Transactional就可以了。 事务本身的4大特性 原子性(Atomicity) 指事务必...

2019/03/18 06:37
209
AOP原理与自实现

AOP是一种面向切面编程的技术,要实现AOP就不得不提到Proxy模式,具体代理模式的例子可以参考 设计模式整理 由于代理模式都必须有一个统一的接口,我们先来写一个接口 public interface Greet...

解析反射

反射离不开Class.forName(),我们先从Class.forName说起。 上一篇我们说要得到一个类的实例有4个方法:new,反射,克隆,反序列化。 反射可以跟new一个对象有相同的效果。例如 public class C...

2019/03/10 23:52
601
浅析类装载

要使用类,必须有两个步骤,一个是加载类,然后是初始化。 创建一个类的实例可以使用到的方法: 使用new关键字 通过反射 克隆 反序列化 在什么情况下使用类,不需要初始化类 通过子类调用父类...

2019/03/08 00:09
165
k8s集群部署八(DNS服务发现)

在分布式微服务的访问中,我们在有可能的情况下需要互相调用各个模块的应用接口,这个时候就需要对对方的IP进行识别,我们称之为服务发现。在k8s中,Service提供了集群内部的虚拟IP,供集群内...

k8s集群部署七(部署Node节点组件)

在master节点执行命令 # kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap 将之前生成的kubeconfig文件以及pem证书拷...

k8s集群部署六(部署master节点组件)

首先需要下载master的二进制包,下载地址 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md 我们需要下载的是kubernetes-server-linux-amd64.tar.gz (本次使用的版本...

k8s集群部署五(创建Node节点kubeconfig文件)

在Master上面进行以下操作 先下载kubectl工具,放在/opt/kubernetes/bin中,下载地址https://github.com/zq2599/blog_demos/blob/master/k8s_tools/kubectl/linux/kubectl.zip kubectl是kub...

k8s集群部署四(部署Flannel网络)

Flannel网络是在以太网的基础上再封装的一个包含容器IP地址的虚拟网络。 在master节点上建一个文件夹 mkdir flannel cd flannel 下载安装包 wget https://github.com/coreos/flannel/release...

k8s集群部署三(部署Etcd集群)

由图中可以看出,Etcd是kube-apiserver用于存储的一个集群。 安装的下载地址为https://github.com/etcd-io/etcd/releases/tag/v3.2.12,找到其中的 etcd-v3.2.12-linux-amd64.tar.gz 在三台机...

2019/02/16 17:14
1.3K
Nginx集群的故障迁移

首先可以肯定的是Nginx在一个tomcat节点完全宕机的情况下,是不会再去把请求分发过去的。 它是由upstream中server的参数决定的 server address [weight=number] [max_fails=number] [fail_ti...

2019/02/15 18:29
211
k8s集群部署二(自签TLS证书)

k8s的集群部署,不一定要使用证书,证书的作用是为了加密传输。所使用的加密方式是非对称加密RSA2048。 总共有3个证书工具: 首先在任意文件夹下建一个目录,比如ssl,下载这3个工具 wget h...

2019/02/15 14:36
2.2K
k8s集群部署一(最新版docker安装)

因为这里面docker跟我们平常用的docker有点不同,需要好好过一遍(本人的三台服务器的IP跟上图不同,现在最新版本的docker为18.09.2) 首先安装docker yum install docker service docker st...

2019/02/14 16:24
616
使用Random来生成随机数的危险性

我们先来看一个实例 public class SecureTest { public static void main(String[] args) { Random random1 = new Random(23468); for (int i = 0;i < 10;i++) { System.o......

2019/02/09 16:29
1.3K
Java的二进制位操作整理

由于 Java 是跨平台语言,所以 JVM 表现下的基础数据字节长度其实都是一致的。 int:4 个字节。 (1个字节是8位) short:2 个字节。 long:8 个字节。 byte:1 个字节。 float:4 个字节。 ...

2019/02/08 16:00
3.1K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部