JDK BUG 这篇文章,聊一下我最近才知道的一个关于 JDK 8 的 BUG 吧. 首先说一下我是怎么发现这个 BUG 的呢? 大家都知道我对 Dubbo 有一定的关注,前段时间 Dubbo 2.7.7 发布后我看了它的更新点,就是下面这个网址: https://github.com/apache/dubbo/releases/tag/dubbo-2.7.7 其中有 Bugfixex 这一部分: 每一个我都去简单的看了一下,其他的 Bugfixes 或多或少都和 Dubbo 框架有一定的关联性…
JDK BUG 这篇文章,聊一下我最近才知道的一个关于 JDK 8 的 BUG 吧. 首先说一下我是怎么发现这个 BUG 的呢? 大家都知道我对 Dubbo 有一定的关注,前段时间 Dubbo 2.7.7 发布后我看了它的更新点,就是下面这个网址: https://github.com/apache/dubbo/releases/tag/dubbo-2.7.7 其中有 Bugfixes 这一部分: 每一个我都去简单的看了一下,其他的 Bugfixes 或多或少都和 Dubbo 框架有一定的关联性…
前几天和朋友闲聊,说遇到了一个ConcurrentHashMap死循环问题,当时心里想这不科学呀?ConcurrentHashMap怎么还有死循环呢,毕竟它已经解决HashMap中rehash中死循环问题了,但是随着深入的分析,发现事情并没有之前想的那么简单~ (以下分析基于jdk版本:jdk1.8.0_171) 保险起见,不能直接贴出出现问题的业务代码,因此将该问题简化成如下代码: ConcurrentHashMap<Integer, Integer> map = new Concurren…
你好呀,我是歪歪. 前段时间在 RocketMQ 的 ISSUE 里面冲浪的时候,看到一个 pr,虽说是在 RocketMQ 的地盘上发现的,但是这个玩意吧,其实和 RocketMQ 没有任何关系. 纯纯的就是 JDK 的一个 BUG. 我先问你一个问题:LinkedBlockingQueue 这个玩意是线程安全的吗? 这都是老八股文了,你要是不能脱口而出,应该是要挨板子的. 答案是:是线程安全的,因为有这两把锁的存在. 但是在 RocketMQ 的某个场景下,居然稳定复现了 LinkedBlo…
Python是一种解释型的.动态数据类型的.面向对象的高级程序设计语言.拥有丰富的处理数据和文本类库,并且得益于它是一种解释型的语言,在程序修改和功能扩展上,可以很容易做到大规模的调整.综合考虑Python的动态.轻量化特性,使用Python来处理Excel自动生成CSV文档的操作. 程序的运行需要依赖两个Python的类库,Pandas和Xlrd.Pandas是Python的一个数据分析类库.Xlrd则是帮助开发人员从Microsoft的Excel操作数据的好帮手. 至于为什么要把Excel变…
猫宁!!! 参考链接:https://mp.weixin.qq.com/s/gCWjzHBRfbPFhNeg2VtFhA https://mp.weixin.qq.com/s/bmifCmD2CHV177FSMFs0oQ 对方公众号:caoz的梦呓 在IC咖啡分享会的时候,有人问到了这个问题,关于创业公司,在资金和技术短缺的情况下,如何做好信息安全呢? 这真是个好问题,我觉得有必要单开一篇. 很抱歉的是,其实在这个领域我自己做的也不够好,甚至可以说劣迹斑斑,好多次都是靠朋友帮忙才躲过一劫.所以,…
上一次我们讲到了边双,这次我们来看点双. 说实话来说,点双比边双稍微复杂一些: 学完边双,我们先看一道题 第一问都不用说了吧,多余的道路,明显的割边. 是不是首先想到用边双,但是我们来看一个图: 有点丑,但是凑活看吧. 它是一个边双,但是!!!!它竟然没有冲突的边!!! 此时我们就要用点双了(是不是想打死我,竟然没讲,先坑人) 先看概念 都说概念是非常重要的,但是概念似乎有点笼统,可以附图解说 点双的一大特点是它可以重复用点,而那个点就是割点,而我们的缩点操作也是用割点连接各个点双的. 那么我们…
简介 按照上一篇的计划,这一篇给小伙伴们讲解一下:(1)多模块使用logging,(2)通过文件配置logging模块,(3)自己封装一个日志(logging)类.可能有的小伙伴在这里会有个疑问一个logging为什么分两篇的篇幅来介绍她呢???那是因为日志是非常重要的,用于记录系统.软件操作事件的记录文件或文件集合,可分为事件日志和消息日志.具有处理历史数据.诊断问题的追踪以及理解系统.软件的活动等重要作用,在开发或者测试软系统过程中出现了问题,我们首先想到的就是她——logging.她可不像…
一.今日内容概要 今天的正文开始前,我要特意感谢一下评论区几位留下高质量留言的同学.用户名是 @某.人 的同学,对文章的知识点做了梳理,然后提了关于事务可见性的问题,就是先启动但是后提交的事务,对数据可见性的影响.@夏日雨同学也提到了这个问题,我在置顶评论中回复了,今天的文章末尾也会再展开说明.@Justin 和 @倪大人两位同学提了两个好问题. 对于能够引发更深一步思考的问题,我会在回复的内容中写上“好问题”三个字,方便你搜索,你也可以去看看他们的留言. 非常感谢大家很细致地看文章,并且留下了…
目录 一.吹个牛 二.事务及它的特性 三.简单看下两阶段提交的流程 四.两阶段写日志用意? 五.加餐:sync_binlog = 1 问题 六.如何判断binlog和redolog是否达成了一致 七.两阶段提交设计的初衷 - 分布式事务 八.再看MySQL两阶段写日志 九.留一个彩蛋 十.推荐阅读(公众号首发,欢迎关注白日梦) 一.吹个牛 面试官的一句:"了解MySQL的两阶段提交吗?" 不知道问凉了多少人! 这篇文章白日梦就和大家分享什么是MySQL的两阶提交到底是怎么回事!不管你原…