Java六大關(guān)鍵你知道嗎叮叹?

Java的學(xué)習(xí)比較復(fù)雜艾栋,在相關(guān)的一系列平臺(tái)、規(guī)范和協(xié)議上蛉顽。有經(jīng)驗(yàn)的Java程序員都知道携冤,只掌握了Java語(yǔ)言本身很難開(kāi)發(fā)應(yīng)用程序曾棕。撇開(kāi)這些復(fù)雜的概念不談,從初學(xué)者的角度申尤,對(duì)于Java語(yǔ)言本身的學(xué)習(xí)給出幾點(diǎn)見(jiàn)解和建議昧穿。本討論基于以下假設(shè):

1.學(xué)習(xí)的目的是為了將來(lái)進(jìn)行應(yīng)用程序的開(kāi)發(fā)橙喘,而不是進(jìn)行語(yǔ)言理論研究

2.將來(lái)的應(yīng)用開(kāi)發(fā)是在成熟的平臺(tái)上展開(kāi)厅瞎,而不是自己從底層開(kāi)發(fā)平臺(tái)

一和簸、掌握靜態(tài)方法和屬性

靜態(tài)方法和屬性用于描述某一類對(duì)象群體的特征,而不是單個(gè)對(duì)象的特征薯酝。java中大量應(yīng)用了靜態(tài)方法和屬性,這是一個(gè)通常的技巧抄囚。但是這種技巧在很多語(yǔ)言中不被頻繁地使用橄务。理解靜態(tài)方法和屬性對(duì)于理解類與對(duì)象的關(guān)系是十分有幫助的,在大量的java規(guī)范中重挑,靜態(tài)方法和屬性被頻繁使用棠涮。因此學(xué)習(xí)者應(yīng)該理解靜態(tài)方法和屬性懂从。Java在方法和屬性的調(diào)用上是一致的,區(qū)別只表現(xiàn)在聲明的時(shí)候驳糯,這和c++是不同的酝枢。

二帘睦、重視接口

在面向?qū)ο笤缙诘膽?yīng)用中大量使用了類繼承竣付。隨著軟件工程理論的不斷發(fā)展卑笨,人們開(kāi)始意識(shí)到了繼承的眾多缺點(diǎn)赤兴,開(kāi)始努力用聚合代替繼承隧哮。軟件工程解決擴(kuò)展性的重要原則就是抽象描述,直接使用的工具就是接口陨帆。接口近年來(lái)逐漸成為java編程方法的核心。另一方面疲牵,就應(yīng)用而言承二,大部分開(kāi)發(fā)是建立在規(guī)范基礎(chǔ)之上的纲爸,不需要自己建立復(fù)雜的繼承關(guān)系和龐大的類。因此讀懂規(guī)范和用好規(guī)范已經(jīng)成為應(yīng)用程序開(kāi)發(fā)人員的首要任務(wù)识啦,Java各項(xiàng)規(guī)范的主要描述手段就是接口负蚊。

三颓哮、學(xué)好集合框架

java描述復(fù)雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架家妆。Java沒(méi)有指針,而是通過(guò)強(qiáng)大的集合框架描述數(shù)組冕茅、對(duì)象數(shù)組等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。學(xué)好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對(duì)于應(yīng)用程序編寫姨伤,特別是涉及到服務(wù)器方姜挺、3層結(jié)構(gòu)編程至關(guān)重要齿税。程序員在這個(gè)時(shí)候不能再用諸如數(shù)據(jù)庫(kù)結(jié)果集之類的結(jié)構(gòu)描述數(shù)據(jù)了词渤。

由于很多語(yǔ)言沒(méi)有這么強(qiáng)大的集合框架體系牵舱,很多初學(xué)者不知所措缺虐,更不知道拿來(lái)做什么用高氮,因此應(yīng)該引起足夠的重視慧妄。

四、例外捕捉

java對(duì)例外捕捉的強(qiáng)調(diào)是空前的剪芍,它強(qiáng)迫程序員用顯著的與邏輯方法完全不同的方式描述例外捕捉塞淹,對(duì)于程序描述的完整性和嚴(yán)謹(jǐn)性有很大的意義。c++也有類似的機(jī)制罪裹,但是我們看到很多c++程序員并不習(xí)慣使用這些機(jī)制饱普。

Java的初學(xué)者應(yīng)該充分學(xué)習(xí)好這種例外捕捉機(jī)制运挫,養(yǎng)成良好的編程習(xí)慣。

五套耕、多線程需要理解機(jī)理

很多java程序員熱衷于多線程程序編寫谁帕,認(rèn)為是對(duì)邏輯能力的挑戰(zhàn)。其實(shí)在大量應(yīng)用中根本就不需要編寫多線程程序冯袍,或者說(shuō)大多數(shù)編寫應(yīng)用程序的程序員不會(huì)去寫多線程程序雇卷。這是因?yàn)槎嗑€程機(jī)制都內(nèi)置到基礎(chǔ)平臺(tái)當(dāng)中了。

程序員應(yīng)該了解的是多線程原理和多線程安全颠猴,這對(duì)于今后準(zhǔn)確地把握程序是至關(guān)重要的关划。

例如JSP中編寫到不同的位置對(duì)于多個(gè)用戶環(huán)境的安全影響完全不同,又如著名的Super Servlet是每一個(gè)訪問(wèn)作為一個(gè)進(jìn)程翘瓮,但是每一個(gè)頁(yè)面是一個(gè)線程贮折,和Servlet正好相反,對(duì)程序的性能和安全的影響有天壤之別资盅。

六调榄、了解網(wǎng)絡(luò)編程

java號(hào)稱是最強(qiáng)的網(wǎng)絡(luò)編程語(yǔ)言,但是大多數(shù)應(yīng)用程序開(kāi)發(fā)人員是從來(lái)不會(huì)自己開(kāi)發(fā)什么底層的網(wǎng)絡(luò)程序的呵扛。需要做只是了解原理就夠了每庆。網(wǎng)絡(luò)機(jī)制的實(shí)現(xiàn)是靠平臺(tái)實(shí)現(xiàn)的,除非自己開(kāi)發(fā)平臺(tái)今穿,否則是不需要知道socket怎么實(shí)現(xiàn)缤灵,怎么監(jiān)聽(tīng)訪問(wèn)的。因此在這方面花太多的功夫就偏離了“將來(lái)的應(yīng)用開(kāi)發(fā)是在成熟的平臺(tái)上展開(kāi)蓝晒,而不是自己從底層開(kāi)發(fā)平臺(tái)”這一假設(shè)腮出。

以上就是我的分享,看完的朋友記得點(diǎn)贊噢芝薇!想學(xué)習(xí)更多的Java技術(shù)方面的知識(shí)的朋友們胚嘲,可以進(jìn)我的Java高級(jí)架構(gòu)師交流群,里面有高可用洛二、高并發(fā)馋劈、高性能及分布式、Jvm性能調(diào)優(yōu)晾嘶、Spring源碼妓雾,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個(gè)知識(shí)點(diǎn)的架構(gòu)資料变擒,群號(hào):680075317君珠,也可以進(jìn)群一起交流寝志,比如遇到技術(shù)瓶頸娇斑、面試不過(guò)的策添,大家一些交流學(xué)習(xí)!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末毫缆,一起剝皮案震驚了整個(gè)濱河市唯竹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌苦丁,老刑警劉巖浸颓,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異旺拉,居然都是意外死亡产上,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門蛾狗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)晋涣,“玉大人,你說(shuō)我怎么就攤上這事沉桌⌒蝗担” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵留凭,是天一觀的道長(zhǎng)佃扼。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蔼夜,這世上最難降的妖魔是什么兼耀? 我笑而不...
    開(kāi)封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮求冷,結(jié)果婚禮上翠订,老公的妹妹穿的比我還像新娘。我一直安慰自己遵倦,他們只是感情好尽超,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著梧躺,像睡著了一般似谁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掠哥,一...
    開(kāi)封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天巩踏,我揣著相機(jī)與錄音,去河邊找鬼续搀。 笑死塞琼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的禁舷。 我是一名探鬼主播彪杉,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼毅往,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了派近?” 一聲冷哼從身側(cè)響起攀唯,我...
    開(kāi)封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渴丸,沒(méi)想到半個(gè)月后侯嘀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谱轨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年戒幔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片土童。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溪食,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出娜扇,到底是詐尸還是另有隱情错沃,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布雀瓢,位于F島的核電站枢析,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏刃麸。R本人自食惡果不足惜醒叁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泊业。 院中可真熱鬧把沼,春花似錦、人聲如沸吁伺。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)篮奄。三九已至捆愁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窟却,已是汗流浹背昼丑。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留夸赫,地道東北人菩帝。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親呼奢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宜雀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,096評(píng)論 1 32
  • 整理來(lái)自互聯(lián)網(wǎng) 1,JDK:Java Development Kit控妻,java的開(kāi)發(fā)和運(yùn)行環(huán)境州袒,java的開(kāi)發(fā)工具...
    Ncompass閱讀 1,537評(píng)論 0 6
  • 一:java概述: 1揭绑,JDK:Java Development Kit弓候,java的開(kāi)發(fā)和運(yùn)行環(huán)境,java的開(kāi)發(fā)...
    慕容小偉閱讀 1,788評(píng)論 0 10
  • 一:java概述:1他匪,JDK:Java Development Kit菇存,java的開(kāi)發(fā)和運(yùn)行環(huán)境,java的開(kāi)發(fā)工...
    ZaneInTheSun閱讀 2,649評(píng)論 0 11
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用邦蜜。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 4,587評(píng)論 1 114