摘要:
基于版本jdk1.7.0_80 java.util.ArrayList 代码如下 /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFID 阅读全文
摘要:
看到一张很好的图,对着这个图看源码,会清晰许多 阅读全文
摘要:
基于JDK1.7.0_80与JDK1.8.0_66做的分析 JDK1.7中 使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同(hash collision),那么这些key会被定位到Ent 阅读全文
摘要:
还没开始玩这个游戏,但在网易云音乐上听到一首歌,很好听 http://music.163.com/#/m/song?id=468490570 搜了一下相关视频,发现这首歌是在与一个叫做歌姬的boss战斗时的背景音乐 战斗完毕之后,会出现一段文字,我很喜欢,转载如下 Look at me.Oh ple 阅读全文
摘要:
1. 当线程处于Blocked状态(sleep,wait,join),线程会退出阻塞状态,并抛出一个InterruptedException。park除外,它有响应但是不会抛出异常 2. 当线程处于Running状态,只是线程的interrupt标记被设置为true,线程本身的运行不会受到任何影响。 阅读全文
摘要:
为了支持新版的xa事务,MySQL新加了一种binlog event类型:XA_prepare 项目中使用的开源组件mysql-binlog-connector-java无法解析此种binlog event 分析源码后发现第一个问题: MySQL中一共有39种binlog event 但是mysql 阅读全文
摘要:
1. 向ByteBuffer写入数据之后, 要先执行flip才能进行读取操作 ByteBuffer中有两个关键属性:position与limit 在写入模式的时候,position表示下一个byte会被写入的位置,limit表示这个ByteBuffer可以写入的最大容量 在读取模式的时候,posit 阅读全文
摘要:
现代CPU都是多核心+多级缓存架构,比方说我正在使用的这颗i5 6500,就有4颗物理核心,每颗核心独享32K(数据)+32K(指令)的一级缓存,独享256K的二级缓存,4颗核心共享6M的三级缓存 如果我们想要保证工作在不同核心上的线程读取到的数据都是一致的,最简单的做法是保证所有读写操作直接在内存 阅读全文
摘要:
我手里维护了一个项目,其功能是用Java模拟一个MariaDB的slave库连接到主库,对从主库传输过来的binlog事件进行监听与分析 碰到一个问题是: 如果主库做了一个很大的修改操作(比方说直接delete了一个百万条数据的表),那么会产生一个很大的binlog事件,这个binlog事件会在我们 阅读全文
摘要:
netty4引入了内存池的概念,它的主要思想源自于jemalloc,由于难以理解netty中这一块的代码,我决定先看一看网上的相关文章 官方git jemalloc原理分析 jemalloc和内存管理 更好的内存管理-jemalloc 阅读全文