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