java和c# 如果把java程序員終極書(shū)單都看完,你認(rèn)為能力能達(dá)到什么水平?
如果把java程序員終極書(shū)單都看完,你認(rèn)為能力能達(dá)到什么水平?評(píng)價(jià)程序員水平的標(biāo)準(zhǔn)不是他讀了多少書(shū),而是他解決問(wèn)題的能力。解決不同層次的問(wèn)題決定了程序員的水平。例如,研發(fā)級(jí)程序員的水平不是由java語(yǔ)
如果把java程序員終極書(shū)單都看完,你認(rèn)為能力能達(dá)到什么水平?
評(píng)價(jià)程序員水平的標(biāo)準(zhǔn)不是他讀了多少書(shū),而是他解決問(wèn)題的能力。解決不同層次的問(wèn)題決定了程序員的水平。例如,研發(fā)級(jí)程序員的水平不是由java語(yǔ)言本身決定的,而是需要一個(gè)綜合的能力評(píng)估,比如數(shù)據(jù)結(jié)構(gòu)的選擇、算法的設(shè)計(jì)與實(shí)現(xiàn)、具體場(chǎng)景的分析等。
通過(guò)閱讀,我們可以拓展視野,拓寬解決問(wèn)題的思路,但我們需要通過(guò)實(shí)踐來(lái)檢驗(yàn)技術(shù)水平??傊?,只有經(jīng)過(guò)驗(yàn)證和使用,我們才能真正掌握書(shū)中的知識(shí)。因此,我一般不建議脫離實(shí)際項(xiàng)目學(xué)習(xí),而是建議邊用邊學(xué),這樣才能更系統(tǒng)地掌握新技術(shù)。
編程技術(shù)通常具有很強(qiáng)的及時(shí)性。一般來(lái)說(shuō),一本書(shū)出版后,基本上都會(huì)有新的版本更新,所以通常程序員往往直接閱讀官方的編程文檔而不是選擇編程書(shū)籍,因?yàn)闀?huì)有滯后性。而且,大部分應(yīng)用級(jí)書(shū)籍都是以公文為基礎(chǔ)的,所以?xún)?nèi)容基本相同,所以看公文是一個(gè)比較高效的學(xué)習(xí)程序。
一般來(lái)說(shuō),選書(shū)要多關(guān)注核心問(wèn)題,減少技巧內(nèi)容。因?yàn)楹诵募夹g(shù)的更新周期往往較長(zhǎng),技能的內(nèi)容更新也比較頻繁。例如,Java書(shū)籍中的Java核心技術(shù)系列就是一個(gè)不錯(cuò)的選擇。此外,建議仔細(xì)閱讀Java數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。
一般的Java項(xiàng)目需要JVM調(diào)優(yōu)嗎?注意哪些?
Java以其開(kāi)源、高效、跨平臺(tái)和良好的生態(tài)性成為主流編程語(yǔ)言。即使是以前使用其他技術(shù)棧的公司,現(xiàn)在也在慢慢地向Java平臺(tái)遷移。我相信很多Java學(xué)生在面試時(shí)都會(huì)被問(wèn)到關(guān)于JVM調(diào)優(yōu)的問(wèn)題,但是他們似乎很少在日常工作中進(jìn)行JVM調(diào)優(yōu)。您想為一般Java項(xiàng)目進(jìn)行JVM調(diào)優(yōu)嗎?
在我們討論JVM調(diào)優(yōu)之前,讓我們先討論一下JVM。什么是JVM?實(shí)際上,JVM是Java虛擬機(jī)的縮寫(xiě)。Java能夠跨平臺(tái)的原因?qū)嶋H上是基于JVM。
盡管JVM本身是一個(gè)計(jì)算機(jī)程序,但它也有自己的一套軟件和硬件環(huán)境。
就像你買(mǎi)了一臺(tái)新電腦。系統(tǒng)安裝后,您可以正常使用計(jì)算機(jī)。但是很多用戶(hù)需要自定義電腦,比如桌面背景。同樣,JVM安裝后,即使沒(méi)有任何額外的設(shè)置,也可以正常工作,但在某些情況下,還需要對(duì)JVM進(jìn)行調(diào)優(yōu),而調(diào)優(yōu)的手段就是更改JVM參數(shù)。
JVM調(diào)優(yōu)的目的是使用盡可能少的內(nèi)存和CPU,使Java程序獲得更高的吞吐量和更低的延遲。
2. JVM常用調(diào)優(yōu)項(xiàng)
JVM最常用的調(diào)優(yōu)是更改JVM的默認(rèn)參數(shù),例如:
最大堆大小:-Xmx
新生成大?。?XMN
不朽生成的最小值:-XX:permsize
不朽生成的最大值:-XX:maxpermsize
事實(shí)上,JVM的默認(rèn)設(shè)置可以滿(mǎn)足一般項(xiàng)目的需要。似乎只要您更改參數(shù),JVM的調(diào)優(yōu)就非常簡(jiǎn)單,但不是我,而是您認(rèn)為的那么簡(jiǎn)單。
如果JVM調(diào)優(yōu)不好,會(huì)影響整個(gè)項(xiàng)目的穩(wěn)定性。在正常情況下,不建議調(diào)優(yōu)JVM,除非Java項(xiàng)目?jī)?nèi)存太高,服務(wù)器內(nèi)存太低。