`
qzr
  • 浏览: 2739 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一不小心发现一个检测开机时间的函数~

 
阅读更多

今天不知道哪根筋抽了,对System这个类很不忿,我得看看你还能干什么!

于是看源代码,你妹,大都是隐藏实现。小样,不给我看是不是?那我、那我可要不客气了。(Java中的native方法我觉得不是为了知识产权啦,是为了加快速度,native的,跟机器相关,说白了就是机器码)

好吧,看看注释算了。看着看着,忽然发现,有两个时间函数,一个是System.nanoTime()另外一个是System.currentTimeMillis()。都是时间函数,有什么区别呢,仔细看注释,哦,原来前者是返回Java虚拟机相关的纳秒,后者返回的是当前时间,跟日期大大相关(从1970年开始吧)。

诶,有了currentTimeMillis干嘛还要nanoTime呢?继续看注释,原来这个nanoTime跟日期时间没有半毛钱关系,最大为292年左右,号称极度准确的时间。好吧,那我转换成Date时间好了,看你是个什么玩意儿。

public static void main(String[] args) {
    Date date = new Date(System.nanoTime()/1000000);
    System.out.println(date);//Thu Jan 01 08:26:49 CST 1970
}
好吧,我的电脑是东八区,所以,这个是说返回的二十多分钟的时间。

而我刚刚开机26分钟左右,难道???

重启、运行。

果然,这个函数返回的是开机多久啊。不过不一样的机器不一样,我的机器是win7+intel i7 其他的我就不知道了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics