#begin
【1】基本数据类型进行运算
基本数据类型:byte 1个字节 -128 - 127
short 2 个字节
char 2 个字节(可以存放中文字符 Unicode编码中中文占两个字节)
int 4 个字节
long 8 个字节
float 4 个字节
double 8 个字节
boolean 不 确 定
【2】运算规则
byte、short、char --------->int ----->long---->floart------>double
混合运算时,byte、short、char 都会转换成int进行运算,其他数据类型运算小类型转换成大类型。
【3】排坑列题
byte b1 = 5;
byte b2 = 6;
byte b3 = b1 + b2; //出错:b1 和 b2 在运算时会转换成int ,int 类型 赋值给byte 存在精度损失问题,故错误。
【4】静态代码块与构造代码块?
静态代码块在.class加载到JVM时,里面的代码会执行且只执行一次。
构造代码块在new对象的时,里面的代码会执行,每new一个对象都会执行。
static{
System.out.println(" 我就静态代码块");
}
{
System.out.println("我就构造代码块");
}
【5】继承?
【6】变量修饰符
【7】内部类
【8】正则【简】
【9】Math常用方法
【10】BigInteger + - * /
【11】集合
[12]TreeSet集合用来排序,可以指定一个顺序,进行排序。
自然排序:对象实现Comparable接口,重写CompareTo()方法,return 0 二叉树不插入数据,返回负数二叉树左边插入数据,正数二叉树右边插入数据。
比较器排序:Comparator,new TreeSet集合时,构造器传入Comparator实现子类,按照Compare()方法排序。
【13】异常
编译时异常:编写代码时,编译器会对其检测,如果有错,抛出异常显示。
运行时异常:程序在运行时,发生了不可避免的错误,导致程序报错,抛出异常。
【14】throws与throw
throws 用在方法名后,后跟上抛出异常的类型,调用此方法者,要对可能抛出的异常做处理。
throw 用在方法体中,后跟上抛出异常的对象。
[15]File类基本常用方法
createNewFile(); //文件不存在创建,存在就不创建
mkdir(); //文件夹不存在创建
mkdirs(); //文件夹不存在,如果父路径也不存在,并同时创建父路径
isDirectory(); //判断是否是目录
isFile(); //判断是否是文件
canRead(); //判断是否读
canWrite(); //判断是否可写
isHidden();//判断是否隐藏
getAbsolutePath();//获取绝对路径
getPath();//获取当前路劲
getName(); //获取文件or文件路径名称
lastModified(); //获取最后一次修改时间 毫秒值
list();//获取当前目录下所以的文件or文件夹返回String数组
listFiles();//获取当前目录下所有文件or文件夹返回File数组
【16】IO流使用记录
字节流:FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream
字符流: FileReader FileWriter BufferedReader BufferedWriter LineNumberReader[行号]
readLine(); //读取一行数据,return null 读取完了
newLine(); //写入换行符,适应各种平台
getLineNumber(); //获取当前行号
【17】序列流,可将多个字节输入流整合成一个序列流,读取会按照第一个整合的顺序开始操作。
【18】 内存输出流,将内存当成缓冲区,将数据写入到内存中
【19】对象操作流
【20】数据输入输出流
按照基本的数据类型大小读写数据。
【21】输出流
【22】标准输入输出流
【23】多线程
进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。
线程是程序执行的一条路径,一个进程可以包含多个线程。
并行:就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行。【360杀毒 清理垃圾任务在进行,同时开启杀毒任务】
并发:是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔较短,使人感觉两个任务都在运行。【A 请求C B 请求C 但是C某个时刻只能处理一个,所有 A B两个请求的处理,交替执行或某个先执行】
【23-1】实现多线程---extends Thread
【23-2】实现多线程---implements Runable
常用方法:
static currentThread() //返回对当前正在执行的线程对象的引用。
setDaemon(true) 守护线程、后台线程、服务线程
join() //等待该线程结束
yield() //暂停当前正在执行的线程对象,并执行其他线程。
setPriority(int newPriority) //线程的优先级。
【24】同步代码块
【25】单例设计模式
【27】Runtime了解
【28】wait()、notify()、notifyAll()
【29】ReentrantLock(互斥锁)
【30】线程的生命周期图
【31】计算机网络
不同地理位置的计算机,通过通信线路连接在一起,实现资源的共享与传输。
UDP:面向无连接,数据不安全,速度快,不区分客户端与服务端。
TCP: 面向连接(三次握手),数据安全,速度低,分客户端和服务端。
Socket:唯一的ip和端口号组合一起构成标识符套接字。
【32】TCP协议
类加载器概述
负责将.class文件加载到内存中,并为之生成对应的class对象。
分类:
A:Bootstraap ClassLoder 根类加载器
B: Extenion ClassLoder 扩展类加载器
C:System ClassLoder 系统类加载器
A:负责加载Java核心类的加载,列如:System,String等,在JDK中JRE的lib目录下rt.jar文件中。
B: 负责JRE扩展目录中jar包的加载,在JDK中JRE的lib目录ext目录。
C:负责在jvm启动时加载来自java命令的class文件。