首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ArrayList源码研究

    第一次添加 第二次添加 第十一次添加 get()方法 set()方法 remove()方法 FailFast机制 背景:实习加工作也有近半年时间了,每天增删改查重复的枯燥无味,于是乎,最近开始了源码研究...this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; // this.elementData = {} } 根据源码可以看出来...initialCapacity); } } 如码,也是创建了一个指定长度的数组赋值给elementData 再往下就是add方法了,不过经过研究...,所以newCapacity = 0 将新数组的容量与当前大小比较(当前为默认实例,长度为10),取大的那个,然后与MAX_ARRAY_SIZE(int的最大值)比较,防止长度超出可控范围,这里给出源码里...倍了吧 旧长度进行移位运算,右移一位,即×0.5,再加上原来的长度, 然后Arrays.copyOf(elementData,15),创建新数组并将旧数组复制进去 get()方法 这就比较简单了,源码点进去

    24020

    线程池源码研究

    前言:第一次写源码分析类文章,有点忐忑,还是硬着头皮上了。 之前几篇线程池文章主要是讲解线程池使用场景,这篇文章我以非代码方式讲解源码,这个估计没人这么干过吧!哈哈。...下面,从3点说明线程池工作原理 线程池的接口定义和继承关系 线程池中线程的状态描述 线程池工作细节 因为不能粘贴源码,我会用思维导图的形式把上面几个点串起来。...,这也印证了看源码真的可以提效,某些场景已经有相关的实现了。...上面的思维导图,我们再看右边的部分,创建线程池源码中出现两种不一样的构造方法。...老规矩,线程里面不是 for(;;) 就是 while循环,源码中是while循环。 while (task != null || (task = getTask()) !

    40200

    Linux下源码安装PHP 卸载PHP

    卸载原有PHP 查看PHP版本 php -v 下面命令删除php不干净但先删一遍 yum remove php 查看剩下的php软件包,其中会有依赖所以得有先后顺序删除 rpm -qa |...源码安装PHP: 首先进入php.net找到要下载的版本页面,复制到下载链接 wget https://www.php.net/distributions/php-7.2.31.tar.bz2 在此之前可以创建好自己的目录...,有条理一些,我创建到/home/work/study/softpackage,在softpackage目录下下载php源码,然后解压出现如下页面 ?...让php -v可以使用: 设置可以直接在任何目录使用php test.php执行命令,进行如下操作 进入到自己放置的php目录下,执行以下命令,然后将红圈的东西写上,就是你的PHP所在的目录 vim...将php.ini文件放在php中: 注意要将php.ini放到你的php目录下的lib目录下面:如此这样php源码安装就大功告成咯》》》》》 ?

    6.7K20

    关于nodejs源码研究

    回首对nodejs的源码研究,时间已经过去了一年多。...也是我开始研究nodejs源码的原因之一。因为nodejs满足了我喜好和技术上的需求。不过一开始的时候,我并没有全身心地投入代码的研究,只是偶尔会看一下某些模块的实现。...从那时候起,大部分业余时间和精力都投入源码研究。 我首先从libuv开始研究,因为libuv是nodejs的核心之一。...所以我也一直在寻找志同道合的人一起分析,加快对nodejs源码研究,不过真正能啃源码的人不多。源码的阅读可能并不一定能帮助你的工作变得更好,很多时候也往往不需要深入到这种程度。...但是阅读这些源码让我对技术和计算机原理有了更多、更深的了解和理解。也希望能利用技术做更多的事情。同时也看到很多同学在做各个方向的源码研究,期待有更多人去做这样的事情。

    44310
    领券