数据类型:
- 八大基本数据类型:byte char short int float long double boolean
- 包装类型:和基本类型对应,自动装箱和自动拆箱
- 缓存池:valueOf方法,如果数值在缓冲池范围内,直接调用缓冲池的对象
String字符串
- Java8中内部用char数组存储,Java9之后,改用byte数组,并用coder标识编码方式
- String内部定义为final,不可变(可用于缓存hash值)
- StringBuilder(不是线程安全的)和StringBuffer(线程安全)可变
- String Pool:保存所有字符串的字面量,如果还没有则编译时添加,也可用intern()添加
运算
- Java参数使用值传递
- 类型转换:不能隐式向下转型,但++运算符会进行隐式类型转换
关键字
- final:声明数据常量、声明不可重写方法、声明不可继承类
- static:静态变量、静态方法等
Object类的通用方法:
- equals()
- hashcode()
- toString()
- clone():浅拷贝引用同一对象,深拷贝引用不同对象
- …
继承
- 访问权限修饰符:private protected public 不加表示package内可见
- 抽象类abstract class、接口interface
- 用super访问父类构造函数和成员
- 重写Override:重写一个和父类在方法声明上完全一样的方法
- 重载Overload:同一个类中指定参数不同的方法
I/O
- 磁盘操作:File
- 字节操作:InputStream和OutputStream,适用于媒体文件
- 字符操作:Reader和Writer,涉及到字符的时候使用
- 对象操作:
Serializable
序列化:将一个对象转换成字节序列,方便存储传输 - 网络操作:Socket
- NIO
NIO以块的方式处理数据,I/O用流方式处理
NIO非阻塞
BIO同步阻塞式、NIO同步非阻塞、AIO异步非阻塞
其他
-
运行步骤:源代码经过JDK中的Javan编译成字节码,JVM再转换成可执行的二进制机器码
-
面向对象三大特性:封装、继承和多态
-
反射:运行时提供类的信息 java.lang.reflect
-
异常
-
泛型、注解…