流的概念:流是指一连串的字符已先进先出的方式发送信息的管道
流的概念:流是指一连串的字符已先进先出的方式发送信息的管道
文件:相关记录或放在一起数据的集合
java访问文件的步骤:
File file=new File(filepathname);
TCP:可靠连接 浪费大量的系统性能,
UDP:不可靠连接 ,使用用户数据报协议
datagrampacke :包装一条要发送的信息
datagramsocket类:发送和接收都要用
serversocket:用于在服务器端程序开发,接收客户端的连接请求
socket:
每一个socket都表示一个客户端对象 返回值类型是socket
tcp编写步骤:
创建servrsocket实例并制定端口
调用accept()方法 返回对应客户端socket实例
通过socket对象获取套接字的输入流或输出流
关闭相关资源
客户端:
创建socket实例制定IP地址和端口号
通过获取输入流或输出流进行相关通讯操作(读数据)
关闭相关资源
网络编程:
主要功能:
规模大小:城域网 局域网 广域网
拓扑结构:环形网
IP协议:网络协议
TCP协议:
UDP协议
互斥锁:
共享数据操作完整性
同步方法非静态:this
同步方法静态:当前本身
死锁:
线程通信:
wait() notify() notifyAll();同步代码块里面使用,否则会报异常
同步代码块:
关键字:synchronized
线程安全类型:
ArrayList为非线程安全类型
线程安全:同步 效率:低
非线程安全:异步 效率 :高
常见类型对比:
hashtable 线程安全
hashmap stringbuilder非线程安全
stringbuffer 线程安全
thread类适用于 单继承
线程的状态:
创建状态 就绪状态 运行状态 阻塞状态 死亡状态
线程的调度:
线程优先级:1-10,1最低 5是默认优先级
线程休眠:
sleep();需处理异常
线程强制执行:
join();需处理异常
线程礼让:
jield()方法;
只提供一种可能
线程中断:
interrupt();
多线程交替执行:
直接调用run方法和调用start方法实现效果不同
实现runnable接口:
定义类实现runnable接口
实现run方法,编写线程执行体
创建线程对象,调用start()方法启动线程
线程的创建和启动:
第一:继承thread类
第二:实现接口 runnable
多线程的步骤:
多线程:
应用程序执行的实例--进程--独立的内存空间和系统资源
线程:进程中执行运算的最小单位,可完成一个独立的任务
多线程:一个进程中同时运行了多个线程 用来完成不同的工作,
多个线程交替占用CPU资源,而非真正的并行执行
多线程好处:
主线程:静态的
thread类:main方法即为主线程入口
产生其他子线程的线程
必须最后完成执行,执行各种关闭动作
字符数据--字节流
写入数据:字符流-字节流
读入数据:字节流-字符流
引入相关的类
创建输入输出流对象
读取文件内容
关闭输入输出流
date:
StringBuffer:
append();追加
insert();
反转:reverse();
charAt(index);
length();
indexOf(index);
trim();
substring();
spit()拆分
endwith();
startwith();
replaceAll();
日志分类:
SQL日志 异常日志 业务日志
声明异常
java虚拟机处理
try{
}catch{
}finally{
}
多重catch
先子类在父类
发生异常按顺序逐个匹配
只执行第一个与异常类型匹配的catch语句
异常关键字:try catch finally throw throws
try catch:
try{
}catch{
}
try{
}catch{
}catch{
}
异常分为:运行时异常和编译时异常