
高并发
文章平均质量分 67
Concurrency
大太阳na
这个作者很懒,什么都没留下…
展开
-
Linux文件句柄限制总结
文章目录查看修改查看cat /proc/sys/fs/nr_open 每个进程最大限制ulimit -n 当前用户的当前shell 最大限制 (多个shell,每个都能到达最大限制)cat /proc/sys/fs/file-max 系统级别最大限制记住前三个就好了cat /proc/sys/fs/file-nr :[root@izm3mkp4g43hdqz ~]# ca...原创 2020-04-09 12:16:54 · 8199 阅读 · 0 评论 -
ConcurrentHashMap扩容?lastRun到底是个啥?(普通链表)
文章目录问题一:第一个for循环什么意思?问题二:第二个for循环中为什么以lastRun作为结束标志?问题三:lastRun到底十个什么?为什么不用在第二个循环里放?我不放的话,在哪里把lastRun后面的放到低位链或者高位链?总结连接这一小段看了两个小时!CHM看到如下这段代码给我干蒙了,我是真的菜,感觉自己没有智商~这段代码是CHM扩容中的普通链表扩容,看完之后这个人都不一样了,Dou...原创 2020-03-24 09:15:51 · 8156 阅读 · 4 评论 -
Condition中的transferForSignal()方法的不解
Node p = enq(node);···if (ws > 0 || !compareAndSetWaitStatus(p, ws, Node.SIGNAL)) LockSupport.unpark(node.thread);// 唤醒节点上的线程 return true;···通过enq放入同步队列了,他自己会慢慢的争抢锁,就像synch...原创 2020-03-22 16:03:48 · 5699 阅读 · 0 评论 -
IDEA构建JDK源码阅读的环境以及遇到的问题
文章目录背景构建缺少com.sun.tools包缺少sun.awt.UNIXToolkit 和 sun.font.FontConfigManager这两个类导致项目报错阅读源码的时候,点击进入方法关联到了jdk的源码上自身的源码上其他问题debug的时候,误点Alternative source availble for the class xxxx 的disable编译过程中报java:OutO...原创 2020-03-21 16:47:33 · 9524 阅读 · 1 评论 -
银行家算法
可利用资源向量(Available):系统还可以分配的资源最大需求矩阵(Max):进程的最大资源需要分配矩阵(Allocation):进程已经获得的资源需求矩阵(Need):进程还需要获得的资源P1、P2、P3、P4是四个贷款人A、B、C是每个贷款人所需要贷款的项目比如P1需要A项目贷款3元、B项目贷款2元、C项目贷款2元,只有都贷款成功P1才算贷款成功,才能完成自己工程。银行可贷...原创 2020-03-21 07:54:18 · 5517 阅读 · 2 评论 -
宝藏图,引起的一堆问题,轻量级锁的不解(Synchronized锁的升级)~
文章目录背景遗憾的是线程1释放的时候,为什么失败的时候,是唤醒被挂起的那些线程?膨胀流程图为什么要拷贝mark word?疑问?轻量级锁到底是两条以上的线程还是两条线程争抢同一个锁会膨胀为重量级锁?到底什么时候膨胀为重量级锁?什么是全局安全点?拾遗背景看一看synchronized的升级原理,结果挖到了这样一个宝藏图:其中有一个不解,就是最后的轻量级锁的释放,这里为什么唤醒了其他线程?很...原创 2020-03-19 23:29:51 · 2330 阅读 · 1 评论 -
Join()会不会释放锁?
文章目录答案Demo分析拾遗答案会不过不能确切的说Demo网上找了很久没有找到答案,从书中找答案,《Java并发编程艺术》、《Java并发编程实战》均没有找到,在《Java多线程编程核心技术》中找到了答案,这个Demo来自这本书的268页:package com.leesin.heightConcurrent.join;/** * @description: join会释放锁...原创 2020-03-18 23:22:48 · 8960 阅读 · 8 评论 -
park/unpark 拾遗
文章目录背景概览坑总结源码parkThreadBlockInVM tbivm(jt) (就是阻塞)unpark简要park 过程unpark 过程源码总结:parkunpark源码博文只要记住parkunpark再简洁(最终):背景看condition源码的时候,park这里没有明白,到底是怎么唤醒的,是立即唤醒,还是park自旋自动唤醒?这个还没查清楚,结果看有的博文,把我彻底搞晕了(...原创 2020-03-17 22:15:47 · 2058 阅读 · 0 评论 -
关于AQS中的enq方法的理解
自己太笨了,总感觉有点绕,就整理下吧~private Node enq(final Node node) { for (;;) { //tail默认就是null Node t = tail; if (t == null) { // Must initialize //因为tail默认是null,所以首次一定会进来 ...原创 2020-03-15 16:47:58 · 3627 阅读 · 3 评论