Java简介
来源:互联网 发布:js 事件绑定区别 编辑:程序博客网 时间:2024/06/06 12:53
Java是SUN ( Stanford UniversityNetwork 斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。
Java名称的来源Java最初被命名为Oak,目标在于家用电器等小型系统的编程语言,随着市场的变化,SUN着眼于网络应用的开发。Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。 机顶盒 高斯林(高司令) 用户想看什么片就看什么…优酷
1995年5月23日,JAVA语言诞生 雏形
1996年,1997分别推出JDK1.0,JDK1.1版1999年,JAVA被分成J2SE,J2EE,J2ME
2000年,JDK1.4发布
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为JavaSE 5.0
2005年,JAVA版本正式更名为JAVAEE,JAVASE,JAVAME
2006年12月,SUN公司发布JRE6.0
2009年04月20日,Oracle以74亿美元收购Sun。取得java的版权。
2010年9月,JDK7.0已经发布,增加了简单闭包功能。
2011年7月,甲骨文公司发布java7的正式版。
java语言重要特性之跨平台
跨平台
什么是跨平台(计算机系统),跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不信赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。
Java的跨平台
Java的跨平台是相对于其他编程语言而言的,通过Java语言编写的应用程序在不同的系统平台上都可以运行。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。在windows编译的c语言程序,在linux下是不能运行的。当然在linux下编译的c语言程序在windows下也是不能运行的。而Java语言在不同平台上运行时不需要重新编译。
Java跨平台的原理:Java的跨平台是通过Java虚拟机(JVM)来实现的。
Java虚拟机(JVM)
Java Virtual Machine 一个软件模拟的计算机。Java源程序想象成我们的C源程序,Java源程序编译后生成的字节码(.class)就相当于C源程序编译后的二进制可执行文件。JVM虚拟机相当于计算机系统(操作系统+硬件环境),Java解释器相当于CPU。
.exe文件直接在windows操作系统下运行,在CPU上运行的是机器码(.exe文件)
.class字节码文件是运行在JVM虚拟机下的,在Java解释器上运行的是Java字节码。
Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一 个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台 下都有相应Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。
Java的三大平台
JavaSE
Java SE(JavaPlatform,Standard Edition)。Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支持Java Web 服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。
例子:类似QQ、扫雷、飞秋、凌波这样子的桌面应用。
Java EE
Java EE(Java Platform,Enterprise Edition)。这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。JavaEE 是在JavaSE 的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-orientedarchitecture,SOA)和Web2.0 应用程序。
Java ME
Java ME(JavaPlatform,MicroEdition)。这个版本以前称为J2ME,也叫K-JAVA。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
- java简介
- Java简介
- Java简介
- Java简介
- Java简介
- java简介
- java简介
- Java简介
- Java简介
- java简介
- Java简介
- java简介
- java简介
- JAVA简介
- java简介
- Java简介
- Java简介
- java简介
- 怎么理解int main(int argc, const char *argv[])
- JVM内存模型和垃圾收集
- Python基础(五) Python文件操作
- 通过telnet查看程序中的变量及执行调试函数
- Android Studio 导入.so文件出现的错误
- Java简介
- ubuntu mongodb报错:mongo - couldn't connect to server 127.0.0.1:27017
- C语言有关内存和动态分配内存传递问题
- 基于RBF简单的matlab手写识别
- iOS之UI高级---CALayer和CAAnimation的混合使用
- Python基础(六) Python中的类
- 周赛 5 【思路题】
- I/O具体类
- java多线程之生产者消费者经典问题