如何使初學(xué)java的人更加對(duì)其感興趣?
網(wǎng)友解答: 學(xué)習(xí) Java 語(yǔ)言有以下入門級(jí)的書(shū)(注意:下面一些書(shū)在入門篇中有所提及,但為了完整性,還是要在這里提一下,因?yàn)榭赡苡信笥咽翘吹模?。《Java 核心技術(shù):卷 1 基礎(chǔ)知識(shí)
學(xué)習(xí) Java 語(yǔ)言有以下入門級(jí)的書(shū)(注意:下面一些書(shū)在入門篇中有所提及,但為了完整性,還是要在這里提一下,因?yàn)榭赡苡信笥咽翘吹模?/p>
《Java 核心技術(shù):卷 1 基礎(chǔ)知識(shí)》,這本書(shū)本來(lái)是 Sun 公司的官方用書(shū),是一本 Java 的入門參考書(shū)。對(duì)于 Java 初學(xué)者來(lái)說(shuō),是一本非常不錯(cuò)的值得時(shí)常翻閱的技術(shù)手冊(cè)。書(shū)中有較多地方進(jìn)行 Java 與 C++ 的比較,因?yàn)楫?dāng)時(shí) Java 面世的時(shí)候,又被叫作 "C++ Killer"。C - C++ - Java 整條線融匯貫通,這對(duì)我未來(lái)的技術(shù)成長(zhǎng)有非常大的幫助。
有了上述的入門后,Java 的 Spring 框架是你玩 Java 所無(wú)法回避的東西,所以接下來(lái)是兩本 Spring 相關(guān)的書(shū),《Spring 實(shí)戰(zhàn)》和《Spring Boot 實(shí)戰(zhàn)》。前者是傳統(tǒng)的 Spring,后者是新式的微服務(wù)的 Spring。如果你只想看一本的話,那么就看后者吧。
認(rèn)真學(xué)習(xí)前面的書(shū)可以讓你成功入門 Java,但想要進(jìn)一步成長(zhǎng),就要看下面我推薦的幾本提升級(jí)的書(shū)。
接下來(lái),你需要了解了一下如何編寫高效的代碼,于是必需看一下《Effective Java》(注意,這里我給的引用是第三版的,也是 2017 年末出版的書(shū)),這本書(shū)是模仿 Scott Meyers 的經(jīng)典圖書(shū)《Effective C++》的。Effective 這種書(shū)基本上都是各種經(jīng)驗(yàn)之談,所以,這是一本非常不錯(cuò)的書(shū),你一定要讀。這里需要推薦一下 Google Guava 庫(kù) ,這個(gè)庫(kù)不但是 JDK 的升級(jí)庫(kù),其中有如:集合(collections)、緩存(caching)、原生類型支持(primitives support)、并發(fā)庫(kù)(concurrency libraries)、通用注解(common annotations)、字符串處理(string processing)、I/O 等庫(kù),其還是 Effective Java 這本書(shū)中的那些經(jīng)驗(yàn)的實(shí)踐代表。
《Java 并發(fā)編程實(shí)戰(zhàn)》,是一本完美的 Java 并發(fā)參考手冊(cè)。書(shū)中從并發(fā)性和線程安全性的基本概念出發(fā),介紹了如何使用類庫(kù)提供的基本并發(fā)構(gòu)建塊,用于避免并發(fā)危險(xiǎn)、構(gòu)造線程安全的類及驗(yàn)證線程安全的規(guī)則,如何將小的線程安全類組合成更大的線程安全類,如何利用線程來(lái)提高并發(fā)應(yīng)用程序的吞吐量,如何識(shí)別可并行執(zhí)行的任務(wù),如何提高單線程子系統(tǒng)的響應(yīng)性,如何確保并發(fā)程序執(zhí)行預(yù)期任務(wù),如何提高并發(fā)代碼的性能和可伸縮性等內(nèi)容。最后介紹了一些高級(jí)主題,如顯式鎖、原子變量、非阻塞算法以及如何開(kāi)發(fā)自定義的同步工具類。
了解如何編寫出并發(fā)的程序,你還需要了解一下如何優(yōu)化 Java 的性能。我推薦《Java 性能權(quán)威指南》。通過(guò)學(xué)習(xí)這本書(shū),你可以比較大程度地提升性能測(cè)試的效果。其中包括:使用 JDK 中自帶的工具收集 Java 應(yīng)用的性能數(shù)據(jù),理解 JIT 編譯器的優(yōu)缺點(diǎn),調(diào)優(yōu) JVM 垃圾收集器以減少對(duì)程序的影響,學(xué)習(xí)管理堆內(nèi)存和 JVM 原生內(nèi)存的方法,了解如何最大程度地優(yōu)化 Java 線程及同步的性能,等等。看完這本書(shū)后,如果你還有余力,想了解更多的底層細(xì)節(jié),那么,你有必要去讀一下《深入理解 Java 虛擬機(jī)》。
《Java 編程思想》,真是一本透著編程思想的書(shū)。上面的書(shū)讓你從微觀角度了解 Java,而這本書(shū)則可以讓你從一個(gè)宏觀角度了解 Java。這本書(shū)和 Java 核心技術(shù)的厚度差不多,但這本書(shū)的信息密度比較大。所以,讀起來(lái)是非常耗大腦的,因?yàn)樗鼤?huì)讓你不斷地思考。對(duì)于想學(xué)好 Java 的程序員來(lái)說(shuō),這是一本必讀的書(shū)。
《精通 Spring 4.x》,也是一本很不錯(cuò)的書(shū),就是有點(diǎn)厚,一共有 800 多頁(yè),都是干貨。我認(rèn)為其中最不錯(cuò)的是在分析原理,尤其是針對(duì)前面提到的 Spring 技術(shù),應(yīng)用與原理都講得很透徹,IOC 和 AOP 也分析得很棒,娓娓道來(lái)。其對(duì)任何一個(gè)技術(shù)都分析得很細(xì)致和全面,不足之處就是內(nèi)容太多了,所以導(dǎo)致很厚,但這并不影響它是一本不錯(cuò)的工具書(shū)。
當(dāng)然,學(xué) Java 你一定要學(xué)面向?qū)ο蟮脑O(shè)計(jì)模式,這里就只有一本經(jīng)典的書(shū)《設(shè)計(jì)模式》。如果你覺(jué)得有點(diǎn)兒難度了,那么可以看一下《Head First 設(shè)計(jì)模式》。
網(wǎng)友解答:興趣是學(xué)習(xí)最好的老師。
提升學(xué)習(xí)JAVA的興趣,可以從成就感的角度著手;找到實(shí)際問(wèn)題,并通過(guò)JAVA來(lái)解決。另外,有一些學(xué)習(xí)者對(duì)游戲感興趣,可以從做一些小游戲來(lái)提升學(xué)習(xí)者的興趣。