java的时间戳的长度为什么是固定的?它是如何做到的

createh53个月前 (02-01)技术教程29

我们经常会使用java的当前时间的毫秒数来生产一个唯一性代码,它很好用,因为它是13位,长度很短,可以作为系统唯一的订单号、产品唯一编码等,但是我一直不明白它的长度为什么一直是13位,而且是固定的。



我们都知道,使用System.currentTimeMillis()获取的当前时间的毫秒数,是表示从1970年1月1号0点0分0秒以来的毫秒数,这个毫秒数是Long类型的,随着时间的推移,这个毫秒数不应该会一直增长吗?但是为什么它能保持13的固定长度呢,如果按年月日时分秒毫秒来拼接也是17位呀。System.currentTimeMillis()得到的是毫秒数,而不是年月日时分秒的拼接,随着时间的推移,100年、1万年,13位怎么就够呢?

真的不明白System.currentTimeMillis()获取的毫秒数是如何计算的,我甚至怀疑它以后长度会超过13位的一天!

相关文章

「怒赞」Java8全新日期、时间API在这全明白了

满怀忧思,不如先干再说!通过学习,重新定义自己!时间对生活来说非常重要,Java也为我们提供了时间的API,多数程序员都在吐槽Java8之前的日期和时间,在Java8中引入全新的日期和时间API,目前...

「Java工具类」java8时间日期工具类,整个项目有它就足够了

介绍语本头条号主要是Java常用关键技术点,通用工具类的分享;以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+...

一文秒懂:多级时间轮,最顶尖的Java调度算法

缓存之王 Caffeine 中,涉及到100w级、1000W级、甚至亿级元素的过期问题,如何进行高性能的定时调度,是一个难题。海量定时任务管理的问题下面的问题,来自互联网:一个大型内容审核平时,在运营...

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

Java8的Stream API确实很牛,但性能究竟如何?

专注于Java领域优质技术,欢迎关注作者:Carpenter LeeStream Performance已经对 Stream API 的用法鼓吹够多了,用起简洁直观,但性能到底怎么样呢?会不会有很高的...