
日常优化
文章平均质量分 59
学Java学到痴呆
这个作者很懒,什么都没留下…
展开
-
二级缓存设计思路
二级缓存原创 2023-07-25 23:11:32 · 252 阅读 · 0 评论 -
A/BTest设计方案
场景:需要比较开卡活动的引流效率,有三种方案A、B、C。A为原始方案/公认最优方案,B为方案1,C为方案2。流量分配比例为:4:3:3,同时投放上线,从而选择效果最优方案。痛点:ABTest 页面,保持一个入口链接 同一个用户多次进入应看到同一个页面 避免重复开发,有配置后台让运营产品可配置,包括流量分配,查看实验效果等 分流逻辑属于跨业务的公共逻辑,应单独抽象方案:渠道参数:A:0、1、2、3B:4、5、6C:7、8、9前端编写拉新页面,将渠道参数和uid等开卡信息原创 2021-10-12 12:43:22 · 651 阅读 · 0 评论 -
JavaGC调优(2)——GC实战
上篇文章主要分析了一下JVM和GC算法等理论,这篇主要就是实战。GC的目标1.1、GC优化是必要的吗事实上GC优化对Java基础服务来说在有些场合是可以省去的,但前提是这些正在运行的Java系统,必须包含以下参数或行为:内存大小已经通过-Xms和-Xmx参数指定过 运行在server模式下(使用-server参数) 系统中没有残留超时日志之类的错误日志我们GC优化的最主要的目的:减少Full GC的执行时间 将进入老年代的对象数量降到最低1.2、GC调优调的是什...原创 2021-04-05 16:38:11 · 217 阅读 · 0 评论 -
记录工作中遇到的序列化与反序列化问题
一、背景知识:1、序列化的作用:序列化是一种对象持久化的手段。普遍应用在网络传输、RMI等场景中。如果,我们需要将People对象的属性(name,age,gender),写入到Txt、Excel等文档,或者传递给其他模块使用,那么我们需要用到序列化和反序列化。2、序列化的使用:如果需要标识某对象为可序列化,仅需要继承Serializable接口,同时必须生成序列化UIDserialVersionUID。例如3、使用注意:《阿里巴巴Java开发手册》中有以下强制规定:如..原创 2020-08-14 18:41:52 · 304 阅读 · 0 评论 -
阿里云ARMS解决慢SQL导致任务无法重启问题
1、现象执行近100W条Elastic-job任务时,扫描代执行任务耗时5.5秒,数据库socketTimeout设置5S超时,导致超时异常,从而退出任务。2、排查利用阿里云ARMS监控应用1、安装Java探针 开通ARMS,并创建应用。 下载Java探针包并解压。 在Java应用启动脚本中增加-javaagent:/{user.workspace}/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar-Darms.licenseK原创 2021-02-24 14:56:26 · 480 阅读 · 0 评论