Skip to content

wifi504/JavaStudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java 学习&实践

“万丈高楼平地起”,边学习边练手,成就更好的自己!(2024.3.24)

学不完,根本学不完,一轮SE结束!(2024.8.6)

学习阶段

阶段 1:Java SE

1.1 学习资源

1.2 学习进度(第一轮完成)

  • JDK、JRE、JVM 了解与安装

  • 变量、基本数据类型

  • 运算符、逻辑运算、进制转换、位运算

  • 流程控制(嵌套、分支、循环、跳转)

  • 数组(使用、排序、查找)

  • 面向对象

    • 基本概念(类、对象、实例、方法……)

    • 成员方法(方法传参、方法调用、递归调用、方法重载、方法重写、可变参数)

    • 作用域

    • 包、访问修饰符

    • 构造方法、this关键字、super关键字

    • 封装、继承、多态

    • 断点调试

    • equals()、toString()、hashCode() ……

    • 类方法、类变量(静态成员)

    • main方法

    • 代码块

    • 单例设计模式(饿汉式、懒汉式)

    • final关键字

    • 抽象类

    • 接口

    • 内部类(局部内部类、匿名内部类、成员内部类、静态内部类)

      小结

      类的五大成员:属性、方法、构造器、代码块、内部类

  • 枚举类(enum关键字)

  • 注解、元数据

  • 异常处理

  • 常用类

    • 包装类(Wrapper)

    • String 类

    • Math 类

    • Arrays 类

    • System 类

    • BigInteger & BigDecimal 大数处理类

    • 日期类:Date、Calendar、LocalDate

  • 集合框架

    • Collection 接口与方法
      • List 接口及其实现子类与方法 ArrayList()、LinkedList()、Vector()
      • Set 接口及其实现子类与方法 HashSet()、LinkedHashSet()、TreeSet()
    • Map 接口与方法
      • Map 接口及其实现子类与方法 HashMap()、HashTable()、Properties()、LinkedHashMap()、TreeMap()
    • Collections 工具类
  • 泛型

  • Java 绘图技术

  • Java 事件处理机制

  • IO流

    • 文件字节输入输出流 FileInputStream()、FileOutputStream()
    • JDK7+语法糖 try-with-resources
    • 文件字符输入输出流 FileReader()、FileWriter()
    • IDEA相对路径与绝对路径 file-path(Absolute relative)
    • 缓冲输入输出流 BufferedInputStream()、BufferedOutputStream()、BufferedReader()、BufferedWriter()
    • 数据编码解码输入输出流 IOStreamEncoding/Decoding、DataInputStream()、DataOutputStream()
    • 对象序列化与反序列化输入输出流 ObjectInputStream()、ObjectOutputStream()、Serialize/Deserialize
    • 打印流与标准输入输出流 PrintStream()、PrintWriter()、System.out、System.in
    • 文件类 File()、实例常用方法、文件的复制与目录的递归复制
    • 属性配置文件的读取 Properties、ResourceBundle
    • 压缩数据流 GZIPInputStream()、GZIPOutputStream()
    • 在内存中交互的 ByteArrayOutputStream()、ByteArrayInputStream()、对象深克隆
  • 线程

    • 创建线程、启动线程
    • 线程生命周期 NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED
    • 阻塞线程 sleep()、join()
    • 终止线程 flag
    • 守护线程 daemon
    • 定时任务 Timer()、TimerTask()
    • 线程优先级 Priority
    • 线程让位 yield()
    • 线程安全、异步机制、同步机制 synchronized互斥锁 ReentrantLock可重入锁
    • 线程死锁
    • 线程通信 wait()、notify()、notifyAll()
    • 线程实现方式:Runnable.run()&Callable.call()的有无返回值线程、线程池提交创建
  • 反射

    • 反射机制核心类 java.lang.Class、 java.lang.reflect.Filed、java.lang.reflect.Constructor、java.lang.reflect.Method
    • 获得Class类的4种方式:Class.forName("全限定类名")、obj.getClass()、Class.class、systemClassLoader.loadClass()
    • 利用反射机制读取第三方数据实例化对象
    • 使用反射机制 Field 获取属性/字段与修改值
    • 使用反射机制 Method 获取方法及其修饰符、返回值类型、方法名、形参列表;调用该方法
    • 使用反射机制 Constructor 获取构造方法;利用构造方法实例化对象
    • JVM的类加载器:BootstrapClassLoader、PlatformClassLoader、AppClassLoader
    • 泛型
      • 获取父类泛型 getGenericSuperclass()
      • 获取接口泛型 getGenericInterfaces()
      • 获取属性泛型 getDeclaredField() -> getGenericType()
      • 获取方法泛型 getDeclaredMethod() -> getGenericParameterTypes()/getGenericReturnType()
      • 获取构造方法泛型 getDeclaredConstructor() -> getGenericParameterTypes()
  • 注解

    • JDK 内置注解
      • @Deprecated 已过时
      • @Override 实例方法重写
      • @SuppressWarnings 警告抑制
      • @FunctionalInterface 函数式接口
  • 自定义注解

    • 元注解
      • @Retention 注解保持性
      • @Target 注解目标
      • @Documented 生成帮助文档
      • @Inherited 注解继承
      • @Repeatable 注解可重复
    • 反射注解
  • 网络编程、套接字Socket、TCP编程、UDP编程

  • Lambda 表达式、函数式编程

    • 箭头函数基本使用
    • 基本函数式接口:消费型Consumer<T>、生产型Supplier<T>、转换型Function<T, R>、判断型Predicate<T>
    • 实例/静态/特殊/构造方法引用
  • Stream API

    • Stream 对象的创建:Collection接口方法、Arrays类静态方法、Stream接口方法
    • 串行流(顺序流)与并行流
    • Stream API 中间操作
      • 筛选/filter、映射/map、去重/distinct、排序/sorted、合并/concat、跳过/skip、截断/limit
    • Stream API 终止操作
      • 遍历/forEach、匹配/match、归约/reduce、收集/collect(归集、统计、分组、接合)

阶段 2:Java EE

2.1 学习资源

2.2 学习进度

  • Java EE 规范、JavaWeb

  • Servlet 规范

    • Tomcat 服务器安装与配置、容器概念
    • Servlet 对象生命周期
    • HttpServlet 开发基于 HTTP 协议的 Servlet
    • Servlet 接口
      • jakarta.servlet.Servlet 核心接口(接口)
      • jakarta.servlet.ServletConfig Servlet配置信息接口(接口)
      • jakarta.servlet.ServletContext Servlet上下文接口(接口)
      • jakarta.servlet.ServletRequest Servlet请求接口(接口)
      • jakarta.servlet.ServletResponse Servlet响应接口(接口)
      • jakarta.servlet.ServletException Servlet异常(类)
      • jakarta.servlet.GenericServlet 标准通用的Servlet类(抽象类)
    • http 包下接口
      • jakarta.servlet.http.HttpServlet (HTTP协议专用的Servlet类,抽象类)
      • jakarta.servlet.http.HttpServletRequest (HTTP协议专用的请求对象)
      • jakarta.servlet.http.HttpServletResponse (HTTP协议专用的响应对象)
    • Servlet 注解式开发
    • 模板方法设计模式
    • JSP
    • EL 表达式
    • JSTL 标签库
    • Filter 过滤器
    • Listener 监听器
    • MVC 架构模式
  • Maven

    • 基础使用管理依赖
  • MyBatis

    • Java 持久层框架

    • MyBatis 核心配置文件

      • environment 环境
      • transactionManager 事务管理器
      • dataSource 数据源
      • properties 属性资源
      • mapper SQL映射
    • MyBatis 完成 CRUD

      • SELECT (Retrieve) 查询一条与多条数据
      • INSERT (Create) 插入数据
      • DELETE (Delete) 删除数据
      • UPDATE (Update) 修改数据
      • SQL DML 操作的命名空间问题

实践项目

About

Java 学习&实践,Java 学习之路的新篇章

Resources

License

Stars

Watchers

Forks

Languages