search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

Java有哪些進階技術?

一些人對JAVA進階的理解片面了,JAVA不過也是一門語言,提升和進階還是內功的體現。就像那位答主所說,進階的第一步就是編碼風格和規範。我深表同意。 只是會用,這還遠遠不夠~當然這也和題主的提問觀點是一致的。

那麼我想說的是,可能會用也是分層次的!就拿一般意義的編碼來說,思想上可以分四個層次:

第一層次是代碼的長相,也就是編碼的規範化,比如為什麼不提倡用tab鍵縮進,而是用四個空格代替?類似的問題……

第二層次是代碼的封裝,也就是模塊化,也許有現成的框架,但是有人也就是真的是日復一日的重複,腦子裡從來沒有這方面的意識,也從來沒有去主動看過那些框架的源代碼,就比如Spring框架的源碼,那裡面可是各種設計模式和JAVA反射,註解啊等的綜合應用,非常有學習的必要,看看別人是怎麼設計的架構……自己能不能也寫一個輪子~要知道造輪子不是目的,關鍵是過程中得到升華!而且很多大公司都是自己二次封裝或者重寫的框架,比如阿里……

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

第四層次是代碼的可重入性,也就是涉及到併發環境。針對JAVA就是JAVA的多線程,比如JAVA常用的集合,有沒有了解過集合這些演算法的內部源碼?一些線程的集合都是如何實現線程安全的?別的公司不知道,稍微大點的互聯網公司,多線程是必考的,也是常用的,比如網易,阿里,等等等等,因為這些公司我面過或者有朋友在裡面。他們的東西不是說簡單搭個框架,寫個網站的事情,後台也不是僅僅就JAVA。

這四個層次都有,或者都一直在注意和學習,那麼針對JAVA,有沒有對JAVA虛擬機做過調優?JAVA的內存模型,類載入機制了解么?對JAVA虛擬機的垃圾回收演算法有過研究么?JAVA會發生內存泄露么?舉例子什麼情況會發生?如何避免?這些是我曾經被面試問過的……

再針對框架進一步了解,對Spring框架或者ibatis框架的源碼研究過么?用過如今流行的restful么?如果讓你設計,你有什麼想法?為什麼要用框架?為什麼用依賴注入……spring的事務機制的原理是什麼?hibernate的緩存機制……還有osgi,太多了……

再進一步,對JAVA虛擬機的架構,JAVA位元組碼文件格式,編譯原理,計算機操作系統,c++的掌握?讀一讀《深入理解計算機系統》?最後試著自己寫一個教學用的JAVA虛擬機。

再想進階,用了那麼久的tomcat,讀過《深入剖析tomcat》么?tomcat的整體設計方案?一次請求tomcat的處理,servlet在tomcat中的載入,編譯過程?tomcat自定義的ClassLoader有什麼作用? 知道用戶點擊鏈接到網頁出現內容的內部過程么?http協議了解多少? 這些都是我曾經被考過的……

繼續進階,用過JAVA的netty框架么?對它研究研究?絕對是學習JAVA併發,nio,和網路的好東西!

github?對linux了解多少?會腳本語言么?

再進階,針對JAVA web離不開資料庫~那麼對sql調優了解過么?是否能熟練的寫出存儲過程?游標?資料庫的索引是如何實現的?也就是b樹和hash……對NOSQL了解么?對常見資料庫引擎的差異性了解么?知道他們內部原理么?資料庫的設計,範式……

太多了,學無止境,關鍵還是基本功紮實!語言都是次要的。針對JAVA語言本身,把編程思想吃透足以,對語言剩下的就是查漏補缺。而思想基本功才是決定高度的,也不會和一些程序員網友那樣擔心35歲以後被淘汰!!!

不清楚你做了兩年,是在做什麼。

若是 WEB 的話, java 可以做, C# 可以做, js 可以,此外 python, ruby, go, 等都可以。有考慮過么?之間什麼不同?

跳出了以語言定發民方向的思維之後,你會發現:全棧工程師 才是 IT人的正確方向。

更客觀上說,作為一個職業,只是解決問題,創造價值。

你若考慮如何創造更多價值。就知道應該學什麼了。

技術層面,工程層面,科研層面。海量去了。都可以同 Java 扯上關係。但是,也可以同其它編程語言扯上關係。

你提到的框架的話,如果是web開發框架,那麼你就可以學習web方面的開發知識。

Java提供了網路開發的工具,所以你也可以往網路編程方面學習,學習下netty等。

如果是說語法特性的話,就可以學習下函數式語言比如Scala,Clojure等了解不同的編程思想

大數據方面的,Hadoop,Spark這些大數據處理工具也是不錯的學習方向

資料庫類的,HBase、H2等Java寫的資料庫,也可以去了解下資料庫系統的實現

還有一些基礎性的,比如性能調優之類的,那麼你可以能要了解JVM的原理構造,學習併發編程方法的知識。

想學習以上內容的可以複製鏈接 https://jq.qq.com/?_wv=1027&k=4AO1dQH 前提要求就是基礎不能差 講的高級進階的知識 包括架構 下面是裡面的一小部分章節 基礎過硬的來 免費公開的VIP試聽直播 或者直接搜索扣群 230419550



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦