国产高潮人妖99视频_国产精品九九九国产盗摄蜜臀_国产一区二区天天看片_国产精品无码AV无码_不卡的av帝国在线一区二区

您當(dāng)前位置: 唯學(xué)網(wǎng) » IT認(rèn)證培訓(xùn) » IT認(rèn)證培訓(xùn)教育新聞 »

Java都有什么進(jìn)階技術(shù)?

Java都有什么進(jìn)階技術(shù)?

唯學(xué)網(wǎng) • 教育培訓(xùn)

2016-10-24 16:59

IT認(rèn)證

唯學(xué)網(wǎng) • 中國(guó)教育電子商務(wù)平臺(tái)

加入收藏

私以為,一些人對(duì)JAVA進(jìn)階的理解片面了,JAVA不過(guò)也是一門(mén)語(yǔ)言,提升和進(jìn)階還是內(nèi)功的體現(xiàn)。就像那位答主所說(shuō),進(jìn)階的第一步就是編碼風(fēng)格和規(guī)范。我深表同意。 只是會(huì)用,這還遠(yuǎn)遠(yuǎn)不夠~當(dāng)然這也和題主的提問(wèn)觀點(diǎn)是一致的。

那么我想說(shuō)的是,有時(shí)候會(huì)用也是分層次的!就拿一般意義的編碼來(lái)說(shuō),思想上可以分四個(gè)層次:

第一層次是代碼的長(zhǎng)相,也就是編碼的規(guī)范化,比如為什么不提倡用tab鍵縮進(jìn),而是用四個(gè)空格代替?類(lèi)似的問(wèn)題……

第二層次是代碼的封裝,也就是模塊化,也許有現(xiàn)成的框架,但是有人也就是真的是日復(fù)一日的重復(fù),腦子里從來(lái)沒(méi)有這方面的意識(shí),也從來(lái)沒(méi)有去主動(dòng)看過(guò)那些框架的源代碼,就比如Spring框架的源碼,那里面可是各種設(shè)計(jì)模式和JAVA反射,注解啊等的綜合應(yīng)用,非常有學(xué)習(xí)的必要,看看別人是怎么設(shè)計(jì)的架構(gòu)……自己能不能也寫(xiě)一個(gè)輪子~要知道造輪子不是目的,關(guān)鍵是過(guò)程中得到升華!而且很多大公司都是自己二次封裝或者重寫(xiě)的框架,比如阿里……

第三層次是代碼的可重用性,所謂的設(shè)計(jì)模式,什么代碼復(fù)用,高內(nèi)聚,低耦合那一套……知道JAVA的哪些api用了哪些設(shè)計(jì)模式么?思想很重要。

第四層次是代碼的可重入性,也就是涉及到并發(fā)環(huán)境。針對(duì)JAVA就是JAVA的多線程,比如JAVA常用的集合,有沒(méi)有了解過(guò)集合這些算法的內(nèi)部源碼?一些線程安全的集合都是如何實(shí)現(xiàn)線程安全的?別的公司不知道,稍微大點(diǎn)的互聯(lián)網(wǎng)公司,多線程是必考的,也是常用的,比如網(wǎng)易,阿里,等等等等,因?yàn)檫@些公司我都面過(guò)或者有朋友在里面。他們的東西不是說(shuō)簡(jiǎn)單搭個(gè)框架,寫(xiě)個(gè)網(wǎng)站的事情,后臺(tái)也不是僅僅就JAVA。

這四個(gè)層次都有,或者都一直在注意和學(xué)習(xí),那么針對(duì)JAVA,還有,有沒(méi)有對(duì)JAVA虛擬機(jī)做過(guò)調(diào)優(yōu)?JAVA的內(nèi)存模型,類(lèi)加載機(jī)制了解么?對(duì)JAVA虛擬機(jī)的垃圾回收算法有過(guò)研究么?JAVA會(huì)發(fā)生內(nèi)存泄露么?舉例子什么情況會(huì)發(fā)生?如何避免?這些都是我曾經(jīng)被面試問(wèn)過(guò)的……

再針對(duì)框架進(jìn)一步了解,對(duì)Spring框架或者ibatis框架的源碼研究過(guò)么?用過(guò)如今流行的restful么?如果讓你設(shè)計(jì),你有什么想法?為什么要用框架?為什么用依賴(lài)注入……spring的事務(wù)機(jī)制的原理是什么?hibernate的緩存機(jī)制……還有osgi,太多了……

再進(jìn)一步,對(duì)JAVA虛擬機(jī)的架構(gòu),JAVA字節(jié)碼文件格式,編譯原理,計(jì)算機(jī)操作系統(tǒng),c++的掌握?讀一讀《深入理解計(jì)算機(jī)系統(tǒng)》?最后試著自己寫(xiě)一個(gè)教學(xué)用的JAVA虛擬機(jī)。

再想進(jìn)階,用了那么久的tomcat,讀過(guò)《深入剖析tomcat》么?tomcat的整體設(shè)計(jì)方案?一次請(qǐng)求tomcat的處理,servlet在tomcat中的加載,編譯過(guò)程?tomcat自定義的ClassLoader有什么作用? 知道用戶點(diǎn)擊鏈接到網(wǎng)頁(yè)出現(xiàn)內(nèi)容的內(nèi)部過(guò)程么?http協(xié)議了解多少? 這些都是我曾經(jīng)被考過(guò)的……

繼續(xù)進(jìn)階,有沒(méi)有用過(guò)JAVA的netty框架?對(duì)它研究研究?絕對(duì)是學(xué)習(xí)JAVA并發(fā),nio,和網(wǎng)絡(luò)的好東西!有沒(méi)有g(shù)ithub?對(duì)linux了解多少?會(huì)腳本語(yǔ)言么?

再進(jìn)階,針對(duì)JAVA web離不開(kāi)數(shù)據(jù)庫(kù)~那么對(duì)sql調(diào)優(yōu)了解過(guò)么?是否能熟練的寫(xiě)出存儲(chǔ)過(guò)程?游標(biāo)?數(shù)據(jù)庫(kù)的索引是如何實(shí)現(xiàn)的?也就是b樹(shù)和hash……對(duì)NOSQL了解么?對(duì)常見(jiàn)數(shù)據(jù)庫(kù)引擎的差異性有了解么?知道他們內(nèi)部原理么?數(shù)據(jù)庫(kù)的設(shè)計(jì),范式……太多了,學(xué)無(wú)止境,關(guān)鍵還是基本功扎實(shí)!語(yǔ)言都是次要的。針對(duì)JAVA語(yǔ)言本身,把編程思想吃透足以,對(duì)語(yǔ)言剩下的就是查漏補(bǔ)缺。而思想基本功才是決定高度的,也不會(huì)和一些程序員網(wǎng)友那樣擔(dān)心35歲以后被淘汰!!!

不清楚你做了兩年,是在做什么。若是 WEB 的話, java 可以做, C# 可以做, js 可以,此外 python, ruby, go, 等都可以。有考慮過(guò)么?之間有什么不同?跳出了以語(yǔ)言定發(fā)民方向的思維之后,你會(huì)發(fā)現(xiàn):全棧工程師 才是 IT人的正確方向。更客觀上說(shuō),作為一個(gè)職業(yè),只是解決問(wèn)題,創(chuàng)造價(jià)值。你若考慮如何創(chuàng)造更多價(jià)值。就知道應(yīng)該學(xué)什么了。

技術(shù)層面,工程層面,科研層面。海量去了。都可以同 Java 扯上關(guān)系。但是,也可以同其它編程語(yǔ)言扯上關(guān)系。你提到的框架的話,如果是web開(kāi)發(fā)框架,那么你就可以學(xué)習(xí)web方面的開(kāi)發(fā)知識(shí),比如安全性等。Java提供了網(wǎng)絡(luò)開(kāi)發(fā)的工具,所以你也可以往網(wǎng)絡(luò)編程方面學(xué)習(xí),學(xué)習(xí)下netty等。如果是說(shuō)語(yǔ)法特性的話,就可以學(xué)習(xí)下函數(shù)式語(yǔ)言比如Scala,Clojure等了解不同的編程思想還有大數(shù)據(jù)方面的,Hadoop,Spark這些大數(shù)據(jù)處理工具也是不錯(cuò)的學(xué)習(xí)方向數(shù)據(jù)庫(kù)類(lèi)的,HBase、H2等Java寫(xiě)的數(shù)據(jù)庫(kù),也可以去了解下數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)!還有一些基礎(chǔ)性的,比如性能調(diào)優(yōu)之類(lèi)的,那么你可以能要了解JVM的原理構(gòu)造,學(xué)習(xí)并發(fā)編程方法的知識(shí)。

以上內(nèi)容是關(guān)于Java都有什么進(jìn)階技術(shù)?的介紹,要想了解更多相關(guān)信息、教育培訓(xùn)內(nèi)容,請(qǐng)隨時(shí)關(guān)注唯學(xué)網(wǎng),小編會(huì)第一時(shí)間為大家更新、跟進(jìn)最新信息。

0% (0)
0% (10)
已有條評(píng)論