自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

臣本布衣,躬耕于南阳

优哉游哉,乐悠悠

原创 值得推荐的Idea十几大优秀插件

最近,闲来无事,为了改变一下枯燥的编程环境,特地搜寻了下有助提升代码功力的插件,够装逼,够狂,拽,屌~ 绚丽的画面,多彩的跳动,让你区别其他程序猿。产品,测试,开发看到你的界面,眼睛都会发光~ 算了,我实在是编不下去,自己去体验吧~PS:☆ 半星★ 一星 主要是以狂拽屌指数来排名12、Stackoverflow这个插件其实是最实用的插件,程序猿遇到的问题...

2020-04-09 09:44:29 214753 38

原创 MyCAT实现MySQL的读写分离、主从切换、分库分表

在进行mycat的读写分离,主从切换操作之前,需要先进行mysql的主从复制,详情请参考此处,请戳我~ 接下来在参考网上资料和自己动手实践的基础上,给出mycat的操作过程,希望能帮到大家~第一步 Mycat或者Mycat-eye(非必需)安装 Mycat-eye是一款可视化的Mycat web管理工具,Mycat或者Mycat-eye下载官网地址:http:...

2019-04-25 18:32:35 469

原创 MySQL的主从同步

下面就针对mysql的主从同步做一总结性梳理,有些内容是从官网或者其他人博客里面找来的,有些是根据自己本地测试总结的。如有部分纰漏,烦请告知,同时,也作为学习笔记。Mysql安装及主从复制部署(Master和salve两台机器上操作),操作环境均为Centos 7 安装Mysql,安装过程要在两个Mysql节点机器上都要操作。安装过程参考:请戳我~。里面详细介绍m...

2019-04-24 18:01:42 141

原创 log4j配置打印mybatis sql语句

在开发的过程中为了能够显示sql语句以此来跟踪mybatis的的操作,虽然网络上的配置都是轻轻的一句话概括之,但是按照他们的方法一一试之,都是毫无效果,各种煎熬相比遇到相似问题的朋友应该有此感受。为了让大家能够少走弯路,现将自己的心得分享给大家,欢迎交流哦~我们现在分几种情况处理: 1、此种情况只出现mybatis使用,无其他的包介入(如spring等,因为有些包会...

2016-07-24 16:41:06 36645 7

原创 shiro url和过滤器处理功能

1、PathMatchingFilterPathMatchingFilter提供了基于Ant风格的请求路径匹配功能及拦截器参数解析的功能,如“roles[admin,user]”自动根据“,”分割解析到一个路径参数配置并绑定到相应的路径:booleanpathsMatch(Stringpath,ServletRequestrequest)booleanonPreHandl...

2016-03-09 13:13:34 7340 2

原创 shiro中多用户的登陆页面(multiple login pages)配置

<bean id="membersAuthc" class="org.apache.shiro.web.filter.authc.FormAuthenticationFilter"> <property name="loginUrl" value="${frontPath}/loginl" /> <property name="successU...

2016-03-08 15:01:59 13639 16

原创 Spring boot dubbo多注册中心配置

最近旁边同事想要把基于xml配置的非Spring boot dubbo项目转换成spring boot dubbo项目,但是,在转化的过程中,一直发生No such application config! Please add <dubbo:application name="..." /> to your spring config如上错误,经过自己的多次整理和重试,总结了如下的处...

2019-09-03 15:58:10 1412

转载 Java线程池中的线程被重复利用的惊天大秘密

在Java开发中,经常需要创建线程去执行一些任务,实现起来也非常方便,但如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。此时,我们很自然会想到使用线程池来解决这个问题。使用线程池的好处: 1、降低资源消耗。java中所有的池化技术都有一个好处,就是通过复用池中的对...

2019-08-15 10:08:22 267

原创 版本号解释

版本号,顾名思义,系统、架包、软件的标识号。版本号的数字信息通俗易懂,格式:主版本号+次版本+(修正版本号build-可选)+(编译版本号-可选)+英文常见号(重点)。常见号:英文各种架包名,Maven的依赖,官网API时,常见,GA、SNAP-SHOT、RELEASE、ALPHA、BETA、RC等版本号。Alpha、Beta、Gamma版本以下三者,在系统、架包、软件的开发过程中,...

2019-08-02 17:36:26 187

原创 Intelij Idea远程调试Tomcat配置

是否经常听到,“我本地是好的”,但是一到测试环境就发现不行,还有部分和第三方合作调试环境下只能连接测试环境的,这一切,貌似可以查看日志得以解决,但是,对于比较复杂的业务来说,日志已经满足不了需求,这个时候需要迫切debug来追踪下解决,基于此,才诞生了本文的目的,就是希望能够本地调试测试环境。那我们如何能做到呢? 1、服务端Tomcat设置(以Linux环境为例)...

2019-07-23 14:29:42 124

原创 Spring Xml配置文件xsd和dtd头部详解

最近在品读mybatis源码的时候,发现以前做项目的时候,所有xml配置文件一直都是直接从一个项目中拷贝到另一个项目中,配置文件的头部也不知道干嘛用的,感觉可有可无,当debug追踪Spring IOC加载sqlsessionFactory的时候,发现这个文件头部是用来检查xml的,随着Spring等相关版本升高,原先的功能有遗弃的,有新增的,在按照往常的拷贝,势必会留下隐患。本文将...

2019-06-12 17:01:26 1174

原创 Spring各种上下文的关系详解

要想很好理解这三个上下文的关系,可以Debug追踪源码加深自己的理解。这对于解决出现的问题和需要仿写类似的框架提供了很多的思路。最近发现去品读源码,对于框架有了更深的理解和解决了做项目期间遗留的种种疑惑。Spring的启动过程: 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后...

2019-06-11 16:39:23 1211 1

转载 [强烈推荐]SpringMVC源码分析

此篇文章比较详细的从源码的角度去分析Spring MVC的运行机制,阅读过后受益匪浅,可以结合自己追踪Spring源代码去理解效果更好,基本能把Spring MVC的请求处理过程串联起来,对自己仿写类似的web框架提供了宝贵的经验和动力,希望和大家一起成长。ps:该博客转载自http://www.cnblogs.com/heavenyes/p/3905844.html【基于源码3.1...

2019-05-29 17:32:58 5707 9

原创 Mysql优化器

Mysql在执行时,并不一定就会按照我们写的顺序执行,同时也不需要我们人为的从左到右的安排where后面的条件,mysql优化器会重写sql,如何才能看到mysql优化器重写后的sql呢?此时需要参考explain extended和show warnings这两个命令啦。explain extended sql语句,然后show warnings查看。explain exten...

2019-05-13 15:20:19 1054

原创 索引使用策略及优化

MySQL的优化主要分为结构优化(Scheme optimization)和查询优化(Query optimization)。本章讨论的高性能索引策略主要属于结构优化范畴。本章的内容完全基于上文的理论基础,实际上一旦理解了索引背后的机制,那么选择高性能的策略就变成了纯粹的推理,并且可以理解这些策略背后的逻辑。联合索引及最左前缀原理联合索引(复合索引)首先介绍一下联合索引。联合索引其实很简...

2019-05-07 17:24:43 128

转载 巧用jax-rs之jersey实现不确定数量、多类型文件批量一次上传接口

大家都知道我们在处理网络请求的时候一般分为两种:普通表单 multipart/formdata表单这两种表单在html上的区别很直接,前者不需要修饰,后者需要enctype="multipart/form-data" 这一个属性来修饰所在的html。但是如果我们的html中的表单提交被js(jquery)所代劳了,那么jquery内部是很聪明的,即使你没有用multipart/form...

2019-04-30 15:52:42 2585

原创 Jmeter简单并发测试

Jmeter是一款比较容易使用的性能测试工具,尤其在并发压测这块使用的比较多,最近有相应的需求,所以简单地介绍下这个工具的使用。1、安装Jmeter JMeter是100%纯java应用程序,它在任何支持完整java实现的系统上都能正常运行。所以在此之前请确保安装JDK,另外JDK和所下载的Jmeter对应的版本需要一致,否则可能有兼容问题。如不知道JDK安装过程...

2019-04-18 12:08:13 1759 6

原创 随笔小谈:开发是否需要有产品思维

本人从事开发已经有几年啦,身边或多或少都有开发能力不一的同事,和他们共事也有不同的体验。不知道大家的感观呢?是沟通障碍还是能力不行? 直到某一天和产品沟通跨部门需求时发现,开发是不是也需要有产品思维呢?跨部门的开发一昧的要求我们提供这样的数据,删除那样的数据,排除一些数据,后面发现自己处理一些显示数据的时候,发现数据不够用或者要错了,就一直要求他们产品更改需求,甚...

2019-04-17 11:10:31 185

原创 Mysql explain基础学习

EXPLAIN列的解释table 显示这一行的数据是关于哪张表的type 这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALLpossible_keys 显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域...

2019-04-15 10:50:25 93

原创 okhttp同步异步请求工具

package com.tairanchina.common.util;import com.squareup.okhttp.Callback;import com.squareup.okhttp.MediaType;import com.squareup.okhttp.OkHttpClient;import com.squareup.okhttp.Request;import co...

2019-01-18 15:55:52 271

原创 定时器concurrent属性简单介绍

将任务的Trigger设置为每10秒钟执行一次,然后在执行的任务体内让Thread暂停15秒钟,这样不同的job之间肯定会有时间上的重叠。当启动程序之后,发现前一个job执行结束的时刻的秒数为15,而且第二个本来在10s就执行的job马上就启动了。由此可见,concurrent属性实际是将job推迟执行了。 本文说不同job不够准确,而且会引起歧义,以为是另一个定时任务,准确的说...

2019-01-18 15:49:03 958

原创 单元测试快速自定义生成---开发者的福音

作为一个开发者,越发觉得单元测试是必须的,至于单元测试是由开发编写还是测试编写,我觉得还得看公司的技术氛围。有一个好的编写单元测试习惯的开发者,代码质量肯定是很好的,可以随时校验自己开发和改写接口的快速检查工具。也避免了测试提的bug多而影响个人绩效(有些公司把bug计入考核范围内)。而作为开发者又不想过多花费时间在单元测试中(毕竟一般开发很忙的),所以本文提供了一种快速自定义的生成...

2018-12-17 11:50:58 8082

原创 Intelij Idea Java tomcat的热部署模式

注意点: eclipse工具可以设置保存立即自动编译,但是Intelij Idea工具明确说明在running和debuging模式下是不会自动编译,必须手动调用 ctrl+shift + F9来触发更新。1、Tomcat debug热部署模式       将1,2设置成图示内容,1表示类文件和资源文件变动会触发热部署,2表示屏幕失去焦点时候,会触发热部署。但是你会发现这个热部署只能在deb...

2018-12-14 16:23:27 275

原创 Intelij idea svn服务器地址迁移

       当SVN服务器需要迁移或者个别项目修改名字的时候,对于大多数客户端下载的项目如果想要继续使用,要么重新cheakout,但是这样成功过高,本地拉取的代码都重复,而且有可能项目量很多或者很多,这无疑增加了开发者的工作量。本文将介绍两个种方法实现快速切换。1、Intelij idea工具实现切换svn路径在项目上右键,点击Subversion,弹出上图,然后点击update d...

2018-12-11 14:28:39 835

原创 开发规范性建议

个人开发一直都遵循着比较规范的开发规则,整体效果很不错,同事也说看本人开发的代码比较舒服(就当做夸奖啦)。主要参考阿里巴巴的开发手册、以前实习公司规范、各种框架源码。最终代码风格可能需要结合自己公司的业务来定型哦~现在本人分享阿里巴巴的开发手册,仅限于技术交流,不用于商业等途径。注意:会看各种源码很重要,重要是学习各种思路,会用但是不知其所然,终究不能说掌握,看过源码后一切都豁然开朗,...

2018-12-07 11:55:50 191

原创 Mysql字符串操作总结

一、字符串连接1、CONCAT(string1,string2,…)         说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULLSELECT CONCAT('1','2',NULL) FROM DUAL 结果返回NULL, SELECT CONCAT('1','2','3') FROM DUAL 运行结...

2018-12-04 14:31:31 228

原创 Java链表基本操作小总结

工作以来一直都忽略Java链表的简单编程,在自己简单的书写后,发现其实链表也蛮好理解的。再简单的数据结构也要自己手动敲敲,不然会反应迟钝的~package com.study.list;/** * @program: TwoReverseLinedList * @description: 两个节点反转 * @author: * @create: 2018-11-14 11:10...

2018-11-15 14:50:16 205

原创 亲身体验Intellij Idea从卡顿到顺畅

本人开发环境是16G内存,结合网络上的方法和自己亲身体验,总结出如下几条:1、 卸载/关闭不需要用的插件作为一个Java后端开发,前期不打算专注于前端知识,所以可以适当关闭前端插件,比如,对于一些默认安装的什么安卓的google的app,前端的JS框架 等插件可以卸载掉,项目中根本不用不到的一些框架----Struts,Hibernate,Ant等可以卸载。打开settings -》pl...

2018-11-05 18:32:13 26303 12

原创 RealVNC:Mac远程连接Window桌面

       有时候需要及时响应线上问题,而自己在外地或者在家里怎么办,不管是开车去公司还是走路去公司解决问题,这些都需要耗费时间和交通成本,关键是好不容易碰到一个双休日或者晚上下班时间。所以,有一种远程连接访问是必需的。分享下最近使用的远程连接工具VNC。1、首先先下载RealVNC软件:可以参考 https://jingyan.baidu.com/article/d2b1d102b85a8...

2018-11-05 14:01:33 2374

原创 类加载小笔记

在JVM中并不是一次性把所有的文件都加载到,而是一步一步的按照需要来加载。比如JVM启动时,会通过不同的类加载器加载不同的类。当用户在自己的代码中,需要某些额外的类时,再通过加载机制加载到JVM中,并且存放一段时间,便于频繁使用。说的通俗点就是,被调到的接口(首次调用)相关的类都会被加载到JVM中,没有调用的不会被JVM加载,按需加载~ 那什么叫类的加载呢类的加载...

2018-10-31 12:04:47 326

原创 mybatis异常:Could not find result map Java.util.Map 问题分析及解决

使用mybatis时,自己或者同事踩到的坑给大家分享下,有其他问题分享的同学欢迎交流~现象:编译未出现异常,调用相关服务时候,出现 Could not find result map Java.util.Map,不管调用mybatis update,delete,insert,get方法都是抛出类似的异常。分析:在这个基础上,Mapper.xml文件一般都是增量,不断新增功能,如果原先是好...

2018-04-18 16:26:45 3725

转载 LinkedList方法总结 ListIterator和Iterator的区别

LinkedList也像ArrayList一样实现了基本的接口,但是它执行某些从操作时比ArrayList更高效,但在随机访问方面要逊色一些。LinkedList中有一些方法虽然名字不同,但可以完成相同的操作,实现相同的功能,其中:1、getFirst()和element()完全一样,它们都返回列表的头(第一个元素),并且不移除它,若List为空,则抛出NoSunchElementExcep...

2017-12-18 09:21:07 1094

原创 Dubbo常见问题总结

官网前不久开始维护dubbo,让那些喜欢dubbo的朋友都喜出望外,这也足见dubbo这个rpc框架还是有一定市场的,笔者近期开发的项目中都在使用dubbo,而在开发的过程中或多或少都会遇到一些问题,为了能更快速和准确的定位问题(很多问题遇到多了,就会很熟练),笔者对近期遇到的问题进行了总结,希望能帮到大家。后续也会陆续更新解决的问题。1. 报错:java.lang.IllegalStateEx...

2017-09-28 19:25:47 1680

原创 SQL中的聚合函数使用总结

一般在书写sql的是时候很多时候会误将聚合函数放到where后面作为条件查询,事实证明这样是无法执行的,执行会报【此处不允许使用聚合函数】异常。为什么会报异常呢?其原因很简单:having放在group by 的后面 group by 后面只能放非聚合函数的列 where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使...

2017-09-13 23:40:27 22718

原创 @Transactional注解个人总结

@Transactional 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。虽然 @Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。另外, @Tr...

2017-09-11 10:28:37 629

原创 Java定时器的cron设置详解

这些星号由左到右按顺序代表 : * * * * * * *格式: [秒] [分] [小时] [日] [月] [周] [年]序号 说明 是否必填 允许填写的值 允许的通配符1 秒 是 0-59 , - * /2 分 是 0-59 ...

2017-09-06 17:36:32 11679

原创 Beyond Compare的文档比较工具的设置

Beyond Compare 是超好用文件对比工具 ,一般用来对文件的合并和对比,界面比较清爽,主要用于代码文件的版本合并,接下来主要介绍怎么设置打开文件对比器自动开启对比。1、设置 比较内容的类型2、设置需要过滤的文件目录和文件有了以上的两个配置基本能很好使用

2017-09-05 18:03:59 733

原创 Mycat跨数据库配置使用

需要的配置如下:<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://org.opencloudb/"> <!-- 逻辑库的配置 --> <schema name="win_test" c...

2017-08-17 15:10:29 818

原创 mongodb centos7安装详解

MongoDB一般运用的场景是对事物的要求性不高且对数据的写读取要求高的时候,一般使用的mongo可视化工具是robomongo工具。在某种程度上来讲,甚至可以把 MongoDB 当成是纯内存数据库来使用(Redis 风格)。下面将演示如何在centos7上安装mongodb。1、 进入到 /usr/local/ 目录(可以根据自己的需求自定义目录):cd /usr/local2、在当前...

2017-06-30 14:27:26 1100

原创 sql update操作数据更新成功,返回的影响行数是0

以前使用sql server, mysql时候,本能以为update操作返回的行数能判断对记录的操作结果,除了数据库异常,一般确实能反应操作的真实情况,但是,为何却出现update数据更新成功,反而返回影响行数为0的情况呢?以为可以判断返回值是否大于0来判断更新是否成功,但是,下面的两种情况均返回0: 1、没有找到需要更新的数据 ...

2017-06-24 10:32:16 38700 12

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