自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lee的博客

记录一些使用的文章

原创 用poi解析带密码的xls、xlsx文件

FileInputStream fileInputStream = request.getFileInputStream(); Workbook sheets = null; try { String password = request....

2020-01-06 10:17:01

阅读数 13

评论数 0

转载 一文秒懂 Java CompletableFuture ( 下 )

上一章节中我们讲解了 CompletableFuture 的一些基本用法,比如如何使用和如何处理异步计算结果。本章节我们继续,主要讲解如何使用 CompletableFuture 来组合异步计算的结果 组合 Futures CompletableFuture API 最吸引人的部分,应该是能够...

2019-12-26 18:07:02

阅读数 12

评论数 0

转载 一文秒懂 Java CompletableFuture ( 上 )

本文我们来了解下 Java 8 引入的 CompletableFuture 类,了解下该类提供的功能和用例。 Java 中的异步计算 异步计算很难推理的,因为我们的大脑是同步的,会将任何计算看成是一系列的同步计算。 我们在实现异步计算时,往往会把回调的动作分散在代码中或者深深地嵌套在彼此内部...

2019-12-26 18:03:16

阅读数 9

评论数 0

转载 redis相关以及redis做分布式锁可能出现的问题

前言:有一篇文章对redis的介绍不错,拿来加深印象。 在Redis中,允许用户设置最大使用内存大小server.maxmemory,当Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。1.volatile-lru:从已设置过期的数据集中挑选最近最少使用的淘汰2.vola...

2019-12-25 09:38:33

阅读数 11

评论数 0

原创 Redis的Key过期机制

这个东西之前配置过,今天本来记录一下,加深印象,结果忙了一下午,问题出在redis的配置中,即将崩溃,这里提个醒,redis的配置文件中,对于每一行配置前面别有空格,正确做法一直顶到头,这个真是恶心的配置,一点都不智能,因为开启key过期要修改配置文件,所以在修改的时候别忘了这个坑。 我使用的w...

2019-12-23 17:45:14

阅读数 18

评论数 0

原创 分布式任务调度中心

xxl的网址 https://www.xuxueli.com/page/projects.html 总结的非常好,可以借鉴一下 https://www.cnblogs.com/ysocean/p/10541151.html

2019-12-17 18:09:06

阅读数 20

评论数 0

转载 关于Runtime.getRuntime().exec(),产生阻塞的2个陷阱

背景 相信做java服务端开发的童鞋,经常会遇到Java应用调用外部命令启动一些新进程来执行一些操作的场景,这时候就会使用到Runtime.getRuntime().exec(),然而这个方法如果不谨慎很容易掉进陷阱。 我们的一个PDF转码服务就踩到了这个坑掉进陷阱,这个转码服务主要是对pdf...

2019-12-17 18:05:59

阅读数 19

评论数 0

转载 【Java并发】ReadWriteLock读写锁的使用

说到Java并发编程,很多开发第一个想到同时也是经常常用的肯定是Synchronized,但是小编这里提出一个问题,Synchronized存在明显的一个性能问题就是读与读之间互斥,简言之就是,我们编程想要实现的最好效果是,可以做到读和读互不影响,读和写互斥,写和写互斥,提高读写的效率,如何实现呢...

2019-12-16 14:20:04

阅读数 17

评论数 0

转载 Java中的双重检查锁(double checked locking)

在实现单例模式时,如果未考虑多线程的情况,就容易写出下面的错误代码: public class Singleton { private static Singleton uniqueSingleton; private Singleton() { } pub...

2019-12-03 17:52:25

阅读数 15

评论数 0

转载 Java-分布式锁三种实现方式介绍

一、为什么要使用分布式锁 我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美12的运行,毫无Bug! 注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理...

2019-12-02 11:27:56

阅读数 17

评论数 0

原创 使用Redisson实现分布式锁

1、maven坐标 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId&...

2019-12-02 11:24:29

阅读数 111

评论数 0

原创 前后端传递参数类型的转换

@InitBinder,这个注解相当于输入输出参数的一个转换,把下面的方法放在spring的bean中就可以生效了,下面的例子是把前端传递的时间戳转换为date,之后响应的时候吧date转换为时间戳。 @InitBinder protected void initBinder(Web...

2019-11-29 10:21:22

阅读数 12

评论数 0

原创 生成二维码工具类

content可以是一个url,返回的是一个字节数组,之后可以把字节数组写到某一个图片文件中,也可以上传到oss或者七牛。 import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; impor...

2019-11-29 09:32:46

阅读数 16

评论数 0

原创 把jar包打成maven坐标到仓库

mvn install:install-file -Dfile=F:\idea-workspace\taoke\maven-3.6.1\repository\jna-3.0.9.jar -DgroupId=com.sun.jna -DartifactId=jna -Dversion=3.0.9 -...

2019-11-26 10:39:06

阅读数 19

评论数 0

原创 获取客户端的IP地址(过滤代理)

下面的工具, 能满足绝大部分应用环境,但并不是百分百。 //获取ip public static String getIpAddress(HttpServletRequest request) { String ip = null; //X-For...

2019-11-20 11:57:07

阅读数 14

评论数 0

原创 获取当前时间到一天剩余的秒数

/** * 获取当前时间到一天结束的剩余秒数 * * @param currentDate * @return */ public static Integer getRemainSecondsOneDay(Date currentDate...

2019-11-20 11:36:06

阅读数 24

评论数 0

原创 windows杀死指定端口进程

查询指定端口 netstat -aon|findstr "1011" 杀死指定进程 taskkill /pid 24604 -t -f

2019-11-08 09:05:02

阅读数 17

评论数 0

原创 Serializable和Externalizable浅析

Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。从而达到网络传输、本地存储的效果。 本文主要要看看JDK中使用Serializable和Externalizable接口来完成Java对象序列化,并给出部分属性序列化的几种方式,最终做...

2019-10-28 17:42:45

阅读数 66

评论数 0

原创 2019年10.24

今天我还在上班

2019-10-24 08:38:46

阅读数 44

评论数 0

原创 事务的隔离级别

事务的隔离级别 先了解下mysql的事务隔离级别,这个也是老生常谈的一个知识点,也是面试比较常问的一个问题,不过能够以自己的理解描述出来的人不多 读未提交(read-uncommitted):存在【脏读】、【不可重复度】、【幻读】的问题 读已提交(read-committed) :存在【不可...

2019-10-22 10:00:18

阅读数 12

评论数 0

原创 IDEA设置方法注释,目前使用IDEA版本2019.2

先在方法上输入/**,接着按table

2019-09-12 11:17:51

阅读数 731

评论数 0

原创 强行剔除Eureka中的服务

1、确定需要强行剔除的服务 2、执行接口 方便复制: http://{ip}:{port}/eureka/apps/GIFT-MERCHANT-SERVICE/localhost:gift-merchant-service:8080

2019-08-30 16:14:10

阅读数 46

评论数 0

原创 Spring boot admin 节点状态一直为DOWN的排查(忽略某一个节点的健康检查)

项目中需要监控各个微服务节点的健康状态,找到了spring boot admin这个全家桶监控工具,它其实是Vue.js美化过的Spring Boot Actuator,官方的解释是: codecentric’s Spring Boot Admin is a community project...

2019-08-01 17:53:39

阅读数 1084

评论数 0

原创 Jenkins配置免密,免密登录到其他服务器

说明: jenkins构建时需要连接远程服务器并且执行脚本,这时就需要配置ssh免密钥登录。jenkins构建时都是以jenkins用户进行操作,所以要以jeknins用户来配置免密钥登录。本教程以用户名qiaofeng为例说明。 A:192.168.10.78, B:192.168.10.76...

2019-07-26 13:17:37

阅读数 724

评论数 0

原创 java使用wait和notify实现放水果吃水果(2个线程通信)

使用wait和notify方法仅能实现2个线程之间通信。后面会更新多个线程之间通信。 Farmer:农夫 Child:小孩 Kuang:框(最多放进10个水果) 如果框中的水果等于10就让农夫休息,如果框中的水果等于0就让小孩休息。 Farmer: /** * @author :L...

2019-07-16 17:38:47

阅读数 95

评论数 0

原创 CountDownLatch - 关于门闩的一个面试题

原文链接:https://blog.csdn.net/qq_38238041/article/details/83789917,我自己又改了下,在于线程2的if判断没有必要。 面试题:实现一个容器,提供两个方法,一个size,一个add 写两个线程,线程1往自定义容器中添加...

2019-07-16 16:51:12

阅读数 57

评论数 0

原创 SpringBoot整合EhCache3.6加过期机制

Ehcache3.6官方文档:http://www.ehcache.org/documentation/3.6/getting-started.html 本来不想加缓存的,但奈何我的接口还要调用另外一个公司的接口,那个公司的接口老是超时,导致页面加载很慢,本来想用redis的key过期机制的,但...

2019-07-11 09:56:36

阅读数 380

评论数 0

转载 Spring Aop实例@Aspect、@Before、@AfterReturning@Around 注解方式配置

用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了AOP功能。我使用到了@Before、@Around这两个advice。但在,使用过程中,却对它们的...

2019-07-10 14:06:11

阅读数 42

评论数 0

原创 解决JAVA一个处理器同时接收【文件】和【json】2种参数

前言: 前段时间写了一个上传文件接口,发现需要上传文件的同时,还需要加上json字符串才行,最后顺利解决。 前端使用formdata进行传输,不懂可以百度。 后端代码: public IotResponseObject<Object> assignCard(HttpServ...

2019-07-03 17:48:50

阅读数 1095

评论数 0

原创 解决socket-ss5日志过大的问题

vim /etc/init.d/ss5 其实就是增加了-m, 这个参数就是不记录ss5的日志, 这日志可读性不大, 就不留了呗~~~ 磁盘满了,会造成各种问题,所以要格外注意。 df -h :查询磁盘的存储空间 du -sh * :查询目录下文件的大小 ...

2019-07-03 17:11:18

阅读数 324

评论数 0

转载 linux 删除文件后,如何释放磁盘空间?

前言:我的服务器是阿里云的,基本上没安装什么,但40G的硬盘都满了,用du -sh * 找到那个文件占用大了之后,把这个文件夹给删了,结果硬盘存储没下去。找到一篇跟我的一样,留下方便以后自己记录。 环境 : 阿里云服务器 CentOS 硬盘大小 : 40G 问题 : 磁盘空间不足 处理过程 :...

2019-07-02 09:25:27

阅读数 566

评论数 0

原创 java使用POI设置单元格的样式

HSSFCellStyle cellStyle = wb.createCellStyle(); 一、设置背景色: cellStyle.setFillForegroundColor((short) 13);// 设置背景色 cellStyle.setFillPattern(HSSFCell...

2019-06-24 14:29:11

阅读数 1079

评论数 0

原创 java获取当前月和周的第一天和最后一天

获取当前周的第一天: public static Date getFirstDayOfWeek(Date date) { Calendar cal = Calendar.getInstance(); try { cal.setTime(date); ...

2019-06-24 14:24:53

阅读数 366

评论数 0

原创 mysql YEARWEEK(date[,mode]) 函数 查询上周数据

通常使用下边sql即可(如果数据库设置了周一为一周起始的话): -- 查询上周数据(addtime为datetime格式) select * from iot_card_info where YEARWEEK(FROM_UNIXTIME(activate_day,'%Y-%m...

2019-06-21 13:42:36

阅读数 143

评论数 0

原创 java下载excel模板-SpringBoot版本

excel文件放在Resource下面 @PostMapping("/downloadAddCardFtl") @OperateLog(module = Module.CARD, menu = "移动卡列表", operate = &qu...

2019-06-19 17:14:47

阅读数 717

评论数 0

转载 MyBatis-Plus updateById方法更新不了空字符串/null解决方法

最近遇到了Mybatis-Plus updateById(),更新某一个字段为null,却发现没有更新成功,发现有一个博客记录挺好的。转载过来,方便自己看。 一、简介 因为最近在忙项目,好久都没有更新博客,最近在项目中刚好遇到一个问题,就是在使用MyBatis-Plus updateById(...

2019-06-19 14:01:33

阅读数 3919

评论数 0

原创 nginx 配置HTTPS证书-阿里云服务器

一、申请免费SSL证书: 1、登录阿里云: 2、进入管理控制台——云盾控制台——证书服务: 二、免费购买Symantec证书: 1、接上一步,找到证书服务之后,点击进入证书服务页面,然后”购买证书“。 2、如下选择: 3、补全域名及其他信息: 4、之后申请通过之后...

2019-06-18 09:32:34

阅读数 283

评论数 0

原创 检查型异常(Checked Exception)与非检查型异常(Unchecked Exception)

Checked:运行时异常。 Unchecked:非运行时异常。

2019-06-14 16:12:31

阅读数 171

评论数 0

原创 BigDecimal 比较 0 ,负数 ,正数

BigDecimal money = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); //signum():-1 负数,0 0 ,1 正数 if (money.signum() == -...

2019-06-14 14:51:20

阅读数 1549

评论数 0

原创 mybatis的resultType接收一个内部类

外部类: RechargeListVo 内部类: Summary @Data @Accessors(chain = true) public class RechargeListVo implements Serializable { /** *充值时间 ...

2019-06-11 17:50:06

阅读数 624

评论数 1

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