4 环游记

尚未进行身份认证

感觉到累的时候,可能正在走人生的上坡路!

等级
TA的排名 210

springboot项目生产环境禁用swagger

我也是百度的,只不过怕自己之后再次使用时还需要去查,就记录一下。建立类Swagger2Config,使用@Profile区分,配置文件中配置spring.profiles.active=dev,test表示在dev和test环境开启,prod环境不开启使用@ConditionalOnProperty,配置文件中配置swagger.enable=true表示开启swagger文档,再生产环...

2019-03-31 21:39:22

记一次日志优化引发的性能提升

背景阐述:1.程序中有统一的拦截,入参,出参,请求时间的日志打印2.接口是一个批量处理接口,一次传入200个id,然后循环处理业务,最终返回,业务接口是A循环调用B方法,其中B方法还会被一个调用量较高的接口调用,高峰期qps达到16003.在B方法中有三种处理方式,首先,从本地缓存取,取不到数据则从redis中取,从redis取不到再从DB中取,每一种方式都打印一行日志,因此无论命中哪...

2019-03-24 20:25:48

【2018.3-2018.9】年中总结:直挂云帆济沧海

1.回顾上一次总结2018年2月份给自己定下计划如下,回顾这半年,自己更加的成熟稳重了,自己的学习计划也在稳步进行中,计算机行业,发展真的是太迅速,一旦停下学习的脚步,想再追上趋势的步伐就太难咯,这半年也在不断丰富自己的技术栈,写博客的数量也比之前要多很多,半年时间读的大多是技术类书籍,之后要扩展一下自己的知识面:思考问题时,心胸开阔,处事不惊,落落大方将思想和技术都提高层次,认真落...

2018-08-29 10:32:47

List遍历,边查询边删除

1.在对集合遍历时边查询边执行添加或删除操作会报错:java.util.ConcurrentModificationException,原因是集合引用和迭代器引用在同时操作元素,通过集合获取到对应的迭代器后,在迭代中,进行集合引用的元素添加,迭代器并不知道,所以会出现异常情况ArrayList<Integer>list=newArrayList<Integer>...

2018-08-26 20:19:59

HashMap基础问题总结

1.前言2.导图总览3.参考文章4.HashMap5.ConcurrentHashMap6.hashmap线程不安全的原因7.如何判断一个链表有环8.判断两个单向链表是否相交,如果相交,求出交点。9.判断有环的链表入口点1.前言  近期看了一些HashMap方面的内容,主要对比的是1.7和1.8版本的,由于网上都有,我也是查阅了一些博客和技术公众号,特此将自...

2018-08-19 17:54:56

常用linux文件操作命令

1.开关机2.文件2.1查看文件夹下的文件2.2文件类型2.3创建文件夹2.4创建文件2.5删除指定名称目录2.6创建文件2.7删除文件2.7移动文件2.8copy文件3.目录操作3.1复制删除需要添加-r命令符4.查看文件内容5.查看历史命令6.重定向7.管道8.find命令1.开关机立即关机:shutdown-hnow...

2018-08-12 20:29:44

分布式事务几种实现方式

1.分布式事务产生的背景2.X/OpenDTP事务模型3.Mysql事务处理过程4.2PC协议5.3PC协议6.分布式事务的实现-atomikos7.MQ实现最终一致性7.1消息重复消费解决方案8.LCN实现1.分布式事务产生的背景根据业务需求需要对业务进行拆分,例如将一个大应用拆分成用户模块,订单模块,商品模块,每个模块都有自己的数据库,在用户...

2018-08-05 22:51:00

分布式锁原理及实现

[TOC]一、为什么需要锁?多任务环境任务都需要对同一共享资源进行写操作对资源的访问是互斥的二、分布式锁方案比较三、Redis实现分布式锁1.单个JVM下实现代码块加Synchronized锁或者Reentrantlock锁2.分布式下实现if(setnx(key,1)==1){expire(key,30)...

2018-08-05 22:49:32

maven工程打版本

一、打版本SNAPSHOT->RELEASE二、当前代码还原成SNAPSHOT版本一、打版本SNAPSHOT->RELEASE将项目中的所有SNAPSHOT更换为RELEASE①项目的根目录下执行命令:cmd—>mvnversions:set-DnewVersion=1.0.2(可替换成要打的版本)②确定无误后,将对应的jar...

2018-07-29 17:37:23

登录功能:md5加密与分布式Session

1.依赖jar包<!--md5工具类--><dependency><groupId>commons-codec</groupId><artifactId&gt

2018-07-16 11:56:35

不忘“七七”

2018年7月7日,听到楼下防空警报的声音,自己又一次的查阅了七七事变及南京大屠杀相关资料,1937年7月7日晚,日军借口一名士兵失踪而要求进入中国守军驻地宛平城搜查,遭到拒绝后,以“不让搜索将以武力强行进程搜查”威胁冀当局,最终冀当局同意搜索,但是7月8日,日军突然发动攻击,就此打响了中华民族保卫战。不忘“七七“,铭记国人团结起来的强大力量,当时的中国工业几乎为零,经济落后,武器都需要进口,而当...

2018-07-13 23:34:36

jemeter的使用

1.创建线程组设置多少个并发线程,如何并发,执行几次2.配置元件—>HTTP请求默认值这里配置整个压测过程中的默认值,在这里配置了,在之后的配置项中就不需要配置了3.新建一个Sampler—>HTTP请求设置请求的方法路径4....

2018-07-13 23:04:07

SSM框架搭建(三)--整合p6spy

描述普通情况下,控制台打印出的sql是带?的,开发人员在自己调试的过程中遇到bug是再常见不过了,如果想看一下程序打出来的sql,发现参数的位置都是?,是不是很不爽,若想在数据库中执行sql,还需要手动修改sql的参数,真是麻烦,使用p6spy可以将sql格式化然后打出,打出的sql不再是带有?的,而是可以直接拷贝到数据库执行的。整合步骤如下:添加jar包依赖在service层...

2018-07-09 20:52:18

SSM框架搭建(二)--整合swagger

描述用的多的简单方式是使用postman进行接口测试,这种测试需要开发人员自己输入url,参数等信息,使用swagger项目启动后通过swagger界面就可直接看到对应的controller及其下的接口,例如一些需要输入某个实体的参数直接就给出了model,只需要修改参数即可测试,方便,快捷。添加jar包依赖在web层的pom文件中添加swagger的jar包依赖&lt...

2018-07-09 16:20:48

SSM框架搭建(一)--整合mybatis,druid,dubbo

建立maven工程-zh-plat为项目名称-zh-root为管理jar的工程-zh-tool为项目中公共用到的工具类添加jar包依赖1.日志相关slf4j-apislf4j-log4j12log4j2.web层相关依赖:spring相关spring-web(@Controller)spring-context(@Req...

2018-07-09 15:55:25

安装新版git报错:autoconf: command not found

1.下载gitwgethttps://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz2.执行安装$tar-zxfgit-2.9.5.tar.gz$cdgit-2.0.0$makeconfigure$./configure--prefix=/usr$make...

2018-07-07 09:46:28

Spring MVC上传

简述项目中上传和下载是非常常见的功能,如果项目中使用的是SpringMVC,那么实现上传和下载真是很简单咯。上传1.添加相关jar包的依赖<dependency><groupId>org.springframework</groupId><artifactId&

2018-07-03 10:26:09

Spring MVC从浏览器访问到返回到页面的流程

概念简述SpringMVC是一个模型-视图-控制器(MVC)的Web框架建立在中央前端控制器servlet(DispatcherServlet),它负责发送每个请求到合适的处理程序,使用视图来最终返回响应结果。SpringMVC项目想要正常运行就需要有一个前端控制器(DispatcherServlet),需要在web.xml中进行配置,其他的例如,处理器映射器,处理器适配器和视图解析器...

2018-07-02 17:00:31

Spring事务管理(详解+实例)

本篇博文转自:https://blog.csdn.net/trigl/article/details/50968079#t11写这篇博客之前我首先读了《Springinaction》,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下...

2018-06-27 15:38:39

Spring的静态代理与动态代理

简述AOP是可以横向扩展功能的,能够在不修改原来代码的前提下实现功能扩展,AOP的实现原理即是动态代理+反射。为什么要使用代理1.什么是代理  代理即是将被代理对象进一步封装后,隐藏被代理对象,在不修改被代理对象代码的前提下完成一些额外的处理。2.场景描述  有一个BookService类,其中有一个add方法,现在想在执行hello方法之前打印一句话,例如是打印”...

2018-06-26 23:34:00

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!