- 博客(77)
- 资源 (28)
- 收藏
- 关注
原创 nginx location中斜线的位置的重要性
最新在配置nginx时,意外发现location中目录斜线有和没有的区别,百度了找找发现没有几个人说的清楚,最后找到一个兄弟写的还比较实用,再次谢过(https://blog.csdn.net/ruihaol/article/details/79526749?from=timeline)。一、nginx代理后端服务nginx 服务器及端口 127.0.0.1:80后端服务:127.0.0.1...
2020-04-11 18:25:42 12995 4
原创 java设计模式-建造者(八)
建造者设计模式是一个构造复杂对象的设计模式,在一个软件系统中,可能会面临创建一个复杂对象的工作,如果使用单一的方法或者单一的对象来创建会比较烦琐,当所创建复杂对象发生改变时,整个系统就可能面临剧烈的变化。这时就需要我们将这个复杂对象的创建过程分解成若干部分,各个子部分用一定的算法构成。但是,子部分可能会经常发生变化,如何能保证整体创建工作的稳定性呢?这就需要建造者模式,建造者模式把复杂对象的创建...
2019-10-22 17:33:48 471
原创 java设计模式-模板方法(七)
比如我们项目中有很多调用第三方系统的功能(如支付宝或微信),实际无非就是以下几步:1.组装调用支付宝或微信需要的参数2.请求支付宝或微信3.解析支付宝或微信的响应参数4.针对调用异常处理(非必须,子类可重写)这是固定的流程或者模板。接下来咱们以请求支付宝和微信为例:先定义一个抽象类package com.lifeng.patterns.templatemethod;import...
2019-10-17 11:08:45 209
原创 java设计模式-外观模式或门面模式(六)
外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。这个模式中,设计到3个角色。 1).门面角色:外观模式的核心。它被客户角色调用,它熟悉子系统的功能。内部根...
2019-09-24 16:00:13 578
原创 java设计模式-工厂模式(五)
首先,工厂模式是为了解耦:把对象的创建和使用的过程分开。就是Class A 想调用 Class B ,那么A只是调用B的方法,而至于B的实例化,就交给工厂类。其次,工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些创建对象B的代码放到工厂里统一管理。既减少了重复代码,也方便以后对B的创建过程的修改维护。(当然,...
2019-09-19 14:56:32 190
原创 java设计模式-单例模式(四)
单例顾名思义只能有单一的实例,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为使用场景:如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取;还有如数据库连接池也是采用单例模式,只有一个连接池就可以了,再多就是浪费系统资源;还有如spring中的bean默认是单例;线程池;单例的优点:...
2019-09-11 16:39:41 542 2
原创 java设计模式-动态代理模式(三)
我们根据加载被代理类的时机不同,将代理分为静态代理和动态代理。如果我们在代码编译时就确定了被代理的类是哪一个,那么就可以直接使用静态代理;如果不能确定,那么可以使用类的动态加载机制,在代码运行期间加载被代理的类这就是动态代理,比如RPC框架和Spring AOP机制动态代理的好处我们从例子就能看出来,它比较灵活,可以在运行的时候才切入改变类的方法,而不需要预先定义它。使用过mybatis的...
2019-09-11 11:02:14 150 2
原创 java设计模式-代理模式(二)
Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,其目的就是为其他对象提供一个代理以控制对某个对象的访问。为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。从而在设计上获得了更大的灵活性 如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目标对象功能的特点也为...
2019-09-10 16:09:51 162
原创 java设计模式-策略模式(一)
基于springboot环境下开发,springboot环境搭建想必大家早已熟悉。官方解释:在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法聪明的你看完是否一脸懵逼吧?说实话反...
2019-08-15 15:11:28 784
原创 logstash采集日志
logstash主要用来采集分布式及微服务系统日志,从而对日志进行统一管理分析检索。下载https://www.elastic.co/cn/downloads/logstash,根据自己系统对应下载(linux建议使用TAR.GZ,win系使用zip)笔者使用windows下载后,解压。1.采集控制台接收输入,并输出控制台。进入config目录新建console2console.conf...
2019-07-19 10:41:35 10026
原创 springcloud组件系列学习
我们都知道springcloud是又springboot下的各个组件组合起来的一整套微服务解决方案。适用搭建大型分布式系统。eureka–注册中心ribbon–客户端负载均衡调用feign–系统间远程调用hystrix --熔断器降级zuul --网关zk --使用zookeeper作为注册中心springboot-admin --服务监控管理rabbitmq 消息队列dubb...
2019-06-26 11:11:05 6240
原创 java RSA公钥加密私钥解密
RSA非对称加密原理此处不是重点,麻烦读者自行了解哦。如果了解了RSA,你就知道为什么要用公钥加密,私钥解密(不懂私聊哦),下面是RSA加解密例子,RSA加解密算法有好多种,这是常见也是比较简单的一种。package com.alipay;import cn.paypalm.commons.util.Logger;import cn.paypalm.commons.util.LoggerF...
2019-06-26 10:51:38 14707 2
原创 阿里sentinel-dashboard控制台实时监控持久化并用grafana可视化
使用过阿里sentinel-dashboard的童鞋们都知道控制台里默认的实时流量监控数据只保留5分钟(在内存中)。阿里sentinel官网地址(https://github.com/alibaba/Sentinel),如图所以想查历史流量情况就不行,需要将监控数据持久化。参考https://www.cnblogs.com/cdfive2018/p/9914838.html博客,他里面有段代...
2019-06-20 17:51:42 12415
原创 disconf的入门使用
刚学习这个,网上资料都说的不详细,遇到不少坑。两天这能终于可以了,贴出来供大家参考。 依赖的软件,mysql,redis,tomcat,zookeeper 一。github上下载源码:https://github.com/knightliao/disconf 自己编译打包(默认采用nginx动静分离比较麻烦),读者可直接下载简化的可直接部署的包,https://download.csdn.ne...
2018-06-21 13:45:41 7042
原创 windows下mysql主从复制配置
一、安装两个mysql实例读者自行安装(如果安装到同一服务器上,注意mysql端口不能一致),如图是我安装的两个服务 MySQL主,mysqlslave从: 二、配置主库 1.停止主mysql:net stop mysql 2.主库里my.ini文件[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#设置330...
2018-05-25 11:38:43 18478 9
原创 Java纯后台分页
常见的分页场景大多是网页上的分页,点一次请求分页查询一次。有时候可能需求:后台一次请求查询多次分页: 实现方式1:int start = 0;//开始记录索引位置int pageSize = 100;//页大小(每页显示条数即一次查询多少条数据)List<User> listDatas;while ((listDatas = userDao.findPageData(p...
2018-04-10 21:26:50 7148 1
原创 layer弹出层扩展主题
弹出层插件layer确实很强大,官方提供主题太少,但是提供扩展的方式,由于项目使用统一颜色风格,就想扩展一下。官方默认的三种: 1.白蓝(默认) layer.alert('内容');//默认2.墨绿 layer.alert('内容', { icon: 1, skin: 'layui-layer-molv'})3.深蓝 layer.alert('内容'...
2018-02-08 18:11:43 16744
原创 Hystrix限流,熔断,降级入门
概念: 限流:比如我们的web系统所能承受的最大并发是500,但是在搞活动时人流量相当大,并发就可能超过我们系统的承受量,从而把系统搞崩。此时可以设置流量达到450时拒绝服务,保护系统。但是这并不友好。 熔断:服务熔断一般是指软件系统中,由于某些原因使得服务出现了过载现象,为防止造成整个重点内容系统故障,从而采用的一种保护措施,所以很多地方把熔断亦称为过载保护. 降级:当服务熔断后,快速响应
2018-01-11 18:53:30 5040
原创 用队列ConcurrentLinkedQueue模拟生产者和消费者
用队列ConcurrentLinkedQueue模拟生产者和消费者package com.queue;import java.util.Queue;import java.util.UUID;import java.util.concurrent.ConcurrentLinkedQueue;/** * Created by lifeng * 2017/12/20 10:15 */publ
2017-12-20 11:17:32 1337
原创 springmvc或者springboot整合swagger
Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件或插件。是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。方便接口调用者查看调试,开发者不用自己写个文档。 使用方法: 1.maven引入依赖:<dependency> <groupId>com.mangofactory</groupId> <artifactId
2017-12-12 14:02:25 673
原创 pom中属性动态替换resources的占位符
多环境时,pom中属性动态替换resources的占位符1.pom.xml需如下配置: build> finalName>webdemofinalName> resources> resource> directory>src/main/resourcesdirectory> filtering>truefiltering>
2017-06-16 15:49:03 1453 1
原创 一步一步学springboot (十三)集成dubbo
1.用maven管理依赖排除dubbo对spring的依赖 com.alibaba dubbo 2.5.3 org.springframework spring
2017-06-12 21:26:32 397
原创 一步一步学springboot (十二)不继承springboot父工程
公司有一套自己的parent POM,用以统一各系统的依赖,所以就不方便采用Spring Boot的继承方式了 com.lifeng.springboot springboot-myparent 0.0.1-SNAPSHOT springboot-three springboot-three org.spri
2017-06-05 22:55:33 3953
原创 一步一步学springboot (五)打包成标准的web工程war包可独立部署到tomcat或weblogic
打包成标准的web工程war包可独立部署到tomcat或weblogic
2017-05-06 19:36:38 1949
原创 一步一步学springboot (三)使用jsp页面(视图)
springboot的Controller使用起来和springmvc一样。所以springmvc能做的事情都能做。下面我们一起配置一下使用jsp视图。1.在pom,xml中添加依赖jar: org.apache.tomcat.embed tomcat-embed-jasper provided
2017-04-24 22:39:48 485 1
原创 一步一步学springboot (二)打包jar并发布到服务器
上一篇中提到在IDE中启动main方法即可。但是在实际生产环境中这样就极其不方便,得将程序打包成可运行的jar包发布到服务器。下面我们用eclipsezhong
2017-04-24 22:03:09 543
原创 一步一步学springboot 一
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。。。。哈哈,springboot的好处我就不扯淡了,读者可自行百度
2017-04-23 23:12:05 1200
翻译 iReport中产生二维条码(zxing)
最近项目需要,要在产生的报表中添加二维码,便于日后的数据追踪和数据保密,本来没有一点头绪,后来才发现原来iReport中自带了生成条码的功能,于是便试了试,结果发现,内置的Barbecue和barcode4j没有支持QR Code的功能,而且生成的PDF417,barcode4j会报错,barbecue生成的则压扁在一起,怎么调整都没用,只能生成一维条码;于是便陷入了困境,便使劲的百度
2016-12-09 18:00:36 6176 1
原创 java http请求的服务端和客户端
java基于URLConnection进行http请求:servlet服务端例子: 接收请求的方式1: 这种方式数据量大的话可能有问题,具体原因还为查清。 OutputStream opt = response.getOutputStream(); String name = request.getParameter(
2016-11-18 17:55:13 1434
原创 java客户端动态调用webservice服务
之前调用webservice服务一直用jdk或者eclipse快速生成客户端代码,这种方式实现起来也比较容易,据说这种方法执行效率也是最好的(动态调用也会动态生成客户端代码)。但是我最近在项目发现这种方式存在一个严重的弊端,那就是当服务端有修改或变动,客户端代码都得重新生成。特别是别人提供的服务端有生产环境和测试环境切换,导致客户端本地代码就得重新生成。所以我就寻思不用生成客户端代码,通过地址动态
2016-09-28 14:35:20 12612 3
原创 velocity把字符串当做模板
velocity把字符串当做模板方式一:(这种方式网上有很多)public static void main(String[] args) throws Exception { // 初始化并取得Velocity引擎 VelocityEngine ve = new VelocityEngine(); ve.init(); // 取得velocity的模版内容, 模
2016-09-14 17:52:48 5397 1
原创 获取spring中的ApplicationContext最简单的方式
网上有很多方式获取ApplicationContext,但是实现都很麻烦。我在找了很久找到这种方式,so easy!(web中获取)import java.util.List;import javax.servlet.ServletContext;import org.activiti.engine.delegate.DelegateTask;import org.activiti.
2016-07-08 11:25:57 560
原创 spring整合cxf实现webservice发布
1.用maven引入相关jar包 org.springframework spring-webmvc 3.2.6.RELEASE org.springframework spring-orm 3.2.6.RELEASE org.apache.cxf cxf-rt-frontend-jaxws 3.0.2 org.apache.cxf cxf-rt-tra
2016-07-07 21:34:49 413
翻译 oracle里存储函数将金额数字转换成大写
CREATE OR REPLACE FUNCTION NUMBER_TO_CHINESE(P_NUM IN NUMBER DEFAULT NULL) RETURN NVARCHAR2 IS /*Ver:1.0 Created By xsb on 2003-8-18 For: 将金额数字(单位元)转换为大写(采用从低至高算法) 数字整数部分不得超过16位,可以是负数。
2016-06-17 15:18:31 4617 2
复杂xml解析成对象
2016-09-27
上网聊天室
2013-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人