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