自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池参数自定义设置及详解

三、关于线程池参数的设置的考量线程池的构造函数:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable&

2021-03-27 23:17:17 883

原创 线程池+ FutureTask异步执行多任务

之前会员领取查询的接口超时了,因为有用户订购的会员有点多哈哈解决方案:用线程池+ FutureTask将1个查询拆分成多个小查询由于FutureTask仅执行1次run()的特性(即使有多次调用也只执行1次),避免了重复查询的可能。而且多任务异步执行也能提高接口响应速度。若对FutureTask仅执行1次run()有疑问,可看: FutureTask为何仅执行一次run()?.一、线程池+FutureTask执行多任务计算public class Test { //线程池最好作为全局变量

2021-03-01 18:06:17 2472 1

原创 SQL姿势总结,多次加班经验教训

一、GROUP_CONCAT(谨慎考虑使用)这方法是分组的形式将相同的行进行字符串聚合,字符之间默认以逗号间隔,有点耗时的,用了时候考虑一下要聚合的行数,如果行数多的话慎用。至于它的用处,举个例子:要把全校的同学以班级为单位分班select class as 班级 , GROUP_CONCAT(studentName) as 学生名单 from student group by class班级学生名单1班小明,小白,小黄2班小猪,二狗子二、text类型tex

2021-02-24 17:05:44 1354 5

原创 Java8的stream处理List集合的相同部分(交集)、去重

Java8的新特性——stream常用于处理集合,它不会改变集合原有的结构本文主要说的是:获取两个集合的交集、差集、去重一、两个集合的交集例如:找出两个班 名字相同的学生public class Student { private String studentNo; //名字 private String studentName; public Student(String studentNo, String studentName) { this.studen

2021-02-20 17:46:57 12662

原创 FutureTask简单用法,为何单个任务仅执行一次?

前几天会员领取情况查询的接口SQL查询超时出故障了,因为有个用户买的会员有点多(笑哭),说白了还是数据量太大了尝试的解决方案:优化索引:因为涉及的SQL语句多,要排查出影响超时的SQL不太现实(可能是多个SQL导致的),要优化的话也难以看到单个SQL的优化效果Future获取线程的执行结果:将1次查询划分为多次小查询同时进行,提高接口响应速度经过权衡,我们选择了后者,用Future将1次查询划分为多次查询Future是如何拿到线程执行的结果?主要 有赖于FutureTask类的Callabl

2021-01-05 16:29:41 1656 4

原创 Java获取指定日期前一天、后一天,当月第一天、当月最后一天

获取前一天、后一天的时间

2020-12-20 22:36:59 17306 4

原创 JSONObject和JSONArray的用法和业务场景

最近接手了一个分期支付业务,要求通过 产品类型、分期的期数 找到对应的 费率 。 这涉及到JSONObject、JSONArray的使用。分期支付业务传入的json串如下:{ "花呗": [{ //产品类型 "instalmentNum": "6期", //分期的期数 "repaymentRate": "20.50%" //费率 }, { "instalmentNum": "12期", "repaymentRate": "25.00%" }, { "instalmentNum

2020-12-16 18:23:50 384 1

原创 Java日期比较大小的几种方式

日期比较在开发里面很是常见,我也踩了不少坑,本文就列举一下Java日期比较的方式一、字符串String的日期比较String型的日期通过compareTo()来比较,因为String实现了comparable接口这里我们比较的是endDate、today的大小today.compareTo(endDate)来判断红包是否过期不可领取endDate表示 红包失效的日期today表示当前时间(今天)today.compareTo(endDate) >0 说明今天日期 相对晚 ,大于红包失效日

2020-11-15 12:09:31 40227 3

原创 设计模式必知必会:策略模式

应用场景最近写了一个服务:根据优惠券的类型resourceType和编码resourceId来 查询 发放方式grantType实现方式:根据优惠券类型resourceType -> 确定查询哪个数据表根据编码resourceId -> 查询派发方式grantType优惠券有多种类型,分别对应了不同的数据库表:红包购物券QQ会员外卖会员实际的优惠券远不止这些,这个需求是要我们写一个业务分派的逻辑第一思路一般是if-else 、swtich case:switch(

2020-10-23 18:07:36 232

原创 Map+函数式接口代替策略模式

最近写了一个服务:根据优惠券的类型resourceType和编码resourceId来 查询 发放方式。实现方式:根据优惠券类型resourceType -> 确定查询哪个数据表根据编码resourceId -> 查询派发方式grantType优惠券有多种类型,分别对应了不同的数据库表:美食满减红包,简称红包商品购物券,简称购物券QQ会员外卖会员等实际情况远不止这些,这个需求是要我们写一个业务分派的逻辑第一个能想到的思路就是if-else或者switch case:

2020-10-21 18:17:49 3331 9

原创 HashMap的遍历方式以及性能

HashMap的遍历方式主要有四种,

2020-10-19 16:13:41 378

原创 BigDecimal运算以及8种舍入模式

BigDecimal一般是用在大金额结算等对数值精度要求较高的领域(因为浮点数如float、double表示小数的精确度不足),但其运算性能低于Double、Float等,在一般的数值计算也不会随便用。本文将介绍BigDecimal的加减乘除以及8种舍入模式。8种舍入模式1. ROUND_UPbigDecimal.setScale(2,BigDecimal.ROUND_UP)第一个参数newScale:newScale:2精确到小数点后2位(即只保留小数点后2位)第二个参数BigDecimal

2020-09-28 15:27:00 2215

原创 看源码说特性:LinekdList

先说特性,再说源码(有这特性的原因),后说应用场合。先说特性易于增加和删除。双向链表实现,链表头尾都有指针,增加和删除只需要改变指针的指向即可。而ArrayList是数组实现,适合遍历和随机查询元素。遍历的效率低。链表相邻结点不在相邻的存储空间(内存不连续)。 而ArrayList是内存连续的,因为第一次扩容的时候一次性申请了整个数组对象的空间,遍历相邻元素不需要再次寻址,因此ArrayList的遍历速度快。不支持随机读取。查询的效率是不稳定的,查询速度最快的是头尾结点,查询最慢的是中间部分的结点

2020-09-21 11:26:42 179

原创 ArrayList特性及源码阅读

ArrayList是日常开发用的最频繁的集合了,有必要了解下它的源码和特性。

2020-09-17 17:45:06 112

原创 ArrayList的业务场景使用考量

背景        产品让我写一个报表统计某省各地市的红包发放和兑换情况,要求前端显示和写入excel文件的时候全省的记录放在表的第一行。                        &

2020-09-08 16:24:10 251

原创 数据库分库分表的考量

1、什么时候考虑分库分表?阿里的《Java开发手册》上是说单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。其实这个数字也不是定死的,应该是根据具体的硬件情况来确定。我们可以通过调整INNODB_BUFFER_POOL_SIZE 来让MySQL有足够的内存来加载表的索引,那查询也没有太大的问题。而 INNODB_BUFFER_POOL_SIZE是依赖于服务器的硬件水平比如内存大小,一般占服务器内存的70%~80%左右(因为要给操作系统和其他应用留一部分内存),如果MySQL没有足够

2020-09-07 17:40:33 284

空空如也

空空如也

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

TA关注的人

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