祝贺 Java 走过创新的 25 年

从最初面向消费类电子产品领域而设计,到在企业级应用程序、游戏开发、电子政务,乃至无人驾驶、线上支付、太空探索等场景中游刃有余,可以说,Java 凭借其抽象、封装、继承、多态的特性,在整个互联网迭代的进程中功不可没。

近日,在 Java 25 周年之际,甲骨文公司 Java 平台软件开发副总裁 Georges Saab 发文回顾 25 年以来,Java 的成长历程,以庆祝 Java 25 岁生日快乐!

改变世界,Java 一直在!

在这里插入图片描述
作者 | 甲骨文公司Java平台软件开发副总裁 Georges Saab

25年前,我们无论如何也无法想象,世界能像现在这样近在手边:只需几次点击,就能轻松获得想要的东西。而在今天,这种便捷的生活方式比以往任何时候都更加重要。

这在很大程度上要归功于Java带来的创新。25年前,Java带着开发团队对它的宏伟愿景诞生。如今,随着现代化开发功能的持续推出,Java对我们身边几乎所有的应用产生了深刻影响,从无人驾驶汽车到线上支付,从游戏娱乐到太空探索,无一不及。

在此,我们向数百万Java开发人员表示由衷感谢。如果没有你们的热情和创造力,世界将会是另外一番景象。同时,甲骨文承诺对Java持续创新,不负重托,赋能无数开发人员持续将创意转化为美好的现实。

我们的生活因Java而更精彩,每天都有创新不断涌现。

**2004年,Java帮助美国国家航空航天局(NASA)使用“勇气号”火星探测器在火星上寻找水和生命迹象。**NASA使用Java开发远程控制探测器,并从任务数据库中获取原始数据来创建“点击式”3D地形图,以便科学家远程控制探测器的所有行动。Java不仅能够处理任务所需的大量数据,而且是一种通用语言,支持参与该项目的各国科学家实现了真正意义上的协作。

2015年,Twitter平台上每天发布的推文超过4亿条,平台性能亟待提升,以支持不断增长的用户规模。鉴于此,Twitter采用了Java虚拟机(JVM)运行时环境来解决性能问题,帮助平台支持团队及时发现错误,并深入了解错误原因。 自采用JVM以来,Twitter持续提升服务水平,提供深受用户青睐的卓越实时体验。

同样在2015年,Java助力Netflix扩展服务规模,为超过5700万订阅用户提供服务,每月流媒体服务时间长达10亿小时。 Netflix在基于Java和JVM的架构中构建服务,并使用基于Java的开源工具对这些服务进行持续监控、升级和扩展。如今,Netflix可基于收集的数据为全球超过1.8亿订阅用户推荐节目和电影,并通过快速大规模创新吸引用户继续订阅。

揭示宇宙结构及运行方式绝非易事。数十年来,欧洲核子研究中心(CERN)一直使用Java作为大型强子对撞机,10万台设备和200万个端点的软件基础。2016年,CERN开始使用Java解决其他问题:管理IT基础设施,尤其是管理庞大的ERP系统。 该系统能够帮助团队高效使用数十亿美元的研究预算。现在,CERN使用Java开发的系统稳定又可靠,确保超大型机器保持正常运行,助力CERN完成使命。

2019年,使用Java编程语言编写的Minecraft(我的世界)为数百万玩家开启了一个崭新世界,成为有史以来最畅销的电子游戏。 Codakid由此发现了“寓教于乐”的商机,并开设了Minecraft编码课程,让孩子们可以一边创建自定义块、武器和敌人等游戏内容,一边学习使用Java编写代码。借助Minecraft,Java正在帮助下一代计算机科学家和程序员们,小时候在游戏中打造梦想世界,长大后借助代码,改变世界。

回顾过去,硕果累累。展望未来,甲骨文承诺将持续致力于推进Java创新。我们将继续支持数百万使用Java的开发人员不断探索,从娱乐到核物理,从社交媒体到火星探秘,重塑我们生活的世界。

在过去的25年里,我们见证了Java给我们的生活带来的巨大积极变化。在接下来的25年乃至更远的未来,Java的前景更加令人期待。Java,改变世界。

已标记关键词 清除标记
相关推荐
42、Java的接口和C++的虚类的相同和不同处   答:由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。 43、Java中的异常处理机制的简单原理和应用   答:当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。 43、垃圾回收的优点和原理。并考虑2种回收机制   答:Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 44、你所知道的集合类都有哪些?主要方法?   答:最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。 Map 提供了一个更通用的元素存储方法。 Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。 45、描述一下JVM加载class文件的原理机制?   答:JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。 46、排序都有哪几种方法?请列举   答:排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序) 快速排序的伪代码。   使用快速排序方法对a[0 : n-1]排序:   从a[0 : n-1]中选择一个元素作为middle,该元素为支点,把余下的元素分割为两段left和right,使得left中的元素都小于等于支点,而right中的元素都大于等于支点。   递归地使用快速排序方法对left进行排序   递归地使用快速排序方法对right 进行排序   所得结果为left + middle + right 47、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?   答:Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。   用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。   throw语句用来明确地抛出一个"异常"。   throws用来标明一个成员函数可能抛出的各种"异常"。   Finally为确保一段代码不管发生什么"异常"都被执行一段代码。   可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页