java快速排序算法 都說(shuō)搞底層和算法的才厲害,學(xué)Java的感到自卑,怎么辦?
都說(shuō)搞底層和算法的才厲害,學(xué)Java的感到自卑,怎么辦?這是一個(gè)偉大的方式來(lái)建立一個(gè)宇宙飛船,但有許多只是螺絲釘。搞算法的人看不起搞工程的人,搞操作系統(tǒng)內(nèi)核的人看不起寫(xiě)驅(qū)動(dòng)的人,搞體系結(jié)構(gòu)的人看不起寫(xiě)
都說(shuō)搞底層和算法的才厲害,學(xué)Java的感到自卑,怎么辦?
這是一個(gè)偉大的方式來(lái)建立一個(gè)宇宙飛船,但有許多只是螺絲釘。
搞算法的人看不起搞工程的人,
搞操作系統(tǒng)內(nèi)核的人看不起寫(xiě)驅(qū)動(dòng)的人,
搞體系結(jié)構(gòu)的人看不起寫(xiě)模塊的人,
搞嵌入式系統(tǒng)的人看不起寫(xiě)應(yīng)用的人,
寫(xiě)背景的人看不起寫(xiě)前景的人。
使用Mac OS X的工程師鄙視使用Linux的工程師,
使用Linux的工程師鄙視使用windows的工程師。
C語(yǔ)言工程師鄙視C工程師,
C工程師鄙視Java和C工程師,
Java工程師和C工程師互相鄙視。
有漂亮妻子的程序員鄙視沒(méi)有漂亮妻子的程序員。
有妻子的程序員鄙視沒(méi)有妻子的程序員。
沒(méi)有妻子和女友的程序員鄙視單身狗。
……
其實(shí),想想上面的鄙視心態(tài)很簡(jiǎn)單。一般來(lái)說(shuō),站在最高層的人的心態(tài)是我制定了游戲規(guī)則。你只是游戲中的一個(gè)棋子。當(dāng)然,我可以看不起你。
但他真的創(chuàng)造了游戲規(guī)則嗎?顯然不是。
站在蔑視鏈頂端的大多數(shù)人也是這一層的螺絲釘。因此,大多數(shù)人沒(méi)有資格鄙視。比如說(shuō):建房子的時(shí)候,打基礎(chǔ)的工人看不起砌墻工人嗎?事實(shí)上,真正的殺手是房子的設(shè)計(jì)師(當(dāng)然,大多數(shù)設(shè)計(jì)師都是從一個(gè)地方復(fù)制到另一個(gè)地方,并不羨慕)。
所以如果這個(gè)蔑視鏈真的有意義的話,那么我想:底層的人比你付出更多的時(shí)間。Java更容易上手,C更難上手,算法更難上手。
但是優(yōu)秀Java程序員的門(mén)檻并沒(méi)有降低。同樣,做算法的人很難做出好的算法。大多數(shù)從事C語(yǔ)言開(kāi)發(fā)的人不會(huì)獨(dú)立編寫(xiě)操作系統(tǒng)。
如果你只是想繼續(xù)學(xué)習(xí)Java,你應(yīng)該怎么做?只是時(shí)間和精力比別人多。
每種語(yǔ)言都有自己的優(yōu)勢(shì)。不要用Java的缺點(diǎn)來(lái)比較其他語(yǔ)言的優(yōu)點(diǎn),而要充分發(fā)揮Java自身的優(yōu)點(diǎn)。
我想了解一下java框架技術(shù)的底層,應(yīng)該看什么書(shū),推薦一下?
學(xué)習(xí)框架底層技術(shù)的最佳方法是直接查看源代碼。當(dāng)然,看源代碼的前提是要通過(guò)官方文檔了解整體框架,這樣在看源代碼時(shí)就不會(huì)顯得像一只無(wú)頭蒼蠅。另外,看源代碼也很嫻熟。初學(xué)者最好通過(guò)調(diào)試方法查看源代碼。在查看源代碼的過(guò)程中,您會(huì)慢慢發(fā)現(xiàn)許多框架都有自己的特點(diǎn)—它們都依賴于其他框架或其他底層技術(shù),例如Dubbo。其他通信依賴于netty,netty封裝了Java,因此您越想了解底層,基礎(chǔ)知識(shí)就越重要。其實(shí),這是你的基本功。例如,你知道JDK的級(jí)別和它的實(shí)現(xiàn)機(jī)制嗎?你知道數(shù)據(jù)結(jié)構(gòu)算法嗎?我想如果我們有一個(gè)堅(jiān)實(shí)的基礎(chǔ),它將更快地查看一些java框架的底層技術(shù);如果我們不夠堅(jiān)固,它看起來(lái)會(huì)很累,但是如果我們每次都發(fā)現(xiàn)更深入的技術(shù),我們可以看看其他階段的知識(shí)也是一種學(xué)習(xí)的方式。至于讀什么書(shū),我覺(jué)得它們不像源代碼那么直接。您可以理解閱讀源代碼的方法。一般來(lái)說(shuō),你不需要買(mǎi)書(shū)。如果你想買(mǎi)書(shū),你可以買(mǎi)一些書(shū)來(lái)提高你的基本技能。
java面試中算法方面應(yīng)該如何準(zhǔn)備?
以上是Java面試算法的高頻問(wèn)題總結(jié)。
此外,在Java訪談中,您還將被問(wèn)及spring多線程JVM集合、spring數(shù)據(jù)庫(kù)、計(jì)算機(jī)網(wǎng)絡(luò)中間件等相關(guān)問(wèn)題?!?019年最新一期bat高級(jí)Java必考面試問(wèn)題解答】為您解答。在這篇文章中,請(qǐng)喜歡它并通過(guò)私人信件回復(fù)[bat]。
學(xué)技術(shù),學(xué)java好還是C 好,兩個(gè)之間有何區(qū)別???
那一個(gè)很好學(xué)。因人而異。這很不一樣。但是一般來(lái)說(shuō),Java沒(méi)有C難,要學(xué)好這兩種語(yǔ)言幾乎同樣困難。
Java:
其開(kāi)源生態(tài)鏈系統(tǒng)非常龐大,各種框架涵蓋了所有開(kāi)發(fā)領(lǐng)域、各種衍生技術(shù)和業(yè)務(wù)應(yīng)用領(lǐng)域。然而,與C語(yǔ)言相比,它的入門(mén)難度要小一些,但更難深入、準(zhǔn)確地學(xué)習(xí)。一般來(lái)說(shuō),三五年沒(méi)有坑,所以很難被稱(chēng)為大神。
此外,Java和C不是主要的正面競(jìng)爭(zhēng)關(guān)系。Java的主要競(jìng)爭(zhēng)語(yǔ)言是C#、PHP、pyhton等,因?yàn)橹饕獞?yīng)用領(lǐng)域不同。
C:
基本上,計(jì)算機(jī)的底層是C/C,C系統(tǒng)更復(fù)雜,分支更多。除了常規(guī)的桌面程序開(kāi)發(fā)外,只要對(duì)性能、計(jì)算速度等方面有要求,基本上都適合C,應(yīng)用領(lǐng)域更廣。但學(xué)好C語(yǔ)言需要三五年的時(shí)間。
總結(jié):
一般來(lái)說(shuō),Java比較容易入門(mén),但很難深入學(xué)習(xí)和很好地使用。
一般來(lái)說(shuō),C進(jìn)入的難度相對(duì)適中。同樣,要學(xué)好和用好它也是很困難的。
祝你學(xué)習(xí)成功
程序員常說(shuō)的底層是指什么?
當(dāng)我們現(xiàn)在開(kāi)發(fā)軟件時(shí),有許多種類(lèi)的庫(kù)或組件可以被引用。這將提高軟件開(kāi)發(fā)的效率,當(dāng)然也降低了開(kāi)發(fā)的難度。
它通常指“本機(jī)開(kāi)發(fā)”,即不使用或使用其他人封裝的較少代碼庫(kù)的軟件開(kāi)發(fā)
!例如,對(duì)于Windows應(yīng)用程序的開(kāi)發(fā),使用Visual C或C#,它們對(duì)系統(tǒng)的具體實(shí)現(xiàn)有很多封裝。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),它是透明的,他們不知道它的具體實(shí)現(xiàn)過(guò)程是怎樣的。
但是如果使用Windows系統(tǒng)提供的原始API進(jìn)行開(kāi)發(fā),則需要掌握系統(tǒng)的具體實(shí)現(xiàn)過(guò)程,了解其原理,才能進(jìn)行軟件開(kāi)發(fā)。而這是提高一個(gè)人系統(tǒng)開(kāi)發(fā)能力的最佳途徑
!因此,作為一名專(zhuān)業(yè)軟件開(kāi)發(fā)人員,我們應(yīng)該從所謂的“底層”了解系統(tǒng)的工作原理。這樣,我們?cè)陂_(kāi)發(fā)軟件時(shí),就可以利用它對(duì)代碼進(jìn)行改進(jìn)和優(yōu)化,提高軟件的效率和健壯性。而不是僅僅能夠?qū)崿F(xiàn)特定的功能,而不關(guān)心軟件的實(shí)現(xiàn)效率等問(wèn)題。
當(dāng)我們熟練地掌握這些“底層”原則時(shí),我們將在軟件開(kāi)發(fā)過(guò)程中更加得心應(yīng)手。只有這樣,所開(kāi)發(fā)的軟件才能更加健壯和可維護(hù)
!如果你認(rèn)為我的回答對(duì)你有幫助,請(qǐng)喜歡。謝謝您
想要自學(xué)一下編程,JAVA和python哪個(gè)更合適?
建議先學(xué)java,再學(xué)python。就編程而言,Java和python都是面向?qū)ο蟮乃枷?。然而,Java可以在較低的層次上學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法。先學(xué)習(xí)java會(huì)讓你真正理解編程。我不是說(shuō)學(xué)習(xí)Python不能理解編程。只是Python在中國(guó)的好課程還沒(méi)有Java成熟。學(xué)習(xí)曲線不如學(xué)習(xí)成本好,而Java是最好的選擇學(xué)習(xí)會(huì)有點(diǎn)難度,但一個(gè)好的教程會(huì)減少很多彎路