Java程序运行纳秒级差值计算
纳秒
ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位。
1纳秒=1000 皮秒1纳秒 =0.001 微秒
1纳秒=0.000001 毫秒
1纳秒=0.00000 0001秒
其实翻过来看更清晰,咱们看毫秒啊
100000纳秒=1毫秒
java的System.currentTimeMillis()和System.nanoTime()区别:
java中System.nanoTime()返回的是纳秒,
nanoTime而返回的可能是任意时间,甚至可能是负数……
java中System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数.
两个方法都不能保证完全精确,精确程度依赖具体的环境.
更细致的差别
package Action;public class demo {public static void main(String[] args) {//1纳秒=0.000001 毫秒//100000纳秒=1毫秒int count=100000;long start = System.nanoTime();long sum=0;for (int i = 1; i <= count; i++) {sum+=i;}System.out.println(sum);long end = System.nanoTime();System.out.println("累计"+count+"的值用时:"+(end-start)+"纳秒");System.gc();//清理一下long start1 = System.currentTimeMillis();long sum1=0;for (int i = 1; i <= count; i++) {sum1+=i;}System.out.println(sum1);long end1 = System.currentTimeMillis();System.out.println("累计"+count+"的值用时:"+(end1-start1)+"毫秒");}
}
可以看到纳秒更加细致的反应除了程序的运行之间,基本上定义一个变量用时100纳秒,咱们可以根据具体的情况进行更为细致的优化,让程序更加的快捷。
Java程序运行纳秒级差值计算相关推荐
- java 程序运行时注入方法_Spring入门(九):运行时值注入
Spring提供了2种方式在运行时注入值: 属性占位符(Property placeholder) Spring表达式语言(SpEL) 1. 属性占位符 1.1 注入外部的值 1.1.1 使用Envi ...
- 从Java程序运行的角度分析JDK1.8下JVM的内存区域划分及变量存储
(内容归纳于网络,不妥之处可共同商讨) 文章目录 Java程序运行 Java编译器 JVM HotSpot 类加载器 字节码校验器 JVM内存五大区域 JDK1.8 下的方法区 元空间与永久代 JDK ...
- JAVA程序运行流程
Java程序运行 1.使用javac将后缀.java的源文件编译成.class字节码文件 2.JVM加载字节码(也称为类加载) 从表面上看,.class文件通过加载,生成某种形式的Class数据结构进 ...
- java 程序运行过程 简介
这里的Java程序运行过程,是指我们编译好代码之后,在命令行开始执行java xxx命令,到java程序开始执行起来的这一过程,我们称其为运行时. 第一步,操作系统解析我们输入的java xxx命令, ...
- 从命令行及java程序运行MyBatis Generator 1.3.x生成MyBatis3.x代码
为什么80%的码农都做不了架构师?>>> 近期因为项目需要,调研了myBatis 3.x的使用,当然,顺便也就研究了一下使用Generator来通过逆向工程生成pojo,map ...
- 获得程序运行结果的返回值
在C和C++中,程序最后都有一个return语句,返回一个整数值.这个整数值代表这个程序运行的结果. 如何能够知道一个程序运行结果的返回值? 在UNIX系统中,用如下命令: echo $? 在wind ...
- java程序运行三步骤 理解编译
java程序运行三步骤 理解三步骤 中国人向日本人采购口罩的案例 二人直接沟通 语言不通,鸡同鸭讲 有了翻译以后 可以正常沟通 可以正常处理事情了 回头看三步 通过类比的方式,描述三步骤 什么是源码 ...
- 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)
java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...
- Java程序运行机制简介
Java程序运行机制 Java语言是一种特殊的高级语言,它既具有解释型语言的特征,也具有编译型语言的特征,因为Java程序要经过先编译,后解释两个步骤. 高级语言的运行机制 计算机高级语言按程序的执行 ...
最新文章
- R语言ggplot2可视化删除所有分面图(facet_wrap可视化的facet结果)的标签实战(Remove facet_wrap labels)
- 配置文件值注入 ||导入配置文件处理器,以后编写配置就有提示
- wxWidgets:wxDataObject类用法
- WordPress 简洁好看hankin透明主题
- 实例分割——转置卷积的学习笔记
- Bzoj3576 [Hnoi2014]江南乐
- python程序员工资高吗_Python程序员必备:EDA数据分析神器,老板疯狂加工资
- java中NULL与 的区别
- Python(十二):异常
- 微信小程序生成海报(含带参数的小程序码)
- 计算机硬盘属于主机还是外部设备,计算机主机的外部连接分别是什么?
- 15. 徽章 和 面包屑导航
- Occlusion culling
- 贝叶斯个性化排序(BPR)
- 因果分析系列1--入门
- 美图2018Android岗面经
- 【观察】戴尔Lati:以“叠加态”价值新主张,引领智慧办公新时代
- 美前调查人员望政府宽恕斯诺登 称CIA前局长也曾被宽大处理
- 分享下个人一直以来整理维护的C++/Qt开发用到的控件库
- 基于matlab的低通滤波器,基于Matlab Guide的低通滤波器设计
热门文章
- uniapp实战项目仿糗事百科_项目设计最好用的底层思考模型——黄金圈
- 批处理 操作mysql_用批处理对MySQL进行数据操作
- mfc 隐藏主窗口 visible_第80讲:工作表数据与UserForm窗口的交互,记录的编辑和保存...
- checking for mysql_commit in -lmy_mysql2安装异常
- Maven 3-Maven依赖版本冲突的分析及解决小结
- leetcode-49-字母异位词分组
- Android 优秀开源项目
- codeforces 739E - Gosha is hunting
- 「PKUSC2018」星际穿越 (70分做法)
- Ajax的简单实现(JQuary)