美文网首页
Java 基础学习大纲

Java 基础学习大纲

作者: MiZhou | 来源:发表于2017-03-05 20:48 被阅读233次
    一. 基础知识
    1. JDK 的安装和 PATH 配置
    2. JDK 中最常用的的两个命令 javacjava 的基本使用和常用参数用途(比如:-classpath,-encoding)
    3. 基本语法的了解与使用:数据类型(int,long,float,double,boolean,byte,char,short),数组,方法定义,类定义,流程控制, 的用途
    二. 面向对象
    1. 熟悉 抽象类接口 的作用与使用
    2. 掌握 继承封装多态 三个概念
    3. private,default,public,protected 几个关键字的用途

    练习:
    了解 策略模式,实现以下功能:

    1. 定义接口 Calculator,它包含一个方法 double calculate(double[] nums)
    2. 定义类 SumCalculator,实现 Calculator 接口,calculate 方法实现为 求数组的和;定义 AverageCalculator 类,实现 Calculator 接口,实现方法为 求数组的平均值;定义 VarianceCalculator 类,实现 Calculator 接口,实现方法为 求数组的方差
    3. 定义 Main 类,包含 static Calculator getCalculator(char c)main 方法。在 main 方法中,通过 Scanner 类从控制台获得输入。每次输入包括 n(数组长度),n 个数(数组内容),c(操作,可以有 's','a' 和 'v',分别表示求和,求平均值,求方差);getCalculator(char c) 方法通过输入的操作返回对应的 Calculator,在 main 方法中使用返回的 Calculator 计算对应的结果。例如:
    10 // n
    1 2 3 4 5 6 7 8 9 10 // n 个数
    s  // 操作
    55 // 输出
    
    三. 熟悉最常用的基础类
    1. Object,以及在 Object 中定义的每个方法的用途
    2. System.out 类,print、println 和 printf 三个方法的使用
    3. String,StringBuilder,了解 String 类和 StringBuilder 的区别
    4. Arrays 类(操作数组的工具类,提供了各种数组相关的操作)
    5. Comparable 和 Comparator,如何使用这两个接口配合 Arrays 工具类在 Java 中对数组排序
    6. Scanner 类,如何使用 Scanner 从控制台进行输入
    四. 集合与泛型
    1. 掌握什么是泛型和在 Java 中如何实现泛型,明白 “擦除法泛型” 的实现原理。
    2. 熟悉基本的集合类的用途和用法,以及它们之间的关系。基本集合类包括 Iterable,Iterator,Collection 以及:
    接口 List Queue Map Set
    实现类 ArrayList ArrayDeque HashMap HashSet
    实现类 LinkedList PriorityQueue LinkedHashMap LinkedHashSet
    1. 熟悉工具类 Collections 的各个方法,例如 sort,binarySearch,reverse,shuffle 等等。
    五. 异常
    1. 掌握受检(Checked)异常 和 非受检(Unchecked)异常
    2. 掌握如何捕获异常,抛出异常,包装受检异常为非受检异常以及自定义异常
    六. 文件与 IO

    掌握 装饰者模式 的概念和基本输入输出流类的使用方法:

    基本输入流相关类 基本输出流相关类
    InputStream OutputStream
    FileInputStream FileOutputStream
    DataInputStream DataOutputSteam
    BufferedInputStream BufferedOutputStream
    Reader Writer
    InputStreamReader OutputStreamWriter
    BufferedReader BufferedWriter
    Scanner PrintWriter
    1. 如何使用 Scanner 类从控制台输入,如何输出 int,如何输入 double,如何输入 String
    2. File 类的作用和使用方法,使用 File 类获得文件的各种信息;使用 File 类分别深度优先和广度优先遍历一个文件夹
    3. 字节流(InputStream,OutputStream)和字符流(Reader,Writer)的区别
    4. 使用 FileInputStream 和 FileOutputStream 复制文件,使用 BufferedInputStream 和 BufferedOutputStream 复制文件,并对比二者的效率
    5. 掌握 RandomAccessFile 的使用
    七. 网络
    1. 掌握 InetAddress,SocketAddress,Socket 和 ServerSocket 的用途及使用方法(TCP ),实现在局域网内通信(发送消息和文件)
    2. 掌握 URL 和 HttpURLConnection的用途及用法(HTTP),实现从互联网下载某个指定网址的资源(比如某张互联网上的图片)
    3. DatagramSocket,DatagramPacket 和 MulticastSocket 的用途及用法(UDP),实现局域网内的广播和多播通信
    八. 多线程
    1. 熟悉 Thread 和 Runnable 的用途及用法;如何停止(interrupt)一个线程;同步关键字 synchronized 的用途。
      (1)使用 Thread 和 Runnable,结合 RandomAccessFile 并行的从网络上下载文件
      (2)使用 wait 和 notify(notifyAll),结合 synchronized 关键字,实现生产者消费者模式。
    2. 熟悉 Callable,Future,FutureTask 的用途及用法,并行的计算 1~n 的乘积
    3. 熟悉常用的并发工具类的使用,包括 CountDownLatch(倒计数门闩),BlockingQueue(阻塞队列),Semaphore(信号量)
    4. 熟悉线程池概念和基本使用,相关类有 ExecutorService,ThreadPoolExecutor,ScheduledExecutorService,ScheduledThreadPoolExecutor,Executors,ForkJoinPool
    九. JDBC(Java Database Connection)
    1. 如何获得一个 Connection(数据库连接)
    2. 使用 Statement 对数据库进行数据的 增删改查
    3. 使用 PreparedStatement 对数据库进行数据的 增删改查
    4. 添加一条新的数据后,如何获得该条数据的主键
    5. 了解数据库连接池的概念与相关库(c3p0,DBCP)
    十. 反射
    1. 熟悉 Class 类对应的方法,如何使用 Class 获得一个类有哪些属性(Field),有哪些方法(Method),有哪些注解(Annotation)
    2. 掌握如何使用反射来创建对象,并调用该对象的方法
    3. 掌握 JDK 中的代理模式的使用,了解 AOP(Aspect Oriented Programming,面向切面编程) 的概念

    相关文章

      网友评论

          本文标题:Java 基础学习大纲

          本文链接:https://www.haomeiwen.com/subject/nayegttx.html