
Java
可可keketrtr
QQ:564964596
微信:keketrtr
展开
-
Fastjson处理超大的json文本
超大的json文本转载 2022-06-21 14:58:25 · 1306 阅读 · 0 评论 -
Springboot使用@Scheduled定时任务无法多任务同时执行
配置一个定时任务的线程池即可不需要再加@Async@Configuration@EnableSchedulingpublic class ScheduleConfig implements SchedulingConfigurer { @Bean(name = "taskScheduler", destroyMethod = "shutdown") public ThreadPoolTaskScheduler taskScheduler() { int poolS...转载 2022-01-12 16:33:29 · 534 阅读 · 0 评论 -
FileSizeLimitExceededException: The field files exceeds its maximum permitted size of 1048576 bytes
FileSizeLimitExceededException: The field files exceeds its maximum permitted size of 1048576 bytes.日常记录遇到得小问题~在springboot项目中上传文件超过1Mb报错,解决办法:在application.yml中增加servlet:multipart:max-file-size: -1max-request-size: -1enabled: true其中-1代表不限制大小,也可以配置转载 2021-12-09 23:23:28 · 529 阅读 · 0 评论 -
多model依赖的maven项目如何引入本地jar包
架构: 微服务springboot架构,maven管理依赖的jar项目结构:根 model层 说明gateway restful api event facade domain infrastructure 基础实施层bootstrap 启动model背景: 想访问一个公共平台的接口,根据自己的权限申请了一个sdk开发包。因为是特殊定制的一个jar,所以不能把这个jar上传到公司的mave...转载 2021-12-06 10:57:39 · 1453 阅读 · 0 评论 -
关于springboot:SpringBoot-通过-SSH-通道连接远程-MySQL-数据库
1、增加 Maven 依赖<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version></dependency>2、创立 SSH 连贯工具类import com.jcraft.jsch.JSch;import com.jcraft.js转载 2021-09-30 09:44:40 · 1363 阅读 · 1 评论 -
Java基于POI实现excel任意多级联动下拉列表——支持从数据库查询出多级数据后直接生成【附源码】
https://www.cnblogs.com/NaughtyCat/p/how-to-generate-excel-dependent-dropdown-list-by-poi.html转载 2021-08-03 16:39:39 · 1257 阅读 · 0 评论 -
自定义字段的设计与实现(Java实用版)
参见https://blog.youkuaiyun.com/ytangdigl/article/details/70145910转载 2021-05-11 09:13:07 · 402 阅读 · 0 评论 -
docker容器部署大众点评网cat服务的步骤
cat服务端部署:1、下载cat源码进行打包,将{CAT_SRC}/cat-home/target/cat-alpha-3.0.0.war重命名为cat.war,或者直接找cat官方提供的打包好的cat.war包。2、找一下cat项目里面的client.xml、datasources.xml和server.xml,并根据cat官网提示进行修改。3、docker pull tomcat:8.5.404、找一个目录,把cat.war包、client.xml、server.xml、datasour原创 2020-11-20 18:17:08 · 1029 阅读 · 0 评论 -
springboot2.x项目解决解决long转json前端丢失精度问题(三种方案)
第一种方案:(包含两种方式)package com.example.demo.config;import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databin.原创 2020-09-24 19:00:16 · 1088 阅读 · 1 评论 -
在Spring异步调用中传递上下文的方法(解决异步线程RequestContextHolder.getRequestAttributes()为null)
什么是异步调用?异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。异步调用指,在程序在执行时,无需等待执行的返回值即可继续执行后面的代码。在我们的应用服务中,有很多业务逻辑的执行操作不需要同步返回(如发送邮件、冗余数据表等),只需要异步执行即可。本文将介绍 Spring 应用中,如何实现异...转载 2020-04-09 20:01:57 · 23334 阅读 · 4 评论 -
MyBatis - 两种查询树形数据的方法详解(嵌套结果集、递归查询)
树形结构数据在开发中十分常见,比如:菜单数、组织树, 利用MyBatis提供嵌套查询功能可以很方便地实现这个功能需求。而其具体地实现方法又有两种,下面分别通过样例进行演示。方法一:使用嵌套结果集实现1,准备工作(1)假设我们有如下一张菜单表menu,其中子菜单通过parendId与父菜单的id进行关联: (2)对应的实体类如下: 1...转载 2020-02-06 14:08:09 · 6361 阅读 · 1 评论 -
Eclipse ,MyEclipse 代码提示功能设置与优化(转载)
一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提 示功能一样强大。先举个简单转载 2009-10-28 18:43:00 · 809 阅读 · 0 评论 -
在Java语言中也能用c语言里的printf
这是我刚发现的,呵呵,别笑我孤陋寡闻。System.out.printf("%d %f",2,2.231111);原创 2009-10-31 17:46:00 · 641 阅读 · 0 评论 -
对Random的简单认识
Random类在java.util.*包下,其构造方法有两种,分别是:Random()和Random(long seed)。如果使用Random()来创建类,则每次执行程序其随机产生数都会改变,而是用Random(long seed)来创建随机类,每次执行程序其随机产生数保持不变。另外,在Random类中,方法nextInt()会返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 in原创 2009-10-31 18:46:00 · 465 阅读 · 0 评论 -
iText的中文处理
<br />今天学习iText的时候,用到了两个jar包——iText-5.0.2.jar和iTextAsian.jar。由于iText在发布5.0版本时包内路径发生了改变,原先的com.lowagie.text.fonts改为com.itextpdf.text.fonts<br />但是iTextAsian.jar仍然引用了原先的路径,所以导致找不到相应的字体而报错。<br />如果你想用iText5.0以上版本,只要将iTextAsian.jar里的路径改为iTextAsian/com/itextpdf原创 2010-06-07 20:26:00 · 1151 阅读 · 1 评论 -
《设计模式之禅》中根据一个接口查找所有实现类
<br />package designPattern.factoryMethodPattern;<br />import java.io.File;<br />import java.io.IOException;<br />import java.net.URL;<br />import java.util.ArrayList;<br />import java.util.Enumeration;<br />import java.util.List;<br />public class ClassUt转载 2010-11-16 10:09:00 · 2171 阅读 · 0 评论 -
Build path ->No action available/classpath .project 作用
从SVN download 下来的项目,发现的.java 文件和平时的不一样,并且想加入jar 进去的时候没有Java Build Path 的选项,无法链接类的源码,项目也无法发布,这里记录分享:原因是,在项目里面找到.project ,写入Java代码 org.eclipse.jdt.core.javanature这样就行了,里面有各种属性,简单转载 2013-10-15 16:43:29 · 10545 阅读 · 2 评论 -
svn: This client is too old to work with the working...
我在eclipse中安装了SVN插件,后来为了操作方便又安装了TortoiseSVN(我习惯直接在文件夹中更新、提交),并用TortoiseSVN升级了eclipse工作区间的svn版本,导致eclipse中的svn插件无法识别,报了svn: This client is too old to work with the working...错误。我的解决办法是先把eclipse中的svn插件原创 2015-05-26 16:43:39 · 604 阅读 · 0 评论 -
java监听器示例
监听器的原理是观察者模式。就像明星(事件源)聚拢了一群粉丝(观察者)。当明星有啥举动的时候会通过粉丝们报道出去。订阅信息、计算器按钮都是该原理的应用。下面写了一个监听器的小例子:package listener;import java.util.EventObject;/** * 定义事件对象,用于标记当前进行的动作。必须继承EventObject。 * @auth原创 2015-07-01 17:03:32 · 1131 阅读 · 0 评论 -
生产者-消费者模式
package thread.cusproc;/** * 仓库类,在这里面实现生产和消费。同步互斥。 * @author sunniwell * */public class WareHouse {/*** 最大仓储量*/private static final int MAX_COUNT = 100;private int currentCount转载 2015-07-06 17:21:08 · 523 阅读 · 0 评论 -
Arrays.asList()是个坑
在java语言中,把数组转换成List集合,有个很方便的方法就是 List list = Arrays.asList("a","b","c");list.add("d");但你可能不知道这样得到的List它的长度是不能改变的。当你向这个List添加或删除一个元素时(例如 list.add("d");)程序就会抛出异常(java.lang.UnsupportedOperationExceptio原创 2015-07-28 17:38:17 · 19096 阅读 · 10 评论 -
String知多少——Java特种兵上的例子
package tezhongbing;import org.junit.Assert;import org.junit.Test;/** * 编译器优化一定是在编译阶段能确定优化后不会影响整体功能,类似于final引用,这个引用只能被赋值一次,但是它无法确定赋值的内容是什么。 * 只有在编译阶段能确定这个final引用赋值的内容,编译器才有可能进行编译时优化,转载 2015-07-28 10:05:29 · 499 阅读 · 0 评论 -
java Socket通信使用BufferedReader和BufferedWriter的注意事项
注意事项:readLine()要求有换行标识,write()要输出换行标识,要调用flush()刷新缓冲区。下面是取自java socket通信中的一小段代码。BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));BufferedWriter writer =原创 2015-07-29 16:13:28 · 8654 阅读 · 2 评论 -
简述中文乱码产生的原因
经常听别人说编码方式不一致是导致乱码产生的原因。这是标准答案,但不一定是你想要的答案,因为不理解啊!那就说的再明白一点。你知道一个中文字符在网络上是怎么传输的吗?比如“中国”这两个字,猜一下也知道在传输过程中肯定不是这两个字,而是0|1这样的二进制数。你需要把“中国”通过某种编码方式转换成二进制数进行传输,而接收方在收到二进制数之后再根据相应的编码方式解码成“中国”。问题就出在双方使用的编原创 2015-07-29 11:30:18 · 5122 阅读 · 0 评论 -
统计java方法(函数)的代码行数
今天想对一个java项目超过100行的方法进行一些代码优化。需要统计一下项目中的java类有哪些方法的代码超过了100行。在网上没找到类似的统计工具,就自己写了段代码进行统计。编码思路:因为一个java类,最外层的{}可以标识类,次外层的{}就是方法或内部类了。为了便于编码,我把内部类也当作方法处理了。只要把次外层的{和}配对就是一个完整的方法了。因此我用先进后出的栈存储一个数组。数组的第一个原创 2015-07-20 11:40:37 · 6755 阅读 · 0 评论 -
将复杂的大任务拆分成多个简单的小任务进行计算
package thread;import java.util.concurrent.ExecutionException;import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java.util.concurrent.RecursiveTask;/**原创 2015-07-09 16:10:55 · 6073 阅读 · 0 评论 -
不要循环查询数据库
在编码过程中要避免在循环中查询数据库,能一次查询的就不要多次查询。下面两个代码块是完全等效的。代码块一写起来简单,但却在循环中多次查询数据库,该代码执行时间为8毫秒。代码二写起来麻烦甚至还多了个双重循环,但只查询一次数据库,该代码执行时间为2毫秒。代码块一:for (Device dev : list) {String dmi = dev.getDeviceModelId();if原创 2015-07-20 18:18:36 · 12037 阅读 · 0 评论 -
JSON数组排序
Json数组中有json对象,json对象有多个key-value对。根据json对象中的某个key对json数组进行排序。如果value是数字,就按照数字排序。否则,按照自然排序。方法如下:/** * * @param ja json数组 * @param field 要排序的key * @param isAsc 是否升序 */private sta原创 2015-08-14 10:43:48 · 13819 阅读 · 2 评论 -
相对优先排序和绝对优先排序的效率比较
package tezhongbing.sort;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import org.apache.commons.lang.math.RandomUtils;/原创 2015-08-18 10:32:36 · 2105 阅读 · 0 评论 -
解决后台传到前台的值是中文乱码的问题
直接说解决办法:在后台这样处理 String msg = URLEncoder.encode("中文", "UTF-8").replace("+","%20")在前台这样处理 decodeURIComponent(msg)其实前台传后台、后台传前台,对于乱码的解决思路是一样的,无非是编码再解码。上面用replace("+","%20")是因为enco原创 2015-09-25 15:50:36 · 12050 阅读 · 1 评论 -
我读过的几本java好书
http://pan.baidu.com/s/1dDg8iOT给大家推荐几本书,简单介绍一下。《重构》和《代码整洁之道》,这两本书对于培养编写优秀代码的意识有很大帮助,不但是意识,也是实实在在可应用的知识。《java特种兵》目前只有上册,下册据说明年出版。这本书把一些java原理讲得比较透彻,也比较容易理解,从中可以感受到作者的思想,上升的思想层面的书都是好书。《腾讯的用户体验设计原创 2015-10-27 16:06:59 · 702 阅读 · 0 评论 -
"转义
字符串content中包含 " 需要转义成单引号,用org.apache.commons.lang.StringEscapeUtils.unescapeHtml(content)原创 2015-12-01 16:04:31 · 4719 阅读 · 0 评论 -
集合内根据对象属性过滤对象及获取对象某属性值集合
用到commons-collections-3.2.jaruserList = (List) CollectionUtils.select(userList, new Predicate() { public boolean evaluate(Object arg0) {原创 2015-12-14 16:58:30 · 5931 阅读 · 0 评论 -
Eclipse中设置在创建新类时自动生成注释
今天上午在AccountServiceCenter项目中新建一个测试类,发现自动生成注释。注释里面的作者是别人,进入windows-->preferenceJava-->Code Style-->Code Templates,如果直接编辑Comments下面的属性的话,是进行的全局设置。我只想对本项目的注释进行修改,这样可以点击右上角的Configure Project Specific Se原创 2016-04-08 11:05:08 · 756 阅读 · 0 评论 -
当Spring同时使用了XML配置和注解
AccountServiceCenter项目中有些依赖注入的Bean同时使用了XML配置和注解的方式进行了声明,网上有人说这种情况下注解的优先级高,但我测试过后发现当两种方式并存的时候Spring是优先使用XML配置的方式,忽略注解。大家可以选择其中的一种方式进行声明,虽然两种方式同时声明也不会出错,但容易让人迷惑。另外,项目中使用注解声明的时候有错误,但因为xml也配置了,所以错误被掩盖。以Ve原创 2016-04-08 11:23:09 · 5096 阅读 · 0 评论 -
Mybatis之批量更新操作
更新单条记录UPDATE course SET name = 'course1' WHERE id = 'id1';更新多条记录的同一个字段为同一个值UPDATE course SET name = 'course1' WHERE id in ('id1', 'id2', 'id3);更新多条记录为多个字段为不同的值比较普通的写法,是通过循环,依次执行updat转载 2016-04-28 11:09:50 · 2080 阅读 · 0 评论 -
搜索jar包中的文件
下面的程序可以根据文件名或者文件内容搜索jar包中的文件。package account;import java.io.BufferedReader;import java.io.File;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Enumeration;原创 2016-05-31 14:48:00 · 4241 阅读 · 0 评论 -
上传jar包到nexus私服
1通过网页上传这种方法只是上传了jar包。通过maven引用当前jar,不能取得jar的依赖from pom的方式,选择pom文件,以及jar。通过maven引入jar时,会自动加载jar的依赖2通过maven的方式depoly在maven的conf/setting.xml 配置nexus私服的管理账号在servers标签下添加server转载 2016-06-24 17:40:58 · 1853 阅读 · 0 评论 -
在一台电脑上运行两个tomcat
在一台电脑上跑两个tomcat的做法:一、把tomcat放到不同的目录下二、为避免端口占用冲突,把其中一台的端口8080改成别的,例如8085三、配置tomcat环境变量CATALINA_BASE和CATALINA_HOME四、两个tomcat的环境变量如果相同会互相影响,可以给第二个tomcat环境变量配成其他名字,例如CATALINA_BASE2和CAT原创 2016-07-14 15:58:22 · 1050 阅读 · 0 评论 -
解决:Some projects cannot be imported because they already exist in the workspace
解决:Some projects cannot be imported because they already exist in the workspace 以前老是有这个问题,一直没有注意,今天决定要搜下解决下,在国外的网站上看到个小窍门,分享给大家! 问题: 一般情况下都是项目已经在工作空间路径下了,而又选择了:C转载 2016-06-21 09:45:39 · 499 阅读 · 0 评论