我经常遇到对Java Date和其他与日期时间相关的类的负面反馈。作为.NET开发人员,我无法完全理解(不使用它们)它们到底有什么问题。
有人能对此有所启发吗?
Java Date类。最好的例子之一就是如何不以任何语言在任何地方做某事。我该从哪里开始?
Java Date
阅读JavaDoc可能会使人们认为开发人员实际上有了一些好主意。它接着约之间的区别UTC和GMT在长度,尽管两者之间的差别基本上是闰秒(这发生非常 罕见)。
但是,设计决定实际上是在浪费任何被认为是设计良好的API的想法。以下是一些最喜欢的错误:
null
Calendar
Date
DateTime
java.sql.Date
TimeZone
最后,值得注意的是,leap秒通常会在一个小时之内用ntp更新的良好系统时钟纠正自身(请参见下面的链接)。在引入两个leap跃秒(最少每六个月,实际上每隔几年)的情况下,系统仍然可以运行的可能性非常小,尤其是考虑到必须不时重新部署新版本的代码这一事实。即使使用重新生成类或诸如WAR引擎之类的动态语言,也会污染类空间并最终耗尽permgen。