[Java]Java与JavaScript

JavaJavaScript

Java是一种计算机编程语言,拥有面向对象跨平台泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发

 面向对象的程序设计OOPObjectOriented Programming

Java的特点之一就是面向对象,是程序设计方法的一种。面向对象程序设计语言的核心之一就是开发者在设计软件的时候可以使用自定义的类型和关联操作代码和数据的实际集合体叫做对象一个对象可以想象成绑定了很多行为(代码)状态(数据)的物体。对于数据结构的改变需要和代码进行通信然后操作,反之亦然。面向对象设计让大型软件工程的计划和设计变得更容易管理,能增强工程的健康度,减少失败工程的数量。

SUN公司的名字是由Stanford University Network缩写而来。升阳公司、太阳公司。SUN公在行业中被认为是最具创造性的企业之一,它是极少数几个自己生产微处理器,电脑系统以及操作系统的公司之一。

太阳微系统的工程师詹姆斯·高斯林1990年代初开发Java语言的雏形:Oak(橡树,以他的办公室外的橡树命名),其目标设置在家用电器等小型系统的程序语言,应用在电视机电话闹钟烤面包机等智能家用电器的控制和通讯。由于这些小家电赚不到大钱,而此时互联网的迅猛发展吸引了Sun公司老板,他们决定改造了Oak将该技术转型应用于万维网。于是,1995Java的名称正式发布。伴随着互联网的迅猛发展而发展,Java逐渐成为重要的网络编程语言。

在流行几年之后,Java在浏览器中的地位被逐步侵蚀。它在简单交互性动画方面的用途已经完全被Adobe公司的Flash排挤,2005Java倾向只被用于雅虎游戏那样的更为复杂的应用程序。Java同时遭受到来自微软的反对,他们决定在新版本的Internet ExplorerWindows中不再附带Java平台。但在万维网的服务器端和手持设备上,Java变得更加流行。很多网站在后端使用JSP和其他的Java技术。

在桌面系统上,独立的Java程序还是相对少见,这是因为Java平台的运行开销较大,而许多人的电脑上没有安装Java,由于网络带宽在以前较小,下载Java曾经是个耗时的事情。但是随着计算机计算能力、网络带宽在10年中获取了很大的进步,同时虚拟机和编译器的质量得到了提高,许多应用程序得到了广泛的使用,包括开源软件NetBeansEclipse等软件开发工具、Android操作系统、Apache软件基金会Tomcat等等。

 

Java和印尼爪哇岛有什么关系?

Java爪哇岛是印度尼西亚的最重要岛屿。南临印度洋,北面爪哇海,印尼首都雅加达则位于岛的西北,所以是全国政治、经济、文化中心。爪哇岛是世界上人口最多,也是人口密度最高的岛屿之一,全岛面积12.7万平方公里,人口1.24亿(2005年),密度高达每平方公里981人。

最早这个编程语言叫做Oak,但申请注册的时候被告知这个名字已经被注册了,Sun公司吐血不止,但也无可奈何。然后他想想用Oak233Oak666这种带数字后缀的很他妹low,就擦干嘴角的鲜血回去召集了一个改名会议。恰好参会者们在会上都喝一款叫“XXX Java”的咖啡(其原料咖啡豆是咖啡豆出产地爪哇岛),有人就顺口喊出Java这个名字了。最后Java中枪,竟获得了大部分支持票数,于是被最终采用。

作者:魔幻王链接:http://www.zhihu.com/question/41591996/answer/91612849    来源:知乎著作权归作者所有。

太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象分布式解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言

Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用替换,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口替换,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程类型安全的枚举、不定长参数和自动装/拆箱特性。

垃圾回收器功能:大多数C++编译器不支持垃圾收集机制。程序员初始化对象时,会在主机内存堆栈上分配一块内存与地址,当不需要此对象时,进行删除释放分配的内存地址。如果对象是在堆栈上分配的,而程序员又忘记进行删除,那么就会造成内存泄漏Memory Leak)。长此以往,程序运行的时候可能会生成很多不清除的垃圾,浪费了不必要的内存空间。而且如果同一内存地址被删除两次的话,程序会变得不稳定,甚至崩溃。Java语言与C++不同,上述的情况被自动垃圾收集功能自动处理。对象的创建和放置都是在内存堆栈上面进行的。当一个对象没有任何引用的时候,Java的自动垃圾收集机制就发挥作用,自动删除这个对象所占用的空间,释放内存以避免内存泄漏。

Java不同于一般的编译语言直译语言。它首先将源代码编译成字节码然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了一次编写,到处运行的跨平台特性程序的轻便性事实上是软件编写很难达到的一个目标,Java虽然成功地实现了一次编译,到处运行,但是由于平台和平台之间的差异,所编写的程序在转换代码的时候难免会出现微小的、不可察觉的错误和意外。有些程序员对此非常头疼,他们嘲笑Java的程序不是一次编译,到处运行,而是一次编译,到处调试但跨平台运行让Java在服务器端软件领域非常成功。很多服务器端软件都使用Java或相关技术建立。

执行Java应用程序必须安装Java RuntimeEnvironmentJRE),JRE内部有一个Java虚拟机(Java VirtualMachineJVM以及一些标准的类库(ClassLibrary)。通过JVM才能在电脑系统执行Java应用程序(Java Application),这与.Net Framework的情况一样,所以电脑上没有安装JVM,那么这些程序将不能够执行。实现跨平台性的方法是大多数编译器在进行Java语言程序的编码时候会生成一个用字节码写成的半成品,这个半成品会在Java虚拟机(解释层)的帮助下运行,虚拟机会把它转换成当前所处硬件平台的原始代码。之后,Java虚拟机会打开标准库,进行数据(图片、线程和网络)的访问工作。

与传统型态不同, Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿JavaC#语言。2009年,Sun公司被Oracle Corp甲骨文公司并购,Java也随之成为甲骨文公司的产品。(比如Solaris原先是太阳微系统公司研制的Unix操作系统,在Sun公司被Oracle并购后,称作Oracle Solaris。)

甲骨文股份有限公司(Oracle)是全球大型数据库软件公司。总部位于美国加州红木城的红木岸(Redwood Shores),在2013年,甲骨文是继Microsoft后,全球收入第二多的软件公司。

1978年,开发出第一版甲骨文系统(Oracle),以汇编语言写成。1982年,推出甲骨文系统,公司也更名为甲骨文系统公司(Oracle Systems Corporation)。最初一年赚不到百万美金,在10年间迅速冒起,2004年市值达640亿美元。

2000年前后,微软的数据库产品,只集中在中小企市场,但微软推出MS SQL Server 7数据库后,技术上突破,抢占高档软件市场。IBM亦以DB2数据库,高姿态抢攻市场,令甲骨文面临庞大挑战。而在甲骨文踏入应用软件时,也要面对欧洲最大的软件企业SAP公司的竞争。目前SAP是中国市场最受欢迎的企业管理软件之一

SAP公司总部位于德国,是欧洲最大的软件企业SAP同时是世界上最大的商业应用、企业资源规划ERP)解决方案和独立软件的供应商,在全球企业应用软件的市场占有率高达三成以上。

20094月,在IBM对外宣布收购SUN公司失败的一周后,甲骨文宣布成功收购SUN全部股权,这一爆炸性新闻之后的一个明确信号:甲骨文从纯软件厂商走向既有硬件(全球高端服务器系统、存储系统的厂商)、也有软件,全球唯一能和IBM全面抗衡的公司。

 

JavaScript Java 有什么不同?

1995年时,由网景公司的布兰登·艾克,在网景导航者浏览器上首次设计实现而成。因为网景公司与昇阳公司的营销合作,加上网景公司管理层希望它外观看起来像Java,因此取名为JavaScript

为了获取技术优势,微软推出了JScript,与JavaScript同样可在浏览器上运行。为了统一规格,1997年,在ECMA(欧洲计算机制造商协会)的协调下,由网景、昇阳、微软和Borland公司组成的工作组确定统一标准:ECMA-262。因为JavaScript兼容于ECMA标准,因此也称为ECMAScript

 

Java一样,JavaScript也是Oracle的注册商标。JavaScript 编程语言并不是 Java 平台的一部分。JavaScript 不会创建小应用程序或独立应用程序。在最常见的形式中,JavaScript 驻留在 HTML 文档中,可提供使用简单的HTML 无法实现的各种网页交互功能。JavaScript从支持许多C语言的结构化编程语法(例如if条件语句、while循环、switch语句、do-while循环等)。

 

不同于服务器端脚本语言,例如PHPASPJavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。而随着服务器的强壮,虽然现在的程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。同时,有些特殊功能(如AJAX)必须依赖Javascript在客户端进行支持。随着引擎如V8和框架如Node.js的发展,及其事件驱动异步IO等特性,JavaScript逐渐被用来编写服务器端程序。

Java JavaScript 之间的主要区别:

·        Java 是一种OOP 编程语言,而Java Script 是一种 OOP 脚本语言。

·        Java 创建在虚拟机或浏览器中运行的应用程序,而 JavaScript 代码仅在浏览器中运行。

·        Java 代码需要进行编译,而JavaScript 代码都在文本中。

·        它们需要不同的插件。

 

JavaScript的基本特点如下:

·        是一种解释性脚本语言(代码不进行预编译)。

·        主要用来向HTML页面添加交互行为

·        可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

 

JavaScript常用来完成以下任务:

·        嵌入动态文本于HTML页面

·        对浏览器事件作出响应

·        读写HTML元素

·        在数据被提交到服务器之前验证数据

·        检测访客的浏览器信息

·        控制cookies,包括创建和修改等

 


你可能感兴趣的:(Java)