笔记
Java SE 8 流库
IO 流
- 重点关注内存映射:
FileChannel
时间类
DateSimpleDateFormat和CalendarLocalDateTime和DateTimeFormatter
Shocket 通讯
Socket和ServerSocketURL和HttpURLConnection- 重点关注可中断套接字:
SocketChannel、Channels.newInputStream、Channels.newOutputStream、DatagramChannel、MulticastChannel - UDP通讯:
DatagramSocket和DatagramPacket【只允许发送到指定目标地址】 - UDP 多点通讯:
MulticastSocket【组播】
类加载器
每个Java程序至少拥有三个类加载器,除引导类加载器外,每个类加载器都有父类加载器【注:双亲委派机制】
引导类加载器【通常由C语言实现】
扩展类加载器【用于加载
jre/lib/ext类文件】系统类加载器(又名应用类加载器)【用于加载应用类文件】
自定义类加载器
需要重写
findClass函数,在超类的loadClass委托其父类加载器加载失败时会调用findClass方法在
findClass函数内加载到类数据时需要调用超类defineClass方法,向虚拟机提供字节码1
2
3
4
5
6
7public class CustomClassLoader extends ClassLoader {
protected Class<?> findClass(String name) throws ClassNotFoundException {
byte[] classData = ...;// 加载类字节码数据
return defineClass(name,classData,off,len);// 加载字节码并返回
}
}
消息摘要
1 | // MD5 SHA-1 SHA-256 SHA-384 SHA-512....M |
加密
KeyGenerator、SecureRandom、Cipher、KeyPairGenerator