(1) 應用開發,即Java SE開發,不屬於java的優點所在,因此市場佔有率很低,前途也不被看好。
(2) web開發,即Java Web開發,主要是基於自有或第三方成熟框架的系統開發,如ssh、springMvc、springside、nutz、,面向各自不一樣的領域,像OA、金融、教育等有很是成熟案例,這是目前最大的市場所在,故人稱「java爲web而生」。但目前看它的缺點入門不高,因此待遇相對中等,上升空間頗有限且緩慢。
(3)移動開發(Android),是目前的大趨勢,但移動端每每只能充當客戶端的角色,其技術的難度與複雜度要相對弱不少,由於一時的火熱其技術市價被高擡,但長久看來其發展空間有限,但比pc web端開發要增快一些。
2、網絡爬蟲
也叫spider,始於也發展於百度、谷歌。但隨者近幾年大數據的興起,爬蟲應用被提高到史無前例的高度。就大數據而言,其實自有數據或用戶產生數據平臺頗有限,只有像電商、微博類這樣的平臺才能免強自給自足,像不少數據分析挖掘公司多以網絡爬蟲的方式獲得不一樣來元的數據集合,最後爲其所用,構建屬於本身的大數據綜合平臺。其中,像輿情類、金融股票分析類、廣告數據挖掘類等屬於此種。 下面技術層面描述之。
(1) 傳統爬蟲,像nutch、hetriex之類的,以爬取簡單頁面爲好,即沒有複雜請求的頁面。但隨着web2.0的興起,愈來愈多的網站採用不少動態交互技術如ajax之類的來提高用戶體驗、需用戶登錄纔可訪問的頁面等,它們就無能爲力了,或者說須要二次開發的開發成本過高,不少人放棄用它們。
(2) 定製爬蟲,針對一些大數據平臺,如微博、電商、點評網之類的,頁面交互複雜、用戶登錄後方可訪問,每每是須要自定義定製開發一些爬蟲項目,如專門針對微博的微博爬蟲,針對大衆點評網的定製爬蟲,針對豆辯書評的評論爬蟲,都屬於典型的定製爬蟲,其難度要大於傳統爬蟲,須要相應的定製分析工具與能力,而且要具有很紮實的程序設計功底,優化效率,克服驗證碼、拒絕服務等反爬措施,方可作出高效的該類爬蟲。如今主流依然是基於httpclient+jsoup來搞定網絡下載與頁面解析。
(3) 新型爬蟲,結合一些成熟的第三方工具,如c/c++實現的webkit、htmlunit、phantomjs、casper等工具,其共同點即最大限度的去模擬人爲操做瀏覽器的方式去解決用(1)、(2)所不易解決的問題,如模擬登錄、複雜參數的獲取、複雜頁面交互等問題。每每採用如上的工具能夠輕鬆搞定這些問題,其最大的缺點是因爲基於真實瀏覽器的操做,故效率比較低,因此每每須要和httpclient相結合,才能達到高效實用的目的。基於phantomjs作的百度元搜索抓取也證實了這一點,下一步能夠結合它去完成微博類爬蟲的模擬登錄獲取cookies部分,以後採用httpclient+jsoup解決海量數據的抓取,是很是好的微博爬蟲解決方案。
由於其須要的知識面相對要較多,故其待遇要高於web開發,且上升幅度與速度都遠高於web開發。
3、天然語言處理
即NLP,nature language process的簡稱,它也是不少其它名稱的簡稱,不少人在此有誤解。其主要包括典型的三部分,分詞、詞性標註、句法分析。
(1)分詞:主流的包括開源的ansj分詞、ICTCLAS、哈工大的ltp、海量分詞、fudan分詞等,在借鑑ansj分詞的基礎上我也重構並開發了天亮分詞,並已加入ansj主持的中國天然語言處理開源組織nlpchina的
https://github.com/NLPchina/中。
(2)詞性標註:之前較主流的標註體系是ICTCLAS和北大標註體系,如今有出現瞭如哈工大ltp平臺、大連理工天然語方處理實驗室的標註體系,大同小異。
(3)句法分析:這塊相對前二者較難一些,目前國內我知道的是哈工大的ltp作的中文句法分析不錯,像stanford的parser對英文句法還能夠接受,但對中文句法分析就比較多。
由於這一領域相對比較專,難度和工做量也較大,但因爲開源分詞比較多且實用性不錯,因此專門搞這塊的人員每每都在大公司或比較牛的我的,固然待遇比上述一二也要高。
4、數據挖掘
即datamining,這是如今的大趨勢,它每每是基於nlp爲基礎的,再結合一些典型的數據挖掘算法,像分類、聚類、神經網絡相關等算法,從而達到數據挖掘應用開發與產品的目
(1)自行研發相關挖掘算法:也就是在必定數學和計算機基礎之上,作一些自主研發相關算法與調優,難度比較大,每每是一些牛人或算法研發工程師去搞。
(2) 引用第三方開源組件,像weka、mahout、libSvm等都提供了不少封裝好的各類不一樣數據挖掘算法的組件,供上層開發人員直接調用,只要學習好其API,並按說明input、output就能夠。
5、四者之間的關係
javaweb開發方面能夠說是一個門戶,可讓用戶更好、更直接的瞭解後臺的東西。 網絡爬蟲,是大數據獲取的途徑,爲nlp、datamining作準備。 nlp,是銜接網絡spider的數據和datamining的中間件。 datamining,是終極目標,也是得以變現的核心所在。 這四者是一個順序承接的關係,若能四者皆具,則謂之大才。 寫的比較隨意,不當之處歡迎交流。