- 博客(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-09-18
业务中需要定时同步上游的数据 最开始用truncate加insert发现 truncate不会回滚 后面换成delete from 后 可以进行事物 切事物默认只回滚runtimeexception 和error
2020-09-18 16:43:08
56
原创 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-16
数据库优化的漏斗法则基本可分为5个层次:减少数据访问(减少磁盘访问)索引,减少全表扫描返回更少数据(减少网络传输或磁盘访问)根据实际业务需求返回所需数据减少交互次数(减少网络传输)缓存存储过程批量查询减少服务器CPU开销(减少CPU几内存开销)批量处理在客户端处理大量负责运算利用更多资源(增加资源)硬件资源...
2020-07-16 11:26:51
244
原创 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-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关注的人