Java學(xué)習(xí)筆記(0)——了解Java

文 / 我沒有三顆心臟

前言:

這里是一些關(guān)于寫文的原因渡冻,目的和其他的有的沒的未妹,跟Java沒有一點(diǎn)關(guān)系簿废,如果是想要學(xué)習(xí)干貨的童鞋可以直接跳過。

系列文章最開始的名字是:從零開始學(xué)習(xí)Java络它,一來是覺得太長了(改了之后也不短),另外一個一覺醒來覺得好像這個名字不能準(zhǔn)確反映自己寫文的目的歪赢,并且我發(fā)現(xiàn)要把一些概念解釋得特別清楚給沒有編程基礎(chǔ)的人看化戳,對我來說是很有難度的一件事情,所以決定把名字改了,筆記是可以改的点楼,就像今天突然想起這一篇有些東西還需要添加就來改了扫尖,這也是我喜歡的并樂意做的事情,share掠廓』徊溃——17.9.18更新

寫文的幾個原因:

這學(xué)期筆者也開了Java的課,上的第一節(jié)課老師說:教材蟀瞧,你們花兩個星期大概看一下就可以扔了沉颂。有些同學(xué)當(dāng)笑話聽了,有些同學(xué)不以為然悦污,而我當(dāng)真了铸屉,我真的把鄭莉著的教材《Java語言程序設(shè)計》(第2版)“看了一遍”,還不到兩個星期切端,當(dāng)然其中有一些問題沒有去深究彻坛,比如數(shù)據(jù)庫還有線程的東西,因為老師說的后面一句話我也認(rèn)真聽了:可以申請不來上課踏枣。所以就著筆者c++微薄的基礎(chǔ)拉完了一遍教材昌屉,很是粗糙,想要重新學(xué)習(xí)一下茵瀑,這是一個原因间驮。

昨晚看到簡書上的一位博主:CleverFan。他寫下的重新認(rèn)識Java系列瘾婿,很是受用蜻牢,本來保持得很好的生物鐘,也因為看到他的文章偏陪,硬是看到了接近2點(diǎn)抢呆,(在此推薦一下)也由此也產(chǎn)生了寫文的沖動,這也是一個原因笛谦。

今天去看了一下關(guān)于Java方面比較權(quán)威的兩本兒書抱虐,一本《Thinking in Java》、《Java核心技術(shù) 卷Ⅰ》饥脑,覺得寫得特別棒恳邀,也產(chǎn)生了一些自己的想法,想要分享灶轰。

寫文的目的:

首先需要說的是筆者是一名學(xué)渣渣谣沸。我也是正在學(xué)習(xí),寫文更多的目的是在于交流想法笋颤,分享學(xué)習(xí)成果乳附,也是給自己增加一些積累。還有就是覺得有些教材講得太生澀難懂,這一點(diǎn)也是我看CleverFan的博文想到的赋除,希望自己能通過一些更加好玩的方式寫出來阱缓。也希望文章有什么問題能夠及時反饋給我。

關(guān)于更新:

因為個人性格的原因举农,我總是希望能把一件事情做得很好荆针,所以如果有很久沒有更新的情況,那就當(dāng)我正在努力想怎么寫文吧...hhh

我會盡可能快的更新文章颁糟,也盡可能用通俗易懂的方式說明航背,會把讀者大大們當(dāng)成是第一次接觸Java去細(xì)致的講解,也希望讀者大大們能支持我的文章滚停,關(guān)于后期維權(quán)的東西還沒有去想沃粗,所以希望如果有轉(zhuǎn)載的請注明一下原文出處謝謝。

正式開始之前

先問自己一個問題:Java是什么键畴?如果你的答案僅僅是停留在:是一門編程語言的話最盅,希望看完這篇文章的你,對Java有一個更加全面深入的了解起惕。至少在學(xué)習(xí)一門語言之前涡贱,了解一下自己要學(xué)的是什么,對吧惹想?

Java的簡單描述

以下大內(nèi)容部分提煉自Java核心技術(shù) 卷Ⅰ 问词。

Java最初的設(shè)計初衷是:

能夠用于像有線電視轉(zhuǎn)換盒一類處理能力和內(nèi)存都很有限,并且CPU廠商各不相同的一些消費(fèi)設(shè)備上嘀粱。
然而時至今日在Java的開發(fā)者編寫的白皮書中(這是Java設(shè)計者用來解釋設(shè)計的初衷以及完成的情況的簡短摘要)激挪,對Java的描述卻是這樣的:

來自官方網(wǎng)站

你不必全部都讀一遍,筆者讀來大體的感覺是:為使用者創(chuàng)造了一個更加容易锋叨,甚至是dead simple的面向?qū)ο蟮恼Z言垄分,并同時具有移植性好,安全娃磺,開發(fā)周期短等一系列優(yōu)點(diǎn)薄湿,也為你在煩惱c/c++的復(fù)雜性的時候提供了一個新的選擇。白皮書的描述更偏向于講述這是一個更加簡單友好的工具偷卧,Sun對Java的設(shè)計目標(biāo)就是:微程序員減少復(fù)雜性豺瘤。用他們的話說就是:我們關(guān)心的是,減少開發(fā)健壯代碼所需的時間以及困難听诸。

事實上坐求,Java的成功也源于其類庫能夠讓人們輕松地完成原本有一定難度的事情。例如:聯(lián)網(wǎng)和多線程晌梨。盡管Java對于解決傳統(tǒng)的單機(jī)程序設(shè)計問題非常有用瞻赶,但同樣重要的是赛糟,它解決了在萬維網(wǎng)(WWW)上的程序設(shè)計問題(把超文本頁面轉(zhuǎn)換到屏幕上的瀏覽器)派任。在白皮書的最后提到了HotJava TM Browser砸逊,這是Java開發(fā)者使用Java開發(fā)的一款用來炫耀Java的強(qiáng)大之處的瀏覽器,HotJava瀏覽器具有的在執(zhí)行網(wǎng)頁中內(nèi)嵌代碼的能力在1995年的SunWorld大會上掌逛,引發(fā)了人們延續(xù)至今的對Java的狂熱追逐师逸。

Java的成功源自語言本身的一些特性,以及Sun公司的進(jìn)一步研發(fā)和推廣豆混。白皮書中對于Java的11個關(guān)鍵術(shù)語進(jìn)行了組織:

11個關(guān)鍵術(shù)語

關(guān)于這一段的描述篓像,《Java核心技術(shù) 卷Ⅰ》有有趣簡單的描述,感興趣的可以去百度一下皿伺。然而筆者認(rèn)為员辩,事實上,這些特性現(xiàn)在瀏覽一遍鸵鸥,心里面知道就行了奠滑,沒必要去深入,也沒有什么用妒穴。事實上這一篇文章都是宋税。

Java與其他語言的區(qū)別

  • Java是由c++發(fā)展而來的,因為最初開發(fā)Java的是Sun公司那一批擁有UNIX應(yīng)用背景的人讼油,Java更像是C++語法的一個“純凈”版本杰赛。這里沒有頭文件、指針運(yùn)算(甚至指針語法矮台,但并不代表取消了指針機(jī)制乏屯,這在后面會講到)、結(jié)構(gòu)瘦赫、聯(lián)合辰晕、操作符重載、虛基類等耸彪。然而伞芹,設(shè)計者并沒有試圖清除C++中所有不適當(dāng)?shù)奶匦浴@绮跄龋瑂witch語法的語法在Java中就沒有改變唱较。事實上,Java還有許多奇怪的語法召川,后面也會提到南缓。
  • JavaScript和Java除了語法類似,名字類似 荧呐,其他再無什么關(guān)系汉形。JavaScript是一種在網(wǎng)頁中使用的腳本語言纸镊,而Java則是一種強(qiáng)大的面向?qū)ο蟮恼Z言,重點(diǎn)在對象和對象的接口上概疆,而并非所使用的工具上逗威。

面向?qū)ο笤O(shè)計是一種程序設(shè)計技術(shù)。用木匠打一個比方岔冀,一個“面向?qū)ο蟮摹蹦窘呈冀K關(guān)注的是所制作的椅子凯旭,第二位才是使用的工具;一個“非面向?qū)ο蟮摹蹦窘呈紫瓤紤]的是自己的工具使套。

關(guān)于Java applet

其實很簡單罐呼,網(wǎng)頁中運(yùn)行的Java程序就是applet,只不過需要一些特別的語法來說明侦高。網(wǎng)頁中的嵌入的applet程序就如同在網(wǎng)頁中嵌入了一副圖片嫉柴,不同的是,這幅圖片能夠?qū)τ谟脩舻牟僮髯鞒鲰憫?yīng)奉呛,改變外觀计螺、傳遞數(shù)據(jù)等。關(guān)于這方面可以做一些相關(guān)的了解侧馅,但筆者并不打算深入研究這方面的東西危尿。

了解面向?qū)ο?/h4>

所有的編程語言都提供抽象的機(jī)制。就像匯編語言是對于底層機(jī)器的輕微抽象馁痴。接著出現(xiàn)了所謂的“命令式”語言(如FORTRAN谊娇、BASIC、C等)都是對匯編語言的抽象罗晕。這些語言在匯編語言的基礎(chǔ)上有了大幅的改進(jìn)济欢,但是它們所作的主要抽象仍要求在解決問題的時候要基于計算機(jī)的結(jié)構(gòu),而不是基于所要解決問題的結(jié)構(gòu)來考慮小渊。程序員必須建立起在機(jī)器模型和實際待解問題之間的模型的聯(lián)系法褥。而建立這種映射是費(fèi)力的,這不是屬于編程語言的固有的功能酬屉,這使得程序難以編寫半等,并且維護(hù)代價高昂。

面向?qū)ο蟮姆绞酵ㄟ^向程序員提供表示問題空間中的元素的工具而更進(jìn)一步呐萨。那么什么是面向?qū)ο竽兀?strong>所謂對象杀饵,其實就是抽象化的數(shù)據(jù)本身。萬物皆是對象谬擦,一只狗切距,一個人,一棟建筑惨远,而這些對象擁有他們自己的一些行為谜悟,比如狗要吃飯话肖,要跑,把這些稱為屬于狗的方法葡幸,然后把用一個叫做“類”的東西來打包(封裝)好狗這個對象還有屬于它的方法最筒,也就是數(shù)據(jù)和功能。這就是面向?qū)ο螅?strong>它的本質(zhì)就是:程序可以通過添加新類型的對象使自身適用于某個特定的問題礼患。僅此而已是钥。

寫在文章的最后:整篇文章讀了好幾遍,最開始本來是打算把整一段《Java核心技術(shù) 卷Ⅰ》關(guān)于Java簡史的東西貼出來的缅叠,但發(fā)現(xiàn)好像用處并不會很大,只有增加篇幅的作用虏冻。文章的大部分內(nèi)容來自于上文提到的兩部經(jīng)典教材肤粱,第一次寫文,希望喜歡的多多支持厨相,有什么不足也能及時提出领曼,謝謝。


按照慣例黏一個尾巴:

歡迎轉(zhuǎn)載蛮穿,轉(zhuǎn)載請注明出處庶骄!
簡書ID:@我沒有三顆心臟
github:wmyskxz
歡迎關(guān)注公眾微信號:wmyskxz
分享自己的學(xué)習(xí) & 學(xué)習(xí)資料 & 生活
想要交流的朋友也可以加qq群:3382693

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市践磅,隨后出現(xiàn)的幾起案子单刁,更是在濱河造成了極大的恐慌,老刑警劉巖府适,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羔飞,死亡現(xiàn)場離奇詭異,居然都是意外死亡檐春,警方通過查閱死者的電腦和手機(jī)逻淌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疟暖,“玉大人卡儒,你說我怎么就攤上這事±停” “怎么了骨望?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長窜骄。 經(jīng)常有香客問我锦募,道長,這世上最難降的妖魔是什么邻遏? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任糠亩,我火速辦了婚禮虐骑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赎线。我一直安慰自己廷没,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布垂寥。 她就那樣靜靜地躺著颠黎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滞项。 梳的紋絲不亂的頭發(fā)上狭归,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機(jī)與錄音文判,去河邊找鬼过椎。 笑死,一個胖子當(dāng)著我的面吹牛戏仓,可吹牛的內(nèi)容都是我干的疚宇。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼赏殃,長吁一口氣:“原來是場噩夢啊……” “哼敷待!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仁热,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤榜揖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后股耽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體根盒,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年物蝙,在試婚紗的時候發(fā)現(xiàn)自己被綠了炎滞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡诬乞,死狀恐怖册赛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情震嫉,我是刑警寧澤森瘪,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站票堵,受9級特大地震影響扼睬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悴势,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一窗宇、第九天 我趴在偏房一處隱蔽的房頂上張望措伐。 院中可真熱鬧,春花似錦军俊、人聲如沸侥加。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽担败。三九已至,卻和暖如春镰官,著一層夾襖步出監(jiān)牢的瞬間提前,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工朋魔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岖研,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓警检,卻偏偏與公主長得像,于是被迫代替她去往敵國和親害淤。 傳聞我的和親對象是個殘疾皇子扇雕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Java是一個支持并發(fā)、基于類和面向?qū)ο蟮挠嬎銠C(jī)編程語言窥摄。下面列出了面向?qū)ο筌浖_發(fā)的優(yōu)點(diǎn): 代碼開發(fā)模塊化镶奉,更易...
    安安靜靜寫代碼閱讀 1,099評論 0 8
  • Java 面試題 整理自派诳粒客網(wǎng) 什么是Java虛擬機(jī)?為什么Java被稱作是“平臺無關(guān)的編程語言”币砂? Java虛擬...
    GuaKin_Huang閱讀 10,672評論 19 265
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法建峭,類相關(guān)的語法,內(nèi)部類的語法决摧,繼承相關(guān)的語法亿蒸,異常的語法,線程的語...
    子非魚_t_閱讀 31,665評論 18 399
  • 初夏的早晨,太陽迫不及待的張開了笑臉波岛,燦爛如新茅坛,耀目如火!我一如既往的漫步于淺夏微涼的初陽则拷,過馬路時贡蓖,腳步飛...
    暮靄夕顏閱讀 194評論 4 1
  • 現(xiàn)在安卓項目開發(fā)中曹鸠,butterknife是比較常用的注解框架,從而簡化了findViewById的重復(fù)使用摩梧,提高...
    smileNicky閱讀 1,201評論 2 3