JAVA开发(史上最完整追本溯源JAVA历史、发展和学习)
(第二次世界大戰1931-1945)
世界上最先進的技術往往是由于戰爭催生,在第二次世界大戰中除了飛機,坦克和大炮的武器較量外,在隱秘戰線的情報工作其實更為重要,在軍隊將領來往的電報中,為了防止軍事情報的泄漏,不得不將電報進行加密傳輸。第二次世界大戰,德國使用的頂頂有名的恩格瑪加解密碼機。那時號稱無人能破解。
?
( 圖靈機1937)
道高一尺,魔高一丈。天才圖靈,提出了圖靈機。圖靈,他英國數學家、邏輯學家,被稱為計算機科學之父,人工智能之父。在英國和德國的戰場中,英國人為了破解德國的恩格瑪密碼機,重用了圖靈。圖靈發明的圖靈機,在比較短的時間內破譯了恩格瑪機。圖靈的貢獻很大,可謂天才,但是由于他從事的都是機密工作,很少對外披露。后來還因為同性戀的事情,被迫害憂郁,吃了有毒的蘋果致死。現在的蘋果手機的蘋果,傳說為了紀念圖靈就是圖靈咬了一口的蘋果,計算機領域最高獎也以圖靈獎命名。現在的人工智能測試機,也叫圖靈機。
(美國曼哈頓計劃1946)
在美國戰場,主要是美國和日本的較量,特別是在太平洋戰爭中。美國啟用了一項非常重大的計劃,叫曼哈頓計劃。曼哈頓計劃的目標就是使用原子能制造一種大規模殺傷性武器。主導人是奧本海默,團隊里有愛因斯坦,馮諾依曼這些牛人。其中愛因斯坦大名鼎鼎,像馮諾依曼并不是很多人知道。但是馮諾依曼的貢獻其實可能比他們都大,主要是馮諾依曼主要不在物理學,而在數學上。可能這是愛因斯坦比馮諾依曼出名的原因。還有一個原因是馮諾依曼喜歡東搞搞西搞搞,每一項都是世界頂級,數學,計算機、經濟學。他提出的計算機馮諾依曼體系結構,奠定了經典計算機的基礎。他提出的這個理論,就是為了解決計算機可編程的問題。?
?
(天才.馮諾依曼1946)?
美籍匈牙利數學家、計算機科學家、物理學家,是20世紀最重要的數學家之一。馮·諾依曼的邏輯和計算機思想指導他設計并制造出歷史上的第一臺通用電子計算機。他的計算機理論主要受自身數學基礎影響,且具有高度數學化、邏輯化特征,對于該理論,他自己一般會叫作“計算機的邏輯理論”。而他的計算機存儲程序的思想,則是他的另一偉大創新,通過內部存儲器安放存儲程序,成功解決了當時計算機存儲容量太小,運算速度過慢的問題。
(1945年第一臺計算機ENIAC)?
世界上第一臺現代電子數字計算機埃尼阿克(ENIAC),誕生于1946年2月14日的美國賓夕法尼亞大學,并于次日正式對外公布。 ENIAC長30.48米,寬6米,高2.4米,占地面積約170平方米,30個操作臺,重達30英噸,耗電量150千瓦,造價48萬美元。它包含了17,468根真空管(電子管)7,200根水晶二極管,1,500 個中轉,70,000個電阻器,10,000個電容器,1500個繼電器,6000多個開關,計算速度是每秒5000次加法或400次乘法,是使用繼電器運轉的機電式計算機的1000倍、手工計算的20萬倍。
(大名鼎鼎的貝爾實驗室,操作系統的搖籃)
自1969年在貝爾實驗室的閣樓上誕生以來,Unix操作系統的發展遠遠超出其創造者們的想象。它帶動了許多創新軟件的開發,影響了無數程序員,改變了整個計算機技術的發展軌跡。現在的Linux操作系統就是類Unix操作系統。是在李納斯(linus)等人的重寫下逐漸豐富起來的操作系統。除了Unix,貝爾實驗室還發明很多的操作系統,貝爾實驗室可以稱作計算機操作系統的搖籃。
?(操作系統的蓬勃發展1969)
有了可編程的操作系統,各種商業公司蜂擁而至,蘋果、IBM,微軟。蘋果和微軟的操作系統其實都是別人的系統。二者曾還為誰抄襲誰的操作系統打官司。最后其實是二者都同時借鑒了1973年施樂公司帕洛阿爾托研究中心The Xerox PARC的施樂奧托(The Xerox Alto)。最后才有了現象級的操作系統Windows和Mac操作系統。微軟也讓比爾蓋茨登頂世界首富好多年!而蘋果的產品,也在改變無數人的生活方式
?(低級語言匯編)
匯編語言(Assembly Language)是任何一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。
?(高級編程語言百花齊放)
?(JAVA之父詹姆斯.高斯林)
Java 的發明開始于1991 年, 由 Sun 公司帶領的開發小組, 想設計一種小型的計算機語言,主要用于有線電視轉換盒這類的消費設備。 由于這類設備的處理能力和內存都非常有限,所以語言就必須設計的非常小且能夠生成緊湊的代碼。 另外,由于不同的廠商會選擇不同的 CPU, 因此很重要的一點就是這種語言不應該與任何特定的體系結構綁定。這個項目被命名為 “Green”。 Sun 公司的人都有 Unix 的應用背景, 所以開發的語言用了 C++ 為基礎。并把這種語言稱為 “Oak”, 后來, Sun 公司的人后來發現, Oak 是一種已經有的計算機語言的名字, 于是, 將其改名為 “Java”
詹姆斯·高斯林 (James Gosling)是一名軟件專家,1955年5月19日出生于加拿大,Java編程語言的共同創始人之一,一般公認他為“Java之父”。
(JDK版本發展歷程)?
?(JAVA語言運行機制)
Java程序的運行機制分為編寫、編譯和運行三個步驟。 1.編寫 編寫是指在Java開發環境中進行程序代碼的編輯,最終生成后綴名為“.java”的Java源文件。 2.編譯 編譯是指使用Java編譯器對源文件進行錯誤排查的過程,編譯后將生成后綴名為.class的字節碼文件,該文件可以被Java虛擬機(JVM)的解釋器正常讀取。 3.運行 運行是指使用Java解釋器將字節碼文件翻譯成機器代碼,執行并顯示結果。 字節碼文件是一種和任何具體機器環境及操作系統環境無關的中間代碼,它是一種二進制文件,是Java源文件由Java編譯器編譯后生成的目標代碼文件。
?
?(SUN公司背后的故事)
sun公司其實就是斯坦福大學校園網。是孵化java的公司。
?(美國硅谷與大規模集成電路的發展)
之所以叫硅谷,因為這里有大量的硅,這是生產半導體和芯片的原料。沒有大規模集成電路就沒有個人計算機。
?(大名鼎鼎的網景公司)
瀏覽器的發展是JAVA語言快速普及的催化劑。
瀏覽器的先主:網景瀏覽(Netscape )在1994年,推出的第一款商用瀏覽器,此時瀏覽器只能寫一些簡單的頁面 ?, 只能展示一些 簡單的 html 元素 ?。
(瀏覽器大戰,互聯網的開始 )?
兩次瀏覽器大戰:
第一次瀏覽器大戰發生在上個世紀90年代,微軟發布了它的IE瀏覽器,和網景公司的Netscape Navigator大打出手,最后網景不得不將公司賣給AOL一走了之。世界由此平靜了。但平靜并沒有能夠持續太久,日益壯大的Mozilla Firefox從2004年又開始重新叫板微軟地位。
第二次大戰并不像第一次那么簡單。這次不只是IE和火狐貍的斗爭了。一些新的基于不同引擎的瀏覽器也加入了陣營,比如挪威的Opera (基于Presto引擎)和中國的Maxthon。Opera的主要戰場在移動設備,大部分的智能手機都配有Opera的移動瀏覽器。而Maxthon的主要陣地在中國,根據百度的統計,15%的百度用戶都在使用這個瀏覽器。
(SUN公司的JSP技術1997)??
JSP(全稱Java Server Pages)是由Sun Microsystems公司主導創建的一種動態網頁技術標準。JSP部署于網絡服務器上,可以響應客戶端發送的請求,并根據請求內容動態地生成HTML、XML或其他格式文檔的Web網頁,然后返回給請求者。JSP技術以Java語言作為腳本語言,為用戶的HTTP請求提供服務,并能與服務器上的其它Java程序共同處理復雜的業務需求。 JSP將Java代碼和特定變動內容嵌入到靜態的頁面中,實現以靜態頁面為模板,動態生成其中的部分內容。JSP引入了被稱為“JSP動作”的XML標簽,用來調用內建功能。另外,可以創建JSP標簽庫,然后像使用標準HTML或XML標簽一樣使用它們。標簽庫能增強功能和服務器性能,而且不受跨平臺問題的限制。JSP文件在運行時會被其編譯器轉換成更原始的Servlet代碼。JSP編譯器可以把JSP文件編譯成用Java代碼寫的Servlet,然后再由Java編譯器來編譯成能快速執行的二進制機器碼,也可以直接編譯成二進制碼。
?(馬云的1995與中國黃頁)?
1995年的一天,馬云接到了浙江省交通廳的派遣通知:到美國催討一筆債務。在西雅圖,對電腦一無所知的馬云學會了上網。朋友讓他輸入一個詞,他輸入了Beer(啤酒),結果電腦上顯示了許多國家的啤酒,包括美國、德國等,而他就是沒有看到中國的啤酒。馬云非常好奇,又輸入了China(中國),計算機上顯示:“沒有數據”。而當輸入中國歷史的時候,顯示的只是一段僅有50個字的短文。馬云很奇怪:為何沒有中國的信息資料呢?于是他想到了為自己的翻譯社在網上做一則廣告,上午10點他將廣告發布到網上,中午12點之前便收到了6封E-mail,分別來自美國、德國還有日本,說這是他們看到的關于中國的第一個網頁。馬云感到很驚奇,并敏感地意識到“這里有大大的生意可做”!
?(中國互聯網的發展1995-2023,競爭已形成格局)
?(招聘網站對JAVA人員的技能要求)?
?(開始學習JAVA-學習成長)
?
?
(開始學習JAVA-基本數據類型)
public static void main(String[] args) {byte a = 20; // 聲明一個byte類型的變量并賦予初始值為20short b = 10; // 聲明一個short類型的變量并賦予初始值為10int c = 30; // 聲明一個int類型的變量并賦予初始值為30long d = 40; // 聲明一個long類型的變量并賦予初始值為40long sum = a + b + c + d;System.out.println("20+10+30+40=" + sum); }(開始學習JAVA-引用數據類型)
在 Java 中,除了有 8 種基礎類型,還有引用類型。引用類型一般情況下統稱有 3 類。 分別是: 類、接口、數組。不過也可以說, 除了基礎類型外,其余的都是引用類型。在 Java 的引用類型有點類似 C 和 C++ 的指針概念。引用類型是一種對象類型,它的值是指向內存空間中的引用。 對應的是引用的地址。 并且在 8 種基礎類型上又為每種基本類型提供了對應的封裝類型。
?(開始學習JAVA-代碼風格)
JAVA代碼以.java為后綴。以類作為一個文件體。類中包含變量,構造函數方法。JAVA的執行入口為main函數。
(開始學習JAVA-學習路線)
總結
以上是生活随笔為你收集整理的JAVA开发(史上最完整追本溯源JAVA历史、发展和学习)的全部內容,希望文章能夠幫你解決所遇到的問題。