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 (性能可观)












你可能感兴趣的:(JAVA)