自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 springboot封装全局业务异常

springboot封装全局业务异常

2021-12-20 11:29:12 1164

原创 springboot包装controller返回值

springboot项目统一包装返回值,通常返回结果包含code、message、data

2021-12-14 14:17:33 2796 4

原创 idea设置Java类和方法注释模板

idea设置Java类和方法注释模板

2021-12-07 18:44:25 3162 2

转载 SIT与UAT的分别

在企业级软件的测试过程中,经常会划分为三个阶段——单元测试,SIT和UAT,如果开发人员足够,通常还会在SIT之前引入代码审查机制(Code Review)来保证软件符合客户需求且流程正确。下面简单介绍一下SIT和UAT的基本情况。SIT(System Integration Testing)系统集成测试,也叫做集成测试,是软件测试的一个术语,在其中单独的软件模块被合并和作为一个组测试。它在单元测试以后和在系统测试之前。集成测试在已经被单元测试检验后进行作为它的输入模式,组织它们在更大的集合,和递送,作为

2021-05-24 20:24:52 1388

转载 SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)

https://www.hangge.com/blog/cache/detail_2459.html1,基本介绍(1)YAML是JSON的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代application.properties。(2)在创建一个SpringBoot项目时,引入的spring-boot-starter-web依赖间接地引入了snakeyaml依赖,snakeyaml会实现对YAML配置的解析。(3)YAML的使用非常简单,利用缩进来...

2021-05-22 19:43:04 2574

转载 UltraEdit mac版

UltraEdit是一个功能非常强大的编辑器,尤其喜欢它的列编辑模式,但并不是免费的,通过不断的尝试和查找资料终于把它的破解方式找到了。现在总结一下mac版的破解在官网上下载UltraEdit,然后点击一直安装安装就好了一定要注意自己安装的是哪个版本的!!!!网上有好多只告诉了命令但是没有告诉版本,所有输了也没有起到作用的。下面开始终端输入命令了18.00.0.12破解printf '\x31\xC0\xFF\xC0\xC3\x90' | dd seek=$((0x776DA0)) conv=

2021-05-20 15:17:08 849

转载 ThreadLocal原理源码详解

多看几遍,定能理解通透!原文链接:https://www.jianshu.com/p/3c5d7f09dfbd

2020-12-22 18:31:45 119 2

转载 linux定时任务 定时重启docker容器

Linux添加crontab定时任务由于公司古董项目,不知原因引发了,容器得每次重启才能正常使用。由于工作进度的原因没办法对老项目进行构架重构。就采取了这个定时任务的方式解决办法。首先根据网页提供资料,crontab分为两类,系统crontab,用户crontab。系统crontab可以使不同的用户crontab任务都放到/etc/crontab文件中指定。而用户crontab仅允许当前用户调用crontab -e命令来编辑自己的任务。crontab具体使用以及语法:crontab的一些基

2020-08-27 21:38:46 4996 1

原创 Linux中下载文件到本地、本地上传文件至Linux服务器

使用上传下载工具sz和rz,简单实用!安装:执行yum install lrzsz安装完成后即可使用了下载:进入文件所在目录,输入 sz + 文件名执行即可下载文件上传:输入rz执行,会弹出上传框,选择文件上传即可...

2020-07-30 15:03:58 1351

原创 freemaker生成word模板的各种坑,包含word打不开、批量添加图片、图片变形等问题总结

最近在使用freemaker做一个word模板,里面包含大量表格、截图、超链接等数据、历时一周多,遇到很多坑,现在想想都后怕,现在简单总结一下,希望给以后的小伙伴提供帮助,少走弯路!坑一:word打不开可能原因:1、往xml文件中添加数据占位时,不细心导致文件中出现多余的{、}、;、#等字符,导致xml校验错误,会导致生成的word打不开。2、word中有超链接,链接中包含多个参数时,会用&进行连接,然而在xml中&属于特殊字符,如若不处理,导致xml校验错误,会导致生成的w

2020-06-16 16:49:48 4535 5

转载 JavaMail附件名字过长导致的乱码问题

问题背景:公司有个业务场景是审核客户机构通过后,给客户发送一封邮件,并将机构相关材料以附件形式一块发送,有些附件名正常,有些就乱了,如下图:后来发现是附近名称过长导致的!问题原因:java mail中设置附件名称会采用 base64格式进行编码,如果附件名称过长会被进行切割,将剩下字符抹去,所以导致不知道这是什么格式的文件。注:虽然将文件格式被改变了,但是若强制转换成原格式(右键->另存为->xxx.pdf) 仍然可以进行打开,文件内容也并非改变(这是测试后的结果)解

2020-05-08 19:44:31 719

原创 SpringBoot项目中创建大量redisMessageListenerContailner-X线程导致内存溢出问题分析及解决方案

具体问题描述:项目采用的spring cloud微服务架构,使用spring session(redis存储方式)达到各微服务之间session共享,即项目启动内会添加@EnableRedisHttpSession注解。其中有个发邮件的公共服务mail-service,有个业务模块每天执行定时任务会调用邮件服务,发送大量邮件,就会导致创建大量redisMessageListenerC...

2019-10-30 14:51:46 8553

原创 Git每次pull都需要输入用户名和密码的问题解决方案

cd到根目录,输入git config --global credential.helper store执行完后再操作一次git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了。...

2019-10-21 13:54:50 802

转载 Linux查看日志三种命令

第一种:查看实时变化的日志(比较吃内存)最常用的:tail -f filename (默认最后10行,相当于增加参数 -n 10)Ctrl+c 是退出tail命令其他情况:tail -n 20 filename (显示filename最后20行)tail -n +5filename (从第5行开始显示文件)第二种:搜索关键字附近的日志最常用的:...

2019-06-04 18:33:24 11120

原创 Myeclipse中svn提交过滤class等不需要的文件

Window>Preference>Team>Ignored Resource>Add Pattern添加.settings.classpath.project*/target/*.class忽略文件夹:如忽略target文件夹,就Add Pattern,填入*/target/*忽略文件:如忽略.class类型的,直接填入 ...

2019-05-29 16:46:26 1340

转载 SpringCloud面试题

一.SpringCloud面试题口述1.SpringCloud和DubboSpringCloud和Dubbo都是现在主流的微服务架构SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现了服务治理,而SpringCloud现在以及有21个子项目以...

2019-05-23 14:27:17 1098

原创 mysql两个日期相减,得到相差的天数

CURDATE() 获取当前服务器日期(YY-MM-DD)NOW() 获取当前服务器日期(YY-MM-DD hh:mm:ss)DATEDIFF(date1,date2) 两个日期相减函数,返回date1-date2相差的天数SELECT CURDATE() FROM DUAL;SELECT DATEDIFF(CURDATE(),'2019-05-20') da...

2019-05-22 18:03:17 39187

原创 Java获取当月的每一天

/** * 获取当月所有天 * @return */ public static List<String> getDayListOfMonth() { List<String> list = new ArrayList<String>(); Calendar aCalendar = Cale...

2019-03-20 15:09:29 4784

转载 mysql操作查询结果case when then else end用法举例

Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女'...

2019-02-28 15:55:16 295

原创 url地址传参中文乱码问题

在传参前转码,接收参数后再转码回来。这种方式有两种:第一种:传参前:使用java.net.URLEncoder.encode("xxxx",“utf-8"),将中文转为16进制字符。接收参数后:使用java.net.URLDncoder.decode("xxxx",“utf-8")将16进制字符转为中文。这种方式需要注意的是,在使用encode转码后,会出现特殊字符,这时候,就...

2019-01-08 11:46:11 962

原创 java通用换行符

在java开发中Windows下换行符为: \r\nLinux下换行符为:\nMac下换行符为:\r可以用通用代码System.getProperty("line.separator")替换String separator = System.getProperty("line.separator");System.out.println("第一行"+separator+"第...

2019-01-08 11:31:02 3080

原创 java删除文件夹中的所有文件及文件夹

删除文件夹(前提:文件夹为空以及InputStream和OutputStream等一些数据文件流关掉【close()】,否则文件无法删除)/** * 删除文件夹 * @param folderPath */ public static void delFolder(String folderPath) { try { delAllFile(folderPath); /...

2018-12-24 17:26:31 878

转载 那些年让你迷惑的阻塞、非阻塞、异步、同步

在IT圈混饭吃,不管你用什么编程语言、从事前端还是后端,阻塞、非阻塞、异步、同步这些概念,都需要清晰地掌握,否则,怎么与面试官谈笑风生(chui niu pi)?但是,掌握这些概念又不是非常容易,尤其对非科班出身的,更加困难。本文试图给出一个清晰简明但不失深刻的介绍,希望对大家有所帮助。1、从I/O说起这些概念之所以容易令人迷惑,在于很多人对I/O就没有清晰准确的理解,后面的理解自然不可能...

2018-10-27 16:42:33 172

转载 FeignClient调用POST请求时查询参数被丢失的情况分析与处理

前言本文没有详细介绍 FeignClient 的知识点,网上有很多优秀的文章介绍了 FeignCient 的知识点,在这里本人就不重复了,只是专注在这个问题点上。查询参数丢失场景业务描述: 业务系统需要更新用户系统中的A资源,由于只想更新A资源的一个字段信息为B,所以没有选择通过 entity 封装B,而是直接通过查询参数来传递B信息文字描述:使用FeignClient来进行远程调用...

2018-09-25 17:57:21 9602

原创 MyBatis解决Update动态SQL逗号的问题

最做项目遇到以下情况,MyBatis中需要动态拼接Update,由于之前忙着赶项目,就直接照着下面的这样写,结果发现系统出现了异常,原来这样写如果id=null就会出错UPDATE TABLE SET &lt;if test="id!=null"&gt; id= #{id,jdbcType=INTEGER} &lt...

2018-09-18 20:14:21 4060 1

原创 Java Web利用POI导出Excel简单例子

采用Spring mvc架构: Controller层代码如下 @Controller public class StudentExportController{ @Autowired private StudentExportService studentExportService; @RequestMapping(value = "...

2018-09-18 20:04:34 651

原创 对List里的对象元素进行排序

方法一:实例化一个比较器public class Student { private int studentId; private String studentName; private int age; public Student(int studentId , String studentName, int age){ this.stud...

2018-09-18 19:57:54 339

原创 Java实现二分法查找数组中的元素的两种方法

二分查找算法思想:又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。1.非递归实现 /** * 非递归二分查找法 * @param array 查询的数组 * @param...

2018-08-22 18:39:06 4029 1

原创 Java中将File转化为MultipartFile的方法

话不多说直接上代码,简单明了import java.io.File;import java.io.FileInputStream;import org.springframework.web.multipart.MultipartFile;import org.springframework.mock.web.MockMultipartFile;import org.apache.h...

2018-08-15 14:17:28 76156 21

原创 获取Map中最大(小)的key

将Map中的key存放至set集合中,进行排序,排序后的set中第一个值即为最小,最后一个即为最大/** * 获取map中最大的key * @param map * @return */public static Integer getMaxKey(Map&lt;Integer, List&lt;User&gt;&gt; map) { if (map == null){...

2018-08-15 14:04:43 11385 1

原创 Map按照key进行排序

声明比较器:class MapKeyComparator implements Comparator&lt;Integer&gt; { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; }}排序方法:public static Map&lt;Integer, List&lt;U...

2018-08-15 13:58:32 16157

原创 Java中将List中的实体类按照某个字段进行分组并存放至Map中

1、JDK1.8之前:假设有实体类User,里面有字段id,我们将相同id的User进行分组,并存放在Map中。(例子不是很恰当,但很能说明问题)​ public static void main(String[] args) { List<User> list = new ArrayList<>(); list.add(new User(1, 1...

2018-08-15 13:39:47 21441 12

转载 map转换成JSON的3种方法

http://www.json.cn/JSON格式校验1 json-lib&lt;dependency&gt; &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib&lt;/artifactId&gt; &lt;version&gt;2.4&lt;/version&gt;

2018-07-24 10:59:14 52664 4

转载 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

一、Spring Boot简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。SpringMVC是非常伟大的框架,开源...

2018-07-20 16:27:40 8763

原创 MySQL使用总结-未完待续

一、mysql在指定的一个字段后面添加一个字段alter table user add address varchar(50) after user_id; 二、mysql中insert into select from的使用 如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现。具体情形是:有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值...

2018-07-10 15:24:55 298

翻译 java8中map的新方法--replace

译者:kingvikerMap在Java8中新增了两个replace的方法1.replace(k,v)           在指定的键已经存在并且有与之相关的映射值时才会将指定的键映射到指定的值(新值)           在指定的键不存在时,方法会return回来一个null       javadoc的注释解释了该默认值方法的实现的等价java代码: [java] view plain cop...

2018-06-26 10:25:45 4134

原创 registry key 'Java Runtime Environment' has value'1.8',but '1.7' is requaired

当更新jdk后,运行java命令可能会提示类似这样registry key 'Java Runtime Environment' has value'1.8',but '1.7' is requaired的问题。这里对这个问题做个简单分析,并给出几种解决方案,希望能帮助到大家!导致这个问题的原因很明显文件版本不匹配导致的,当在cmd下运行java命令时,系统首先会去 a.%systemroot%S...

2018-06-15 16:59:34 316

原创 Postman传json参数图文详解

1.请求方式选择POST,然后将header的Content-Type设置为application/json,如下图所示2.切换至Body选项,编码方式为raw,JSON(application/json),然后在文本框中写入json参数3.点击Send发送请求,返回结果...

2018-05-28 10:14:44 33359

原创 Java中double和float精度丢失问题及解决方法

在讨论两位double数0.1和0.2相加时,毫无疑问他们相加的结果是0.2。但是问题总是如此吗?下面我们让下面两个doubles数相加,然后看看输出结果: @Test public void testBig(){ System.out.println(0.11+2001299.32); }控制台输出2001299.4300000002我们...

2018-05-03 14:36:50 449

转载 JAVA8 十大新特性详解

本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API“Java is still not dead—and people are starting to figure that out.”本教程将用带注释的简单代码来描述新特...

2018-04-28 16:38:19 106

空空如也

空空如也

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

TA关注的人

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