11 2022 档案

摘要:概述 MAT,下载地址,Eclipse Memory Analysis Tools,一个分析Java堆数据的专业工具,可以计算出内存中对象的实例数量、占用空间大小、引用关系等,可得知哪些线程阻止垃圾收集器的回收工作,从而定位内存泄漏的原因。 什么时候会用到MAT? OutOfMemoryError时 阅读全文
posted @ 2022-11-30 23:53 johnny233 阅读(903) 评论(0) 推荐(0) 编辑
摘要:概述 Java语言中最正统的任务调度框架,几乎是首选。后来和Spring Schedule平分秋色;再后来会被一些轻量级的分布式任务调度平台,如XXL-Job取代。另外近几年Quartz的维护和发布几乎停滞,但这并不意味着Quartz被淘汰,还有学习和使用的价值。 入门 SB版本是2.0.0+,则s 阅读全文
posted @ 2022-11-29 21:17 johnny233 阅读(125) 评论(0) 推荐(0) 编辑
摘要:概述 池化技术,包括线程池、连接池、内存池、对象池等。作用就是提前保存大量的资源,或将用过的资源保存起来,等下一次需要使用该资源时再取出来重复使用。 线程池:通过预先创建一定数量的线程,当有请求达到时,线程池分配一个线程提供服务,请求结束后,该线程又去服务其他请求。避免线程和内存对象的频繁创建和释放 阅读全文
posted @ 2022-11-27 23:10 johnny233 阅读(121) 评论(0) 推荐(0) 编辑
摘要:概述 本文所指的SQL优化主要是指MySQL优化,当然思想是通用的,其他SQL语言不排除其通用性。谈到SQL优化,最好有一个指导或者规范,照着这个规范去对比,发现可以优化的地方。参考博文MySQL推荐使用规范。 总体思路 优化的总体思路,也可以说是数据库性能优化方法论。遇到性能问题时,要判断是哪一种 阅读全文
posted @ 2022-11-24 21:51 johnny233 阅读(82) 评论(0) 推荐(0) 编辑
摘要:概述 关于XXL-JOB的使用遇到的问题记录。对XXL-JOB不熟的,可以先参考分布式任务调度平台XXL-JOB深度实战 实战 业务DTO定义如下: @Data public class AdAccountDTO { private String accountId; /** * yyyy-MM-d 阅读全文
posted @ 2022-11-24 21:30 johnny233 阅读(3332) 评论(0) 推荐(0) 编辑
摘要:概述 在做数据产品或平台系统时,经常会遇到类似如下截图中,有截至日期的定时调度任务的需求。即定时任务只在指定的开始日期-截至日期里指定的时间里执行。具体的业务需求场景,如营销活动的看板数据的订阅邮件,推送名单的活动,活动(双十一,六一八)结束后就不再需要执行任务。 注:因为使用的Java语言的定时调 阅读全文
posted @ 2022-11-21 23:01 johnny233 阅读(110) 评论(0) 推荐(0) 编辑
摘要:概述 面对海量、高并发请求时,为了实现秒级设置毫秒级响应,增加系统的吞吐量,故而需要考虑引入缓存系统。常见的开源的组件如下。 Ehcache 官网 GitHub 特色: 够快:Ehcache发布历史长,经过几年的努力和不计其数的性能测试,Ehcache终被设计于large, high concurr 阅读全文
posted @ 2022-11-11 11:16 johnny233 阅读(113) 评论(0) 推荐(0) 编辑
摘要:概述 synchronized,关键字,可以使用在以下场景: 普通方法,锁是当前实例对象静态方法,锁是当前类的class对象同步方法块,锁是括号里面的对象: 对实例对象加锁synchronized (this),锁是当前实例对象对Class加锁synchronized (Xxx.class),锁是当 阅读全文
posted @ 2022-11-08 21:56 johnny233 阅读(37) 评论(0) 推荐(0) 编辑
摘要:概述 对于多分支的代码库,将提交记录从一个分支转移到另一个分支是常见需求。这时分两种情况: 需要另一个分支的所有提交记录,使用合并(git merge)只需要部分提交记录,可使用cherry pick。 命令 git cherry pick是一个很强大的命令,支持从某次、多次提交、多次连续提交、分支 阅读全文
posted @ 2022-11-06 22:43 johnny233 阅读(175) 评论(0) 推荐(0) 编辑
摘要:问题 在ELK日志查询平台看到如下报错信息: org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLIntegrityConstraintVio 阅读全文
posted @ 2022-11-04 22:56 johnny233 阅读(512) 评论(0) 推荐(0) 编辑
摘要:概要 Spring事务基于数据库事务,JDBC事务过程: 获取连接Connection con = DriverManager.getConnection()开启事务con.setAutoCommit(true/false);执行CRUD提交事务/回滚事务con.commit(), con.roll 阅读全文
posted @ 2022-11-02 14:35 johnny233 阅读(386) 评论(0) 推荐(0) 编辑