Java工具类

1.API(参考api文档)

1.Object类
a)概念:Object类为所有类的父类;
b)标志方法有:
toString():默认返回 类名@地址 的格式,来展示对象的地址值,如: a00000.Student@a0834e7equals()、
hashCode():返回该对象的哈希码值。
equals(Object obj) :当前对象和参数对象比较大小,默认是比较内存地址,如果要比较 对象的属性,可以重写该方法。

2.String
概念:String是一个final修饰的不可变的类,底层封装了不可变的char[]数组,数组当中保存的是对象,
常见方法:
length()
charAt()
lastIndexOf()
substring()
equals()
startsWith()
endsWith()
split()
trim() 去除字符串两端的空格

  1. StringBuilder/StringBuffer
    概念:StringBuffer和StringBuilder主要用于处理String对字符串拼接效率慢的解决方案,StringBuffer优势是底层是一个可变的char[]数组,字符拼接用的是它的append()方法在一个数组当中进行拼接,效率很高。但是仅限于线程安全,如果不考虑线程安全,只用一条线程处理,则可以用StringBuilder。

4.日期类Date
a)概念:存在于java.util.Date包。
用来封装一个毫秒值表示一个精确的时间点。
从1970-1-1 0点开始的毫秒值。
b)日期工具SimpleDateFormat
日期格式化工具,可以把Date对象格式化成字符串,也可以日期字符串解析成Date对象。
b)常见方法:
format(Date):把Date格式化成字符串
parse(String):把String解析成Date

5.包装类
概念:包装类为基本类型的工具类,提供了为基本类型服务的工具,工具类的名称除了int是Integer和字符char是Character以外,其他的都是首字母大写。

  1. BigDecimal/BigInteger
    BigDecimal:常用来解决精确的浮点数运算。
    BigInteger:常用来解决超大的整数运算。

7.内部类
7.1内部类
在 Java 中,允许在一个类(或方法、语句块)的内部定义另一个类,称为内部类(Inner Class),有时也称为嵌套类(Nested Class)。内部类和外层封装它的类之间存在逻辑上的所属关系,一般只用在定义它的类或语句块之内,实现一些没有通用意义的功能逻辑,在外部引用它时必须给出完整的名称。内部类主要用于设计具有互相协作关系的类集合。
通过将一个类定义在另一个类的内部,也可以有效的隐藏该类的可见性,实现极好的封装特性。但不易理解,实际开发使用不多。
7.2 匿名内部类
没有名字的类,没法new,那就在定义时就new出来一个类
类似于:new Student().show();
new Thread(){
run()
};

2.IO流

Java工具类_第1张图片

3.集合

概述:英文名称Collection,
是用来存放对象的数据结构。
其中长度可变,而且集合中可以存放不同类型的对象。
并提供了一组操作成批对象的方法。
数组的缺点:长度是固定不可变的,访问方式单一,插入、删除等操作繁琐。
Java工具类_第2张图片

4.线程

概述:
1.概念:线程是操作系统能够进行运算调度的最小单位。
一个程序运行后至少一个进程,一个进程里包含一个线程(单线程)或者多个线程。
2.线程的创建:继承Thread和实现Runnable
3.常用方法:start()、run()、setDaemon(守护线程)
4.生命周期:新建–就绪–运行–阻塞–死亡
涉及技术点:
1.生产者与消费者模型 Consumer Producer Queue
2.辅助工具:
pool = Executors.newFixedThreadPool(5);
//pool = Executors.newCachedThreadPool();
//pool = Executors.newSingleThreadExecutor();
2.1ThreadLocal :
2.2Future/FutureTask/Callable
3.线程锁:悲观锁:Synchronized 和乐观锁Lock
4.关键字:volatile易变: 作用:1.共享变量的可见性2. 禁止指令重排的优化

5.注解和反射

Java工具类_第3张图片

6.Socket套接字

用于网络通信,服务端代码思路:
1.创建服务套接字对象,设置端口号
ServerSocket ss = new ServerSocket(8000);
2.ss.accept();方法开启服务,等待连接
3.获取套接字的读写流
4.写入数据
5.读取数据
6.关闭套接字的两个流

7.爬虫…

你可能感兴趣的:(java基础)