Git的诞生和高并发的演变

01

Git的诞生

Linus Torvalds,是一个传奇式的人物,他给出了Linux的原型,并一直积极推广Linux。1991年,在网络上发布了源码,从此之后,Linux族群迅速壮大。

2002年,Linus决定使用Bitkeeper作为Linux的内核开发的版本控制工具,Bitkeeper是一套分布式版本控制软件,是一套商用系统,由BitMover公司开发,2005年,BitMover宣称发现Linux内核开发人员使用逆向工程来解析Bitkeeper内部协议,因此,决定向Linus收回Bitkeeper的使用授权,Linus进行协商,结果失败。因此,Linus决定自行研发版本控制工具,于是Git诞生了。

linus提出,“并行”是一个早该结束流传的词语。并行计算只有在图像处理和服务端变成2个领域有着广泛的使用,其他地方,毫无建树。

02

摩尔定律的提出

摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24个月翻一倍以上。这一定律揭示了信息技术进步的速度。

尽管这种趋势已经持续了超过半个世纪,摩尔定律仍应该被认为是观测或推测,而不是一个物理或自然法。预计定律将持续到至少2015年或2020年。然而,2010年国际半导体技术发展路线图的更新增长已经放缓在2013年年底,之后的时间里晶体管数量密度预计只会每三年翻一番。况且我们的制造工艺已经到了纳米,就目前的科技水平而言,如果无法在物质分子层面以下进行工作,那么摩尔定律可能无法取到大层面突破。

03

多核CPU出现

CPU性能已经几近止步,摩尔定律,轰然倒地,从2005年起,科学家工程师,着迷与研究将多个独立的计算机单元整合到单个CPU中,也就是我们如今所说的多核CPU,短短十几年,就出现了4核,乃至8核。一些服务器通常可以配有几个独立的CPU,每一个CPU都拥有多达8个甚至更多的内核。从整体来看,这样式的服务器内核总数可以达到几百个。

唐纳德·尔文·克努斯评价了这种情况:“在我看来,这种现象(并发)或多或少是由于硬件设计者无计可施了导致的,他们将摩尔定律失效的责任推脱给了软件开发者”。

摩尔定律本应该由硬件开发人员维持,但是,硬件工程师似乎无计可施,为了继续保持性能的高速发展,想出了将多个CPU内核塞进一个CPU里。由此,并行计算就被非常自然的推广了下来,软件工程师也正在为硬件工程师无法完成的工作而负责。也就有了唐纳德的说法。

04

java高并发诞生

现在并行计算已经成为了一门学问,虽然很多人(包括Linus),觉得并行计算或者说并行算法是多么奇葩,但是在某些领域,这些算法还是有用武之地的,既然说服务端编程还是大量需要并行计算的,而java也主要占领着服务端市场,那么对java的并行计算研究也就非常的必要。

本文分享自微信公众号 - JAVA知识总结与分享(summing_up_sharing)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北风IT之路

Java中String对象最容易被忽略的知识

String是一个字符串类型的类,使用""定义的内容都是字符串,但是String在使用上有一点特殊,它有两种定义方式,相信所有java程序员都知道,但是有些细节...

13120
来自专栏北风IT之路

Java实例化对象过程中的内存分配

在这个类中定义了两个属性和一个方法,当然也是可以定义多和类和多个方法的。 类现在虽然已经定义好了,但是一个类要使用它必须要实例化对象,那么对象的定义格式有一下两...

17330
来自专栏北风IT之路

详解Class类文件的结构(上)

相信搞Java开发的同学都经常会接触到Class类文件,了解了JVM虚拟机之后也会大量接触到class字节码,那么它到底是什么样的文件?内部由什么构成?虚拟机又...

33130
来自专栏北风IT之路

详解Class类文件的结构(下)

本文继续使用上次的Test.class文件,它是由下面单独的一个类文件编译而成的,没有包。

15020
来自专栏Linyb极客之路

Rocketmq之No route info of this topic解决思路

用过rocketmq的人,采用客户端调用的时候,可能会相对高频的出现的 No route info of this topic这个异常问题,然后你可能会拿着这个...

4K50
来自专栏北风IT之路

介绍一个我开发的Java虚拟机监控API

VmConsole-Api是一个jvm虚拟机性能监控API,将oracle jdk提供的tools.jar、sa-jdi.jar包进行了功能拓展,对一些...

17730
来自专栏Linyb极客之路

偏向锁、轻量级锁、重量级锁、自旋锁原理讲解

在讲解这些锁概念之前,我们要明确的是这些锁不等同于Java API中的ReentratLock这种锁,这些锁是概念上的,是JDK1.6中为了对synchron...

58020
来自专栏A周立SpringCloud

Java开发人员最常犯的10个错误,你犯过几个?

Arrays.asList()会返回一个ArrayList,但是要特别注意,这个ArrayList是Arrays类的静态内部类,并不是java.util.Arr...

9030
来自专栏Hadoop实操

0650-6.2.0-通过UDF实现Hive&Impala的中文拼音排序

由上面两张图可以看出,在Hive和Impala中排序都失败了,没有按照期望中的中文对应的拼音进行排序。

17420
来自专栏Java系列文章

JDK源码阅读(三):ArrayList源码解析

一般来讲文章开始应该先介绍一下说下简介。这里就不介绍了 如果你不知道 ArrayList 是什么的话就没必要在看了。大致讲一下一些常用的方法

10630

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励