Java的由来
Java的祖师爷 詹姆斯·高斯林
詹姆斯·高斯林 (James Gosling)是一名软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。
1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位。
Java事迹
“Java是世界上最好的语言”,Java和c/c++在每个排行榜基本都是在前三。JavaScript和Java有什么关系呢?要说到这俩的关系,举个例子。就相当于雷锋和雷 峰塔的关系或者说老婆和老婆饼的关系(没有一点关系...),最开始JavaScript叫liveScript,当时Java太火了,于是乎
Java
语言源于
1991
年
Sun
公司
James Gosling
领导的的
Oak
项目,
1995
年
Sun
公司正式起名为
Java
,并提 出“Write once, Run anywhere" 的口号。
Oracle
已经以
74
亿美金的价格收购了
Sun
公司,获得了
Java
商标和
Java
主导权。也收购了
BEA
公
司,获得市场份额最大的应用服务器
Webogic
。
JavaEE 6
虽然是收购之后发布的版本,但主要的设计工作仍然由
原
Sun
公司的
Java
专家完成。
2011
年
7
月,
Oracle
发布
Java 7,
其中主要的特性是
NIO2
和
Fork/Join
并发包,
尽管语言上没有大的增强,但我个人认为,自从
Oracle JDK
(包括
OpenJDK7
),
Java
虚拟机的稳定性真正做到
的工业级,成为一个计算平台而服务于全世界。
2013
年
6
月,
Oracle
发布
JavaEE 7
,这个版本加入了
Websocket
,
Batch
的支持,并且引入
Concurrency
来对
服务器多线程进行管控。然而所有的子规范,算上可选项
(Optional)
总共有
40
多项,开发者光是阅读规范文本就
很吃力了,更不要说能够全局精通掌握。
JavaEE
规范的本质是企业级应用设计的经验凝结,每一个
API
都经过众
多丰富经验的专家反复商议并确定。各个版本之间可以做到向后兼容,也就是说,即使是
10
年前写的
Servlet 程
序,当前的开发者也可以流畅的阅读源码,经过部分代码调整和配置修改,可以部署在当今的应用服务器上。反过
来,今后用
Servlet4
写的程序,浏览器和服务器通信使用全新的
HTTP/2
协议,但程序员在理解上不会有障碍,就
是因为
Servlet
规范的
API
非常稳定,基本没有大的变化修改。
2014
年
3
月,
Oracle
发布
Java 8
,这个版本是我认为的第三个有里程碑意义的
Java
版本。其中最引人注目的便
是
Lambda
表达式了,从此
Java
语言原生提供了函数式编程能力。语言方面大的特性增加还有:
Streams
,
Date/Time API,
集合的并行计算支持等,
Java8
更加适应海量云计算的需要。
2018
年
3
月,
Java 10
正式发布,并带来
109
项新特性。
美国当地时间
2018
年
9
月
25
日,
Oracle
官方宣布
Java 11 (18.9 LTS)
正式发布,可在生产环境中使用!
这是自
Java
8
后的首个长期支持版本
main方法示例
public class Test{
public static void main(String[] args){
System.out.println("Hello,Java");
System.out.println("My name is:"+args[0]);
}
}
如上展示的就是最简单的一个
Java
程序,可能同学们看到后一头雾水,可以说,
Java
的
main
方法应该是当前主流编
程语言中最
“
长
”
的。
通过上述代码,我们可以看到一个完整的
Java
程序的结构,
Java
程序的结构由如下三个部分组成:
1. 源文件(扩展名为 *.java) :源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。2. 类:类中带有一个或多个方法。方法必须在类的内部声明。3. 方法:在方法的花括号中编写方法应该执行的语句。总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。
运行Java程序
Java
是一门半编译型、半解释型语言。先通过
javac
编译程序把源文件进行编译,编译后生成的
.class
文件是由字节
码组成的平台无关、面向
JVM
的文件。最后启动
java
虚拟机来运行
.class
文件,此时
JVM
会将字节码转换成平台能够
理解的形式来运行。
JRE(Java Runtime Environment):Java 运行时环境,包含了 JVM , Java 基础类库。是使用 Java 语言编写程序运行的所需环境。JDK(Java Development Kit):Java 开发工具包,提供给 Java 程序员使用,包含了 JRE ,同时还包含了编译器 javac 与自带的调试工具 Jconsole 、 jstack 等。
Java程序运行需要经过编译,运行两个阶段。
编译:
javac
命令
运行:
java
命令