Flytiger

青青园中葵,朝露待日晞。阳春布德泽,万物生光辉。常恐秋节至,焜黄华叶衰。百川东到海,何时复西归?少壮不努力,老大徒伤悲。...

Java常用消息队列原理介绍及性能对比

消息队列使用场景为什么会需要消息队列(MQ)? 解耦 在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息系统在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 冗余 ...

2017-11-27 20:28:12

阅读数 63064

评论数 8

Java获取时间与Linux不一致

问题描述 遇到一个问题,web显示的时间比服务器时间快12小时。Tomcat和MySQL安装在同一台服务器,系统是centos7,且服务器时间和MySQL时间一致,均是当前北京时间。 解决思路 ...

2019-04-06 22:42:21

阅读数 401

评论数 0

责任链模式

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

2019-03-15 16:45:45

阅读数 20

评论数 0

设计模式之外观模式

外观模式(Facade)是23种设计模式之一,也称为门面模式。DP中是这么定义外观模式的: 外观模式为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 一个系统都是由各种大大小小不同功能的类组成的,每一个类都会提供被外部调用的接口,我们...

2019-03-05 17:45:12

阅读数 25

评论数 0

Java的三种代理模式

Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改...

2019-02-26 17:55:26

阅读数 66

评论数 0

装饰器模式

定义:装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。

2019-02-18 10:00:37

阅读数 46

评论数 0

git钩子及checkstyle的使用

需求背景 最近在项目开发中,经常遇到库上的代码编不过的场景。有些员工上传代码之前并不去编译,导致测试环境不可用。所以就想到使用git钩子在代码上传之前进行检查,不通过的代码无法上传。 这里还用到了checkstyle插件,主要是制定一些代码规则,对一些待提交的文件进行检查。 安装ch...

2018-12-05 20:44:09

阅读数 345

评论数 2

设计模式之模板方法模式和策略模式

概述 我们知道,OOP三个基本特征是:封装、继承、多态。通过继承,我们可以基于差异编程,也就是说,对于一个满足我们大部分需求的类,可以创建它的一个子类并只改变我们不期望的那部分。但是在实际使用中,继承很容易被过度使用,并且过度使用的代价是比较高的,所以我们减少了继承的使用,使用组合或委托代替 ...

2018-12-05 11:33:25

阅读数 44

评论数 0

单例模式

单例的四大原则: 1.构造私有。 2.以静态方法或者枚举返回实例。 3.确保实例只有一个,尤其是多线程环境。 4.确保反序列换时不会重新构建对象。 解法一:只适合单线程环境(单线程懒汉式,不好) package test; /** * @author xiaoping * */ public...

2018-11-28 11:41:39

阅读数 50

评论数 0

nginx 学习笔记(二) http、https、utp/tcp 代理配置 nginx.conf

本文转自 https://my.oschina.net/u/3370769/blog/1923397 安全问题,建议用nobody,不要用root. user root; worker数和服务器的cpu数相等是最为适宜 worker_processes 1; error_log path...

2018-10-30 17:23:03

阅读数 286

评论数 0

记一次idea环境导致的数据库报错

1. 问题 下午测试一个get接口时,mybatis一直报错,有如下两个异常信息: MyBatisSystemException with kryo’s ClassLoader. Retrying with current Expected one result to be returned...

2018-10-26 20:55:06

阅读数 191

评论数 0

logback 配置详解

一:根节点<configuration>包含的属性:   scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 ...

2018-10-22 11:13:33

阅读数 59

评论数 0

TortoiseGit保存git的账号密码

TortoiseGit保存git的账号密码 问题 电脑安装了git和TortoiseGit,但是每次commit、pull、push时都需要输入密码,而且是无限弹密码框(输入密码之后,还继续弹框)。 之前看了许多解决方案都不太行,例如: 1、修改全局配置文件.gitconfi...

2018-07-31 17:38:53

阅读数 1680

评论数 0

mockito和PowerMock单元测试

mock和Mockito是什么 在软件开发中提及”mock”,通常理解为模拟对象。 为什么需要模拟? 在我们一开始学编程时,我们所写的对象通常都是独立的,并不依赖其他的类,也不会操作别的类。但实际上,软件中是充满依赖关系的,比如我们会基于service类写操作类,而service类又...

2018-05-12 12:03:40

阅读数 286

评论数 0

Map.Entry学习和详解

Map.Entry的定义        Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。通过这个集合的迭代器,获得每一个条目(唯一获取方式)的键或值并对值进行更改。Map.Entry中的常用方法如下所示:       ...

2018-05-01 19:50:30

阅读数 1670

评论数 0

java参数传递

java参数传递方式当一个对象被当作参数传递到一个方法后,在此方法内可以改变这个对象的属性,那么这里到底是值传递还是引用传递? 答:是按值传递。Java 语言的参数传递只有按值传递。当一个实例对象作为参数被传递到方法中时,参数的值就是该对象的引用的一个副本。指向同一个对象,对象的内容可以在被调...

2018-04-26 21:15:34

阅读数 90

评论数 0

idea多线程debug

问题描述 项目中需要多处用到数据库操作,为了减少耗时使用了新的线程去调用数据库的接口,但是使用intellij idea调试时发现数据一直没有插入到数据库,test下debug模式执行不成功。检查了代码,确定代码没问题。断点到插入数据库的命令上,按alt+F8执行Evaluate,报如下错...

2018-04-15 12:15:46

阅读数 720

评论数 0

互联网电商技术---CDN

一、CDN是什么 CDN的全称叫 Content Delivery Network、内容分发网络。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。CDN网络可以将服务器的内容缓存到分布全球的CDN节点,根据用户的访问IP,就近连接CDN,...

2018-04-06 12:31:13

阅读数 257

评论数 0

maven生命周期以及scope标签详解

maven生命周期 在Maven中有三套独立的生命周期: 1. Clean Lifecycle:在进行真正的构建之前进行一些清理工作 2. Default Lifecycle:构建的核心部分,编译、测试、打包、部署 3. Site Lifecycle:生成项目报告、生成站点、发布站点...

2018-04-06 11:42:55

阅读数 691

评论数 0

java变量的初始化之后的默认值

类的成员变量 不管程序有没有显示的初始化,Java  虚拟机都会先自动给它初始化为默认值。 1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。 2、单精度浮点型(float)的基本类型变量的默认值为0.0f。 3、双精度浮点型(double)...

2018-01-12 22:06:24

阅读数 110

评论数 0

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