自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为啥方法区的垃圾回收很难

回收方法区主要回收的是不使用的常量以及类型。如果要回收不使用的类型首先要满足这个类以及这个类的派生类的实例在堆中没有然后加载这个类的类加载器已经被回收然后这个类的class没有被任何地方引用,就是无法在任何地方使用这个类的class...

2021-12-23 15:27:13 80

原创 2021-10-30 看到我手下的一些初级经常写一些多重for循环,我给他们总结了一下

使用map<Integer,Object>,利用map集合根据key值取数据的特点规避了使用双重循环,从而极大的减小了算法的时间复杂度。比如我在写商品库存更新的时候,我用的是命令模式加模板方法加工厂模式,而你在创建怎么一个工厂的时候,比如模板的子实现:退货入库或者采购入库;退货入库有个退货入库单,退货入库单中有个退货入库条目集合;而我要创建这个对应的退货更新命令工厂的时候,要生成商品集合(GoodsStockDO的list),而这个DO是持有goodsSkuId的,如果不用map,也可以用退货

2021-10-30 18:19:03 66

原创 2021-02-01

关于异步处理中 子线程异常 线程不回滚的原因如下:原因1:@Transactional只能控制单线程事务,所以子线程中的方法B不受A方法上的事务控制原因2:@Transactional只能在public声明的方法上生效(那么把上边例子中的private改成public就可以了吗?并不能,因为原因3)原因3:@Transactional是通过proxy实现的,所以B方法要放在新的类中,不能放在A方法所在的类中...

2021-02-01 10:06:26 100

原创 2020-12-11

给varchar数据库类型做递增时 用触发器 配合lpad函数 很好用

2020-12-11 11:11:25 63

原创 2020-09-18

业务中需要定时同步上游的数据 最开始用truncate加insert发现 truncate不会回滚 后面换成delete from 后 可以进行事物 切事物默认只回滚runtimeexception 和error

2020-09-18 16:43:08 56

原创 2020-09-16

原子类的aba问题

2020-09-16 16:40:45 48

原创 2020-08-04

cbo 执行代价sql优化器 1 收集统计信息

2020-08-04 09:49:24 83

原创 2020-07-31

双检索的第一个判断对象是否是null 是为了防止已经创建对象了 还进去同步代码块 第二个同步里面的判断null 是为了 多线程抢占时 避免创建重复对象 双检索加volatile 是为了 防止 指令重排 造成的 对象不完整。...

2020-07-31 16:40:06 83

原创 2020-07-30

enum 做单例 1 静态初始化时 clinit 保证了 类加载时的并发安全性 2 constructor反射实例时 newinstence 如果发现是enum 会抛出异常 唯一的劣势是 不能继承父类 因为enum是final类型的

2020-07-30 19:52:23 76

原创 2020-07-30

如果在终端中执行java -jar xxx.jar&命令,当终端关闭时,xxx.jar也会同时结束运行,但是如果执行nohup java -jar xxx.jar&命令,则程序会在后台一直运行,值得注意的是,此时程序控制台输出会被转移到nohup.out文件中...

2020-07-30 14:35:08 70

原创 2020-07-30

on where在 innerjoin的时候 没啥区别 但是在left right 有区别 因为比如left join on后面的条件只对右边的表有效 所以 如果要筛选左表 要把条件放在where中

2020-07-30 11:33:07 74

原创 2020-07-23

stream的foreach 无法向外抛出异常 你如果写了throw 必须捕获。。。

2020-07-23 20:13:32 59

原创 2020-07-16

数据库优化的漏斗法则基本可分为5个层次:减少数据访问(减少磁盘访问)索引,减少全表扫描返回更少数据(减少网络传输或磁盘访问)根据实际业务需求返回所需数据减少交互次数(减少网络传输)缓存存储过程批量查询减少服务器CPU开销(减少CPU几内存开销)批量处理在客户端处理大量负责运算利用更多资源(增加资源)硬件资源...

2020-07-16 11:26:51 244

原创 2020-07-14

逻辑删除 要建立唯一索引时 可以让deleted这个字段 的删除 不只0 可以递减到-1 -2以此类推来实现

2020-07-14 17:04:02 59

原创 2020-07-14

管辖的小兄弟今天有个奇怪的问题 就是 一个字段加了索引 sql耗时70s explain看后发现 一切正常 我跟着看了下 发现加索引的那个字段有null 去掉改索引后 只有30毫秒 索引不能乱加 一定要每个子查询 测试后 如果速度不满意 才去加上。...

2020-07-14 10:26:47 67

原创 2020-07-10

set去重自定义对象时 一定要 覆盖hashcode 和 eqauls方法 因为set底层是hashmap 不覆盖的话 用地址判断对象是否相等

2020-07-10 10:49:53 92

原创 2020-07-09

业务中的 list想存入到数据库varchar时 可以用concat_ws(",",<foreach<>)来拼接成逗号分割的字符串存入

2020-07-09 10:44:24 116

原创 2020-07-09

初次使用easyexcel时 发现 无法直接将实体类中的timestamp类型的数据 转换为string 导致 导出excel失败 后面我写了一个转换类 实现Conveter接口 来得到导出实现。

2020-07-09 10:33:21 457

原创 2020-07-08

@WebFilter里面配置的 urlPatterns想要生效的话 filterName必须是自定义的那个filter类的首字母小写 切要在启动类上加@ServletComponentScan注解 使其生效。

2020-07-08 17:55:13 114

原创 2020-07-07

varchar想映射成list时 可以写一个typehandler 继承basetypehandler 实现四个抽象方法 主要是把str用分隔符 分割成对应的list集合 来做

2020-07-07 19:52:09 101

原创 2020-07-07

mybatis resultmap标签 的时候 里面的 id result collection标签 不能间隔开用 必须按顺序写

2020-07-07 16:45:32 80

原创 2020-07-07

业务中 有些同学遇到了 数据库两个列 不能完全一样的场景 这个时候可以创建unique的组合索引来达到目的!

2020-07-07 15:35:16 123

原创 2020-06-28

mybatis 映射内部类对象时 外部类和内部类之间用$连接 而不是用.

2020-06-28 11:29:13 77

原创 2020-06-19

用filter做权限检验时 dofilter方法 直接response.senderror时 会引起跨域 此时加入 response响应头 可以解决 具体有 5个header需要设置 methods origin max age heads credentials 必须为true

2020-06-19 10:56:21 201

原创 2020-06-15

mysql 5.7以后 会默认做full group by 检测 可以在不是group by的列 加入 any_view()把列名括起来 解决

2020-06-15 11:34:50 142

空空如也

空空如也

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

TA关注的人

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