更新時(shí)間:2019-07-30 16:54:36 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2411次
我聽說編程語言,經(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ù)是哪些?
Java程序員最常用的20%技術(shù)總結(jié)
一、常用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.ElasticSearch\SolrCloud 分布式搜索 ELK 日志相關(guān)的東西對(duì)這些比較敏感,當(dāng)然在更多的場(chǎng)景使用ES也是有很多的
5.消息隊(duì)列 kafka\MetaQ 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è)肼氝€接觸不到核心工作,就讓我先改改頁(yè)面什么的,作為web開發(fā)html、css、和javascript不用精通,至少需要了解用法和語法吧,雖然 有前端工程師,但是這個(gè)肯定也是要了解的(自己公司小項(xiàng)目組,各個(gè)都被逼成全棧了)。javascript其實(shí)還是很強(qiáng)大的,但是剛開始不用寫的很深,很 多輪子可以用,比如easyui,會(huì)查閱官方文檔,知道用法往網(wǎng)頁(yè)里嵌,然后后臺(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)目本地跑起來以后我連主頁(yè)在哪是哪個(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呀什么的。
三、工作最常用到的技術(shù)
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.常用頁(yè)面以及后臺(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.linux
31.日志
32.數(shù)據(jù)庫(kù)連接池
33.maven
34.svn
35.建模工具(powerdesiner、axure)使用
36.TCP/IP
以上內(nèi)容是Java程序員最常用的20%技術(shù)總結(jié),希望對(duì)你有所幫助,如果有任何疑問或者想要參加動(dòng)力節(jié)點(diǎn)Java培訓(xùn)課程都可以點(diǎn)擊在線咨詢。
相關(guān)推薦
java免費(fèi)視頻下載地址:http://m.ilovecolors.com.cn/video.html
java零基礎(chǔ)教程: http://m.ilovecolors.com.cn/tutorial_java_se/
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743