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 ...
随机推荐
- mac下编译FFmpeg-Android
参考: [史上最傻瓜的]mac下编译FFmpeg-Android http://blog.csdn.net/ashqal/article/details/9381037
- PAT 甲级 1065. A+B and C (64bit) (20) 【大数加法】
题目链接 https://www.patest.cn/contests/pat-a-practise/1065 思路 因为 a 和 b 都是 在 long long 范围内的 但是 a + b 可能会 ...
- Spring Boot2.0之整合log4j
传统方式打印日志比较复杂, 每次打印需要定义全局变量 private static final Logger logger = LoggerFactory.getLogger(SjpControlle ...
- SpringMVC框架<mvc:default-servlet-handler/>的作用
1.创建一个新工程 Eclipse下新建一个web项目,File>New>Dynamic Web Project 2.添加Jar包 3.配置Web.xml 4.配置 ...
- Linux_学习_01_常用命令大全
一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...
- android自定义控件(四) View中的方法
onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int ...
- 【Lintcode】120.Word Ladder
题目: Given two words (start and end), and a dictionary, find the length of shortest transformation se ...
- ogg参数解析
1.mgr进程参数说明: GGSCI (sxltj2db) 10> view param mgr port 7809 :指定服务监听端口:默认端口为7809 DYNAMICPORTLIST 78 ...
- asm 兼容性、asm 主要参数管理
一 ASM instance 与 Database instance 的版本兼容性说明 1. Oracle 11gR2 的ASM 支持11g和10g的数据库实例.但是在Oracle Clusterwa ...
- ContextMenu的自定义
1.针对整个ContextMenu, 自定义一个Style,去掉竖分割线 <Style x:Key="DataGridColumnsHeaderContextMenuSty ...