Java Date&Time API有什么问题?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java Date&Time API有什么问题?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1493字,纯文字阅读大概需要3分钟。
内容图文
![Java Date&Time API有什么问题?](/upload/InfoBanner/zyjiaocheng/717/8774fadd192a48408ef534c7f60efa64.jpg)
我经常遇到关于Java Date和其他与日期时间相关的类的负面反馈.作为一名.NET开发人员,我不能完全(没有使用它们)了解它们实际上有什么问题.
任何人都可以对此有所了解吗?
解决方法:
啊,Java Date类.也许是在任何地方如何不用任何语言做某事的最好例子之一.我该从哪里开始?
阅读JavaDoc可能会让人觉得开发人员实际上有一些好主意.尽管事实上两者之间的差异基本上是闰秒(发生在pretty rarely),但它仍在继续讨论UTC和GMT之间的差异.
然而,设计决策实际上浪费了任何想法,因为它是一个设计良好的API.以下是一些最喜欢的错误:
>尽管是在千禧年的最后十年设计的,但自1900年以来,它的年数已经达到两位数.由于这一平庸的决定,Java世界中有数百万个解决方法在1900年(或1900年).
>月份是零索引,以迎合一个非常不寻常的情况,即拥有一个数月的数组而不是与13个元素阵列一起生活,其中第一个包含空值.结果,我们有0..11(今天是109年的第11个月).在转换为字符串的月份中有相似数量的和 – .
>他们是mutable.结果,任何时候你想要给出一个日期(比如,作为一个实例结构)你需要返回该日期的克隆而不是日期对象本身(否则,人们可以改变你的结构体).
>日历,旨在“修复”这个,实际上犯了同样的错误.他们仍然是可变的.
> Date表示DateTime,但是为了顺从SQL land中的那些,还有另一个子类java.sql.Date,它表示一天(虽然没有与之关联的时区).
>没有与日期关联的时区,因此范围(例如“整天”)通常表示为午夜 – 午夜(通常在某个任意时区)
最后,值得注意的是,闰秒通常可以纠正一个好的系统时钟,该时钟在一小时内用ntp更新(参见下面的链接).系统在引入两个闰秒(最少每六个月,几乎每隔几年)的情况下仍然运行的可能性很小,特别是考虑到您必须不时重新部署新版本的代码.即使使用动态语言重新生成类或类似WAR引擎的东西也会污染类空间并最终耗尽permgen.
内容总结
以上是互联网集市为您收集整理的Java Date&Time API有什么问题?全部内容,希望文章能够帮你解决Java Date&Time API有什么问题?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。