day01_JAVA语言概述与基本语法:标识符、变量分类、源码_反码_补码、进制转换、编码与字符集
day02_基本语法.运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符、运算符优先级
day03_基本语法.程序流程控制:顺序结构、分支结构、循环结构
day04_基本语法.数组
day05_面向对象编程:类结构、属性、方法
day06_面向对象编程:构造器
day07_高级类特性1:封装、继承特性、方法重写与方法重载区别、this关键字
day08_高级类特性1:多态特性、4种访问权限修饰符、this与super区别、==与equals方法区别、instanceof操作符
day09_高级类特性1:toString(方法)、包装类、static关键字
day10_高级类特性2:初始化块、抽象类、interface接口、main方法、单例模式、模板方法设计模式
day11_高级类特性2:内部类、接口与抽象类的对比、工厂模式、代理模式
- day11_高级类特性2
- 工厂方法设计模式(factory method)
- 代理模式(proxy)
- 概述(./day11/README.md#)
- 示例
- 接口和抽象类的关系
- 类的成员之五:内部类
- 匿名内部类
day12_异常处理
day13_java 集合:List、Set、Map接口、队列、Stack栈
day14_enmu枚举类
day15_IO流:File类、InputStream、OutputStream、Reader、Writer、缓冲流、转换流、标准输入输出流、打印流、数据流、对象流
NIO:Buffer缓冲区、Channel通道、FileChannel、字符集编码与解码、Pipe管道、NIO2Path、Paths、Files
day17_多线程
- day17_多线程
- 程序、进程、线程概念
- 多线程使用场景
- 多线程的创建和启动
- Thread类
- 线程的调度
- 线程的优先级
- 使用多线程的优点
- 线程的分类
- 守护线程
- 用户线程
- 线程的生命周期
- 线程的同步
- synchronized线程同步使用方法
- synchronized线程同步机制的两种实现方式
- 同步代码块
- 同步方法
- 互斥锁
- 懒汉式单例模式线程安全问题修复
- 释放锁的操作
- 不会释放锁的操作
- 线程的死锁问题
- 线程通信
- 线程通信示例
- 线程通信应用示例(生产者/消费者问题)
day18_java常用类:String类、StringBuffer类、StringBuilder类、与时间相关类、Math类、BigInteger类、BigDecimal类、Scanner类
- day18_java常用类
- String类
- 字符串的特性
- String类的构造器
- String方法
- 字符串与基本数据类型、包装类之间转换
- 字符串与字节数组的相互转换
- 字符串与字符数组的相互转换
- StringBuffer类
- 特点
- 构造器
- StringBuffer方法
- StringBuilder类
- String、StringBuffer、StringBuilder特点比较
- 与时间相关的类
- System.currentTimeMillis();
- Date:java.util.Date、java.sql.Date
- SimpleDateFormat
- Calendar
- 主要时间标准
- System类的System.currentTimeMillis()方法
- Date类
- SimpleDateFormat类
- Calendar类
- Math类
- BigInteger类
- BigDecimal类
- Scanner类
- String类
day19_java反射机制:通过反射获取类的完整结构、方法、属性、构造器,java动态代理
- day19_java反射机制
- java reflection
- 反射机制提供的功能
- 反射相关的主要API
- Class类主要方法
- 反射示例
- 获取类的Class实例的4种方法
- 示例
- JAVA类加载过程
- ClassLoader
- 类加载器一个主要方法
- 通过反射调用类的完整结构
- 获取实现的接口
- 获取所继承的父类
- 获取全部的构造器
- 获取全部的方法
- 获取全部的属性(Field)
- 获取注解(Annotation)
- 泛型相关
- 获取类所在的包
- 获取内部类
- 数字形式修饰符转String修饰符
- 示例
- 通过反射调用类中指定的方法、属性、构造器
- 调用指定的方法
- 调用指定的属性
- 调用指定的构造器
- 遍历打印指定类的成员(属性变量、构造器、方法)
- JAVA动态代理
- 静态代理示例
- 动态代理示例
- 动态代理与AOP(Aspect Orient Programming面向切面编程)
- AOP代理示例
- java reflection
day20_网络编程:TCP socket、UDP socket、URL socket编程
- day20_网络编程
- 网络编程概述
- 通讯要素
- IP和端口
- InetAddress类(IP地址)、InetSocketAddress(IP、端口)
- 网络通信协议
- IP和端口
- TCP socket网络编程
- ServerSocket类
- Socket类
- TCP socket、WebServer示例
- UDP socket网络编程
- DatagramSocket类
- DatagramPacket类
- URL socket网络编程
- URL类
- URLConnection类
- HttpURLConnection类
- 小结
- 其他
java正则表达式
新版本java新特性
java 8新特性
- java 8新特性
- 本章内容
- Java8新特性简介
- Stream的并行流与串行流
- Lambda表达式
- 函数式(Functional)接口
- 方法引用
- 构造器引用
- Stream API
- Optional类
- java8注解新特性
- java8接口的改进,新增默认方法、静态方法
- 新的时间API
- 新的时间类包结构
- LocalDate、LocalTime、LocalDateTime
- LocalDateTime类
- DateTimeFormatter格式化或解析日期、日间
- java.util.Date与LocalDateTime,LocalDate互转
- java.sql.Date、java.sql.Time、java.sql.Timestamp与LocalDate、LocalTime、LocalDateTime互转
- Instant瞬时
- 其他时间API
- ChronoUnit计算两LocalDateTime、LocalDate、LocalTime差值(时分秒日月年等任选)
- Duration计算两LocalDateTime、LocalTime的差值(秒、纳秒)
- ...
- ArrayList在java7和java8上的异同
- HashMap在java7和java8的实现原理
- Set结构
java 9新特性
- java 9新特性
- 本章内容
- 新特性概览
- JDK和JRE的改变
- 模块化系统
- REPL工具:jShell
- 多版本兼容jar包
- 接口的改进,新增私有方法
- 抽象类、接口异同
- 钻石操作符升级
- try语句的改进
- 下划线变量使用限制
- String,StringBuffer,StringBuild存储结构变化
- 集合工厂方法:快速创建只读集合
- 增强的Stream API
- 增强Optaional类
- 多分辨率图像API
- 全新的Http客户端接口HttpClient
- 其他特性
- Deprecated的相关API
- 智能Java编译工具
- 统一的JVM日志系统
- javadoc的HTML 5支持
- Javascript引擎升级为Nashorn
- java的动态编译器
- java的动态编译器
java 10新特性
- java 10新特性
- 局部变量类型推断
- 适用情况
- 局部变量的初始化
- forEach增添循环
- for遍历
- 不适用情况
- 变量初始值为null
- lambda表达式
- 方法引用中
- 为数组静态初始化
- 没有初始化的局部变量声明
- 方法的返回类型
- 方法的参数类型
- 构造器的参数类型
- 字段属性
- catch块中的异常类型
- 局部变量类型推断原理
- 适用情况
- 集合新增创建不可变集合的方法
- 局部变量类型推断
java 11新特性
java 12新特性
- java 12新特性
- 新特性官方介绍
- 新增Shenandoah低暂停时间垃圾回收器算法(实验性功能)
- 添加一个基本的microbenchmark套件
- 增强switch表达式(预览功能)
- 引入JVM常量API
- 只保留一个64位AARCH64端口
- 64位平台上使用默认CDS存档
- 增强G1垃圾回收器,可中止混合集合
- 增强G1垃圾回收器,使其能自动返回未用堆内存给操作系统
- 添加一个基本的microbenchmark套件
java 13新特性
- java 13新特性
- 新特性官方说明
- 动态CDS归档
- 增强ZGC垃圾回收器,不提交未使用的内存
- 重新实现Socket API
- 增强switch表达式(预览功能)
- 文本块(预览功能)
经典项目
- other
-
java中调用shell脚本