摘要:知识就是力量,但更重要的是运用知识的能力。
【本文运用的知识点】1.最少知道原则;2.保留必要的javadoc注释;3.借助工具消除冗余代码
阅读全文
摘要:先就lombok开始本文 lombok想必大家都在使用。 lombok我们怎么用?——两步 Step1:程序添加lombok工具包的依赖。 Step2:IDE安装lombok插件。 就是说,我们需要两个东西:lombok工具(包) & lombok插件 lombok实现原理 1)lombok工具包
阅读全文
摘要:Hard-Coding is a terribly bad practice.
阅读全文
摘要:在springboot项目中,dubbo消费者在设置dubbo超时时间时,可以在application.yml里设置属性 dubbo.consumer.timeout。这是服务级。也可以在@Reference注解上给timeout属性赋值,来指定特定接口的超时时间。
阅读全文
摘要:POJO其实是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而一些JavaBean中往往会封装一些简单逻辑。
阅读全文
摘要:问题出在 validatorFactory 和 validator 这两个局部对象的初始化上。尤其是初始化 validatorFactory调用Validation#buildDefaultValidatorFactory, 这个方法内部会涉及到xml文件的读取和类映射,可见,每次都做这个事情,CPU表示很无辜!
阅读全文
摘要:我要说的是MyDto的num属性。当num是Integer时,我们得到hessian2序列化结果,然后,修改num为Long,前面的序列化结果可以正常反序列化。反之,num先是Long并且取值在int范围内,然后修改成Integer,亦能正常反序列化
阅读全文
摘要:QueryWrapper/LambdaQueryWrapper/AbstractWrapper/Wrapper... 一图看懂mybatisplus中各个Wrapper类的关系图
阅读全文
摘要:当遇到生产问题,你是怎么处理的,斩草除根?or 头疼医头/脚疼医脚?
阅读全文
摘要:面向对象的抽象、封装、继承、多态的理念,使企业应用大规模化成为可能,有效地降低了软件开发成本、维护成本和复用成本。OOP实践了软件工程的三个主要目标:可维护性、可重用性和可扩展性。
阅读全文
摘要:解决办法是 利用fastjson的两个成员-- com.alibaba.fastjson.serializer.ObjectSerializer 和 com.alibaba.fastjson.annotation.JSONField 。
阅读全文
摘要:之所以提这个雷,是因为,今天下午,通过监控系统发现,我们系统生产能力突然下降,频繁报无法获取数据库连接。究其原因,竟然是因为mybatisplus的这个“坑”导致的。
阅读全文
摘要:随着需求迭代,团队代码量逐渐增多,熵增崭露头角。临近月底,我打开部分程序,再做一次代码走查。 ✅ 两点之间直线最短 我在做代码走查的时候,发现一个service方法里有这么一段代码 List<PlatOrder> platOrderList = platOrderService.selectByOr
阅读全文
摘要:这里分享一个定时任务批量处理数据的性能优化过程。没有什么技术难点,只是“简单”改变一下实现方式,性能提升到爆!
阅读全文
摘要:@ConditionalOnProperty实现按需注入bean
阅读全文
摘要:在 Spring 中,@Cacheable 注解是用于启用方法结果的缓存功能。 springboot结合redis做缓存,在@Cacheable中使用如下SpEL时报错。 @Cacheable(cacheNames = ENTERPRISE_CACHE_KEY, key = "#{T(com.ema
阅读全文
摘要:众所周知,SimpleDateFormat是多线程不安全的 下面这段代码通过多线程使用同一个SimpleDateFormat对象的parse方法, 多次执行代码来测试,可以看到会出现两种预想不到的现象 >要么出现不正确的时间解析结果,要么抛出message各异的NumberFormatExcepti
阅读全文
摘要:会 is one thing,会用 is another。本案也再一次敲响了警钟:在使用redis分布式缓存时,尤其控制缓存大对象,更要严禁高频访问大对象缓存。
阅读全文
摘要:利用MyBatis-Plus如何实现sql里的select sum(*)...group by?
阅读全文