Java基础进阶类名整理
数学类:
Math:数学运算
BigDecimal:用于精确计算数据
数组工具类:
Arrays:数组工具类,用于对数组的操作
时间操作:
JDK8以前:
Date:表示一个时间,并面向对象操作时间
SimpleDateFormat:专门用于将时间对象与字符串进行相互转换的工具类
-
常见方法:parse(字符串):将字符串转换为时间对象
-
format(Date对象):将时间对象转换为字符串
JDk8以后:
LocalDateTime:包含年月日时分秒的时间对象
常见方法:
-
静态now():获取当前时间
-
静态of(信息)获取指定时间对象
-
format(DateTimeFormatter):按照指定格式格式化时间
-
parse(字符串,DateTimeFormatter):按照指定格式解析该方法
LocalDate:表示年月日
LocalTime:表示时分秒
DateTimeFormatter:格式化时间类
-
获取方式:利用静态ofPattern(string pattern)
Period:计算年月日
Duration:计算时分秒
集合类类名
单列:
Collection:是单列集合的顶级接口,有两个接口List和Set
-
可重复List:
-
ArrayList:单列可重复有索引的集合,底层是数组
-
LinkedList:单列可重复有索引的集合,底层是链表
-
-
不可重复Set:
-
TreeSet:不可重复,没有索引,可以对元素进行排序(自然排序Comparable/比较器排序Comparator),底层红黑树
-
HashSet:存取无序,不可重复,没有索引,底层哈希表(Jdk7以前:哈希表=数组+链表/Jdk8以后数组+红黑树),自定义类需重写hashCode
-
双列:
-
特点:
-
键不能重复
-
键与值一一对应
-
键和值组成键值对
-
-
HashMap:底层哈希表,存储对象,必须重写HashCode和equals方法
-
TreeMap:底层红黑树,可以排序,自然排序Comparable/比较器排序Comparator
流
-
Stream:对集合进行批量数据操作
文件
-
File:表示文件或者文件夹
-
特点:只是表示路径名称,可以表示存在的,也可表示不存在的
-
Io流
字节流父类:
-
InputStream:字节输入流
-
OutPutStream:字节输出流
字节流子类:
-
FileInputStream:字节输入流
-
BufferedInputStream:字节缓冲输入流
-
FileOutputStream:字节输出流
-
BufferedOutputStream:字节缓冲输出流
字符流父类:
-
Writer:字符数出流
-
字符流子类:
-
FileWiter:字符输入流
-
FileRead:字符输出流
-
BufferedWiter:字符缓冲输入流
-
BufferedRead:字符缓冲输出流
-
InputStreamReader:字节转字符流的桥梁,使用指定编码进行解码
-
OutputStreamWriter:字符流到字节流的桥梁,使用指定编码将写入的字符编码为字节
-
JDK11之后可以直接使用FileReader进行指定编码
-
ObjectOutputStream:对象输入流
-
ObjectInputStream:对象输出流
-
想要序列化一个类必须实现Serializable接口
多线程
-
synchronized:自动锁
-
Lock:手动锁
-
ArrayBlockingQueue:阻塞队列,底层数组,有界
-
LinkedBlockingQueue:阻塞队列,底层链表,无界
-
Executors:默认线程池
-
ThreadPoolExecutor:自定义线程池
-
AtomicBoolean:原子更新布尔类型
-
AtomicInteger:原子更新整型
-
AtomicLong:原子更新长整型
-
Hashtable:采用悲观锁,效率低下
-
ConcurrentHashMap:采用Synchronized+CAS,效率比Hashtable高比HashMap低
-
CountDownLatch:一条线程等待其他线程执行完在执行
-
Semaphore:控制线程同时访问数量
网络编程
InetAddress:表示ip地址
-
常用getHostName:获取主机名
-
getHostAddress:返回ip地址
UDP协议:
-
DatagramPacket:数据容器
-
DatagramSocket:用于发送和接收DatagramPacket
-
sen():发送数据报
-
close():关闭数据报
-
receive:接收数据报
-
TCP协议:
-
Socket:对象在客户端和服务器之间建立连接
-
ServerSocket:对象等待客户端建立连接
-
常用方法accept()等待连接
-
反射
-
ClassLoader.getSystemClassLoader():获取系统类加载器
-
InputStream.getResourceAsStream():加载某一个资源文件
-
Class.forName(全类名):获取Class对象
-
getConstructors:返回公共构造方法数组对象
-
getFields():返回所有公共的成员变量数组
-
getMethods():返回所有公共方法,包含父类公共方法
-
获取私有使用带Declared的get方法
-
利用反射使用私有成员设置setAccessible(true)
关键字
-
transient:被标记的变量不可被实例化
-
this 表示当前
-
super 表父类
-
final 表示最终
-
static 表静态
-
volatile:内存可见性
-
enum:枚举
-
abstract:抽象