关于第五章 团队和流程 2.6 特工团队中所提到的Y2K问题,第一次接触到这个名词去百度了,它的意思是这样的:year 2K problem,又称千年虫问题。主要原因是早期的软件大多以两位数字来记录年份,导致在公元2000年到来时,这些程序得表示方法和相应逻辑都要修正,才能避免出现的问题。

阅读了一篇来自CSDN博客的一篇文章,"隐藏的BUG探讨——从‘Y2K’问题到‘2038’ 年问题",博主:Mikeoperfect。千年虫是在计算机中对于年份和日期的表示方式不完整而引起的程序出错,包含三个方面的内容:

①由于使用了两位数表示年份,会引起跨世纪的日期计算出现错误结果。

②由于特殊日期和计算机中特殊定义的字符串权限冲突而有可能引起操作错误。

③闰年问题

根据以上三个方面的表现,我们可以肯定地说,千年虫在所有使用了智能程序进行有关日期的处理和操作的地方都有可能发生。主要集中发作于两个方面:一是配备比较早(大约在80年代中期以前)的应用程序,如IBM 4381,IBM AS/400等机型上运行的应用程序;二是嵌入式设备,指设备中使用了智能芯片的系统,这些设备无处不在。最终给解决2000年问题造成了极大的麻烦。

关于2038问题——32位的Unix和Linux操作系统时间溢出问题,这个问题是由用来写Unix和Linux的C语言引起的,C语言中用time_t来代表时间和日期,timt_t是整数型,它用来记载从1970年1月1日到2000年所经历的秒数。此格式能被表示的最后时间是第2147483647秒(代表格林尼时间2038年1月19日凌晨03:14:07)。下一秒,由于32位整型溢出,时间将会被“绕回”变成一个负数,第-2147483648秒,造成应用程序发生严重的时间错误,而无法运行。

看了这篇文章,才体会到即使是现代计算机也存在要进行修改的问题,如何来解决这一个又一个难题,还需要我们更加努力才行。

Y2K问题的更多相关文章

  1. [POJ2586]Y2K Accounting Bug

    [POJ2586]Y2K Accounting Bug 试题描述 Accounting for Computer Machinists (ACM) has sufferred from the Y2K ...

  2. Y2K Accounting Bug(贪心)

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10945   Accepted: 54 ...

  3. 贪心 POJ 2586 Y2K Accounting Bug

    题目地址:http://poj.org/problem?id=2586 /* 题意:某公司要统计全年盈利状况,对于每一个月来说,如果盈利则盈利S,如果亏空则亏空D. 公司每五个月进行一次统计,全年共统 ...

  4. Y2K Accounting Bug 分类: POJ 2015-06-16 16:55 14人阅读 评论(0) 收藏

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11222   Accepted: 56 ...

  5. Poj 2586 / OpenJudge 2586 Y2K Accounting Bug

    1.Link: http://poj.org/problem?id=2586 2.Content: Y2K Accounting Bug Time Limit: 1000MS   Memory Lim ...

  6. POJ2586——Y2K Accounting Bug

    Y2K Accounting Bug   Description Accounting for Computer Machinists (ACM) has sufferred from the Y2K ...

  7. poj 2586 Y2K Accounting Bug

    http://poj.org/problem?id=2586 大意是一个公司在12个月中,或固定盈余s,或固定亏损d. 但记不得哪些月盈余,哪些月亏损,只能记得连续5个月的代数和总是亏损(<0为 ...

  8. Y2K Accounting Bug

    题目: Description Accounting for Computer Machinists (ACM) has sufferred from the Y2K bug and lost som ...

  9. poj2586 Y2K Accounting Bug(贪心)

    转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=2586 ------ ...

  10. poj 2586 Y2K Accounting Bug (贪心)

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8678   Accepted: 428 ...

随机推荐

  1. Appium疑难杂症

    坑之初体验 在Appium的初体验中,遇到了一些坑坑洼洼.将他们记录下来,以后方便查阅. 1. session大于60秒没接收到命令自动关闭 通过Appium-Python-Client连接到appi ...

  2. B+索引、Hash索引、数据类型长度

    1.为什么在数据库中要用B树索引而不是Hash索引? Mysql Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这 ...

  3. centos下利用qemu搭建arm模拟器

    有点繁琐,整理一下,系统环境centos6.6,虚拟机以及实际系统中测试通过. 一.交叉编译器的下载与安装1.下载地址:http://blog.csdn.net/dldw8816/article/de ...

  4. Davinci DM6446 Codec Engine双核通信环境的搭建

    根据前几篇文章,一个DM6446的系统已经架构完成.但是有很多人都喜欢TI的机制,毕竟双核软件开发对很多工程师来说是非常麻烦的事情,既然TI提供开发套件和开发包,那么直接做OEM就可以了,底层的东西不 ...

  5. 10种软件开发中 over-engineering 的错误套路

    别把「不要过度使用 Generic」误解成「不用 Generic」,也别把「不要写一些不必要的 Wrapper」误解成「不写任何 Wrapper」.我只是在讲 over-engineering 这个事 ...

  6. 神经网络ANN——SPSS实现

    神经网络[] 一.起源与历史 1.与传统统计方法的区别 传统线性回归模型可通过最小平方方法获取知识并在回归系数存储知识.在此意义下,其为神经网络.实际上,您可以证明线性回归为特定神经网络的特殊个案.但 ...

  7. MySQL更改数据库表的存储引擎

    MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...

  8. BFS学习 Codeforces 301_div.2_Ice Cave

    C. Ice Cave time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  9. 动态添加弹出页面(shiro项目中来的七)

    一,图解 二,代码 2.0,新增代码 //打开编辑属性(新增) function dialog_open(){ $("#dialog-add").css("display ...

  10. Request对象实现请求转发区别

    servlet请求转发与重定向的区别: request.setAttribute("test","hello"); request.getRequestDisp ...