我們?cè)谌粘i_(kāi)發(fā)中經(jīng)常會(huì)使用到諸如泛型、自動(dòng)拆箱和裝箱、內(nèi)部類、增強(qiáng) for 循環(huán)、try-with-resources 語(yǔ)法、lambda 表達(dá)式等,我們只覺(jué)得用的很爽,因?yàn)檫@些特性能夠幫助我們減輕開(kāi)發(fā)工作量;但我們未曾認(rèn)真研究過(guò)這些特性的本質(zhì)是什么。
今天來(lái)說(shuō)說(shuō) Java 垃圾回收,高頻面試問(wèn)題。
什么是 “裝飾器模式” ?
最近看了極客時(shí)間的《Java業(yè)務(wù)開(kāi)發(fā)常見(jiàn)錯(cuò)誤100例》,再結(jié)合平時(shí)踩的一些代碼坑,寫寫總結(jié),希望對(duì)大家有幫助。
功能介紹: 闖關(guān)類游戲,玩家登錄后,選擇進(jìn)入游戲,通過(guò)鍵盤控制玩家的上下左右移動(dòng),來(lái)躲避 障礙物和吃金幣,玩家躲避的障礙物越多跑酷距離越遠(yuǎn),玩家吃的金幣越多,得分越高。
單點(diǎn)登錄系統(tǒng)設(shè)計(jì)思路:采用Spring4 Java配置方式整合HttpClient,Redis ,MySql和SpringBoot的簡(jiǎn)易教程。
一文教你打日志的正確方式。
在開(kāi)發(fā)、刷題、面試中,我們可能會(huì)遇到將一個(gè)對(duì)象的屬性賦值到另一個(gè)對(duì)象的情況,這種情況就叫做拷貝??截惻cJava內(nèi)存結(jié)構(gòu)息息相關(guān),搞懂Java深淺拷貝是很必要的!
線程池可以說(shuō)是 Java 進(jìn)階必備的知識(shí)點(diǎn)了,也是面試中必備的考點(diǎn),可能不少人看了這篇文章后能對(duì)線程池工作原理說(shuō)上一二,但這還遠(yuǎn)遠(yuǎn)不夠,如果碰到比較有經(jīng)驗(yàn)的面試官再繼續(xù)追問(wèn),很可能會(huì)被吊打。
Java的多線程是指程序中包含多個(gè)執(zhí)行流,即在一個(gè)程序中可以同時(shí)運(yùn)行多個(gè)不同的線程來(lái)執(zhí)行不同的任務(wù)。
池化技術(shù),簡(jiǎn)單來(lái)說(shuō)就是提前保存大量的資源,以備不時(shí)之需。比如我們的對(duì)象池,數(shù)據(jù)庫(kù)連接池等。
線程(英語(yǔ):Thread)是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一條線程指的是進(jìn)程中一個(gè)單一順序的控制流,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。在Unix System V及SunOS中也被稱為輕量進(jìn)程(Lightweight Processes),但輕量進(jìn)程更多指內(nèi)核線程(Kernel Thread),而把用戶線程(User Thread)稱為線程。
進(jìn)程是程序的一次執(zhí)行,是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位,他的作用是是程序能夠并發(fā)執(zhí)行提高資源利用率和吞吐率。
一文了解Intellij IDEA常用設(shè)置。
身為 Java Web開(kāi)發(fā)我發(fā)現(xiàn)很多人一些Web基礎(chǔ)問(wèn)題都答不上來(lái)。上周我面試了一個(gè)三年經(jīng)驗(yàn)的小伙子,一開(kāi)始我問(wèn)他 HTTP/1、HTTP/2相關(guān)的他到是能答點(diǎn)東西出來(lái)。后來(lái)我問(wèn)他:你知道HTTP的本質(zhì)是什么嗎? 他支支吾吾答不出來(lái)……
因?yàn)樯掀恼翲ashMap已經(jīng)講解的很詳細(xì)了,因此此篇文章會(huì)簡(jiǎn)單介紹思路,再學(xué)習(xí)并發(fā)HashMap就簡(jiǎn)單很多了。上一篇文章中,我們最終知道HashMap是線程不安全的,因此在老版本JDK中提供了HashTable來(lái)實(shí)現(xiàn)多線程級(jí)別的,改變之處重要有以下幾點(diǎn)。
對(duì)象一定分配在堆中嗎?有沒(méi)有了解逃逸分析技術(shù)?虛擬機(jī)為什么使用元空間替換了永久代?什么是Stop The World ? 什么是OopMap?什么是安全點(diǎn)?
一文了解JVM發(fā)展史!
本文主要介紹Java程序員應(yīng)該在2020年學(xué)習(xí)的一些基本和高級(jí)工具。如果你是一位經(jīng)驗(yàn)豐富的Java開(kāi)發(fā)人員,你可能對(duì)這些工具很熟悉,但如果不是,現(xiàn)在就是是開(kāi)始學(xué)習(xí)這些工具的好時(shí)機(jī)。
小伙伴們,請(qǐng)聽(tīng)題~~說(shuō)說(shuō)進(jìn)程和線程的區(qū)別?知道synchronized原理嗎?那鎖的優(yōu)化機(jī)制了解嗎?