1-J2SE基础
2022-01-05 16:34:28 0 举报
AI智能生成
j2se学习脑图
作者其他创作
大纲/内容
JDK>JRE>JVM
javac 和 java 命令
.class 字节码文件 ->JVM
JAVA_HOME
PATH
环境变量
java环境
ASCII
Unicode
UTF-8
字符集
short 2个字节
int 4个字节
long 8个字节
整数
float 4个字节
double 4个字节
浮点数
数字类型
char 2个字节
字符类型
bool 1bit
布尔类型
基本数据类型
相同的字符串常量常量区只会存放一份
String 类
类
接口
一组连续的地址空间
冒泡排序
java.util.Arrays 工具类
数组
引用类型
数据类型
算术运算符
赋值运算符
关系运算符
逻辑运算符
&与运算
| 或运算
^ 异或运算
~ 取反
<<左移
>>右移
位运算符
运算符
public : 开放访问protected:同一个包,子类可访问default:同一个包private:仅自己
finnal 关键字
static关键字
关键字
基础
高内聚
低耦合
设计原则
封装
继承
多态
特性
内部类
匿名内部类
Object类
普通代码块
构造代码块
静态代码块
同步代码块
代码块
字符串类
DateDateFormatSimpleDataFormatCalender
日期
常用类
面向对象
ArrayList
LinkedList
List
HashSet
TreeSet
Set
Collection
LinkedHashMap
HashMap
TreeMap
Map
两大接口
容器
System.in
System.out
标准输入输出
四个流接口
FileInputStream,FileOutputStream
RandomAccessFile
文件流
ByteArrayInputStream ,ByteArrayOutputStream
CharArrayReader , CharArrayWriter
字节数组,字符读写
DataInputStream 和 DataOutputStream 处理流
基本数据类型读写
ObjectInputStream 和 ObjectOutputStream
对象读写
PipedInputStream 和 PipedOutputStream
多线程管道
BufferedInputStream 和 BufferedInputStream 处理流
BufferedReader 和 BufferedWriter 处理流
带缓冲区的处理流
java中的流
输入流,
输出流
按流向
字节流
字符流
按处理单元
节点流
处理流
子主题
分类
apache commons-io
第三方工具包
I/O
特殊ip
IP段
IP
物理层数据链路层网络层传输层会话层表示层应用层
7层
网络接口层(物理层,数据链路)网际层(网络层)传输层应用层(会话,表示,应用层)
4层
网络协议
网络基础
java.net.InetAddress
accept 阻塞获取连接
流
java.net.ServerSocket
java.net.Socket
TCP/IP
发送数据包
接收数据包
java.net.DatagramSocket
UDP
java中的类
网络编程
通配符 ?
//定义 list里面 可能是 Person类的任意一个子类,无下限。List<? extends Person> l3 = new ArrayList<>();//这句是会报错的,通配符 并不能确定是具体 哪个子类, 编辑过程中 比如 人,学生,好学生,//编译器无法 把 人 具象化 为学生 所以插入编译不通过。这是一个和多态相反的过程。l3.add(new Student());l3.add(new Person());
泛型 extends:
//定义list里面至少是个学生,或者父类 人。 有下限List<? super Student> l1 = new ArrayList<>();//这里不会报错,因为集合中 至少是一个 Student,也就是 子类对象可能转父类形式,是符合多态的。Student student = new Student(); //学生ManStudent manStudent = new ManStudent();//男学生l1.add(student);l1.add(manStudent);
泛型 下限 super
泛型的擦除
泛型<>
继承 Thread 类
实现runable接口
创建线程
常用方法
span style=\
RUNNABLE 运行态
BLOCKED 阻塞态
WAITING
TIMED_WAITING
线程状态
synchronized
Object wait和notify
多线程基础
corePoolSize=> 线程池里的核心线程数量
maximumPoolSize=> 线程池里允许有的最大线程数量
keepAliveTime=> 空闲线程(核心线程池之外的,空闲的线程)存活时间
workQueue=> 缓冲队列
threadFactory=> 线程工厂用来创建新的线程放入线程池
工作原理
Executors.newCachedThreadPool();
Executors.newFixedThreadPool(2)
Executors.newSingleThreadExecutor();
ThreadPoolExecutor
ScheduledThreadPoolExecutor
ForkJoinPool
线程池的分类
ArrayBlockingQueue
LinkedBlockingDeque
DelayQueue
PriorityBlockingQueue
SynchronousQueue
阻塞队列
拒绝策略
线程池
函数式编程
自动推断类型
简洁
特点
(参数)->{实现体}
基础式
静态方法引用: 类名::静态方法
实例方法引用: 对象实例::方法
对象方法引用: 类名:: 方法 根据泛型的类型,参数类型,顺序,自动传值
构造方法引用: 类名::new
::方法引用式
语法
只有一个待实现方法的接口,可以作为函数式接口
内置函数式接口
函数式接口
Lanbda表达式
1、 代码简洁,取代for循环2、 支持并行。parallel3、 支持 过滤,查询,汇总,聚合等操作。
1、 通过数组
2、 通过集合
3、 通过Stream.generate方法来
4、通过Stream.iterate方法
创建方式
1、 过滤 filter
2 、去重 distinct
3、排序 sorted
4、截取 limit、skip
5、转换 map/flatMap
6、其他操作 peek
中间操作
1、循环 forEach
2、计算 min、max、count、 average
3、匹配 anyMatch、 allMatch、 noneMatch、 findFirst、 findAny
4、汇聚 reduce
收集器 toArray collect
终止操作
StreamAPI
@Retention
@Target
@Documented
@Inherited
@Repeatable
元注解
自定义注解
J2SE
0 条评论
回复 删除
下一页