nanoTime对volatile 测试的一种写法

简介: 今天脑筋有点搭牢,想了半天才看出为什么以下两段代码效果是相同的。。。 第一种好处是可以直接批量复制黏贴system.out,  不用改什么东西   private static long i;  private volatile static...

今天脑筋有点搭牢,想了半天才看出为什么以下两段代码效果是相同的。。。

第一种好处是可以直接批量复制黏贴system.out,  不用改什么东西

  private static long i;
  private volatile static long vt;
  private static final int TEST_SIZE = 10000000;

long time = System.nanoTime();
for (int n = 0; n < TEST_SIZE; n++)
	vt = System.currentTimeMillis();
System.out.println(-time + (time = System.nanoTime()));
for (int n = 0; n < TEST_SIZE; n++) i = System.currentTimeMillis(); System.out.println(-time + (time = System.nanoTime()));

  

这种每次要在循环头上重置nanoTime

private static long i;
private volatile static long vt;
private static final int TEST_SIZE = 10000000;

long time = System.nanoTime(); for (int n = 0; n < TEST_SIZE; n++) { vt = System.currentTimeMillis(); } System.out.println((System.nanoTime() - time)); time = System.nanoTime(); for (int n = 0; n < TEST_SIZE; n++) { i = System.currentTimeMillis(); } System.out.println((System.nanoTime() - time));

  

目录
相关文章
|
6月前
|
缓存 安全 Java
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
《volatile使用与学习总结:》多层面分析学习java关键字--volatile
36 0
|
2月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
250 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
7月前
|
编译器 C++
【C++】【C++的常变量取地址问题(对比C的不同)】const修饰的常变量&volatile修饰用法详解(代码演示)
【C++】【C++的常变量取地址问题(对比C的不同)】const修饰的常变量&volatile修饰用法详解(代码演示)
|
7月前
|
存储 缓存 Java
Java volatile关键字-单例模式的双重锁为什么要加volatile
Java volatile关键字--单例模式的双重锁为什么要加volatile
82 10
|
7月前
|
存储 算法 编译器
【C++ 关键字 static_assert 相关问题】C++ 关于静态断言的编译问题 ,深入了解静态断言
【C++ 关键字 static_assert 相关问题】C++ 关于静态断言的编译问题 ,深入了解静态断言
115 0
|
7月前
|
Java
Synchronized实现原理(方法代码块)
Synchronized实现原理(方法代码块)
70 0
|
安全 Java 编译器
Volatile关键字的作用和实现原理
Volatile关键字的作用和实现原理
192 0
|
编译器
volatile用法
volatile用法
55 0
|
存储 SQL 缓存
一个案例带你深入理解Volatile
是什么,作用是什么,我们如何用?
132 1
一个案例带你深入理解Volatile