自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 避坑总结-1

一、List集合的坑:1.1 Arrays.asList()坑 不能直接使用Arrays.asList()转换基本类型的数组,这样会将整体数组作为对象,转为具有一个元素的集合,应使用stream流做限制,或者新创建的java.util的集合接1.2 Arrays.asList()坑 数组转集合后,默认使用Arrays的内部ArrayList,继承自AbstractList,不支持集合的更新操作,会抛异常2 List.subList()坑,subList()返回的集合是原集合的视图,如果做更新操作,会和

2021-09-13 16:32:05 92

原创 编程式事务

编程式事务TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());try{…}catch{log.info();transactionManager.rollback(status);}

2020-12-14 16:47:57 86

原创 RocketMQ消息监听

定义生产者初始化生产者//消息监听处理完业务后,必须手动ACK消息,不然会重复消费,直到放入死信队列DefaultMQPushConsumer consumer = new DefaultMQPushConsumer();consumer.registerMessageListener(new MessageListenerConcurrently() { @Override public ConsumeConcurrentlyStatus consumeMessage(Li.

2020-12-07 18:18:21 3242 3

原创 测试程序的执行时长

// 创建并启动计时器 Stopwatch stopwatch = Stopwatch.createStarted(); // 停止计时器 stopwatch.stop(); System.out.printf("执行时长:%d 豪秒.", stopwatch.elapsed(TimeUnit.MILLISECONDS));

2020-09-22 10:06:26 150

原创 自定义filter实现请求过滤

这样可以过滤特定的URL请求

2020-08-31 15:14:32 199

原创 java的stream流详解

list.stream().collect(Collectors.groupingBy(p -> p.getCode())) 根据某个字段分组,map接收strings.stream().filter(p -> 3 == p.getId()).sorted(Comparator.comparing(Procedure::getId)).collect(Collectors.toList());对某个字段进行过滤,排序...

2020-08-24 16:52:05 121

原创 constraints下的校验详解

javax.validation.constraints包各种校验用法详解@NotNull 被注释的元素不为空@NotEmpty 被注释的元素不为空字符@NotBlank@AssertTrue 被注释的元素必须为true@Future 被注释的元素必须当前时间之后@Past 被注释的元素必须当前时间之前@DecimalMax 校验decimal类型的最大值@Digits(a,b) 被注释的元素必须是一个数字,且在两个参数指定范围@Email 邮箱校验@Negative 被注

2020-08-21 15:48:11 663

原创 ReentractLock可重入锁讲解

公平所:线程按照实现定义好的顺序执行,保证执行顺序的正确性,但是性能会有所降低非公平所: 线程为了性能好,执行的顺序可能实现定义好的不一样,非公平锁的吞吐量要比公平锁大Synchronized和Lock都属于非公平所可重入锁又成为递归锁代码public synchronized void method1(){method2();}public synchronized void m...

2019-04-15 08:41:34 926

原创 volatile

轻量级的同步机制volatile的三大特性:保证可见性 ,不保证原子性 ,禁止指令重排

2019-04-14 22:37:54 74

原创 线程池的底层实现原理:详解

一:线程池的七大参数:corePoolSize(核心线程数)maximumPoolSize(线程池的最大连接数)keepAliveTime(当线程空闲超过一段时间,线程池会判断:运行的线程数大于corePoolSize,线程被停掉)TimeUnitBolckingQueue  阻塞队列RejectExecutionHandler  有四种拒绝策略二:底层实现原理:...

2019-04-12 23:06:06 4146 2

空空如也

空空如也

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

TA关注的人

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