?? 作者簡介,愚公搬代碼
??《頭銜》:華為云特約編輯,華為云云享專家,華為開發(fā)者專家,華為產品云測專家,CSDN博客專家,CSDN商業(yè)化專家,阿里云專家博主,阿里云簽約作者,騰訊云優(yōu)秀博主,騰訊云內容共創(chuàng)官,掘金優(yōu)秀博主,亞馬遜技領云博主,51CTO博客專家等。
??《近期榮譽》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年華為云十佳博主,2023年華為云十佳博主等。
??《博客內容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鴻蒙、Linux、物聯網、網絡安全、大數據、人工智能、U3D游戲、小程序等相關領域知識。
????歡迎 ??點贊?評論?收藏
??前言
是誰?作品一出版就獲得著名的Jolt圖書大獎,每一版本豆瓣評分均超9.0!
連Java之父James Gosling都多次表白他的作品“我很希望我10年前就能擁有這本書。有人可能認為我不需要任何Java方面的書籍,但是我需要這本書”,還在 JavaOne 2001 上直呼“去買這本書吧!”。
他就是《Effective Java》的作者、前Google首席Java架構師、Java集合框架創(chuàng)辦人、卡內基梅隆大學(CMU)軟件研究所的兼職教授——Joshua Bloch!
Bloch大神在《Effective Java》書中頻頻拋出硬核金句,至今仍被程序員廣泛引用:
“API應該易于使用且不易被濫用?!?
“如有疑問,請將其排除在外。”
“程序越干凈、越好,運行速度就越快?!?
“編程既涉及工藝,也涉及數學,還涉及人際交往能力和散文技巧?!?
“如果你不能通過觀察來判斷一個程序做了什么,它可能不會做你想做的事。”
“同大多數學科一樣,學習編程藝術首先要學會基本的規(guī)則,然后才能知道什么時候去打破規(guī)則?!?
如果你還不太了解這位美國著名程序員,讓我們一同探索他的編程人生,領悟他的編程智慧……
??一、初探編程:“天啊,真酷,程序真的能學習?!?/h2>
1961年8月28日,Joshua Bloch出生在美國紐約長島薩福爾克縣。這一年,是程序設計語言COBOL問世之際,也是麻省理工學院設計的第一臺分系統計算機完成之際。
Bloch的編程之路最早可以追溯到1971年。當時,Bloch的父親是美國Brookhaven國家實驗室的化學家,他需要參加一個程序設計培訓班。那時候,電腦都是放在玻璃窗背后的大型機,想要“編程”只能把寫好的程序卡片交給操作員。雖然無法親自動手,但剛上小學四年級的Bloch還是被計算機可以幫助自己做事這一點震撼了。所以,在他父親上課的那段時間,Bloch跟父親學了一點兒Fortran。
但Bloch真的對程序產生強烈的興趣卻是在幾年后。因為讓他最興趣的是分時系統。
1973年,長島有一臺DEC system-10電腦,供薩福爾克縣內所有的學校使用,佛羅里達州納蘇縣也有一臺。很神奇的是,很多著名人物的事業(yè)都是從這兩臺DEC system-10電腦開始的。因為對分時系統特別感興趣,所以,在此后三年里,Bloch也跟其他人一樣,開始寫B(tài)ASIC程序。
Bloch還記得他寫的第一個有趣的程序。1977年7月4日,Bloch為經典的二十問游戲寫了一個程序,叫“猜動物”。這個程序包含一個二叉樹,是非題位于它的內部節(jié)點,動物位于它的葉節(jié)點上。如果用戶所提的動物是葉節(jié)點上沒有的,它會向用戶提出是非題,通過區(qū)別新動物和它猜出的錯誤動物之間的差異來了解新動物。二叉樹保存在硬盤上,這樣程序可以越來越“聰明”。
Bloch當時就被驚訝到了:“天啊,真酷,程序真的能學習?!边@也是他一生難忘的瞬間。
Bloch還保存著當年寫的程序,這些程序是印在電信打印紙上的。如今回頭再看這些程序,Bloch發(fā)現,他寫的代碼的部分風格從那個時候起就一直沒變過。
編程實在是太有趣了,因此,Bloch考上了哥倫比亞大學工程與應用科學學院,選擇主修計算機科學,畢業(yè)后還選擇繼續(xù)深造,在卡內基美隆大學獲得了計算機科學博士學位。他在1990年發(fā)表的博士論文“A Practical Approach to Replication of Abstract Data Objects”還曾被提名為ACM杰出博士論文獎。
??二、哺育Java成長,成為Java幕后英雄
1996年1月,第一個JDK1.0正式版本誕生,Java這門新的編程語言開始嶄露頭角。
就在這一年,身為Transarc公司高級系統設計師的Bloch放棄之前打下的基業(yè),前往西部,加入了Sun公司的 JavaSoft 部門,開啟了他在Java世界的傳奇之旅。
接下來的 5 年,有著相當豐富的編程背景的Bloch擔任了Java平臺類庫的架構師,設計、實現和維護過許多類庫,比如DK1.1中的java.math、1.4中的assertions、Java Collections Framework,也為其他許多類庫提過意見。其中,Collections Framework以其出色的設計和功能而受到了廣泛的認可,并且獲得了當年的Jolt大獎。
在Java迭代到了J2SE5.0時,即代號“Tiger”(虎)的版本,Joshua肩負起了推動這一版本向前的重任。Joshua與吉拉德·布拉查(Gilad Bracha)一起領導了團隊,為Java 5增加了泛型、枚舉類型、注解、自動裝箱和 for-each循環(huán)等新語言特性,還設計了并發(fā)類庫——java.util.concurrent。在他的引領下,這個版本成為Java版本史上第二個“里程碑”式的突破。
因為貢獻過于杰出,所以Bloch獲得了Sun公司“杰出工程師” (Distinguished Engineer)的稱號。
2004年7月,Bloch離開了Sun公司,加入了正蓬勃發(fā)展的Google,成為Google的Java首席架構師。同年12月,《Java 開發(fā)者雜志》將Bloch列為”全球頂尖的40位軟件開發(fā)者”之一。
在Google公司,Bloch依舊身兼數職。他主要負責Java基礎架構,繼續(xù)開發(fā)并發(fā)和集合API,同時也是Google與Java 社區(qū)的聯絡人,是JCP(Java Community Process)的代表,是多個專家小組的成員。他還使用Java平臺來開發(fā) Google內部使用的類庫,了解用戶的感受。
即使在Google工作,Bloch仍然積極參與Java的發(fā)展。他和Doug Lea一起參加JSR166專家組,還為Java平臺的語言和庫做其他工作。此外,他也是JSR201和JSR175的領導者。
Bloch提出了Java編程語言的擴展具有兩個特性:簡明實例創(chuàng)建表達式(CICE)(與Bob Lee和Doug Lea共同提出)和自動資源管理(ARM)塊。CICE和ARM的結合構成了“支持Java閉包”的三個早期提案之一,ARM塊被添加到JDK7中。
2012年8月3日,Bloch在X平臺上發(fā)文“在 Google 工作了8年后,現在是我繼續(xù)前進的時候了”,表示他從Google 離職了。
如今,Java如火如荼地發(fā)展著,Bloch也繼續(xù)前進,不僅成為卡內基梅隆大學軟件與社會系統系的兼職教授,一邊做研究一邊教授軟件工程課程,同時,他還繼續(xù)升級自己的經典之作,在Java程序員的求學之路上貢獻自己的力量。
??三、出書《Effective Java》斬獲Jolt圖書大獎
能把一門語言鉆研透的,是高手;寫得出備受推崇的教程,是專家;既會研究又會寫,還活躍在技術前沿,是大師!Bloch就是二者兼?zhèn)涞氖澜缂壌髱煛?/p>
在Sun公司工作的那段時間, Bloch收獲頗多。在他看來,能夠在 Java 平臺不斷成熟的過程中主持這些類庫的設計工作,這樣的機會千載難逢。在這個過程中,關于 Java 語言,他學到了很多很多——哪些行得通,哪些行不通,以及怎樣使用 Java 語言及其類庫取得最好的效果。
于是,他想和讀者分享自己的經驗,使讀者可以效仿他成功的地方,同時規(guī)避他犯過的錯誤。
而這本《Effective Java》便是他的一次嘗試。他看過Scott Meyers的《Effective C++》,該書包含50個條目,每個條目講解一條可以幫程序員改進程序和設計的特定規(guī)則。他覺得這種格式非常好,便借鑒到自己的書中,希望讀者也能喜歡。
自2001年《Effective Java》首版問世以來,這本書便以其卓越的內容和實用的編程建議,迅速在Java程序員中贏得了極高的聲譽,成為業(yè)界公認的必讀經典。
2001年出版第1版,2008年出版第2版,2018年出版第3版,本本都是豆瓣9.0+高分,20余年全球暢銷不衰,日文版在日本也十分受歡迎。
《Effective Java》不僅受到讀者認可,還受到了眾多同行專家和作者的稱贊:
“這是一本很棒的書,里面塞滿了關于使用Java編程語言和面向對象編程的好建議?!?
——Gilad Bracha,《Java語言規(guī)范,第三版》的合著者
“對于有經驗的開發(fā)人員來說,這是很好的操作方法資源。”
——John Zukowski,多本Java技術書籍的作者
“10/10——任何有志于寫出優(yōu)秀的Java代碼的人都應該擁有這本書。這是一本罕見的書籍,其中的信息不會隨著JDK庫的后續(xù)版本而過時。”
——Peter Tran,JavaRanch.com開發(fā)者
“這是一本真正優(yōu)秀的書,由設計了幾個很好的Java平臺API(包括 Collections API)的人完成?!?
—— James Clark,XML工作組的技術主管
“很棒的內容。類似于Scott Meyers的Effective C++。 如果你了解Java的基礎知識,那么這本書一定是你的下一本書?!?
——Gary K. Evans,Evanetics公司導師兼顧問
“Josh Bloch對最佳實踐提供了深刻的見解,而這些最佳實踐只有經過多年的研究和經驗才能真正發(fā)現?!?
——Mark Mascolino,軟件工程師
“這是一本極好的書。它清楚地涵蓋了成為真正的Java大師所需的許多語言/平臺的微妙之處和技巧?!?
——Victor Wiewiorowski,ValueCommerce 公司開發(fā)和代碼質量經理副總裁,日本東京
“我兩周前拿起了這本書,可以肯定地說,我在三天的閱讀中學到的知識比我在三個月的學習中學到的還要多!這是一本很棒的書,也是我Java庫的一個受歡迎的補充。”
——Jane Griscti,I/T 咨詢專家
如果你曾讀過這本書的前兩版,你就能體會到Bloch在傳授編程最佳實踐和撰寫清晰、可維護代碼方面的精湛技藝?,F在,全新升級的《Effective Java》第3版中文版已經推出,為Java開發(fā)者帶來了更深層次的編程智慧。
第3版在前兩個版本的基礎上做了很大的改進:
· 內容分為 12 章,包含 90 個條目,形式簡潔。每個條目都講述了對 Java 的獨到見解,闡明了如何編寫高效、優(yōu)雅的程序,并且提供了清晰、易懂的示例代碼;
· 涵蓋了從Java 5到Java 9的種種特性;
· 增加了 Lambda 表達式、流、Optional 類、接口默認方法、try-with-resources、 @SafeVarargs 注解、模塊等Java 7/8/9中引入的新特性;
· 介紹了如何充分利用泛型、枚舉、注解、自動裝箱、for-each 循環(huán)、可變參數、并發(fā)機制等各種特性,幫助讀者更加有效地使用 Java 編程語言及其基本類庫(java.lang、java.util 和 java.io),以及子包(如 java.util.concurrent 和java.util.function 等)。
最后,小異想用Bloch的一句話“小即是美,但簡單不等于容易”與大家共勉,希望大家繼續(xù)在編程的道路上追求卓越。
《Effective Java中文版(原書第3版)》重磅上新,限價5折搶購!
本書配套資源豐富,包含實戰(zhàn)項目源碼、視頻教程、資源文件等,新版贈送了Java學習效率手冊(電子版)。讀者在閱讀過程中結合使用這些資源,可以將知識融匯貫通,在工作中應用起來更加得心應手。
??四、贈書活動
- ??本次送書5本,【取決于閱讀量,閱讀量越多,送的越多】??
- ??活動時間:閱讀量滿足5000
- ??參與方式:關注博主+三連(點贊、收藏、評論),評論語:
我要《Effective Java》
需要完全了解本書可以看下面:
- 直達京東購買鏈接??:購買地址《Effective Java》
??五、中獎名單
用戶昵稱 | 本數 | 達成日期 |
---|---|---|
應粉絲要求保密 |
??感謝:給讀者的一封信
親愛的讀者,
我在這篇文章中投入了大量的心血和時間,希望為您提供有價值的內容。這篇文章包含了深入的研究和個人經驗,我相信這些信息對您非常有幫助。
如果您覺得這篇文章對您有所幫助,我誠懇地請求您考慮贊賞1元錢的支持。這個金額不會對您的財務狀況造成負擔,但它會對我繼續(xù)創(chuàng)作高質量的內容產生積極的影響。
我之所以寫這篇文章,是因為我熱愛分享有用的知識和見解。您的支持將幫助我繼續(xù)這個使命,也鼓勵我花更多的時間和精力創(chuàng)作更多有價值的內容。
如果您愿意支持我的創(chuàng)作,請掃描下面二維碼,您的支持將不勝感激。同時,如果您有任何反饋或建議,也歡迎與我分享。
再次感謝您的閱讀和支持!文章來源:http://www.zghlxwxcb.cn/news/detail-854099.html
最誠摯的問候, “愚公搬代碼”文章來源地址http://www.zghlxwxcb.cn/news/detail-854099.html
到了這里,關于【粉絲福利社】《Effective Java》(文末送書-完結)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!