学习Java的21个技术点


  • 学习Java的21个技术点
  • 一 Java的运行基础必备
  • 二 JVM相关包括各个版本特性


一. Java的运行(基础必备)

  1. java命令:javac编译java文件为class文件,java命令的使用,带packpage的java类如何在命令行中启动
  2. java路径:java程序涉及到的各个路径(classpath,java,library,path,java运行的主目录)
  3. 数据类型(主要知识点):
    基本类型:int , long ,float ,double ,boolean 等
    对应的对象类型:Integer等类型的基本类型转换,装箱和拆箱
    Object类型:equals,hashcode
    String类型的特点
  4. 对象和实例,对象的创建(需要了解class个instance的概念以及差别)
  5. 访问控制:public , protected , default , private 对与class的字段及方法的修饰作用
  6. 流程控制:if , switch , loop , for , while 等流程控制的语法
  7. 面向对象的概念(主要知识点):
    面向对象的三大特征:封装 , 继承 , 多态 ;各自的定义概念,有哪些特性体现,各自的使用场景
    静态多分派,动态单分派的概念
    重载的概念及使用
    继承:接口多实现,基类单继承
    抽象:抽象类,接口
    多态:方法覆盖的概念及使用
    接口回调
  8. Static关键字
    静态属性的定义,使用以及类加载时如何初始化
    静态方法的定义及使用
    静态类的定义及使用
    静态代码块的定义及初始化时机
  9. 基础知识点(暂时归纳如下)
    equals , hashcode , string/stringbuffer , final , finally , finalize
  10. 集合框架
    这里包括如下内容(并发相关不包含在内):
    集合框架的体系:基础Collection , Map具体集合实现的内容
    List , Set , Map 具体的实现,内部结构 , 特殊方法 , 适用场景等
    集合相关的工具类Collecttions等的用法
  11. 异常框架
    异常的体系:Throwable , Exception , RuntimeException , Error
    RuntimeException和一般Exception的区别,具体处理方法等
  12. Java IO
    基本的IO体系:包括InputStream , OutPutStream , Reader/Writer , 文件读取 , 各种流读取等
    NIO的概念,具体使用方式和使用场景
  13. 多线程并发
    多线程的实现和启动
    callable与runable的区别
    synchronized,reentrantLock各自的特点和对比
    线程池
    future异步方式获取执行结果
    concurrent包
    lock机制
  14. 网络编程
    TCP/IP 、UDP协议的API
    Socket应用
    MINA、Netty通讯框架
  15. 时间日期处理
    熟练使用API处理时间
    JDK8中对时间的处理已经更新,更加简化
    Joda时间框架
  16. XML解析/JSON解析
    XML:了解DOM解析和SAX解析的基本原理和各自的使用场景
    JSON:了解一些常用的JSON框架的用法,如:Jackson , FastJson ,Gson等
  17. Maven的使用
    Maven在依赖的引入和管理,开发流程的更新和发布产出,乃至版本更新,使用Maven都可以大大简化开发的复杂程度,必备知识点
  18. 泛型
    JDK5开始引入的语法糖,在编写java代码时会有些许便利,特别是开发一些基础公共组件时会使用到。
  19. 标注
    JDK5之后引入,Spring3之前使用xml作为标准配置文件,之后广泛使用标注尤其是spring-boot兴起之后,越来越推崇标注来简化xml配置。
  20. RMI
    RemoteMethodInvocation,Java语言特有的远程调用接口,使用简单,不过跨语言的情况下需要使用webservice等其他方式来支持。一般情况下很少使用,可以实现程序远程启动停止等控制。
  21. JNI
    JavaNativeInterface,可以允许Java中调用本地接口方法,一般用于C/C++代码的调用。需要注意的是java中加载so/dll文件的路径问题。

二. JVM相关(包括各个版本特性)

  1. GC原理,性能调优
  2. 调优:Thread Dump,分析内存结构
  3. Class二进制字节码结构,ClassLoader体系,Class加载过程,实例创建过程
  4. 方法执行过程:Java各大版本更新提供的新特性(需要简单了解)