JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些

這篇文章主要講解了“JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些”吧!

創(chuàng)新互聯(lián)公司是專(zhuān)業(yè)的北安網(wǎng)站建設(shè)公司,北安接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行北安網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

JVM

JVM 是每一個(gè)開(kāi)發(fā)人員必備的技能,推薦看國(guó)內(nèi)比較經(jīng)典的 JVM  書(shū)籍,里面包含JVM的內(nèi)存接口,類(lèi)的加載機(jī)制等基礎(chǔ)知識(shí),是不是覺(jué)得這些在面試中似曾相識(shí)?所以對(duì)于 JVM  方面的知識(shí)的鞏固與其在網(wǎng)上看一些零零碎碎的文章不如啃一下這本書(shū)《深入理解 Java 虛擬機(jī):JVM 高級(jí)特性與***實(shí)踐(第 2 版)》。

當(dāng)然了如果你的英文好強(qiáng)烈推薦看 Oracle ***發(fā)布的 JAVA  虛擬機(jī)規(guī)范。在啃書(shū)的時(shí)候切記不能圖快,你對(duì)知識(shí)的積累不是通過(guò)看書(shū)的數(shù)量來(lái)決定,而是看書(shū)的深度。所以在看每一章節(jié)的時(shí)候看到不懂的要配合網(wǎng)上的文章理解,并且需要看幾篇文章理解,因?yàn)橐黄恼潞芸赡苁清e(cuò)誤的,小編認(rèn)為文章的可信度順序自建域名>*.github.io>SF>簡(jiǎn)書(shū)=博客園>CSDN>轉(zhuǎn)載

排序算法和 Java 集合、工具類(lèi)

這一個(gè)分類(lèi)是每一個(gè)人必須掌握的并熟練使用的,那么為什么我把他們放在一起呢?  因?yàn)楣ぞ吆图项?lèi)都源于算法,在準(zhǔn)備算法復(fù)習(xí)之前你要理解,為什么要必考算法。正式因?yàn)榕判蛩惴ê臀覀兙幊滔⑾⑾嚓P(guān)。舉兩個(gè)“栗子”。

你可以看一下Collections 中的mergeSort和sort 方法,你會(huì)發(fā)現(xiàn) mergeSort 就是歸并排序的實(shí)現(xiàn),而 sort  方法結(jié)合了歸并排序和插入排序,這樣使得 sort 方法最差O(NlogN)***可以達(dá)到O(N)的效果。那么只有你自己理解了排序方法的實(shí)現(xiàn),才能更好的使用  JAVA 中的集合類(lèi)啊?

第二個(gè)“栗子”,大家都聽(tīng)聞過(guò) TopN 問(wèn)題吧,經(jīng)常在面試中遇到請(qǐng)寫(xiě)一下 TopN 的實(shí)現(xiàn),說(shuō)到算法它就是一個(gè)大頂堆,說(shuō)到 JAVA 它是一個(gè)  PriorityQueue 的實(shí)現(xiàn),那么你理解了 TopN 問(wèn)題,知道他的時(shí)間復(fù)雜度,優(yōu)缺點(diǎn)了,那么是不是就可以熟練運(yùn)用 JAVA  的工具類(lèi)寫(xiě)更高效的程序了?

之所以排序算法和 JAVA 集合&工具類(lèi)  一樣重要是因?yàn)樗鼈兒臀覀兠刻斓木幊滔⑾⑾嚓P(guān)。面試官總是問(wèn)排序算法也不是在難為你,而是在考察你的編程功底。所以你需要對(duì)著排序算法和基本的算法配合 JAVA  的集合類(lèi)、工具類(lèi)仔細(xì)的研究一番,這樣才能更深入的理解他們的關(guān)聯(lián)關(guān)系。

多線程和并發(fā)包

多線程和并發(fā)包,重要性就不累述了,直接說(shuō)一下學(xué)習(xí)方法。你首先要理解多線程不僅僅是 Thread 和 Runnable  那么簡(jiǎn)單,整個(gè)并發(fā)包下面的工具都是在為多線程服務(wù)。對(duì)于多線程的學(xué)習(xí)切不可看幾篇面試文章,或者幾個(gè)關(guān)鍵字 CountDownLatch,Lock  巴拉巴拉就以為理解了多線程的精髓,小編整理了一個(gè)大圖

JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些

你需要針對(duì)這個(gè)大圖或者自己梳理一個(gè)大圖,對(duì)里面的類(lèi)各個(gè)擊破,他們的使用場(chǎng)景,優(yōu)缺點(diǎn)。當(dāng)然你需要配合源碼看,源碼就是大圖里面的每一個(gè)源碼,和上面講的 JVM  一樣,不要著急馬上看完,而是看懂每一個(gè)地方是為什么。看的差不多你就會(huì)發(fā)現(xiàn),其實(shí)他和 JAVA  集合類(lèi)、工具類(lèi)密不可分。那么自然把它列為重要知識(shí)點(diǎn)的原因不言而喻。

redis、MySQL、ElasticSearch

存儲(chǔ)相關(guān)相關(guān)都是我們平時(shí)常用的工具,Redis,MySQL,ElasticSearch。它的知識(shí)點(diǎn)分為兩方面,一方面是你平時(shí)使用過(guò)程中積累的經(jīng)驗(yàn),另一方面是你對(duì)其的深入理解。所以對(duì)這個(gè)地方的建議就是通過(guò)書(shū)籍來(lái)鞏固技術(shù)知識(shí),  《Redis設(shè)計(jì)與實(shí)現(xiàn) (數(shù)據(jù)庫(kù)技術(shù)叢書(shū))》,《高性能 MySQL》,《ElasticSearch  權(quán)威指南》這三本書(shū)不一定是該領(lǐng)域***的書(shū)籍,但是如果你吃透了,對(duì)于你對(duì)知識(shí)的理解和程序的設(shè)計(jì)必定有很大幫助。書(shū)里面的內(nèi)容太多,還是舉兩個(gè)“栗子”。

***個(gè)“栗子”,使用 Redis 切不可只用他當(dāng)做 key-value 緩存數(shù)據(jù)庫(kù)。小編了解到它的5種基本類(lèi)型中一種類(lèi)型叫做 sorted  set。sorted set 里 items 內(nèi)容大于 64 的時(shí)候同時(shí)使用了 hash 和 skiplist  兩種設(shè)計(jì)實(shí)現(xiàn)。這也會(huì)為了排序和查找性能做的優(yōu)化。添加和刪除都需要修改 skiplist,所以復(fù)雜度為 O(log(n))。  但是如果僅僅是查找元素的話可以直接使用 hash,其復(fù)雜度為 O(1) ,其他的 range 操作復(fù)雜度一般為 O(log(n)),當(dāng)然如果是小于 64  的時(shí)候,因?yàn)槭遣捎昧?ziplist 的設(shè)計(jì),其時(shí)間復(fù)雜度為 O(n)。這樣以后查詢(xún)和更新閱讀都變得簡(jiǎn)單,那是不是可以用其實(shí)現(xiàn) TopN  的需求呢?這樣類(lèi)似的需求就不需要你查數(shù)據(jù),再在內(nèi)存里面計(jì)算和操作了。比如我們簡(jiǎn)單的周排行,月排行都可以考慮使用這個(gè)數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),當(dāng)然并不一定這是***的解決方案,而是提供了一種解題思路。

另一個(gè)“栗子”,PriorityQueue 是優(yōu)先隊(duì)列我們上文已經(jīng)了解,那么 ElasticSearch 的 query  也是用的優(yōu)先隊(duì)列分別在每一個(gè)分片上面獲取,然后再合并優(yōu)先隊(duì)列你了解嗎?這個(gè)“栗子”告訴我們其實(shí)算法是想通的,你理解一個(gè)便可以舉一反三觸類(lèi)旁通。

框架

一談框架就想起來(lái) Spring,一說(shuō) Spring 就想起來(lái) IOC,AOP。因?yàn)榇蠹叶荚谟眠@個(gè)框架,所以對(duì)于框架也不需要看一些其他的,直接就深入了解一下  Spring 就可以了。通過(guò)上面的敘述你已經(jīng)了解了小編的思路,看什么都要看他的實(shí)現(xiàn)原理,所以直接推薦你一本書(shū)《Spring 技術(shù)內(nèi)幕》然后對(duì)著自己現(xiàn)有的  Spring 項(xiàng)目 Debug,從請(qǐng)求的流轉(zhuǎn)梳理知識(shí)點(diǎn)。Spring  出來(lái)這么久大家對(duì)基本的知識(shí)已經(jīng)了然于胸,重要的是看其解決問(wèn)題的思路和原理,栗子又來(lái)了。

比如需要實(shí)現(xiàn)在 Bean 剛剛初始化的時(shí)候做一些操作,是不是需要使用InitializingBean?那么具體怎么使用,它的原理是什么,Spring  Bean 的生命周期是什么樣子,通過(guò)具體的使用場(chǎng)景逐步展開(kāi)說(shuō)明。這樣復(fù)習(xí)效果會(huì)更好一些,然后再逐步的思考每一個(gè)知識(shí)點(diǎn)里面涉及的更多的知識(shí)點(diǎn),比如 AOP 里面的  Proxy 都是基于什么原理實(shí)現(xiàn),有什么優(yōu)缺點(diǎn)。

分布式

這是一個(gè)老生常談的話題,也是這幾年比較火的話題,說(shuō)起分布式就一定和 Dubbo 有關(guān)系,但是不能僅僅就理解到  Dubbo。首先我們需要思考它解決的問(wèn)題,為什么要引入 Dubbo 這個(gè)概念。

隨著業(yè)務(wù)的發(fā)展、用戶(hù)量的增長(zhǎng),系統(tǒng)數(shù)量增多,調(diào)用依賴(lài)關(guān)系也變得復(fù)雜,為了確保系統(tǒng)高可用、高并發(fā)的要求,系統(tǒng)的架構(gòu)也從單體時(shí)代慢慢遷移至服務(wù)SOA時(shí)代,應(yīng)運(yùn)而生的  Dubbo 出現(xiàn)了,它作為 RPC 的出現(xiàn)使得我們搭建微服務(wù)項(xiàng)目變得簡(jiǎn)單,但是我們不僅僅要思考  Dubbo帶來(lái)的框架支撐。同時(shí)需要思考服務(wù)的冪等、分布式事務(wù)、服務(wù)之間的 Trace 定位、分布式日志、數(shù)據(jù)對(duì)賬、重試機(jī)制等,與此同時(shí)考慮 MQ  對(duì)系統(tǒng)的解耦和壓力的分擔(dān)、數(shù)據(jù)庫(kù)分布式部署和分庫(kù)分表、限流、熔斷等機(jī)制。所以最終總結(jié)是不僅僅要看 Dubbo  的使用、原理同時(shí)還要思考上下游和一些系統(tǒng)設(shè)計(jì)的問(wèn)題,這塊相對(duì)的知識(shí)點(diǎn)較多,可以針對(duì)上面拋出來(lái)的點(diǎn)各個(gè)擊破。

設(shè)計(jì)模式

設(shè)計(jì)模式很多,但是常用的就幾種,這個(gè)地方可以分兩個(gè)地方準(zhǔn)備。

1、學(xué)以致用,設(shè)計(jì)模式不是背出來(lái)的,而是用出來(lái)了。平時(shí)多注意思考當(dāng)前項(xiàng)目的設(shè)計(jì),是否可以套用設(shè)計(jì)模式,當(dāng)然必須先理解每一個(gè)設(shè)計(jì)模式存在的意義。

2、在現(xiàn)有框架中思考設(shè)計(jì)模式的體現(xiàn),上面已經(jīng)講過(guò)框架怎么學(xué)習(xí),用 Spring  舉例,它里面用了超過(guò)9種設(shè)計(jì)模式,你都知道用到哪里了嗎?如果不知道,試著把他們找出來(lái),同時(shí)思考為什么這么設(shè)計(jì),全部找到以后,基本的設(shè)計(jì)模式的用法和原理你也就都理解了。

感謝各位的閱讀,以上就是“JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁(yè)題目:JAVA復(fù)習(xí)的知識(shí)點(diǎn)有哪些
標(biāo)題網(wǎng)址:http://bm7419.com/article36/pssepg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、微信小程序、商城網(wǎng)站、面包屑導(dǎo)航、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司