上一页 1 2 3 4 5 6 7 8 ··· 16 下一页
摘要: 锁池: 假设线程A已经拥有对象锁,线程B、C想要获取锁就会被阻塞,进入一个地方去等待锁的等待,这个地方就是该对象的锁池; 等待池: 假设线程A调用某个对象的wait方法,线程A就会释放该对象锁,同时线程A进入该对象的等待池中,进入等待池中的线程不会去竞争该对象的锁。 notify和notifyAll 阅读全文
posted @ 2019-03-01 02:29 胡金水 阅读(5004) 评论(0) 推荐(0) 编辑
摘要: 概念: 当调用Thread.yield方法时,会给线程调度器一个当前线程愿意让出CPU使用的暗示,但是线程调度器可能会忽略这个暗示。 代码演示: 分别有以下两种情况输出: 第一种情况: 第二种情况: 阅读全文
posted @ 2019-02-28 16:47 胡金水 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 方法一:调用interrupt方法,通知线程应该中断了: B.如果线程处于正常活动状态,那么会将该线程的中断标志设置为true。被设置中断标志的线程将正常运行,不受影响。 方法二:使用volatile boolean类型变量控制; 阅读全文
posted @ 2019-02-28 16:17 胡金水 阅读(1938) 评论(0) 推荐(0) 编辑
摘要: 消息传递方式: select:内核需要将消息传递到用户空间,需要内核的拷贝动作; poll:同上; epoll:通过内核和用户空间共享一块内存来实现,性能较高; 文件句柄剧增后带来的IO效率问题: select:因为每次调用都会对连接进行线性遍历,所以随着FD剧增后会造成遍历速度的“线性下降”的性能 阅读全文
posted @ 2019-02-28 15:12 胡金水 阅读(3206) 评论(0) 推荐(0) 编辑
摘要: 有三种实现方式: 阅读全文
posted @ 2019-02-28 14:48 胡金水 阅读(625) 评论(0) 推荐(0) 编辑
摘要: Thread实现了Runnable接口,使得run方法支持多线程; 因类的单一继承原则,推荐多实用Runnable接口 阅读全文
posted @ 2019-02-28 14:45 胡金水 阅读(819) 评论(0) 推荐(0) 编辑
摘要: 通过流言协议来接收关于主服务器是否下线的信息,并使用投票协议来决定是否执行自动故障迁移,以及选择哪个从服务器作为新的主服务器。 阅读全文
posted @ 2019-02-28 14:41 胡金水 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 在jdk6和jdk7的时候,jdk比cglib要慢; 在jdk8的时候,jdk性能得到提升比cglib要快很多; 结论出自:https://www.cnblogs.com/xuliugen/p/10442952.html 阅读全文
posted @ 2019-02-27 15:17 胡金水 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 当数组长度为2的N次方时,不同的key算出的index相同的几率小,数据在数组上分配均匀,hash碰撞的几率小,提升查询效率,从大O(N)提升至O(1); 阅读全文
posted @ 2019-02-27 11:31 胡金水 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 标记-清除算法(Mark and Sweep) 标记:从根集合进行扫描,对存活的对象进行标记; 清除:对堆内存从头到尾进行线性遍历,回收不可达对象内存; 它是最基础的算法,存在两个不足:1、效率问题,标记和清除效率都不高;2、空间问题,标记-清除后,会产生不连续的内存碎片; 复制算法: 分为对象面和 阅读全文
posted @ 2019-02-27 02:40 胡金水 阅读(262) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 16 下一页