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:抽象
最新文章
- ubuntu 安装phpstorm
- Junit 测试 Spring
- SQL获取变量类型以及变量最大长度
- 记一次Surface Pro 2还原操作
- 重写hashCode()的方法
- qt button以及label实现不规则图形(五种方法:使用QSS,设置Mask图片,自己画)
- perconaXTRADB Cluster在Redhat Linux上的安装
- 前两篇转载别人的精彩文章,自己也总结一下python split的用法吧!
- nginx负载均衡2
- Linux命令速查大全
- 企业级自动化运维工具应用实战-ansible
- PHP大文件分割上传(分片上传)
- java 结合反射、泛型、注解获取泛型对象
- spring boot 错误处理总结
- strcpy函数用法
- oracle 为什么没有权限的用户也可以用sysdba登录
- SQL语句(五)数据的修改
- 从kepware定时取web api内容
- Windows核心编程:第4章 进程
- [转]java:IO流学习小结
热门文章
- php_memcache扩展
- vue 图片优化
- .Net Core的简单单元测试基于Mock和自定义
- ASP.NET Core Web 支付功能接入 微信-扫码支付篇(转)
- C# 将json字符串进行排序 转成键值
- (二)、vim即gvim的炫酷搜索模式与技巧
- Error:(18) error: '#FFFF782' is incompatible with attribute android:endColor (attr) color. --Android
- RocketMQ(七):高性能探秘之线程池
- 关于SM4 加密算法
- Error:java: JDK isn't specified for module 'xxx'异常的解决方法