JAVA常用操作所需时间

在一些RT要求比较高的场景中,如果每个场景和流程我们都能知晓大致的执行时间,那么对于程序设计或者排查问题还有很有帮助的。

下面我列出了一些经常出现,又比较重要场景的执行时间,大家也可以补充。周末在家把相关的数据基本测试过,再结合以前的经验,数据基本靠谱。
一、Java基本操作

  1. 一次整型、浮点型赋值: 纳秒级
  2. 一次字符串赋值:微秒级
  3. 一次字符串的拼接:微秒级 至少上百微秒
  4. new一个对象: 微秒级
  5. 一次if else判断: 纳秒级
  6. 一次与、非、移位运算: 纳秒级
  7. 一次加减乘除: 纳秒级
  8. for循环遍历元素之间的间隔: 纳秒级
  9. 一次异常捕获的时间:微秒级 一般几十微秒
  10. 隐式锁加锁时间:纳秒级
  11. 显示锁加锁时间:微秒级

字体加粗的微秒级的操作要注意了,尤其是在for循环中

二、网络相关

  1. 一次serverSocket初始化时间:毫秒级: 一般几毫秒
  2. 一次rpc: 毫秒级 一般4毫秒以内
  3. 一次序列化时间:微秒或纳秒级

三、IO相关

  1. 一次读取内存和写内存的时间: 微秒级 一般1~100微秒
  2. 访问一次机械硬盘时间: 毫秒级
  3. 访问一次SSD硬盘时间:微秒级

四、JVM相关
 1. 一次ygc:毫秒级 一般几十毫秒
 2. 一次fgc:毫秒级或秒级

猜你喜欢

转载自blog.csdn.net/KevinDai007/article/details/81865590