文章目录
- Java历史
- Java语言的诞生
- Java语言的发展历程
- Java主要用途
- JDK和JRE
- Java语言的跨平台性
- Java语言的编译型和解释型
- Java开发工具
Java历史
Java语言的诞生
大概是1995年左右,Sun公司的詹姆斯·高斯林(James Gosling )带领团队开发Java语言。
虽然不是他一人开发了Java,但是一般来说詹姆斯·高斯林是公认的Java之父
Java在最开始名字叫做Oak(橡树),但是Oak作为商标已经被注册了,于是采用了Java这个名字
Java在英文中的原意是印度尼西亚的爪哇岛(Jawa),以盛产咖啡而闻名
Java的诞生可以说是应运而生,随着互联网的浪潮而兴起。它沿袭了C/C++的很多语法和概念,但是又简化、优化了很多地方。于是Java很快,在2000年左右就成为了最主流的编程语言,直至今天
Java语言的发展历程
1995年5月,在SunWorld大会上,宣布发布Java 1.0版本,并首次提出了著名的“Write Once,Run Anywhere”
1996年1月,JDK 1.0发布,Java语言有了第一个正式版本的运行环境,代表技术为:Java虚拟机(JVM)
1996年5月,Sun公司在旧金山召开了首届JavaOne大会,JavaOne是全世界Java程序员一年一度的交流盛会
1997年2月,JDK 1.1发布,Java语法有了一定的发展,代表语法是内部类,反射,JDBC等
1998年12月,Java迎来了革命性的1.2版本,Sun公司将Java技术体系拆分为了三个方向:
- 面向桌面应用开发的 J2SE(Java 2 Platform,Standard Edition)
- 面向企业级开发的 J2EE(Java 2 Platform,Enterprise Edition)
- 面向手机等移动终端开发的 J2ME(Java 2 Platform,Micro Edition)
J2SE 1.2的代表技术是集合(Collection)体系
2000年5月,J2SE 1.3版本发布,主要改进是升级了Java虚拟机,极大提升了Java执行效率
2002年2月,J2SE 1.4版本发布,1.4版本是Java真正走向商业成熟的一个版本
- 直到现在,仍然有些项目可以运行在1.4版本上
- 1.4的代表技术是异常,正则表达式,日志机制等
2002年同年,微软(Microsoft)公司发布了Java的竞品语言C#以及**.net**平台,极大的影响了Java的发展2004年9月,J2SE 5.0版本发布,Sun公司摒弃了以往1.X的命名规则,主要原因是:
- “1.5版本的改进是如此的大,以至于我们想用5.0称呼它”
- 微软的.net平台发布没多久,就从1.0直升到了2.0,Sun公司认为1.X命名方式过于保守
1.5版本的代表技术是泛型,自动装箱,注解,枚举,可变参数,增强for等
2006年11月,Sun公司由于经营不善,濒临倒闭,于当年的JavaOne大会上宣布开源Java
2006年12月,Java SE 6 发布。这一次Sun公司删除了版本号中的“.0”,重新命名Java技术体系的三个方向:
- 面向桌面应用开发的 Java SE(Java Standard Edition)
- 面向企业级开发的 Java EE(Java Enterprise Edition)
- 面向手机等移动终端开发的 Java ME(Java Micro Edition)
Java 6是Sun公司发布的最后一个Java版本,主要改进是提供了脚本支持,优化了性能
2009年4月,甲骨文(Oracle)公司收购Sun公司,一度辉煌市值超千亿美元的Sun公司湮灭在历史的尘埃中
2011年7月,Oracle公司发布Java SE 7,这是Oracle公司发布的第一个Java版本,是一个过渡版本
- JDK版本分为过渡版本和长期版本
- 过渡版本主要作用是为了让开发者预览新特性,官方不会长期支持修复bug,不稳定
- 长期版本为官方长期关注,并修理bug的版本,稳定
2014年3月,Java SE 8发布,这是Oracle公司发布的第一个Java长期版本,为目前主流商用Java版本
2017年9月,Java SE 9发布,是一个过渡性版本
2018年3月,Java SE 10发布,是一个过渡版本
2018年9月,Java SE 11发布,这是Oracle公司发布的第二个Java长期版本
2019年3月,Java SE 12发布,过渡版本
2019年9月,Java SE 13发布,过渡版本
2020年3月,Java SE 14发布,过渡版本
2020年9月,Java SE 15发布,过渡版本
…
Java主要用途
Web应用
- Web应用,说简单点就是通过浏览器(广义)访问的应用,是当前Java最主流的用途
Android开发
- 安卓开发已经逐渐式微,越来越少人使用Java开发Android
- H5技术
桌面应用开发
桌面应用,简单来说,只需要单机就能使用的应用,就是桌面应用
普遍来说,桌面应用开发是C/C++的天下
但是某些特殊情况下,仍然需要使用Java开发桌面应用
JDK和JRE
JRE(Java Runtime Environment):Java运行时环境
- JRE包括Java虚拟机、运行时核心类库等Java程序运行时必备的环境
- JRE主要是给已经编写好的Java程序使用,也就是说操作系统中想要运行Java程序,必须要有JRE
JDK(Java Development Kit):Java开发者工具包
- JDK包含JRE
- 除了JRE外,JDK还提供了Java开发者需要使用的工具,比如javac.exe,java.exe(Windows)
Java语言的跨平台性
Write Once,Run Anywhere
Java语言最引以为傲,最显著的特性就是Java的跨平台性
- Java的跨平台性是指Java语言编写的应用程序可以在不同的系统平台上运行
Java实现跨平台性依赖于Java虚拟机(Java Virtual Machine,简称JVM)
- Java程序并不是直接执行在操作系统上的,而是执行在Java虚拟机中
- 每个操作系统平台都有自己独有的Java虚拟机
Java语言的编译型和解释型
Java语言是解释型语言?Java语言是编译型语言?
编译执行:通过编译器将源代码编译为机器码(机器能识别的代码指令),然后机器直接执行
解释执行:指由解释器直接执行,不需要编译成机器语言
拿做饭来比喻,源代码就像食材:
-
解释执行像吃火锅,一边煮一边吃,煮菜的人相当于解释器的地位(源代码一边解释,一边执行)
-
编译执行像炒菜吃,先把菜炒好再吃,炒菜的人相当于编译器的地位(源代码一次性编译,直接执行)
食材完全可以做火锅吃,也可以做菜吃,无论怎么吃都只是吃的一种方式罢了
同样的,无论解释执行还是编译执行,其实只是源代码的一种执行方式而已
回到我们的问题本身:
说Java是解释型语言,或编译型语言其实都是很荒谬的
- 这就像说萝卜必须做火锅吃,不能炒菜吃一样
正确的说法是Java某种特定实现是解释型的或者是编译型的
- 拿Java来说,编译得到.class文件的步骤无法忽视,某些JVM内部实现也不是解释执行的,而是编译
- C语言是很多人根深蒂固的编译型语言,但实际上C语言也有它的解释器实现
所以,所谓的编译型和解释型并不是语言的特性,而是语言实现的特性
启示:
- 不要执拗于概念
- 很多概念随着时间和技术的发展,会变得不适用
- 学习技术要多思考,不要人云亦云
Java开发工具
开发Java可以使用的工具很多
记事本类:
Notepad(微软记事本)
Notepad++(弃用)
Sublime Text(主流)
集成开发环境(IDE):
Eclipse(开源免费,有些公司会使用)
MyEclipse(收费,曾经很火)
IDEA(收费,目前最火热的)
最后
以上就是爱听歌宝贝最近收集整理的关于初识Java的全部内容,更多相关初识Java内容请搜索靠谱客的其他文章。
发表评论 取消回复