IT兄弟连 Java语法教程 Java语言背景
驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变。Java也不例外。在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华。针对在线环境的蓬勃发展(Internet),Java为高度的分布式体系结构提供了流水线程序设计的功能。
Java是1991年由Sun Microsystems(曾经2000亿美元全球市值第一,google市值第二但是只有300多亿美元,而同期的苹果公司市值只有不到100亿美元。当今苹果公司万亿市值也是全球第一唯一万亿市值的上市公司)公司的James Gosling(大家更喜欢叫他高司令)、Patrick Naughton、Chris Warth、Ed Frank和Mike Sheridan共同构想的成果。这门语言最初名为“Oak”,于1995年更名为“Java”,多少有些让人吃惊的是,设计Java的最初动力并不是源于Internet,而是为了开发一种独立于平台的语言,使其能够用于创建内嵌于不同家电设备(如烤箱、微波炉和遥控器等)的软件。虽然不同类型的CPU都可以用作控制器,但是麻烦在于多数的计算机语言都是针对特定的目标而设计的,例如C++。
虽然任何类型的CPU或许都能编译C++程序,然而这需要CPU具有完整的C++编译器。而开发编译器的成本很高,并且很耗时。为了找到更好的解决方法,Gosling和其他人尝试开发一种可移植的跨平台语言,使该语言生成的代码可以在不同环境下的不同CPU上运行。这一努力最终导致Java的诞生。
大概就在即将设计出Java细节的时候,另一个对Java的成型有更重要影响的因素出现了。第二个动力就是World Wide Web。如果Web没有在Java即将成型的时候问世,那么Java可能会成为对消费类电子产品的程序设计而言有用但却晦涩的语言。然而随着Web的出现,以及Web对可移植程序的需求,Java被推倒了计算机语言设计的前台。
大多数程序员在工作不久就了解到可移植程序既令人期待,也让人难以捉摸。虽然在有了程序设计学科时就有了对创建高效可移植(平台独立)程序的需要,但还是让位于其它一些更为迫切的问题。Internet和Web的出现使原有的可移植性问题重新摆上了桌面。因为,Internet毕竟是由许多类型的计算机、操作系统和CPU组成的多样化的分布式空间。
曾经恼人心绪,却没那么重要的问题也就成为了亟待解决的问题。到了1993年,Java设计团队的成员发现,在创建嵌入式控制器时经常遇到的可移植性问题同样也出现在创建的Internet代码中。了解到这一点后,Java的重点从消费类电子产品转移到了Internet程序设计。因此,尽管开发独立于体系结构的程序设计语言的初衷提供了起初的星星之火,然而却是Internet最终促成了Java的燎原之势。
IT兄弟连 Java语法教程 Java语言背景的更多相关文章
- IT兄弟连 Java语法教程 Java语言入门 典面试题
1.请说明JVM.JRE和JDK是什么?它们有什么关系? JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实 ...
- IT兄弟连 Java语法教程 Java平台的版本划分
自从Sun公司推出Java以来,就力图使之无所不能.Java发展至今,按应用范围划分为3个版本,即Java SE.Java EE和Java ME,也就是SunOne(Open Net Environm ...
- IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK
要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...
- IT兄弟连 Java语法教程 Java语言的其他特性
Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ● 语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面 ...
- IT兄弟连 Java语法教程 Java语言的跨平台特性
什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命 ...
- IT兄弟连 Java语法教程 Java的发展历程
只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...
- IT兄弟连 Java语法教程 Java语法基础 经典面试题
1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...
- IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量
在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12 未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...
- IT兄弟连 Java语法教程 Java开发环境 安装JDK
因为我们要开发Java程序,所以必须在我们的计算机中安装Sun(Oracle)公司提供给我们的JDK.目前最新版本的JDK是JDK 10,但是我们以学习JDK 8为主,所以我们要安装的版本是JDK 8 ...
随机推荐
- Java for LeetCode 091 Decode Ways
A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' - ...
- tensorflow:typeerror:‘noneType’ object is not callable
程序运行报错 typeerror: ‘noneType’ object is not callable 解决方法:删除缓存文件,再次运行没有错误 删除__pycache__文件夹
- iOS app submission : missing 64-bit support
- vs2012环境配置
快捷键 css格式设置 字体设置 新建项目 项目创建失败? 更改默认开发语言环境 1.快捷键 代码格式化:Ctrl+K+D 2.css格式设置: 工具→选项→文本编辑器→CSS→格式设置→选择“紧凑模 ...
- office 2010 激活工具 迷你KMS使用说明
“迷你KMS”——“”体态轻盈仅只1MB.但却一身承担两大职能:KMS服务器和客户激活端.“迷你KMS”可激活Microsoft Office 2010系列三大版本,以及Windows 7企业.专业版 ...
- Contiki clock模块
一.functions for handling system time clock_time_t clock_time(void);//return the current system time ...
- python的join()函数
def join(self, iterable): # real signature unknown; restored from __doc__ """ S.join( ...
- 一步一步教你简单完成 Android USB开发
项目中有一个新的需求,要求可以连接一个USB体温枪,APP可以从体温枪中读取到体温数据,一番搜寻之后发现一个封装很棒的USB通信库. github地址:usb-serial-for-android 准 ...
- POJ 2976 Dropping tests:01分数规划【二分】
题目链接:http://poj.org/problem?id=2976 题意: 共有n场考试,每场考试你得的分数为a[i],总分为b[i]. 你可以任意去掉k场考试. 问你最大的 100.0 * ( ...
- RQNOJ 342 最不听话的机器人:网格dp
题目链接:https://www.rqnoj.cn/problem/342 题意: DD 有一个不太听话的机器人,这个机器人总是会有自己的想法,而不会完全遵守 DD 给它的指令. 现在 DD 在试图命 ...