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:字符数出流

  • Read:字符输入流父类

字符流子类:

  • 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:抽象

版权声明:本文为859630097com原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/859630097com/p/14282723.html