Java8新特性之引导篇----为什么速度更快
为什么要学习java8新特性? 简单而言就是使一个程序员的代码更加简洁高效,这也是语言发展的必然性,当然我这样说太笼统了,所以我特意去网上找了一张图,相信这张图就很能说明问题了。 何来速度更快? 为什么说java8速度更快呢?因为它对底层的数据结构做了改动,对垃圾回收机制(内存结构)做了改变,对并行做了一个扩展和支持,当然还有一些小的改动就不一一例举了。 数据结构的改变 最典型的就是HashMap,说到它就不得不说一下哈希表了,相信作为程序员大部分应该都知道,HashMap底层其实就是一个链表,说白了就是类似于一个数组+链表的结构(当然它还多了其它东西,嘿嘿,想知道你就得去看看HashMap详解了),然后根据索引来放你想存放的东西,而这个索引是怎么产生的呢,就是通过哈希算法产生的,所以说这一下就提高了多少的运算效率呢,如果没有它,你要放一个新元素去这个数组中,它就需要和数组中已经存在的每一个元素进行一次比较,但有了哈希表后,你每次放一个新元素,只需要计算这个新元素的哈希值,然后通过哈希值找到这个数组的索引,然后往这索引的位置插入就可以了,这样是不是就只需要比较一次了呢。 当然废了这么多话,还没说到HashMap在java7和java8中的区别(坐下,放下你手中的40米大刀),那么,你想下,每次计算到相同的hash值,新的值会代替老的值,那么它是怎么插入的呢(懂得已经懂了,嘿嘿)