(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,是终极目标,也是得以变现的核心所在。 这四者是一个顺序承接的关系,若能四者皆具,则谓之大才。 写的比较随意,不当之处欢迎交流。