“万丈高楼平地起”,边学习边练手,成就更好的自己!(2024.3.24)
学不完,根本学不完,一轮SE结束!(2024.8.6)
-
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 工具类
- Collection 接口与方法
-
泛型
-
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 函数式接口
- JDK 内置注解
-
自定义注解
- 元注解
- @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(归集、统计、分组、接合)
-
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 操作的命名空间问题
-
-
SE 课程练习
-
入门 hello world src/Hello.java
-
面向对象编程阶段之前的小练习 src/com/lhl/javaCode
-
力扣刷题练手 src/com/lhl/leetcode
-
面向对象初级部分杂乱的练习 src/com/lhl/oopExercise
-
小项目 - 零钱通 src/com/lhl/project/smallchange
-
小项目 - 坦克大战 src/com/lhl/project/tankGame
- ver01:绘制基本坦克 src/com/lhl/project/tankGame/ver01
-
抽象、接口、内部类、枚举、注解 - 练习 src/com/lhl/exercise/chapter10To11_AbstractInterfaceInnerClassEnumeration_homework
-
常用类
- 包装类 src/com/lhl/exercise/wrapper_
- String类 src/com/lhl/exercise/string_
- Math类 src/com/lhl/exercise/math_
- Arrays类 src/com/lhl/exercise/Arrays_
- System类 src/com/lhl/exercise/system_
- BigInteger & BigDecimal 大数处理类 src/com/lhl/exercise/bigNum
- 日期类:Date、Calendar、LocalDate src/com/lhl/exercise/date_
- 练习题 src/com/lhl/exercise/usefulClassEx
-
集合框架
- 开发中如何选择集合实现类? src/com/lhl/exercise/collection_/README.md
- Collection 接口与方法 src/com/lhl/exercise/collection_
- List 接口及其实现子类与方法 src/com/lhl/exercise/collection_/list_
- Set 接口及其实现子类与方法 src/com/lhl/exercise/collection_/set_
- Map 接口与方法 src/com/lhl/exercise/collection_/map_
- Collections 工具类 src/com/lhl/exercise/collection_/collections_
-
Java 绘图技术 src/com/lhl/draw
-
Java 事件处理机制 src/com/lhl/event_
-
Java IO流 src/com/lhl/exercise/io
-
Java 线程 src/com/lhl/exercise/thread_
-
Lambda 表达式 src/com/lhl/exercise/lambda
-
StreamAPI src/com/lhl/exercise/streamAPI
-
-
EE 课程练习