編程原理 對(duì)于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用?
對(duì)于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用??jī)烧叨家莆詹⑸钊雽?shí)踐。程序員常說(shuō)的底層是指什么?當(dāng)我們現(xiàn)在開(kāi)發(fā)軟件時(shí),有許多種類的庫(kù)或組件可以被引用。這將提高軟件開(kāi)發(fā)的效率,當(dāng)然也降低了開(kāi)
對(duì)于java基礎(chǔ),是應(yīng)該掌握底層原理,還是方法的熟練使用?
兩者都要掌握并深入實(shí)踐。
程序員常說(shuō)的底層是指什么?
當(dāng)我們現(xiàn)在開(kāi)發(fā)軟件時(shí),有許多種類的庫(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ā)能力的最佳途徑
!因此,作為一名專業(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)喜歡。謝謝您
java虛擬機(jī)是用什么語(yǔ)言編寫(xiě)的?它的原理誰(shuí)能通俗的講出來(lái)嗎?
Java虛擬機(jī)的功能是執(zhí)行Java字節(jié)碼,其編碼實(shí)現(xiàn)是一個(gè)死循環(huán)。每個(gè)循環(huán)都是獲取字節(jié)碼并執(zhí)行字節(jié)碼的過(guò)程,因此與其他程序沒(méi)有本質(zhì)區(qū)別。主流的JavaVM大多是用C語(yǔ)言實(shí)現(xiàn)的,然后用匯編語(yǔ)言輔助實(shí)現(xiàn),用Java實(shí)現(xiàn)JavaVM的情況有一些,但不多。
下面是使用C語(yǔ)言在智能設(shè)備中實(shí)現(xiàn)虛擬機(jī)的一個(gè)片段。
此代碼是短加法字節(jié)碼的實(shí)現(xiàn)。
這段代碼只是獲取字節(jié)碼并執(zhí)行它。你認(rèn)為JavaVM就是這樣嗎。
為了優(yōu)化虛擬機(jī)的效率,很多人選擇用匯編的方式重寫(xiě)執(zhí)行頻率高的代碼。
小結(jié)是C語(yǔ)言實(shí)現(xiàn)的許多,將與匯編結(jié)合起來(lái)作為輔助工具。有其他語(yǔ)言,但不是主流。
24歲決定轉(zhuǎn)行java,真的選擇對(duì)了嗎?
感謝您的邀請(qǐng)!我今年也24歲了。天哪,剛畢業(yè)我就糊涂了!走這條不歸路,遭受了巨大的打擊,到處采訪,到處崩潰!自信受到很大打擊,但進(jìn)入這個(gè)行業(yè)真的很難!之后,好多了
!如果你對(duì)計(jì)算機(jī)行業(yè)不感興趣,我認(rèn)為你不應(yīng)該這么做!我們看不出這是一個(gè)高薪行業(yè),就跟著公眾走吧!因?yàn)槿绻悴桓信d趣,你就不會(huì)想努力學(xué)習(xí),你也不會(huì)在這方面取得什么成就!這是一個(gè)很大的原因,俗話說(shuō):“男人怕進(jìn)錯(cuò)行,女人怕嫁錯(cuò)人”
!第二是學(xué)習(xí)Java或任何語(yǔ)言都必須有很強(qiáng)的邏輯思維能力!編程思維很重要,思維不夠敏感,工作或?qū)W習(xí)跟不上節(jié)奏!反之,工作效率就會(huì)變差。如果工作效率不好,老板不會(huì)對(duì)你樂(lè)觀的。如果他看不到你的潛力,他很可能會(huì)辭職!因?yàn)楝F(xiàn)在電腦行業(yè)競(jìng)爭(zhēng)真的很大,不僅面試難,保住工作更難!面試要造飛機(jī),現(xiàn)實(shí)是要搞砸!這真是一個(gè)恰當(dāng)?shù)谋扔?/p>
Java入門(mén)到精通需要多長(zhǎng)時(shí)間?
我的學(xué)生嘲笑“Java從入門(mén)到放棄”、“Java從入門(mén)到失敗”、“Java從入門(mén)到墳?zāi)埂保@在一定程度上反映了編程語(yǔ)言的難度。從一開(kāi)始到精通,常常有一種說(shuō)法是這本書(shū)很吸引眼球。
我認(rèn)為java學(xué)習(xí)只是從頭開(kāi)始。沒(méi)有盡頭。外面有人,外面有天,學(xué)習(xí)沒(méi)有盡頭。特別是在編程領(lǐng)域,新技術(shù)層出不窮,技術(shù)是一個(gè)不斷發(fā)展的過(guò)程。
著名藝術(shù)家米開(kāi)朗基羅年近90歲。臨終前,他遺憾地嘆了口氣:這不容易。他是個(gè)藝術(shù)初學(xué)者。我很抱歉離開(kāi)這個(gè)世界。
了解更多,我們知道的更少。如果你還是這樣,我為什么要精通呢?這就足夠開(kāi)始一項(xiàng)事業(yè),找到一份工作,保持穩(wěn)定,并持續(xù)很長(zhǎng)時(shí)間。學(xué)習(xí)總是進(jìn)行時(shí)