BugKill
文章平均质量分 92
记录日常项目,实习中遇到的经典疑难杂症,以及处理方式。概括性总结bugKill思路的大方向
竹天九日
这个作者很懒,什么都没留下…
展开
-
记一次新建操作(insert)的优化过程
return this.ucdpMngTransactionTemplate.execute(new TransactionCallback<Boolean>() { @Override public Boolean doInTransaction(TransactionStatus transactionStatus) { try { GrayBO copy = uc...原创 2020-07-16 17:30:35 · 410 阅读 · 0 评论 -
maven如何解决依赖冲突?示例三种bug的解决
Bug1:本地pull了总分支后无法加载用到的jar包因为本地之前用的依赖版本,和总分支用了同样版本的依赖,但是两个相同版本的jar包里有一个不同的函数。这样一来本地检测到相同版本。解决方案:1.先在Setting里找到Maven的本地仓库路径,进入roepository2.在repository下的common文件夹中找到以项目名命名的文件夹然后删除,之后再IDEA里执行更新命令Bug2:部署编译失败通过如下命令行将远端仓库的jar包同步到本地mvn clean install -Dmave原创 2020-07-01 11:18:02 · 190 阅读 · 0 评论 -
Java内存溢出的典型场景测试
引言:本文是阅读经典的《深入理解Java虚拟机》后,对第二章的内存溢出异常情况进行总结,通过实际代码实现来验证知识点的正确性。1.堆内存溢出Java的堆用于存储对象实例,只要不断地创建对象,并且保证GC root 到对象之间有可达路径,就无法被收集器回收。在java工程的目录下新建一个类,这里命名为MemoryController,代码如下:@RestControllerpublic class MemoryController { private List<TestEntity&g原创 2020-05-29 14:32:21 · 463 阅读 · 0 评论 -
Java虚拟机(JVM)调优和Debug的常用参数详解
引言:JVM中的参数,根据是否常修改,可分为标准类型和非标准类型。标准类型的代表有 -server,-client和-version这种无论在那个版本JVM中都是自带不可改的部分。 —Xint,-Xcomp和-Xmixed这类X开头的也是不可修改。其它部分则可统一归类到非标准类型中,也是本文要详解的主要内容。1.堆内存的配置信息参数-Xms -Xmx 堆的容量-XX:NewSize -XX:MaxNewSize 新生代的大小-XX:NewRatio 设置Yong 和 Old的比例 -XX:S原创 2020-05-29 11:28:58 · 961 阅读 · 0 评论 -
Java性能监控工具Arthas实践
1. 启动Demo在dos窗口输入:curl -O https://alibaba.github.io/arthas/arthas-demo.jarjava -jar arthas-demo.jararthas-demo是一个简单的程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果。2. 启动arthas在命令行下面执行(使用和目标进程一致的用户启动,否则可能attach失败):蓝线以左是java开的demo(质数分解),蓝线以右是启动arthas的窗口dashboard原创 2020-05-26 14:53:08 · 410 阅读 · 0 评论 -
git常用工具的原理介绍以及项目使用中常见问题(持续更新)
1.工具中的重要原理1.SSH KEy在《GitHub入门与实践》一书中对SSH Key的介绍并不多,只是简短的说了使用。针对不同的git平台,所生产的公开密钥其实是不一样的。重点:id_rsa文件是私有密钥,id_rsa.pub 是公开密钥2. Merge 和Rebase操作的区别在对当前某公共分支中(通常dev线或pro线)操作时,Merge是将公共分支最新版合并到自己的分支中,形成一个新的 commit 提交。而Rebase则像公共分支又重新拉出来这个分支一样。Merge(合并)是最常原创 2020-05-24 22:28:15 · 3918 阅读 · 0 评论 -
定位错误日志排查Bug的基本思路大汇总(持续更新)
前言:根据项目提炼了的经验总结。主要提供一种BugFree的思路1.写日志时要养成的好习惯保证在定位日志时可以离开代码情镜还能看懂问题是什么。在方法前加 @Transactional,抛出异常之后,事务会自动回滚,数据不会插入到数据库。规范打印日志的格式其中最重要的是接口和关键字,用于追踪定位log.warn(String.format("[接口名或操作名][Key Msg]:%s...原创 2020-03-26 12:05:19 · 4198 阅读 · 0 评论