flydean的博客.程序那些事

如果你想写自己的Benchmark框架

如果你想写自己的Benchmark框架

简介 使用过JMH的同学一定会惊叹它的神奇。JMH作为一个优秀的Benchmark框架带给了我们无数的欢乐。作为一个有极客精神的程序员,那么有没有想过去自己实现一个Benchmark框架呢? 在实现B...

小师妹学JVM之:JVM中栈的frames详解

小师妹学JVM之:JVM中栈的frames详解

简介 我们知道JVM运行时数据区域专门有一个叫做Stack Area的区域,专门用来负责线程的执行调用。那么JVM中的栈到底是怎么工作的呢?快来一起看看吧。 JVM中的栈 小师妹:F师兄,JVM为每个...

区块链系列教程之:比特币的问题

区块链系列教程之:比特币的问题

简介 比特币网络是中本聪作为一个实验性的网络提出来并运行的。没想到的是这一个实验性质的网络,居然成了现在虚拟货币世界的龙头老大。这个结局估计是中本聪本人都没有想到过的。 既然是一个实验性的网络,那么比...

区块链系列教程之:比特币中的共识

区块链系列教程之:比特币中的共识

简介 在比特币的P2P网络中是怎么达成共识的呢?达成共识需要做哪些交易的校验呢?交易和区块是怎么传播到整个区块链网络的呢?看完这篇文章你就明白了。 比特币中的共识 之前我在讲分布式系统的时候有讲过分布...

区块链系列教程之:比特币中挖矿和共识

区块链系列教程之:比特币中的挖矿

简介 我们知道比特币就是挖矿产生的,那么在比特币网络中,挖矿有什么特点呢?怎么分配挖矿收入呢?在这篇文章中你都能找到答案。 比特币的节点构造 上篇文章我们提到了,比特币是一个P2P网络,P2P网络中就...

区块链系列教程之:比特币中的网络和区块链

区块链系列教程之:比特币中的网络和区块链

简介 比特币的底层就是区块链技术,区块链也是因为比特币而广为人知的。和其他的区块链技术相比,比特币的区块链有什么特征呢?作为去区块链的鼻祖,又有什么与众不同的特性呢?快来跟我们一起看看吧。 比特币的网...

区块链系列教程之:比特币的钱包与交易

区块链系列教程之:比特币的钱包与交易

简介 钱包在比特币中是做什么的呢?比特币的交易又有什么特点呢?怎么才能伪造比特币的交易呢?今天和大家一起学习一下比特币中的钱包和交易。 比特币密码学的基础 之前我们提到过比特币使用的并不是什么新技术,...

小师妹学JVM之:Dirty cards和PLAB

小师妹学JVM之:Dirty cards和PLAB

简介 分代垃圾回收器在进行minor GC的时候会发生什么操作呢?有没有什么提高效率的手段呢?今天我们和小师妹一起来了解一下垃圾回收中的Dirty cards和PLAB 分代收集器中的空间划分 小师妹...

小师妹学JVM之:JVM中的Safepoints

小师妹学JVM之:JVM中的Safepoints

简介 java程序员都听说过GC,大家也都知道GC的目的是扫描堆空间,然后将那些标记为删除的对象从堆空间释放,以提升可用的堆空间。今天我们会来探讨一下隐藏在GC背后的一个小秘密Safepoints。 ...

小师妹学JVM之:cache line对代码性能的影响

小师妹学JVM之:cache line对代码性能的影响

简介 读万卷书不如行万里路,讲了这么多assembly和JVM的原理与优化,今天我们来点不一样的实战。探索一下怎么使用assembly来理解我们之前不能理解的问题。 一个奇怪的现象 小师妹:F师兄,之...