<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          什么是 “千年蟲” 問題?

          共 1437字,需瀏覽 3分鐘

           ·

          2021-10-21 06:38


          這種感覺有點(diǎn)像千禧年的“千年蟲”困擾,以為一覺醒來,電腦不再工作。
          在20世紀(jì)末,人類社會曾經(jīng)遭遇過一場空前的大危機(jī),如果這場危機(jī)真的降臨,甚至有可能終結(jié)整個(gè)人類文明。
          后來,在全世界精英們共同努力之下,這場危機(jī)終于得以化解。
          這場危機(jī)既不是地震,也不是海嘯,更不是瘟疫大流行,而是電子計(jì)算機(jī)帶來的“千年蟲”問題。
          千年蟲問題,到底是怎么來的呢?
          說到這個(gè)問題,就不得不提起一位偉大的程序媛小姐姐,Grace Murray Hopper。


          說起這位小姐姐,那可真是厲害了,她是美國海軍準(zhǔn)將,也是一位計(jì)算機(jī)科學(xué)家。


          Grace Murray Hopper都取得過哪些成就呢?
          她發(fā)明了最早的現(xiàn)代編譯器:A-0系統(tǒng)。
          她創(chuàng)造了最早的商用編程語言:COBOL。
          她在出故障的計(jì)算機(jī)里發(fā)現(xiàn)了一只飛蛾,使得Bug與Debug成為了計(jì)算機(jī)領(lǐng)域的流行詞匯。
          在上世紀(jì)60年代,計(jì)算機(jī)的存儲資源非常稀缺,程序員在編寫每一行代碼的時(shí)候,都要為存儲的使用而精打細(xì)算。
          為了更好的節(jié)約內(nèi)存空間,Grace Murray Hopper采用了6位數(shù)字的組合來存儲時(shí)間信息。比如1965年7月23日,對應(yīng)存儲形式就是65/07/23,省去了前面的“19”。
          這樣的存儲形式,很快就在計(jì)算機(jī)領(lǐng)域流傳開來。盡管它節(jié)約了一定的存儲成本,卻埋下了兩個(gè)隱患:
          1. 由于年份只保留了后兩位,當(dāng)2000年到來的時(shí)候,年份存儲的信息是“00”,計(jì)算機(jī)無法區(qū)分這到底是1900年,還是2000年。
          2. 1900年不是閏年,但2000年是閏年,如果年份的前兩位被默認(rèn)為“19”,那么2000年的2月29日就會被當(dāng)做3月1日,存儲為00/03/01。
          這兩大隱患,都是到了2000年才會爆發(fā)出來,所以這個(gè)問題被稱為“千年蟲”問題,英文縮寫為Y2K。




          1.抓住重點(diǎn)
          既然全量的程序改不過來,那就重點(diǎn)修改那些起到核心作用的程序,比如醫(yī)療、航空、金融、軍事領(lǐng)域的程序,這樣工作量就減少了許多。
          2.修改時(shí)間窗口
          對于大多數(shù)不那么核心的程序,程序員們想出了一個(gè)取巧的方式,這種方式叫做windowing,翻譯過來就是時(shí)間窗口。
          這種方法暫時(shí)保留了6位時(shí)間表達(dá),但是表達(dá)的時(shí)間范圍不再是默認(rèn)的1900年-1999年,而是1920年-2019年。
          比如,程序當(dāng)中的“10”年,以前默認(rèn)代表著1910年,現(xiàn)在代表著2010年。
          這個(gè)做法大大降低了修改成本,但是沒有根本解決問題,而是把問題的爆發(fā)推遲了20年。
          非洲岡比亞,一些政府機(jī)構(gòu)的軟件系統(tǒng)臨時(shí)癱瘓了。岡比亞政府特意宣布當(dāng)天(周一)為非工作日,以暫時(shí)減輕出事機(jī)關(guān)所要承受的壓力。
          中國廣州,某商務(wù)公司的7臺電腦接二連三出現(xiàn)故障,當(dāng)他們向軟件供應(yīng)商公司求助時(shí)發(fā)現(xiàn),那里已經(jīng)接到100多家公司數(shù)據(jù)庫癱瘓的消息。

          END



          本公眾號全部博文已整理成一個(gè)目錄,請?jiān)诠娞柪锘貜?fù)「m」獲取!

          推薦閱讀:

          上午寫了一段代碼,下午就被開除了,奇怪的知識又增加了

          Linux 或 Windows 上實(shí)現(xiàn)端口映射

          “低代碼”將干掉70%的軟件開發(fā)工作


          5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲?。?!


          瀏覽 69
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  东京热视频一区 | 极品粉嫩| 国产精彩 | 女人靠逼网站 | 国产 丝袜 人妻 制服 一区 |