到底什么是 Git 三方对比

问题: 为什么我在 gitlab 上提交的MR,代码diff不是两个分支的区别?

带有场景的举例子:

小A 在linke上建立的新的迭代,同时生成了代码分支 dev,然后 A、B两个同学都在这个迭代进行开发。小 A 基于 dev 分支创建了 dev_A 分支,小B基于dev分支创建了dev_B 分支。后来小A将他的变更合并到了 dev 分支,小B在开发过程中由于和master分支有冲突,所以他在本地解决冲突合并了一下 master 分支,然后又合并了一下 dev 分支,然后推送到 antcode 进行 MR,发现MR中代入了 master 的代码,和小A已经提交的代码?why?

阅读全文〉

如何解决动态规划问题

曾经的我以为动态规划很神秘,很难理解。后来随着刷的动态规划相关的题越来越多,对于动态规划也就驾轻就熟了。我一开始来认识动态规划是通过概念来理解的,这对于我来说总是显得晦涩。我不是一个善于死记理论的人,反而是通过多刷题,回头再去看动态规划的使用情况则是有一种恍然大悟感。这样的获得想必也不会轻易忘记。刷题并不能让人变得聪明,但确实能够锻炼一个人的思维。

阅读全文〉

三门问题

前几天有一个关注很久的公众号推送了一篇讲 “三门问题” 的文章。这不是我第一看到这个问题的分析,我一直觉得这个是个伪命题,后面两个门打开后面有大奖的概率都应该是1/2才对呀。直到我去看了一些分析,写了这篇文章。

阅读全文〉

聊聊 ConcurrentModificationException

今天有朋友突然在群里抛出一句,”java中使用foreach遍历时,为啥不让删除元素呢?设计ConcurrentModificationException的意义是什么目的呢?如果单线程操作,还需要吗?” 。今天我们就来聊一聊这件事。

阅读全文〉

如何构建一个正确的单例

单例模式是设计模式里面最常见的,也是在面试过程中面试官最容易考到的,通过单例模式还可以引申到其他的一些并发问题。今天我们来聊聊如何正确的构建一个单例。

阅读全文〉

线上死锁分析解决纪实

服务发生死锁,死锁检测时间较长,31s后死锁检测出来事务才得以回滚,期间不断有相同请求进来,造成死锁越来越复杂,并且服务端线程池中的所有线程都在等待锁,最后造成服务端线程池无空闲线程,拒绝服务。

注意:单条 SQL 也是一个事务,也会和其他事务发生死锁。

阅读全文〉