摘要: 线程创建三个方法: 1.继承thread类 2.实现runnable接口 3.实现callable接口 实例: //线程的创建方法public class TestNew { public static void main(String[] args) { new Mythread1().start 阅读全文
posted @ 2021-03-14 13:50 琴湖copy王 阅读(56) 评论(0) 推荐(0)
摘要: •lock锁是显式锁(手动开启和关闭),synchronized是隐式锁,出了作用域自动释放。 •lock只有代码块锁,synchronized有代码块锁和方法锁。 •使用lock锁,jvm将花费更少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类) •优先使用顺序: lock>同步 阅读全文
posted @ 2021-03-13 21:08 琴湖copy王 阅读(42) 评论(0) 推荐(0)
摘要: 为什么使用: •避免匿名内部类过多 •使代码看起来更简洁 •去掉无意义代码,留下核心逻辑 函数式接口:任何接口,如果只包含一个抽象方法,它就是一个函数式接口。 •对于函数式接口,可以通过lambda表达式来创建该接口的对象。 总结: •lambda表达式只能有一行代码的情况下才能简化为一行,如果有多 阅读全文
posted @ 2021-03-12 23:56 琴湖copy王 阅读(51) 评论(0) 推荐(0)
摘要: •线程就是独立执行的路径 •程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程。 •main()称之为主线程,为系统的入口,用于执行整个程序。 •在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序不能人为干预。 •对同一份资源操 阅读全文
posted @ 2021-03-11 17:47 琴湖copy王 阅读(35) 评论(0) 推荐(0)
摘要: 流量控制目的:让发送方慢点,让接收方来得及接受 tcp利用滑动窗口机制实现流量控制 •接收方根据自己接收缓存的大小,动态的调整发送方的发送窗口大小,发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值 ————————————————————————————————————————————— 阅读全文
posted @ 2021-03-06 16:01 琴湖copy王 阅读(213) 评论(0) 推荐(0)
摘要: 传输层 使用tcp实现可靠传输网络层 提供尽最大努力交付,不可靠传输 MTU 最大传送单元 可靠————保证接收方从缓存区读取的字节流和发送方发送的字节流时完全一样的 TCP实现可靠传输机制 1.校验——与udp校验一样增加伪首部 2.序号 3.确认 4.重传 超时重传————tcp发送方在规定时间 阅读全文
posted @ 2021-03-06 15:12 琴湖copy王 阅读(24) 评论(0) 推荐(0)
摘要: 三次握手 •客户端发送请求报文段,无应用层数据。 SYN=1,seq=x(随机) •服务器端为该tcp连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。 SYN=1,ACK=1,seq=y(随机),ack=x+1 •客户端为该tcp连接分配缓存和变量,并向服务器返回确认的确认,可 阅读全文
posted @ 2021-03-06 14:56 琴湖copy王 阅读(39) 评论(0) 推荐(0)
摘要: 1.面向连接 2.每一条tcp连接只能是点对点的。 3.tcp提供可靠交付服务 无差错 不丢失 不重复 按序到达 4.tcp提供全双工通信→发送缓存(准备发送的数据&已发送但尚未收到确认的数据) 接收缓存(按序到达但尚未被接受程序读取的数据&不按序到达的数据) 5.面向字节流→tcp把应用程序交下来 阅读全文
posted @ 2021-03-06 14:26 琴湖copy王 阅读(561) 评论(0) 推荐(0)