- 博客(19)
- 资源 (19)
- 收藏
- 关注
原创 3分钟了解重排序以及synchronized和volatile的原理
重排序对多线程的影响 //重排序对多线程的影响 class ReorderExample { int a = 0; boolean flag = false; public void writer() { a = 1; // 1 flag = true; ...
2020-04-17 15:03:58
306
原创 生成数据字典,一个存储过程搞定
1、创建存储过程,下面的存储过程是以mysql数据库的语法写的,其中只查询出了tb_用户管理开头的表,可以根据自己的需求适当的修改:DELIMITER $$USE `dbname`$$DROP PROCEDURE IF EXISTS `proc_getdatadicdemo`$$CREATE DEFINER=`root`@`%` PROCEDURE `proc_getdatadicd...
2020-03-25 10:55:21
386
原创 不要再写if...else了,优雅的处理
使用场景项目中出现大量的if…else的判断,根据传参不同做不同的实现,这样就会显的代码很臃肿,耦合性高。消除if…else的方法有很多,包括命令模式、规则引擎、简单工厂等。接下来会介绍的一种方法是使用枚举来处理这样的大量判断。使用枚举消除if…else1、首先定义一个枚举类Operator,枚举类里面需要定义一个方法public abstract String excute(String...
2020-03-20 14:48:44
2768
原创 connection.setRequestProperty()设置无效
问题背景项目中碰到调用其他厂家的接口,厂家不仅提供了接口文档还提供了调用基类,但是使用厂家提供的基类调用其服务确失败。看了源码之后发现是connection.setRequestProperty("host","xxxx")没有设置成功,导致厂家不能识别到host的值。问题原因一个属性能不能加到request中,由allowRestrictedHeaders和restrictedHeader...
2020-03-10 20:38:53
3648
原创 最全最详细的离线安装YApi教程
官网教程https://hellosean1025.github.io/yapi/devops/index.html离线安装包链接:https://pan.baidu.com/s/1SuE4sMFIL19m0bhrGWkwDQ提取码:gope环境要求nodejs(7.6+)mongodb(2.6+)环境搭建安装nodejsmkdir nodejstar xvf node-...
2019-11-14 11:11:57
10751
4
原创 jenkins+github+gradle+springboot自动构建流水线图解教程
1.准备一个springboot项目,构建工具采用的是gradle2.安装gradle百度云下载地址:(1)解压[root@izwz9g22dbz5w9ze0vv2ztz local]# unzip gradle-4.7-all.zip(2)设置环境变量[root@izwz9g22dbz5w9ze0vv2ztz local]# vim /etc/profile添加下面两行exp...
2019-06-03 18:00:24
2036
原创 linux 下载安装ElasticSearch 6.6.0
ElasticSearch 6.6.0 下载地址wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz百度云下载地址:https://download.youkuaiyun.com/download/qq947297456/112173731.安装JDK 略2.创建用户 es5.0...
2019-05-31 09:15:46
2355
原创 设计模式(行为型--策略模式)
Context类有个属性是Strategy,通过构造函数,需要哪个具体的策略就传入哪个具体的实现类。优点:封装了变化,具体的实现策略的类可以单独修改测试。使用场景:不同时间应用不同的业务规则。通过简单工厂和策略模式的结合,可以避免客户端调用的判断,将Context改造成工厂类。工厂模式和策略模式的区别在于实例化一个对象的位置不同,对工厂模式而言,实例化对象是放在服务端的,即放在了工...
2019-03-11 09:48:28
171
原创 设计模式(结构型--装饰模式)
子类覆盖父类的方法时,可以在父类原始的实现前面或者后面动态的添加功能。使用场景:需要在旧功能的基础上动态的添加新功能时。可以很好把核心职能和装饰功能区分开,还可以去除相关类中重复的装饰逻辑。...
2019-03-11 09:40:13
142
原创 设计模式(结构型--代理模式)
代理类和真实类都继承抽象类,实现其接口,代理类里面有真实类的引用,实现也是调用真实类是实现。使用场景: 1.远程代理 webservice就是代理模式,生成的文件就是代理。 2.虚拟代理 根据需要创建开销很大的对象,通过它来存放实例化需要很长时间的真是对象。例如:加载网页代理真是图片,先看到文字,再慢慢下载真实图片。 3.安全代理 控制真实对象访问时的权限。 4.智能...
2019-03-11 09:37:06
153
原创 设计模式(创建型--单例模式)
实现单例模式的5种方式:1.饿汉式单例(立即加载方式)public class Singleton{ private Singleton(){}; private static Singleton single = new Singleton(); public static Singleton getInstance(){ return single; }}2.懒...
2019-03-11 09:30:27
148
原创 设计模式(创建型--抽象工厂模式)
对比工厂方法模式,多了不同的产品。缺点:增加产品,需要增加多个类,还需要修改三个工厂类改进:利用简单厂家替代三个工厂类,在利用反射和配置文件实现动态的改变传值。...
2019-03-11 09:12:17
120
原创 设计模式(创建型--简单工厂模式)
简单工厂模式需要一个beanFactory,用来实例化父类bean需要一个父类bean多个子类bean集成父类bean使用通过工厂类判断参数类型来实例化引用变量为父类的子类实例。使用场景:在不确定会有多少个处理操作时应该考虑使用简单工厂模式,如针对同样的接收到的数据,处理的逻辑可能会不同,可能以后还会增加新的操作。缺点:违反了开闭原则,增加实现需要修改工厂类。...
2019-03-08 14:58:01
100
原创 设计模式(六大原则)
1.单一职责原则2.开放-封闭原则3.依赖倒转原则4.里氏代换原则5.接口隔离原则 定义:类之间的依赖关系应该建立在最小的接口上。 通俗地讲:建立单一接口,不要建立庞大臃肿的接口;尽量细化接口,接口中的方法尽量少。 注意:接口尽量小,但是要有限度。对接口进行细化可以提高程序设计灵活性,但是如果过小,则会造成接口数量过多,使设计复杂化,所以一定要适度。提高内聚,减...
2019-03-08 14:45:44
132
原创 设计模式(UML类图)
UML类图UML类图总结总结:类图里面 “+” 表示 public “-” 表示private “#” 表示 protected类与线条的关系:前面(外面) 指向 后面(里面)继承: 空心三角形+实线实现接口:空心三角形+虚线关联:实线箭头聚合:空心菱形+实线箭头组合:实心菱形+实线箭头(有基数)依赖:虚线箭头...
2019-03-08 14:36:44
270
原创 项目通过tomcat部署到服务器,请求数据中文乱码问题
问题:本地项目请求访问,浏览器中文输出没问题。部署到服务器上面之后,返回到浏览器的中文就乱码了。尝试办法:1.修改tomcat下的conf中的service.xml中的配置信息:重新启动后,没有效果还是乱码-Dfile.encoding=UTF-82.修改Tomcat下的bin下的catalina.bat,在最前面添加 set JAVA_OPTS=-Dfile.encoding=UTF-8重启之后...
2018-05-31 16:53:09
21477
6
apache-maven-3.5.3-bin.zip apache-maven-3.6.0-bin.tar.gz win linux合集
2019-03-11
lombok jar包
2018-06-06
TortoiseSVN-1.9.6.27867-x64-svn-1.9.6.msi
2018-04-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人