源码
文章平均质量分 91
王小白努力学习
这个作者很懒,什么都没留下…
展开
-
java中String详解
String类在java中是一个比较特殊的类,它可以有两种创建形式: 说String之前需要说明jvm中内存结构的变化: jdk1.6:方法区叫永久代,而字符串常量池和静态变量都存放在永久代中,字符串常量池有存放的默认阈值1009,可以用-XX:StringTableSize: 设置常量池的大小,但是如果过大,会导致PermSpace的OutOf Memory异常 jdk1.7: 方法区还是叫永久代,但是将字符串常量池和静态变量移出永久代,放入堆中,防止占用过多的永久代的空间,可以利用堆中的垃圾回收器进行回原创 2020-12-13 23:09:41 · 965 阅读 · 0 评论 -
AQS中公平锁和非公平锁的区别
场景:一个线程运行完毕,准备去等待队列中唤醒(unpark)线程。 公平锁: 当hasQueuedPredecessors 返回false时,则表示不需要去排队,会直接进行cas操作去修改state状态 hasQueuedPredecessors解析 当hasQueuedPredecessors返回false: h和t相等:一.当队列未初始化时头节点和尾节点都为null,固然相等;二.当队列已经初始化并且已经有线程产生过队列,并且线程已经释放了state状态置为0,则头节点和尾节点都指向同一个节点,即傀原创 2020-12-03 19:22:00 · 861 阅读 · 2 评论 -
HashMap源码自我见解,比较细
HashMap源码自我见解结构分析数组的优缺点链表的优缺点数组和链表的结合1.7 与 1.8 的改进为什么HashMap的属性table数组的大小一定是2^n?HashMap中位运算的应用 HashMap展开可以说很多东西,所以面试也是必问的。 结构分析 hashMap在jdk1.7的时候是单纯的链表加数组的结构,那为什么要用链表加数组的结构来组成hashMap呢?这跟效率有关系。 数组的优缺点 1.优点:数组是一个内存连续的空间,直接可以用数组下标来访问数组中的某个值,时间复杂度是1。 2.缺点:数组在插原创 2020-11-23 22:53:59 · 178 阅读 · 1 评论