JAVA 大数据学习路线(文末附赠学习资料分享)
Java基础
多线程 (多了解java.util.conconrrent包的类)
集合框架
IO
反射(如何实现根据传入的Class实例来构造对象、实现两个类中相同名称的实例域之间的自动赋值 。。)
泛型( 如何使用,如何实现常用类的参数类型)。
设计模式(暂时不建议看,看了也是浪费时间。等有一定的代码、项目经验时候,再去研读。多跟团队里面的牛人请教,重在实践。想要用好,至少得看3遍-分不同时期)
NIO (相比传统的IO,性能有很大提升。目前用的比较多的是各种Buffer类)
工具(必备)
maven(项目构建与依赖管理)
git (版本控制)
别人造好的轮子
Guava(Google的java工具类)
好用的开源框架
joda(java时间处理,已经加到java8中,即java8以后建议用最新的时间类,java8之前最好用的joda)
common-pool2(抽象的对象池实现)
dbcp(建立在common-pool2之上的java数据库连接池实现)
log4j(抽象的日志框架,实现层我们用的logback)
json (fasterxml.jackson 不仅仅可以序列化、反序列化对象。 一些好用的注解,可以解决很棘手的问题)
接口要用的技术 (mybatis,spring,springboot等)
大数据相关技术:
序列化机制(Msgpack,protobuf,Avro等)
消息队列 (redis、kafka)
Hadoop (基础中的基础,几乎整个大数据的生态圈都与之有关)
hbase (Hadoop数据仓库,实现列式存储)
hive (后台封装MapReduce,提供类SQL查询)
impala (基于内存,提供类SQL查询。 较快)
parquet (优化的列式存储格式)
Solr/ES (提供全文搜索)
spark (性能可观)