关闭

学习笔记

185人阅读 评论(0) 收藏 举报
分类:

jdk中Arrays sort方法源码分析:

分为基本元素排序和对象排序

基本对象使用快排,对象使用归并排序。原因是归并排序具有稳定性,在对对象排序的情况会有这个要求。

这其中还会有优化:

当元素小于7时,直接使用冒泡排序,因为在元素个数比较少时,快排和归并排序存在递归调用,在元素比较少的情况下,开销比较大。

在快速排序的比较因子的选择上优化,其中元素个数小于7选中间的,大于7小于40,选前后中间取中间那个,大于40的话分9段,每段随机取一个,选取中间值。


计算机组成原理cpu寄存器,内存,缓存的速率问题

他们的速度是寄存机>缓存>内存,原因大致为:

距离问题,寄存器离cpu处理器最近,内存最远

材质问题,寄存器的由多个集体管组成的,而内存则是晶体管加电容,在电容上存储电位,而电容会存在露电现象,所以需要周期性的充电,而在充电的过程中是不能工作的。

访问方法过程不一样,cpu包含寄存器,程序控制器,计算器,寄存器是cpu处理器直接访问的,而内存的访问需经由程序控制器和暂存区等一些概念控制访问的。

而L1、L2缓存的概念是他们的材质跟寄存器差不多,位置也在cpu中,只是他们类似有去医院看病已经拿到号的病人,需要排队。

这其中还有一个概念,电流的传播速度是多少,网上查过之后发现是接近于光速3*10^8,也就是说在计算机的计算计算后的传播速度是有限制的

还查到一个概念,intel的cpu(i7)45nm,技术远超别人几条大街。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15836次
    • 积分:259
    • 等级:
    • 排名:千里之外
    • 原创:53篇
    • 转载:6篇
    • 译文:0篇
    • 评论:0条
    文章分类