介绍 JMH是一套Java基准测试工具,用于对Java执行进行基准测试以及生成测试报告。平时应用于Java一些基础Api或者一些工具类这种离开网络因素的纯系统测试。 使用方式 maven引入: <dependency> <groupId>org.openjdk.jmh</groupId> <artifact…
ThreadLocal的用处 ThreadLocal是一个多线程的辅助工具类,目的是方便开发者维护多线程中的共享变量。我们知道如果我们想要在一个线程中一直访问一个变量或者在线程上下文中保存一个变量,我们要么将该变量声明为static静态,要么就在每一步函数调用中均传入该变量。这两种方式,static方式不能解决每个线程同时分别持有的问题。每一步函数…
大循环与小循环嵌套的性能比较(分支预测)
面试被问到一个很有意思的问题:大循环和小循环,哪个在外哪个在里有区别吗?为什么?哪种更快? 当时确实没有答上来也没想到,明明之前看CSAPP了解过CPU的指令分支预测的,但是实在没有想到这里去。 先上个图: 再来个解释的比较清楚的博客: https://segmentfault.com/a/1190000006889989 简而言之,就是当进行循环…