自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

通往架构师之路

当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。

  • 博客(123)
  • 资源 (27)
  • 问答 (3)
  • 收藏
  • 关注

原创 visio导出pdf文件不完整

visio导出pdf文件不完整

2022-07-07 10:53:40 6642 1

原创 发现csdn一个bug

粉丝数竟然都变成了0,大家来说说,如果一个项目上线了,出现这种很明显的bug,是测试人员负责呢还是开发人员负责?

2021-12-17 10:25:57 356

原创 mybatis if test判断BigDecimal遇到的坑

<update id="test" parameterType="cn.test.Demo"> update test <trim prefix="set" suffixOverrides=","> <if test="bigDecimalValue != null and bigDecimalValue != ''"> bigDecimal_value = #{bigDec...

2021-12-16 17:35:41 1895 2

原创 java.lang.IllegalArgumentException: Comparison method violates its general contract

排序遇到一个异常2021-11-24 10:42:01.185 ERROR 39804 --- [pool-9-thread-8] c.s.guns.modular.api.EnterpriseApi : --- java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(TimSort.java:899) ...

2021-11-24 10:50:16 432

原创 mysql 根据某个字段的一部分来分组

1.数据长这个样子,test表有2个字段,id和name,根据name来分组,name前面一段相同,后面的序号不同,这种算一组数据。2.分完组是这个样子3.sqlSELECT LEFT ( a.name, ( IF ( char_length(a.name) - char_length( SUBSTRING_INDEX(a.name, '-', - 1) ) = 0, char_length(a.name), char_l..

2021-10-09 18:03:15 3031

原创 封装StringBuffer连接多个字符,并去掉最后一个分隔符

/** * 连接多个字符串,并用split字符分割,返回结果去掉字符最后面的split字符 * @param split * @param values * @return */ public static String joinString(String split, String... values) { StringBuffer result = new StringBuffer(); for (String value : values) { result.a..

2021-08-29 11:59:12 507

原创 JTA transaction unexpectedly rolled back (maybe due to a timeout)

造成这个异常的原因是在方法上加了事务标签@Transactional,这个标签,默认的超时时间是5秒钟,如果这个方法执行的时间超过了5秒,就会报这个异常。 org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackE

2021-08-02 20:07:35 5955

原创 阿里云对象储存oss报Unable to build cipher: Illegal key size

今天在使用阿里的oss上传加密文件一直报Unable to build cipher: Illegal key size这个异常,网上也找不到完全一样的情况,后来看到一篇《微信 AES 解密报错 Illegal key size 三种解决办法》,和我遇到的问题有点类似,大致原因就是在jdk1.8.0_161-b12这个版本之前,默认使用的是限制的加密算法,只支持 128位,所以要么改成不限制加密算法,要么升级jdk。解决过程挺简单的,一看就懂,这里只是记录一下。把unlimited目录下的2个包覆盖到l

2021-07-20 14:49:44 313

原创 字符串类型的list转字符串

/** * 字符串类型的list转成字符 * @param list * @return */ public String list2String(List<String> list) { StringBuffer sb = new StringBuffer(); if (list != null && list.size() > 0) { list.forEach(o -> sb.append(o)); } return ..

2021-07-16 15:04:06 239

原创 com.jcraft.jsch.ChannelSftp 上传特殊字符报异常问题的调查

最近一个项目用到sftp上传文件的功能,发现其中上传包含“*”星号的文件就会抛一个SftpException异常,而且抛出的异常也没什么说明。本以为windows系统不支持特殊字符导致的,后来部署到linux上问题依旧存在,看来只能研究下源代码了。打开com.jcraft.jsch.ChannelSftp这个类,定位到抛异常的地方,里面有一句代码if(isPattern(dst)) throw new SftpException(SSH_FX_FAILURE, dst);看来就是..

2020-12-21 15:11:28 2065

原创 验证文件的常用方法

最近在做一个文件备份的项目,服务器是Linux的,我一开始是用md5来验证文件是否发生变化,但奈何客户那边说md5他们不允许用,那只好换一种方法啦。其实linux下验证文件的方式除了md5还有hash校验,命令如下sha1sum、sha224sum、sha256sum、sha512sum[root]# sha1sum test.txt356a192b7913b04c54574d18c28d46e6395428ab test.txt[root]# md5sum test.txtc4

2020-11-25 12:01:23 1844

原创 通过js来获取上传文件的md5值

业务背景:最近有个项目要做文件的备份,备份有全备和增备,而增备的话需要比较文件的md5来判断文件是否发生了变化,所以我想到了在上传文件的时候先获取文件的md5和数据库中旧文件的md5来作比较。调查了一下,发现有个叫browser-md5-file的js库可以很方便实现这个功能,而且支持各种浏览器,下载地址下面直接上代码1.第一步先引入js文件<script src="js/browser-md5-file.min.js"></script>2.第二步绑..

2020-11-05 10:37:59 3699

原创 java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0

今天用mybatis-generator生成代码的时候,报了java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 52.0这个错,查了原因之后原来是因为之前的项目用的java1.7的版本,而我用的数据库驱动是要java1.8版本才支持,所以改了一下版本后,问题就解决了,记录一下。...

2020-10-24 11:27:08 675

原创 Sftp下载在页面上显示进度

业务需求是这样的,从一个服务器下载文件到本地,但有时候文件很大,需要查看下载的进度。这里只提供一下思路,有问题的可以留言交流。1.项目用的是ssm架构(springboot+spring+mybatis)2.sftp用到的是jsch这个包3.下载的时候用ajax来请求,因为ajax的success回调函数只有在请求结束的时候才能调用,所以无法实时监控下载的情况。4.想到通过ajax的beforeSend这个回调函数来增加一个监控线程,设定一个setInterval,每隔1秒请求后台来.

2020-10-20 18:39:10 1345 2

原创 java连接sftp遇到的坑

java连接sftp用到的jar包,一般都是选jsch,最近有个项目需要用到这个,于是把之前有相同功能的模块移植过来,但在连接sftp的时候一直报以下异常com.jcraft.jsch.JSchException:Session.connect:java.io.IOException:End of IO Stream Read百度了一个下午,要么说是java版本问题,要么就是jsch,来回折腾了很久,问题还是在,总之就是在以下2个异常之间徘徊com.jcraft.jsch.JSch..

2020-10-15 11:08:25 5151 1

原创 apache设置不同域名访问同一ip的不同目录

需求:2个项目部署在一台服务器上的不同目录,比如A项目部署在rootA目录,B项目部署在rooB目录,现在访问testA.com跳转到rootA目录,访问testB.com跳转到rootB目录网上的说法是设置httpd.conf,增加一个VirtualHost标签,于是我照着配置了,如下<VirtualHost *:80> DocumentRoot /yjdata/www/rootA ServerName testA.com</VirtualHost>&l.

2020-09-10 15:26:38 1159

原创 eclipse插件jseclipse的离线安装

最近换了一个版本的eclipse,有些插件需要重新安装,jseclipse是eclipse对javascript编辑的插件,发现eclipse marketplace已经找不到它了,于是从网上下载一个离线版本的安装(下载地址),遇到有些坑,记录一下。1.下载完后把压缩包解压到一个目录。2.点击help -> install new software点击add,选择local设置刚才解压的目录3.接下来有一个坑的地方,需要把下图那个红框标注的复选框去掉,不然会联网更新,如果网络不好的话会

2020-08-12 13:26:42 1188

原创 eclipse使用mybatis时,xml没有提示标签信息

eclipse使用mybatis时,xml没有提示标签信息,就是按alt+/的时候应该出现以下画面,但是没有出现提示信息百度了一下,其实这个问题很好解决,但就是有很多人写了一些误导别人的文章,导致增加了大家解决问题的时间成本。我自己整理了一下,亲测可用1.首先下载mybatis-3-mapper.dtd(下载地址)这个文件(我在一篇文章里看到说要用mybatis-3-config.dtd这个文件,让我掉进坑里,浪费了一些时间)。下载完后放到随便一个目录里,比如D:\doc\mybatis-3

2020-08-06 17:04:54 768

原创 今天用mybatis又掉进坑里了(插入数据后获取最大的主键值)

很久没有用“插入数据后获取最大的主键值”这个功能了,有点忘记,于是翻看笔记,关键点就是下面这段<insert id="add" parameterType="cn.test.Question" keyProperty="id"> <selectKey keyProperty='id' resultType='long' order='AFTER' > select LAST_INSERT_ID(); </selectKey>省略...</i

2020-08-03 17:03:56 954

原创 后台管理框架Guns在eclipse里的使用

1.下载Guns2.导入maven项目3.选择Guns-master4.修改一下application.yml5.修改application-local.yml,配置mysql6.运行一下sql脚本,在数据库中建立基本表7.启动项目8.浏览器访问...

2020-07-21 10:47:55 392

原创 代码混淆ProGuard,研究了2天终于成功,记录一下

1.业务需求公司有块核心代码不希望给别人抄袭,但系统是用java开发的,无法避免被反编译的情况,于是想到了用代码混淆的方式来解决。2.调查调查了一下主流的第三方混淆工具,发现只有ProGuard用的最多,而且版本一直在更新维护,功能也比较多,所以打算用这个来混淆。3.下载了proguard6.2.2这个版本,解压缩后执行proguard6.2.2\bin\proguardgui.bat这个文件就可以打开软件,标红框的地方是需要特别设置的,其他地方都可以默认4.设置Input.

2020-06-24 11:10:20 14390 12

原创 实现dubbo的Filter接口,如何注入spring容器里的bean

最近项目里用到dubbo的filter来做一些预处理的业务,但发现继承了Filter接口的类,无法通过@Autowired或者@Resource来注入spring容器里的对象,比如有个TestService,可以通过下面两种方式注入进来1.dubbo通过setter方式自动注入 private TestService testService; public void setTestService(TestService testService) { this.testService =

2020-06-15 10:16:22 3843 1

原创 sql语句中,双竖线“||”遇到的坑

1.业务背景以前的一个项目是用oracle做的,现在改成maria数据库,orm用的是mybatis2.遇到的问题本以为换个数据库只要改些配置就行了,没想到遇到一个like语句的问题,无论条件传入什么,返回的是全部的值sql是这样写的 <if test="name!= null and name!= ''"> and name like '%'||#{name}||'%' </if>3.调查结果原来双竖线“||”在ora.

2020-06-08 16:34:34 10309

原创 通过配置xml或者注解的方式来使用dubbo的filter

最近在研究dubbo的权限验证功能,这里要用到dubbo的filter,于是在网上查询有关资料,但各种版本的都有,遇到很多坑,比如通过注解@Activate的方式来实现激活条件和时机(下面这段表示如果方法是服务提供者,就会先激活filter,等执行完filter以后才执行后面被调用的服务方法)@Activate(group = "provider")public class TestDubboFilter implements Filter { @Override public Resul

2020-06-05 10:58:14 983

原创 dubbo ReferenceConfigCache缓存导致获取的服务是同一个

1.业务背景有2个不同区域的zookeeper,工程需要调用一个zookeeper的服务,然后再调用另外一个zookeeper,这2个服务的名字是一样的,但因为在不同的注册中心,所以不会冲突。2.设计方案消费者端通过动态设置ReferenceConfig的方式来获取不同区域的zookeeper中的服务3. 我写了一个DubboUtils来根据参数动态的获取服务,为了性能我还加入了ReferenceConfigCache 来作为缓存,代码如下public class DubboU

2020-05-26 14:20:46 3815 6

原创 通过mybatis-plus来进行物理分页的总结

使用mybatis-plus的分页功能需要以下步骤1.pom.xml添加dependency2.增加PaginationInterceptor3.设置sqlSessionFactory4.自定义mapper方法直接上代码1.我用的是springboot结合mybatis-plus,pom.xml如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001...

2020-05-18 13:55:27 2732 1

原创 html2canvas遇到的坑,图片模糊,报Error loading image

最近业务上遇到需要把div的内容生成图片,查了一下,比较好的js插件是html2canvas,用下来也确实比较简单,但遇到一些坑,比如生成的图片比较模糊,或者报Error loading image1.一开始用的0.5.0-beta4的版本,生成的图片很模糊,网上一大堆解决方案,但其实只要用新一点的版本就能解决问题。2.于是我找了最新的版本下载地址v1.0.0-rc.5,虽然生成的图...

2020-04-15 10:49:48 14624 5

原创 mybatis缓存造成的out of memory

业务上有个数据处理的程序,需要把某个表的数据全部抽出来做处理,为了考虑性能和内存问题,我已经通过分批的方式来查询数据,但在测试环境运行时,还是报了out of memory的异常,最后发现原来是mybatis的一级缓存造成的,设置flushCache="true"问题解决。...

2020-04-10 14:19:08 627 1

原创 list通过stream的lambda表达式转map的时候的坑

1.User对象public class User { private String name; private Integer age;}2.test方法 public static void main(String[] args) throws InterruptedException { List<User> list = new ...

2020-01-02 13:36:46 2161

原创 通过反射来写一个批量插入的工具类

背景:项目中会有很多地方用到批量插入,如果数据量大的话需要通过分批的形式来批量插入,但师不同的表会调用不同的dao的方法,而分批插入的代码又是相似的,每次都要写一边这个相似的代码,势必会造成代码的冗余,所以需要把分批插入的部分封装成一个共同的方法来调用,我想到的是通过反射机制,代码如下。1.interfacepublic interface CommonService { /**...

2019-12-27 13:27:07 378

原创 记录一下mybatis遇到的一个坑

<select id="getList" resultType="com.test.AClass"> SELECT b.id, b.sth FROM a LEFT JOIN b ON a.id = b.id</select>比如以上这段代码,如果a表和b表左联,如果返回的b.id和b.sth都为null,那么getList这个方法返回的List&l...

2019-09-27 11:28:27 308

原创 分享一个牛人的技术博客

http://hedengcheng.com/?p=771#_Toc374698322

2019-09-06 18:01:44 307

原创 mysql函数concat的坑

select CONCAT(null,"aaaa");select CONCAT("aaaa",null);上面这2种写法,返回的值都为Null所以如果要把两个变量的值concat的话,需要替换掉Null值,不然的话只要某个变量为null,结果都为null正确的写法应该是select CONCAT(ifnull(null,''),"aaaa");...

2018-12-20 17:02:43 5211

原创 设置springboot自带tomcat的最大连接数和最大并发数

从源代码来看,最大连接数和最大并发数默认是10000和200可以通过工程下的application.yml配置文件来改变这个值server:  tomcat:    uri-encoding: UTF-8    max-threads: 1000    max-connections: 20000...

2018-11-09 15:48:24 104318 8

原创 字符串类型的list,根据字符串长度来排序

import java.util.Comparator;public class SortByLengthComparator implements Comparator&lt;String&gt; { @Override public int compare(String var1, String var2) { if (var1.length() &gt; var2.lengt...

2018-10-11 14:27:21 10338 2

原创 mysql where in带2个参数的查询方式

数据结构如下下面两句的查询结果都是一样的SELECT idFROM t3WHERE (n1, n2) IN ( SELECT n1, n2 FROM t3 WHERE id &lt;= 2 )------------------------------------------------------SELECT idFROM t3WHER...

2018-07-05 12:20:28 13624

原创 多线程调用单例模式的类的同一个方法,是不是需要排队调用?

最近在研究多线程,突然想到一个问题,“多线程调用单例模式的类的同一个方法,是不是需要排队调用?”,比如有10个线程同时调用一个单例模式类的同一个方法,他们是第一个调完再轮到第二个调,还是10个线程同时可以调用这个方法?想出这种问题肯定是对java的基础知识掌握的不好,在网上找了很多帖子,但看下来都很懵懂,也发现有很多人和我有一样的问题,所以我自己写了代码,模拟这种情况,代码如下。1.单例模式的类p...

2018-06-21 19:36:22 12480 6

原创 通过url获取视频的时长

最近项目中遇到一个问题,需要保存上传视频的时长,但以前上传的时候数据库都没有保存这个数据,所以现在要更新这个字段。一开始想通过java代码来实现这个功能,但百度了很久,只有一种方法,那就是先要下载到本地,然后再一个一个的遍历查询。觉得这种方法如果是小视频还行,大视频的话就太花时间了。于是想到了通过html5的video标签来实现这个功能。下面就先说一下基本思路:1.后台先把需要查询

2018-01-15 13:27:59 17908 3

原创 ionic结合angularjs实现跳转到上个页面的功能

虽然ionic已经出来很长一段时间了,但网上的资料依然很少,最近项目中有个很简单的功能要实现,就是返回上个页面,看了一些例子,但都不理想,最简单的一个方法是通过$ionicHistory.goBack();的方法来返回上一页,但用下来发现会有问题,常常挑错页面,于是自己研究了一个方法,效果还不错,和大家分享一下。1.首先是页面,在头上加个返回按钮,代码如下

2016-08-18 17:25:14 12623 1

原创 angularjs初学者知识点总结1:对于不同module间的依赖注入

1.第一个module里定义一个factoryangular.module('myApp1', []).factory('Chats', function() { return{ all: function() { return '123'; } }});2.第二个module里定义一个controller,在这个controller里

2016-07-15 16:28:10 5024

Notepad++插件,格式化js代码

通过notepad++的插件管理无法安装jstool,可以下载下来直接复制到plugins就可以用了

2022-09-07

browser-md5-file-1.0.0.zip

包括了browser-md5-file.min.js 和browser-md5-file.js,可以在客户端查看文件的md5值

2020-11-04

java写的把数据库表转文档(word或excel)

1.用的时候只要把jdbc.properties文件里的数据库配置改一下就可以了 2.要生成word文档就执行DocMain 3.要生成excel文档就执行ExcelMain

2020-09-15

软件概要设计说明书.rar

软件概要设计说明书标准模板,列出了软件概要设计说明书所有需要的要素目录,和每个要素要填写内容的说明,看着写就可以了。

2020-09-14

jseclipse.rar

eclipse的javascript插件,eclipse marketplace已经找不到这个插件了,只能通过离线安装的方式来安装。解压缩之后通过离线安装的方式来安装。

2020-08-12

mybatis-3-mapper.rar

mybatis-3-mapper.dtd,解决eclipse使用mybatis时,无法自动提示标签信息的问题

2020-08-06

net.sf.jadclipse_3.3.0.jar和jad.exe.rar

net.sf.jadclipse_3.3.0.jar和jad.exe,附加使用说明书,eclipse反编译插件jad,反编译class

2020-06-24

proguard6.2.2.rar

资源是proguard6.2.2版本,里面附上了中文的使用教程,一看就懂,非常简单,不懂的可以私信问我。

2020-06-24

Yahei Consolas Hybrid.rar

Yahei Consolas Hybrid字体,开发最好看的字体了,eclipse调整到12号大小最完美

2020-06-19

供销SSM+Mysql.zip

进销存系统系统采用springmvc+hibernate+spring+easyui开发 java开发,带数据库,数据库是mysql,绝对可以使用

2019-05-23

进销存.rar

j2ee web进销存系统源代码,数据库为access,通过tomcat启动项目

2019-05-09

使用ivms 4200 全天候录像教程

海康 网络摄像头 使用ivms 4200 全天候录像教程

2015-11-04

javacv-0.8-32.zip

javacv-0.8-32.zip 对应 opencv-2.4.9

2015-10-23

Jquery实现图片全屏显示插件

jquery图片点击全屏显示,开源代码,适合学习

2015-03-19

jai_codec.jar jai_core.jar jai-imageio-1.1.jar

jai_codec.jar jai_core.jar jai-imageio-1.1.jar

2015-02-27

HoverEx-jQuery鼠标悬停在图片上显示说明按钮插件

这是一款非常漂亮的鼠标悬停提示插件,其中包含6种悬停提示,2种图片放大镜效果和1种随机特效的图片切换插件,每一种都包含几种不同的特效来展示,相当不错。

2015-02-06

cx-common.jar

cx-common.jar,用来生成登陆的时候,需要输入的验证码

2015-01-13

eclipse插件properties edit

直接解压缩,然后把目录复制到eclipse目录下,然后重起eclipse就可以了

2015-01-07

跟我学linux-入门级教程

非常好的教程,浅学易懂,主要是基于centos的讲解

2014-12-31

struts2+spring3+hibernate3所需jar包

struts2+spring3+hibernate3所需jar包

2014-09-28

mysql-connector-odbc-5.3.4-win32.msi

mysql-connector-odbc-5.3.4-win32.msi

2014-09-28

TortoiseSVN 1.7.6

包括 TortoiseSVN-1.7.6.22632-win32-svn-1.7.4.msi 和 TortoiseSVN-1.7.6.22632-x64-svn-1.7.4.msi

2014-09-28

VisualSVN-Server-3.0.0-win32.msi

VisualSVN-Server-3.0.0-win32.msi

2014-09-28

android 进度条

android 进度条 实现了进度条的"开始","停止","暂停","继续"的功能。

2014-07-15

简单的记事本

由于想找个记事本的程序用,但网上很多都是很大的APP,运行起来很慢,或者就是内嵌了广告很烦人,所以就自己写了个简单的记事本。这个APP可以作为学习android的入门例子,这个程序包括了对listview,BaseAdapter,sqlite的运用,还有基本的增删改的实现。

2014-07-04

环形饼状图进度条效果

环形饼状图 动态进度条 源代码直接导入运行

2014-07-02

自定义TextView,解决布局乱的问题

自定义TextView,解决布局乱的问题

2014-06-12

Android配置文件,所有权限

Android配置文件 所有用到的权限配置信息

2013-12-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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