返回顶部
首页 > 资讯 > 精选 >Java是怎样产生的
  • 857
分享到

Java是怎样产生的

2023-06-03 05:06:31 857人浏览 八月长安
摘要

这期内容当中小编将会给大家带来有关Java是怎样产生的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java是由James Gosling,Patrick Naughton,Chris Warth,Ed

这期内容当中小编将会给大家带来有关Java是怎样产生的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Java是由James Gosling,Patrick Naughton,Chris Warth,Ed Frank和Mike Sheridan于1991年在Sun Microsystems公司设计出来的。开发第一个版本花了18个月。该语言开始名叫“Oak”,于1995年更名为“Java”。从1992 的秋天Oak问世到1995的春天公开发布Java
语言,许多人对Java的设计和改进做出了贡献。Bill Joy,Arthur van Hoff,Jonathan Payne,Frank Yellin和Tim Lindholm是主要的贡献者,正是他们的贡献使最初原型得以成熟。
说起来多少有些令人吃惊,Java的最初推动力并不是因特网!而是源于对独立于平台(也就是体系结构中立)语言的需要,这种语言可创建能够嵌入微波炉、遥控器等各种家用电器设备的软件。用作控制器的CPU芯片是多种多样的,但C和c++以及其他绝大多数语言的缺点是只能对特定目标进行编译。尽管为任何类型的CPU芯片编译C++程序是可能的,但这样做需要一个完整的以该CPU为目标的C++编译器,而创建编译器是一项既耗资巨大又耗时较长的工作。因此需要一种简单且经济的解决方案。为了找到这样一种方案,Gosling和其他人开始一起致力于开发一种可移植、跨平台的语言,该语言能够生成运行于不同环境、不同CPU芯片上的代码。他们的努力最终促成了Java的诞生。
在Java的一些细节被设计出来的同时,第二个并且也是最重要的因素出现了,该因素将对Java的未来起着至关重要的作用。这第二个因素当然就是万维网(WWW)。如果万维网(WWW)的成型和Java的实现不是同时发生的话,那么Java可能保持它有用、但默默无闻的用于电子消费品编程语言的状态。然而,随着万维网的出现,Java被推到计算机语言设计的最前沿,因为万维网也需要可移植的程序。绝大多数程序员在涉足编程领域时就知道可移植的程序像他们的理想一样难以捉摸。
尽管人们对高效的、可移植的(独立于平台)编程方式的追寻几乎和编程历史一样久远,但它总是让位于其他的更为紧迫的问题。此外,因为计算机业被 Intel,Macintosh和UNIX这3个竞争对手垄断,大多数程序员都在其中的某个领域内长期工作,所以对可移植语言的需求就不是那么迫切。但是,随着因特网和WEB的出现,关于可移植性语言的旧问题又被提了出来。毕竟,因特网由不同的、分布式的系统组成,其中包括各种类型的计算机、操作系统和 CPU。尽管许多类型的平台都可以与因特网连接,但用户仍希望他们能够运行同样的程序。曾经是一个令人烦恼却无需优先考虑的问题现在变成了急需解决的问题。
1993年,Java设计小组的成员发现他们在编制嵌入式控制器代码时经常遇到的可移植性问题,在编制因特网代码的过程中也出现了。事实上,开始被设计为解决小范围问题的Java语言同样可以被用在大范围的因特网上。这个认识使他们将Java的重心由电子消费品转移到Internet编程。因此,中立体系结构编程语言的需要是促使Java诞生的源动力,而Internet却最终导致了Java的成功。
正如前面提到的,Java的大部分特性是从C和C++中继承的。Java设计人员之所以故意这么做,主要是因为他们觉得,在新语言中使用熟悉的C 语法及模仿C++面向对象的特性,将使他们的语言对经验丰富的C/C++程序员有更大的吸引力。除了表面类似外,其他一些促使C和C++成功的因素也帮了 Java的忙。首先,Java的设计、测试、精炼由真正从事编程工作的人员完成,它根植于设计它的人员的需要和经验,因而也是一个程序员自己的语言。
其次,Java是紧密结合的且逻辑上是协调一致的。最后,除了那些Internet环境强加的约束以外,Java给了编程人员完全的控制权。如果你程序编的好,你编写的程序就能反映出这一点。相反,如果你的编程手法拙劣,也能在你的程序中反映出来。换一种说法,Java并不是训练新手的语言,而是供专业编程人员使用的语言。
由于Java和C++之间的相似性,容易使人将Java简单地想象为“C++的版本”。但其实这是一种误解。Java在实践和理论上都与C++有重要的不同点。尽管Java受到C++的影响,但它并不是C++的增强版。例如,Java与C++既不向上兼容,也不向下兼容。当然,Java与C++的相似之处也是很多的,如果你是一个C++程序员,你会感觉到对Java非常熟悉。另外一点是:Java并不是用来取代C++的,设计Java是为了解决某些特定的问题,而设计C++是为了解决另外一类完全不同的问题。两者将长时间共存。
计算机语言的革新靠两个因素驱动:对计算环境改变的适应和编程艺术的进步。环境的变化促使Java这种独立于平台的语言注定成为Internet上的分布式编程语言。同时,Java也改变了人们的编程方式,特别是Java对C++使用的面向对象范例进行的增强和完善。所以, Java不是孤立存在的一种语言,而是计算机语言多年来的演变结果。仅这个事实就足以证明Java在计算机语言历史上的地位。Java对Internet 编程的影响就如同C对系统编程的影响一样:革命的力量将改变世界。

上述就是小编为大家分享的Java是怎样产生的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Java是怎样产生的

本文链接: https://www.lsjlt.com/news/232974.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java是怎样产生的
    这期内容当中小编将会给大家带来有关Java是怎样产生的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java是由James Gosling,Patrick Naughton,Chris Warth,Ed ...
    99+
    2023-06-03
  • redis的新主节点是怎样产生的
    redis的新主节点是怎样产生的?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。新的主节点是通过选举产生的,并基于Raft算法的领头选举“l...
    99+
    2024-04-02
  • Oracle 11G RAC生产环境下的架构是怎样的
    本篇文章给大家分享的是有关Oracle 11G RAC生产环境下的架构是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 在真实环境搭建...
    99+
    2024-04-02
  • 死锁是怎么产生的
    这篇文章主要讲解了“死锁是怎么产生的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“死锁是怎么产生的”吧!Part1 问题由于innodb engine st...
    99+
    2024-04-02
  • MySQL 8.0源码redo log的产生以及用法是怎样的
    MySQL 8.0源码redo log的产生以及用法是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。最开始了解mysql...
    99+
    2024-04-02
  • Java中Servlet的生命周期是怎样的
    这篇文章主要介绍“Java中Servlet的生命周期是怎样的”,在日常操作中,相信很多人在Java中Servlet的生命周期是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Servlet的生命...
    99+
    2023-06-28
  • Buffer Busy Waits是怎么产生的?
    哪些场景会产生Buffer Busy Waits Buffer Busy Waits是Oracle 数据库常见的一个等待,特别是在并发写比较频繁的环境里。作为一个Oracle DBA,如果你从未遇到过...
    99+
    2024-04-02
  • java怎么产生随机数
    随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:第一种:new Random()需要借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random(...
    99+
    2022-04-18
    java基础 java 随机数
  • Java中死锁产生的条件是什么
    这篇文章将为大家详细讲解有关Java中死锁产生的条件是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。java基本数据类型有哪些Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点...
    99+
    2023-06-14
  • 怎样选择生产行业ERP系统
    这篇文章的内容主要围绕怎样选择生产行业ERP系统进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!不知道从什么时候开始,大数据、商业智能开始成为热词,几...
    99+
    2023-06-05
  • 亚马逊生产服务器设备是什么样的
    除了英特尔处理器,亚马逊还会采用其他处理器,如AMD锐龙、Ryzen等,以满足不同的业务需求。此外,亚马逊还会根据业务的特殊要求和负载平衡情况来选择最适合的处理器。 总的来说,亚马逊生产服务器设备通常具有高性能、高可靠性、高可扩展性和低能...
    99+
    2023-10-27
    亚马逊 服务器 设备
  • 网站漏洞是怎么产生的
    网站漏洞的产生:网站漏洞是由于开发人员在设计程序时,没有严格对用户的输入数据或页面中所携带的信息进行必要的合法性判断,导致了攻击者可以利用这个编程漏洞来入侵数据库或者攻击Web应用程序的使用者,由此获得一些重要的数据和利益。...
    99+
    2024-04-02
  • Java实战之王者荣耀的英雄是怎么产生的?
    目录一、前期准备二、实现我的英雄梦!2.1 英雄基本属性实现2.2 装备包三、野怪实现四、开始游戏一、前期准备 我们要在IDEA上创建一个新的项目,创建好一个项目后,我们需要创建4个...
    99+
    2024-04-02
  • UNIX_TIMESTAMP() 函数产生什么样的输出?
    函数 UNIX_TIMESTAMP 以秒为单位生成输出,即该函数会将指定的日期或日期时间值转换为总秒数。例如,日期 '1970-05-15 05:04 :30' 将被 UNIX_TIMESTAMP 函数转换为总计 11576070 秒。my...
    99+
    2023-10-22
  • 生产数据库MyISAM存储引擎转为Innodb的过程是怎样的
    生产数据库MyISAM存储引擎转为Innodb的过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql数据库存储...
    99+
    2024-04-02
  • java线程池产生死锁的原因是什么
    本篇文章为大家展示了java线程池产生死锁的原因是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向...
    99+
    2023-06-14
  • java线程之死锁产生的原因是什么
    这篇文章主要讲解了“java线程之死锁产生的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java线程之死锁产生的原因是什么”吧!一、什么是死锁死锁是指两个或两个以上的进程在执行过...
    99+
    2023-06-30
  • java生产环境热部署的方法是什么
    Java生产环境热部署是指在不停止应用程序服务的情况下更新应用程序代码或配置文件,使新的代码或配置生效。以下是几种常见的Java生产...
    99+
    2024-04-02
  • 使用python怎样产生10个不同的随机数
    目录怎样产生10个不同的随机数1、第一种2、第二种3、第三种随机产生10个0~100之间的随机数并求和实现代码代码优化怎样产生10个不同的随机数 python产生10个不同随机数的方...
    99+
    2024-04-02
  • ERP生产管理系统是什么样的?对企业作用是什么?
    说到ERP生产管理系统哪个好?好用的ERP生产管理系统有哪些?相信很多ERP领域专家,或准备上ERP的生产企业,都会认为没有答案。因为就像买车,不同价位有不同品牌,不同品牌有不同优势,比如,有的很耐用,有的质感好,有的动力好,有的空间大……...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作