java 发展简史

【0】README

0.1) 本文转自 core java volume 1,仅供了解Java 的发展历史,它的前世今生,所谓知己知彼,百战不殆(just a joke) ;


【1】java 发展简史

1.1)java的历史要追溯到1991年: 由 Patrick Naughton 和 James Gosling(计算机全能奇才)设计一种计算机语言,主要用于像有线电视转换盒之类的消费设备。由于这些消费设备的处理能力和内存都很有限, 所以语言必须非常小且能够生成非常紧凑的代码; 另外, 由于不同的厂商会选择不同的中央处理器(CPU), 因此这种语言的关键是: 不能与任何特定的体系结构捆绑在一起,这个项目的名字被命名为 “Green”
1.2)引入虚拟机:代码短小,紧凑且与平台无关, 这些要求促使开发团队联想起 很早以前的一种模型, 某些 Pascal的实现曾经在早起的 PC 上尝试过这种模型。以Pascal的发明者Niklaus Wirth 为先驱, 率先设计出一种为假想的机器生成中间代码的可移植语言(假想的机器称为虚拟机——java虚拟机即 JVM的命名由来)。这种中间代码可以应用于已经正确安装解释器的机器上。Green 项目工程师也使用了虚拟机;
1.3)引入Oak 和 java:不过,Sun公司的人都有 UNIX 的应用背景, 因此所开发的语言以 C++为基础,而不是 Pascal, 特别是这种面向对象语言, 而不是面向过程的。Gosling 把这种语言称为“Oak”(这大概因为他非常喜欢其办公室外的橡树)。Sun公司后来发现Oak是一种已有的计算机语言的名字,于是,将其改名为java
1.4)Green项目发布第一个产品——*7: 92年, Green项目发布了第一个产品——7*,Green项目组成员想把该技术推向市场,于是,Green项目组竞标了一个提供视频点播等新型服务的 有线电视盒的项目, 但没有成功,得到这个项目的公司的领导恰恰是开 创 Netscape 公司的 Jim Clark。Netscape 公司后来对java 的成功给予了很大的帮助;
1.5)First Person公司解散: Green项目组(这时换了一个新名字——First Person 公司)花费了1993年一整年以及1994年上半年来寻找技术买家, 然而一个也没有找到, 1994年,First Person 公司解散;
1.6)Internet的万维网发展壮大:当这一切在 Sun 公司中继续进行的时候, Internet 的万维网也日渐发展壮大。Web的关键是吧超文本页面转换到屏幕上的浏览器。 1994年大多数人还都在使用 Mosaic, 这是一个1993年出自 伊利诺斯大学超级计算中心的非商业 化的Web 浏览器;
1.7)Gosling决定开发浏览器: Gosling 说在 1994年中期, java 语言的开发者意思到: ”我们能够建立一个最酷的浏览器“。 因为, 我们已经拥有在 客户机/服务器 主流模型中所需要的体系结构中立、实时、可靠、安全——这些在工作站环境中并不太重要,所以我们决定开发浏览器;
1.8)HotJava浏览器问世:实际的浏览器是由 Patrick Naughton 和 Jonathan Payne 开发的, 并演变为 HotJava 浏览器(采用 Java 语言编写), 他们还让 HotJava 浏览器具有执行网页中内嵌代码的能力, 这些在1995年5月23日的 SunWorld 大会上得到展现;
1.9)java1.0发布: 1996年初, Sun 发布了Java的第一个版本; 1998年12月 Java1.2 发布3天后, Sun 公司市场部将其名称改为 更 加吸引人的 “Java 2 标准软件开发工具箱1.2 版”;除了标准版外, Sun还推出了两个其他的版本: 一个是用于手机等嵌入式设备 的“微型版”;另一个是用于服务器端处理的“企业版”。
1.10)Java成为服务器端应用的首选平台:标准版的1.3和1.4 对最初的Java2 版本做出了某些改进,扩展了标准类库,提高了 系统性能;在此期间, Java applet 采用低调姿态,并淡化了客户端的 应用, 但 Java却成为服务器端应用的首选平台;
1.11)Java5.0版发布: 5.0版 是 自1.1 版以来第一个对 Java语言做出重大改进的版本(这一版本原来被命名为1.5版, 在2004年的 JavaOne会议后,版本数字升至 5.0), 这个版本添加的内容包括:泛型类型(generic type), for each 循环, 自动装箱和元数据;
1.12)版本6于2006年年末发布:这个版本没有对语言方面再进行改进,但增强了类库;
1.13)Sun Microsystems 于2009年被Oracle 收购:随着数据中心越来越依赖于商业硬件 而不是 专业服务器,Sun Microsystems 终于沦陷, 于2009年被Oracle 收购;Java的开发停滞了很长一段时间, 直到2011年 Oracle发布了Java的一个新版本Java7, 其中只做了一些简单的改进,而决定将重要的改进推迟到 Java8, 该版本将在2013年发布;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axios代理跨域 cli4_跨域本质及解决办法

1、什么是跨域?2、如何解决?跨域是前端所独有的,后端不存在跨域问题。是浏览器的一种安全保护手段,为了防止别人抓取、篡改你的网站数据信息。遵循同源策略、同协议(http)、同域名、同端口,少一…

如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率

如何使用eclemma插件你好朋友, 如果编写好的代码很重要,那么编写覆盖所有业务逻辑的优良Junit测试用例也同样重要。通过编写覆盖业务逻辑的Junit测试用例,我们实际上确保代码的每种方法都能正常工作按照预期进行,因此减少了在软…

Java 相关术语

【0】README 0.1) 本文转自 core java volume 1,仅供了解Java 的相关术语,包括像JDK、JRE等 ;而且我感觉,了解了这些过后,你会更懂 Java, 更热爱它; 【2】Java术语 2.1)…

一般试卷的纸张大小是多少_pdf试卷怎么打印在A3纸上

一般的PDF试卷的纸张大小都是A4大小,没有现成A3大小Word文档的试卷时,需要将PDF试卷转换Word文档之后进行排版,如何实现这一操作呢?请接着往下学习吧~一、将试卷的PDF格式转换为Word1.进入PDF快转官网,点击下载按钮下载…

设置 JDK环境变量(Windows)

【0】README 0.1) 本文转自 core java volume 1,旨在说明如何设置 JDK环境变量,以及为什么要设置的问题;【1】JDK目录树 Attention)就Java 而言, docs 和 src 是两个最有用的子目录:因为 docs …

光流法测试代码_高效的企业测试-工作流和代码质量(4/6)

光流法测试代码本文的这一部分将讨论在开发过程中拥有有效工作流程的影响,以及适当的测试代码质量如何使我们能够创建可维护的测试,尤其是对于复杂项目。 开发工作流程和管道 编程是一项流程活动,我们开发人员应该对保持工作流程高效和缩短…

水泵怎么做_泳池设备日常怎么维护和保养?

点击上方“蓝字”,关注我们.●电机突然停止运转怎么办?1.检查电路和电线接口等。2.检查输送到电机的电压是否过低(通常由于电源线太小而引致的电流不足)。3.检查是否有过载而引起电流过大。注:Hayward 水泵的单相电机有自动过热保护装置。该装…

鸡肉部位英文对照_鸡肉和鸡蛋–测试前解决Spring属性

鸡肉部位英文对照考虑一个负责进行远程调用和获取详细信息的服务类: ... public class CitiesService { private final WebClient.Builder webClientBuilder; private final String baseUrl; public CitiesService( WebClient.Builder webClientBuilder, Value ( &…

git pull忽略指定文件_Git忽略提交规则

在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。简单来说一个场景:在你使用git add .的时候,遇…

lombok var_使用var,Lombok和Fluxtion轻松处理事件

lombok var介绍 在本文中,我将结合使用Lombok和Fluxtion这两种产品,以展示工具如何在减少代码编写和交付时间的同时提高代码的可读性。 使用Java 10中的var可以进一步改善这种情况。 产品和var都在构建时使用推断来加速开发。 Fluxtion的精神是最大程度…

更换mysql_安利给你,关于MySQL字符集乱码与解决方案

推荐阅读:闭关修炼21天,“啃完”283页pdf,我终于4面拿下字节跳动offer肺炎在家“闭关”,阿里竟发来视频面试,4面顺利拿下offer字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库&#x…

api自动化_如何在不增加人员的情况下自动化API安全程序

api自动化在这篇文章中,我们将撰写一篇综合文章,内容涉及如何在不增加人员的情况下自动执行API安全程序。 在现代世界中,数据对于提供者和消费者都至关重要。 数据科学的出现证明了这一事实。 对于某些组织,整个业务模型是建立在信…

kali用x-shell连接_良心国产工具,比Xshell好用还免费!

使用或维护Linux系统的都知道,我们日常对服务器的操作,一般都会借助SSH工具远程登录到服务器之后进行操作。常用的SSH工具有不少,比如:Xshell、Putty、SSH Secure Shell Client、secureCRT等等。民工哥使用过其中两种secureCRT和X…

ibm liberty_使用Open Liberty的开发模式最大程度地缩短周转时间

ibm liberty我上传了一个视频,其中显示了如何在编写部署在Open Liberty上的Enterprise Java应用程序时减少周转时间。 Maven插件的liberty:dev目标监视文件更改并立即应用更改,而无需重建整个部署工件。 我将展示在更改源代码,配置&#xff…

vue 分模块打包 脚手架_一步步从头搭建 Vue 开发环境

前言由于是工具,很可能你看到的时候有些工具包已经升级了,会有一些报错;这个你就需要自己探索了。工具的版本node: v10.16.0npm: v6.9.0babel: 7.5.5webpack: 4.38.0入题提醒:在我们开始之前,你先检查下你相关工具的包…

stomp java客户端_Stomp-Spring服务器端的Web套接字Java客户端

stomp java客户端问题&#xff1a; 为了分析问题&#xff0c;我不得不编写一个简单的Java Web套接字客户端站点代码&#xff0c;并使用基于stomp的Web套接字代理连接到服务器端基于Spring的应用程序。 解决方案&#xff1a; pom.xml <?xml version"1.0" encodi…

tf.metrics._将指标标签与MicroProfile Metrics 2.0一起使用

tf.metrics.从我们的应用程序发出的与业务相关的度量标准可能包含要为其测量特定度量标准的参数&#xff08;即标签或标签 &#xff09;。 从MicroProfile Metrics 2.0开始&#xff0c;可以使用API​​将标签分配给特定的指标。 声明式方法 假设我们有以下资源&#xff1a; P…

ppt课堂流程图_除了直线能设计PPT,没想到曲线也实用,太赞了!

前几天在分享PPT设计的方法时&#xff0c;收到反馈&#xff0c;问这种曲线是如何设计以及怎么用&#xff1f;其实对于曲线&#xff0c;如果用好了比直线更加有效果&#xff0c;曲线本身自带动态效果&#xff0c;看一下。除此之外&#xff0c;曲线不仅可以用在PPT中&#xff0c;…

算法分析

【0】README 0.1&#xff09; 本文总结于 数据结构与算法分析&#xff1b;旨在了解 算法分析涉及到的数学基础、时间复杂度分析法则、和其它的一些法则 和 结论&#xff1b; 【1】 数学基础 1.1&#xff09;本书将使用以下4个定义&#xff1a; 对上述定义的分析&#xff0…

java文件端点续传效果图_Java单依赖性Dockerized HTTP端点

java文件端点续传效果图在本文中&#xff0c;我们将创建一个基于Java的HTTP端点&#xff0c;使用它创建一个可执行jar&#xff0c;将其打包在Docker中并立即在本地运行。 本文面向初学者&#xff0c;他们想要寻找一个简单的演练来在Docker中运行Java应用程序。 描述Dockerize…