常用类
Object类
- hashcode()
- toString()
- clone()
- getClass
- notify()
- wait()
- equals()
Math类
常见的数学运算
Random类
生成随机数 UUID
File类
创建文件
查看文件
修改文件
删除文件
包装类
自动装箱和拆箱
Date类
- Date
- SimpleDateFormat yyyy-MM-dd HH:mm:ss
- Calendar(建议使用)
String类
- 不可变性(不可能被改变) final
StringBuffer
可变长 append() 多线程数据量较大
效率低—>安全
StringBuilder
可变长 单线程数据量较大 效率高—>不安全
附题
String str = “a”+1+2 —>a3
String str = ‘a’+1+2 —>a代表的数+3
String str = “a”+1+2 —>3a
集合框架
Collection
- List(有序可重复)
①ArrayList(常用)
add添加 remove删除
contains包含 size大小
②LinkedList(常用)
getFirst()
getLast()
removeFirst()
addFirst()
…
③Vector
④Stack - Set(无序不可重复)
①HashSet(常用)
②TreeSet - Iterator:迭代器
Map
- HashMap(常用,面向高频问点)
JDK1.7:数组+链表
JDK1.8:hash表=数组+链表+红黑树 - TreeMap
IO流
字节流
输出:OutputStream
输入:InputStream
字符流
Reader
Wirter
节点流
- CharArrayReader,Writer,inputstream,
outputstream,StringReader - pipe(管道流) PopedOutputStream
- File(…)
处理流
- buffer
①bufferinputStream
②bufferOutputStream
③bufferReader
④bufferwriter - 序列化 反序列化 Serializable
transient(透明的) - date
①DataInputStream
②DataOutputStream - 转换流
①InputStreamReader
②OutputStreamWriter - object流.
- Filter(四个)
- print
①PrintWriter
②PrintStream
多线程
- 进程跟线程
- run(), start(),
- 线程创建的方式
①Thread —>start0,本地方法;java无权调用,交给底层的c处理
②Runnable(函数式接口) lambda
③Callable 可以有返回值 - 静态代理 newThread(Runnable).start();
- Lambda表达式 函数式编程 避免内部类定义过多不易阅读
new Thread(()->{
System.out.promtln();
}).start(); - 手动推导一遍lambda表达式
线程的状态
- 新建状态
- 就绪
- 运行
- 阻塞
- 死亡
常用的方法
- sleep
- join
- yield
- isLive
- start
- serPriority
- interrupt
线程同步
- 多个对象操作同一个资源,并发问题
- 前提:队列+锁
- Synchronized
①同步方法(弊端:锁太多了)
②同步代码块(常用)
③第一个线程进来拿到锁,后面就要排队了,直到这个人释放锁,后面拿到锁才能进去
④死锁:两个人都抱着对方的锁循环
互斥/请求与保持/不剥夺条件/等待条件
(破坏任何一个条件即可破锁)
4.Lock (优先级高)
ReentrantLock
①lock
②trylock
③unlock
####附优先级
Lock>同步代码块>同步方法
线程通信
- 缓冲区:消息队列
- 标志位:红绿灯
- wait();
- notifyAll();
线程池(pool)
- 池化技术
- 池的大小
- 最大连接数
- 保持时间
- …
网络编程
- IP
- 端口
- TVP
①三次握手
②四次握手
③面向连接 - UDP
①无连接
②Packet - UPL
- 初识Tomcat
- 聊天通信
- 文件上传
GUI
AWT
- Frame
- 监听事件
①鼠标
②键盘
③窗口
④动作事件
Swing
- 文本框
- 标签
- 文本域
- 面板
- 布局方式
- 关闭窗口
- 列表
贪吃蛇
- Timer
- 键盘监听
- 游戏帧的概念
注解和反射
注解
- 元注解
- 内置注解
- 自定义注解
- 反射读取注解
反射
- Class nreinstance();
- 类加载机制
- Method
①invoke(user3,“WN3”);
②存在重载,也需要写参数类型 - Field set(user4,“WN4”)
- Construct
①newinstance();
②获取的时候需要传递参数的class类型 - 破坏私有关键字 setAccessible(true);
- 性能分析
正常>检测关闭的反射>默认的反射 - 单例模式的研究
- Stream
10.ForkJoin 效率对比