当前位置:科技 > 业界 > 业界动态 > 正文

关于Java的10个谎言(2)

2016-09-23 18:50:04  deepinmind    参与评论()人

之所以会有这个误解是因为,随着时间的变化,时区是在改变的。这意味着欧洲/伦敦在新纪元的时候是1970/1/1 01:00而不是00:00,为什么?因为伦敦在1968年到1971年这两年间的时间内使用的是夏令时。

在过去的这些年里面,还有不少时区也发生了变化。莫斯科以前是东三区(GMT 3),现在是东四区(GMT 4)(从2011年3月27日开始)。如果你看下2010年的时间,你会发现它是东三区而不是东四区。

还有些事你听起来或许会感觉很意外:

1721年的瑞典的2月有30天。

1751年英格兰的第一天是3月25日,和法国相比差了11天。

美国采用公历纪年后,它往前追溯了上百年,这样原先记录的那些日期都可以用两种日历来进行表示(通常为了更精确会同时提供两个日期)。比如乔治华盛顿的生日从1731年2月11日变成了1732年2月22日。

9、当你在线程中读取一个非Volatile变量时,你最终能读取它更新的那个值

前几天这个问题在StackOverflow上出现过两回了。一般来说,JIT编译器优化代码的时候会将这个线程没有修改到的非volatile类型的字段进行内联。一旦这个代码被编译了(你可以通过-XX: PrintCompilation看到),你在另一个线程对这个字段进行的修改它很可能就永远也看不到了。加上随机的同步块或者打印语句可以推迟这个优化的执行,或者扰乱JIT编译器,让它不去执行这个优化。

10、Java面试题都是正确的

有很多Java面试题要么是过时了(超过10年没有更新了,和现在的Java版本已经脱节),要么是误导大家的,甚至可能是错的。不幸的是这些答案都没有检查过就被到处传来传去。

我会参考Stackoverflow上面的答案,因为这里的答案同行审查做的更好些。总的来说,像rose india这样的网站就不要上了,上面的答案的质量差的离谱。如果你喜欢刨根究底的话,可以看看上面一篇文章里有多少拼写错误(类名以及专业术语)或者错误的言论。存在这些问题的一个原因在于没有一个有效的反馈机制来纠正这些错误。

 

社会文史娱乐汽车科技旅游城市文化

新闻 军事 论坛 娱乐

新闻频道
国内国际社会评论文史专题经济新闻图库老照片
军事频道
军事要闻中国军情国际军情军事历史网友原创军事专题军事图库武器装备军事文化
汽车频道
车闻Update漫话车型漫记车映像实拍解析行业动态新车资讯独家评测汽车生活人文之旅
教育频道
留学移民高考中小学拒讲堂师说商道商论
游戏频道
游点意思网络游戏网页游戏单机游戏手机游戏军事游戏游戏产业发号中心游戏美女图说游戏囧游囧事
科技频道
业界互联网行业通信数码手机平板IT硬件相机笔记本家电产品库
旅游频道
X旅行视界目的地 美图发现社区
文化频道
专题非遗沙龙历史艺文博览读书图库书画禅文化
书画频道
资讯收藏展览在线展厅艺术家视觉专题
体育频道
国际足球中国足球NBACBA 综合体育图片汇总专题策划
视频频道
新闻军事中华出品原创娱乐纪录片微电影决胜海陆空
娱乐频道
明星电影电视音乐专题图库论坛
公益频道
老兵出镜老兵动态老兵资料库关爱老兵在行动公益组织公益人物
城市频道
城市聚焦城市设计城市生活城市策划城 市图赏城市加盟城市论坛
社区频道
中华论坛网上谈兵中华拍客社会时政国际风云生活消费休闲旅游美丽女人娱乐八卦经济风云情感世界文学天地
好医生频道
保健养生疾病防治行业资讯名医谈健康 医生专栏食疗跑步
经济频道
国内宏观海外经济产经商贸时尚消费电商眼球儿企业故事专栏评说识局经济