Loading

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 56 下一页
摘要: TCP状态 时序图 ACK TCP数据包中的序列号(Sequence Number)不是以报文段来进行编号的,而是将连接生存周期内传输的所有数据当作一个字节流,序列号就是整个字节流中每个字节的编号 一个TCP数据包中包含多个字节流的数据(即数据段),而且每个TCP数据包中的数据大小不一定相同 在建立 阅读全文
posted @ 2021-02-25 13:37 BigBender 阅读(456) 评论(0) 推荐(0) 编辑
摘要: arp_ignore和arp_announce 参数都和ARP协议相关,主要用于控制系统返回arp响应和发送arp请求时的动作 这两个参数很重要,特别是在LVS的DR场景下,它们的配置直接影响到DR转发是否正常 arp_ignore - INTEGER Define different modes 阅读全文
posted @ 2021-02-25 02:17 BigBender 阅读(129) 评论(0) 推荐(0) 编辑
摘要: JMH(Java Microbenchmark Harness) 官方地址:http://openjdk.java.net/projects/code-tools/jmh/ 添加依赖,官方地址:https://mvnrepository.com/artifact/org.openjdk.jmh/jm 阅读全文
posted @ 2021-02-24 15:15 BigBender 阅读(109) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap 在涉及到Java多线程开发时,如果我们使用HashMap可能会导致死锁问题,使用HashTable效率低 而ConcurrentHashMap既可以保持同步也可以提高并发效率,所以这个时候ConcurrentHashmap是我们最好的选择 Map Map是数组+链 阅读全文
posted @ 2021-02-23 23:41 BigBender 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 基本不变式 在执行方法之前和之后,队列必须要保持的不变式: 当入队插入新节点之后,队列中有一个 next 域为 null 的(最后)节点 从 head 开始遍历队列,可以访问所有 item 域不为 null 的节点 head 的不变式和可变式 在执行方法之前和之后,head 必须保持的不变式: 所有 阅读全文
posted @ 2021-02-23 22:51 BigBender 阅读(45) 评论(0) 推荐(0) 编辑
摘要: LockSupport LockSupport.park() 可以用来阻塞当前线程,park是停车的意思,把运行的线程比作行驶的车辆,线程阻塞则相当于汽车停车 该方法还有个变体LockSupport.park(Object blocker),指定线程阻塞的对象blocker,该对象主要用来排查问题 阅读全文
posted @ 2021-02-23 16:36 BigBender 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 效率 线程数特别多的时候 Longadder > Atomic > synchroinzed Longadder内部使用了分段锁 Longadder是LongAccumulator的一种特殊形式 ReentrantLock,synchronized对比 cas vs sync trylock loc 阅读全文
posted @ 2021-02-23 00:07 BigBender 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 锁升级 为什么会有锁升级 在jdk1.6之前synchronized关键字是管态的mutex互斥锁,耗时长,开销大 此后对synchronized关键字进行了优化,出现了偏向锁,自旋锁和重量锁 锁对象 刚才我们说,锁实际上是加在对象上的,那么被加了锁的对象我们称之为锁对象,在java中,任何一个对象 阅读全文
posted @ 2021-02-22 21:32 BigBender 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 线程周期 synchronized锁可重用 synchronized底层实现,早期JDK,重量级os实现 synchronized(Object) 这个Object不能用String常量、Integer、Long markword记录线程ID(偏向锁) 如果线程争用,升级为 自旋锁 (while反复 阅读全文
posted @ 2021-02-22 18:58 BigBender 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 线程的创建 继承Thread public class MyThread extends Thread{ @Override public void run(){ for(int i = 0; i < 10; i++{ System.out.println(Thread.currentThread( 阅读全文
posted @ 2021-02-22 02:43 BigBender 阅读(57) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 56 下一页