初學(xué)者怎么學(xué)Java編程?需要了解哪些核心技術(shù)?Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operatoroverloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的合陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!每次看到網(wǎng)上有很多想學(xué)習(xí)java技術(shù)的小伙伴都在尋找一些書(shū)籍和視頻,作為一個(gè)初學(xué)者,該看怎么樣的書(shū)籍比較適合呢?或者說(shuō),如何才能輕松入門又能深入學(xué)習(xí)呢?當(dāng)然了這不是一本書(shū)就能解決的事。下面千鋒先給大家分享一下《Java核心技術(shù)》這本書(shū),將學(xué)習(xí)的一些感想跟大家聊一聊。
一、 Hash Code方法默認(rèn)是調(diào)用該對(duì)象的地址,如果你重寫(xiě)了equals方法應(yīng)該重寫(xiě)hash Code方法,例如你的equals方法是比較的對(duì)象的ID,就用該對(duì)象的ID來(lái)hash。
二、 instanceof并不完美,不能夠查出父子類,所以在寫(xiě)equals方法的時(shí)候應(yīng)該比較下是否同一個(gè)類。。
三、 String類和包裝類的值都是不能改變的,所以如果希望實(shí)現(xiàn)它們的引用傳遞需要使用StringHolder類和包裝類的Holder類,例如:IntHolder。
四、 C#中的委托可以用JAVA中的反射invoke方法傳遞方法指針method完成。
五、 不要使用protected修飾field因?yàn)檎麄€(gè)包內(nèi)都可以訪問(wèn),破壞了封裝性。
六、 throwable接口的實(shí)現(xiàn)類有2個(gè)分支,一個(gè)是error,一般情況JAVA系統(tǒng)的內(nèi)部錯(cuò)誤或者資源耗盡,對(duì)于它,除了通知用戶錯(cuò)誤和讓用戶安全退出外別無(wú)他法。還有一個(gè)是exception,又分為Runtime Exception和非Runtime Exception。由于程序的錯(cuò)誤導(dǎo)致出現(xiàn)的異常稱為Runtime Exception,這種問(wèn)題應(yīng)該在程序中解決和避免,不應(yīng)該拋出異常。而曾經(jīng)能夠正常運(yùn)行,在某些時(shí)候可能會(huì)出現(xiàn)導(dǎo)致的異常稱為非Runtime Exception,這種問(wèn)題的解決應(yīng)該拋出異常。常見(jiàn)的Runtime Exception有類型轉(zhuǎn)換錯(cuò)誤、數(shù)組越界、空指針等。如果出現(xiàn)Runtime Exception就一定是你的問(wèn)題。Error和Runtime Exception稱為未檢查異常。而非Runtime Exception稱為已檢查異常。
七、 要使用精確的浮點(diǎn)運(yùn)算請(qǐng)使用Big Decimal。除法的時(shí)候注意使用小數(shù)位,否則會(huì)導(dǎo)致得不到精確值錯(cuò)誤。
八、 建議不要在程序中使用char,因?yàn)閏har使用的是utf-16編碼。
九、 三種處理錯(cuò)誤的機(jī)制:異常,日志和斷言。java默認(rèn)關(guān)閉使用斷言,想使用應(yīng)該在運(yùn)行的jvm參數(shù)中使用-ea。例如:int x= 5;要判斷x是否大于0可以使用assert x>0 : x;斷言不應(yīng)該使用在程序發(fā)生了可恢復(fù)性錯(cuò)誤。斷言只能用在開(kāi)發(fā)和測(cè)試階段。是一種戰(zhàn)術(shù)性工具,而日志才是貫穿整個(gè)生命周期的策略性工具。
十、 序列化除了能夠保存簡(jiǎn)單對(duì)象以外,對(duì)復(fù)雜對(duì)象也有很好的處理方式,比如如果在幾個(gè)對(duì)象共同引用一個(gè)共享對(duì)象時(shí),就不會(huì)把這個(gè)共享對(duì)象保存幾次,而是檢查是否已經(jīng)保存這個(gè)共享,如果沒(méi)有則保存,如果已經(jīng)保存,則保存一個(gè)該對(duì)象的序列號(hào)。
十一、 泛型可以單獨(dú)在非泛型類中使用,例如下泛型方法:public static void test(T t){},而且泛型可以使用多個(gè)接口,例如:public statci void test(T t){}??梢允褂梅盒拖薅ǔ?,它與限定子類相反,例如:public class Pair,但是他可以向方法提供參數(shù),不能使用返回值。 一般的,帶有超類的泛型可以向?qū)ο髮?xiě)入,帶有子類的泛型可以從對(duì)象讀取,例如:public static> T min(T[] a){}。
只有掌握真正的Java開(kāi)發(fā)技術(shù),才能逐漸成為高級(jí)Java開(kāi)發(fā)工程師。Java開(kāi)發(fā)的前景是毋庸置疑的,如果想進(jìn)入這個(gè)“吸金”的領(lǐng)域,選擇專業(yè)的學(xué)習(xí)方式是明智之舉。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買多久送多久。
網(wǎng)站名稱:初學(xué)者怎么學(xué)Java編程需要了解哪些核心技術(shù)-創(chuàng)新互聯(lián)
文章路徑:http://www.rwnh.cn/article34/csjdse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、用戶體驗(yàn)、標(biāo)簽優(yōu)化、App設(shè)計(jì)、微信公眾號(hào)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容