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