Java程序員最常用的20%技術(shù)總結(jié)

我聽說編程語言,經(jīng)常使用的是其中20%的技術(shù)。在Java這門語言中,這20%包括哪些內(nèi)容?參加培訓(xùn)兩個(gè)月了,還有兩個(gè)月的時(shí)間,要 想在兩個(gè)月后,找到一份Java初級(jí)程序員的工作,有哪些是必須掌握的,有哪些是可以現(xiàn)學(xué)現(xiàn)賣的?一個(gè)完整的Javaweb項(xiàng)目,有哪些具體模塊,每個(gè)模 塊用到的技術(shù)是哪些?

常用api(String,StringBuffer/StringBuilder等)

1.集合類,線程類。

2.Servlet(很少用純粹的servlet寫,但你要懂,因?yàn)楹芏嗫蚣芏际腔趕ervlet封裝的)。

3.json,xml讀寫

4.數(shù)據(jù)庫(kù)訪問(CRUD,事務(wù),連接池)

5.http請(qǐng)求(HttpClient)

6其他,包括常用框架,設(shè)計(jì)模式,面向?qū)ο?/p>

初級(jí)程序員會(huì)這些就可以寫項(xiàng)目了。后期遇到的問題就會(huì)復(fù)雜得多,要靠各種經(jīng)驗(yàn)和知識(shí)的積累。

除了要掌握的20%以外還要掌握些什么知識(shí)才能游刃有余。下面說說我接觸(使用)過、的東西吧。

1.java以分布式應(yīng)用豐富的生態(tài)聞名,在分布式系統(tǒng)中逃不過CAP的抉擇。早早了解一些分布式一致性協(xié)議paxos、raft等。學(xué)習(xí)zookeeper的原理和使用場(chǎng)景(metadata、分布式鎖、leaderEletion… etc)

2.RPC框架在SOA架構(gòu)中起著重要的作用,好好探究終是有好處的,在這里推薦阿里巴巴的dubbo框架,同時(shí)會(huì)netty、mina等網(wǎng)絡(luò)庫(kù)

3.Hadoop系列 Storm Spark 等離線實(shí)時(shí)計(jì)算框架

4.ElasticSearchSolrCloud 分布式搜索 ELK 日志相關(guān)的東西對(duì)這些比較敏感,當(dāng)然在更多的場(chǎng)景使用ES也是有很多的

5.消息隊(duì)列 kafkaMetaQ RabbitMQ 恩, ZeroMQ(不完全算作MQ)的作者選擇安樂死了,愿天堂沒有痛苦

6.然后就是各種基礎(chǔ)知識(shí),編程語言、網(wǎng)絡(luò)方面、數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)和算法。不要覺得任何一項(xiàng)都精通了,敢說精通的知乎能有幾個(gè)。

說說自己的感受吧,剛工作應(yīng)該不會(huì)讓你獨(dú)立開始新項(xiàng)目,應(yīng)該會(huì)讓你跟正在開發(fā)中的項(xiàng)目

1.學(xué)會(huì)使用eclipse,svn等IDE和工具(不用說了吧,主要是看你工作的地方,比如大家用eclipse你想用IntelliJ IDEA也可以,但是剛工作肯定很多不懂,這時(shí)候暫時(shí)還不要標(biāo)新立異的好,出了問題好問。當(dāng)然你是ide大神請(qǐng)無視)

2. 剛?cè)肼氝€接觸不到核心工作,就讓我先改改頁面什么的,作為web開發(fā)html、css、和javascript不用精通,至少需要了解用法和語法吧,雖然 有前端工程師,但是這個(gè)肯定也是要了解的(自己公司小項(xiàng)目組,各個(gè)都被逼成全棧了)。javascript其實(shí)還是很強(qiáng)大的,但是剛開始不用寫的很深,很 多輪子可以用,比如easyui,會(huì)查閱官方文檔,知道用法往網(wǎng)頁里嵌,然后后臺(tái)按格式把數(shù)據(jù)傳到前臺(tái)就好。

3. 然后開始逐步往后臺(tái)寫了,熟悉下設(shè)計(jì)模式,如果太多太難理解可以先理解工廠模式,寫一個(gè)接口再用一個(gè)或若干個(gè)實(shí)現(xiàn)類實(shí)現(xiàn)這個(gè)接口,需要用的時(shí)候在根據(jù)需要 來確定用哪個(gè)實(shí)現(xiàn)類。(一開始不理解這么做這么繁瑣有什么用,但是自從上次項(xiàng)目的數(shù)據(jù)庫(kù)從oracle換成mysql就知道這么做其實(shí)大有用處)一般項(xiàng)目 開發(fā)都會(huì)用到設(shè)計(jì)模式,不了解可能會(huì)摸不清楚整個(gè)項(xiàng)目的架構(gòu),無從下手。

4.不同公司用的框架不一樣,但struts,spring還是用 的比較多的,所以這兩個(gè)東西還是比較熟悉的好,不然你可能連整個(gè)項(xiàng)目的架構(gòu)都不清楚,不要說自己寫,連改都很難入手。比如項(xiàng)目的跳轉(zhuǎn)是怎么配的,哪個(gè)配置 文件代表了什么。(一開始我把項(xiàng)目本地跑起來以后我連主頁在哪是哪個(gè)文件怎么進(jìn)去的都不清楚T.T,一直在找index.jsp然后才知道項(xiàng)目用 freemarker做的,是一個(gè)ftl文件)

5.web項(xiàng)目要操作數(shù)據(jù)庫(kù)的工作是少不了的了,自己跟的項(xiàng)目沒用hibernate,主要用的是StringBuffer拼接sql,如果從事web開發(fā),sql還是要比較熟的。

6. 自己感覺做web項(xiàng)目設(shè)計(jì)高深算法的可能做的比較深才會(huì)遇到,更多的是對(duì)字符串和數(shù)值格式的操作,比如后臺(tái)從數(shù)據(jù)庫(kù)抽出來到前臺(tái)怎么展示,用戶輸入的數(shù)據(jù) 怎么怎么存到數(shù)據(jù)庫(kù)里,所以最好熟悉下字符串的操作,分割呀合并呀,String轉(zhuǎn)float、int什么的,日期格式呀什么的。

如果公司有專業(yè)運(yùn)維,服務(wù)器部署什么的交給他們就好了,如果沒有就最好還是了解下,遠(yuǎn)程連接呀,linux的一些簡(jiǎn)單的命令呀,tomcat呀什么的

20%我不知道從哪方面去理解,接下來我會(huì)將自己多年來工作中會(huì)經(jīng)常使用到的技術(shù)列出來。

1.html、css
2.java工作原理(jvm)

3.java語法、數(shù)據(jù)結(jié)構(gòu)和算法

4.java語言特性(封裝、繼承、多態(tài)、抽象)

5.java設(shè)計(jì)模式(在開發(fā)中會(huì)經(jīng)常用到)

6.java反射機(jī)制(常用框架都會(huì)用到反射機(jī)制)

7.io(文件讀寫)

8.多線程

9.網(wǎng)絡(luò)編程

10.javascript

11.jquery

12.數(shù)據(jù)庫(kù)(oracle、mysql等等)

13.servlet

14.JDBC

15.javabean

16.WEB項(xiàng)目分層架構(gòu)

17.前后臺(tái)交互

18.ajax

19.過濾器及過濾器原理

20.常用框架(Struts、hibernate、spring、springMVC、i/mybatis)

21.框架整合

22.工作流(流程引擎工作機(jī)制)

23.xml、properties、json

24.常用頁面以及后臺(tái)插件(tree、時(shí)間、poi等等)

25.nosql數(shù)據(jù)庫(kù)以及應(yīng)用場(chǎng)景(mongoDB)

26.緩存數(shù)據(jù)庫(kù)以及機(jī)制(redis、memcached)

27.第三方接口調(diào)用

28.SDK

29.web應(yīng)用服務(wù)器(tomcat、weblogic)

30.linux31.日志

32.數(shù)據(jù)庫(kù)連接池

33.maven

34.svn

35.建模工具(powerdesiner、axure)使用

36.TCP/IP

我做開發(fā)十多年的時(shí)間,如果大家對(duì)于學(xué)習(xí)java的學(xué)習(xí)方法,學(xué)習(xí)路線以及你不知道自己應(yīng)該是自學(xué)還是培訓(xùn)的疑問,都可以隨時(shí)來問我,大家可以加我的java交流學(xué)習(xí)qun:615741636。qun內(nèi)有學(xué)習(xí)教程以及開發(fā)工具。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容