欢迎来到妙阿知识产权官方网站!

java 运行平台都有哪些 java运行平台包括

来源:知识产权百科 / 时间: 2025-03-23


一、JAVA发展史

时间

版本

事件

说明

1991

Sun公司将以C++为基础的语言命名为Java

1995

浏览器演变为HotJava浏览器,并在网页中执行内嵌Java代码。

1996

Java1.0

Java1.0发布,开发代号Oka

缺陷型局限性很大,不能用于开发

1997

Java1.1

  • 引入JDBC(Java Database Connectivity);
  • 支持内部类;
  • 引入Java Bean;
  • 引入RMI(Remote Method Invocation);
  • 引入反射(仅用于内省)

1998

J2SE1.2

J2SE 1.2发布, Java正式改名为J2SE

Sun公司推出了Java三大平台版本

1. J2SE: Java标准版(Standard Edition)

2. J2EE: 服务器端开发得企业版(Enterprise Edition)

3. J2ME: 手机嵌入式设备微型版(Micro Edition)- 引入的新特性包括:

- 引入集合(Collection)框架;

- 对字符串常量做内存映射;

- 引入JIT(Just In Time)编译器;

- 引入对打包的Java文件进行数字签名;

- 引入控制授权访问系统资源的策略工具;

- 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库;

- 引入Java 插件;

- 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型;

- 在Applet中添加声音支持。

J2SE、J2EE、J2ME中的"2"是英文单词"to"的意思

J2SE: Java To Standard Edition 

J2EE: Java To Enterprise Edition

J2ME: Java To Micro Edition 

1999

HotSpot虚拟机发布

2000

J2SE 1.3

开发代号为Kestrel(红隼)

- 引入的新特性包括:
- 引入Java Sound API;
- jar文件索引;
- 对Java的各个方面都做了大量优化和增强。

2001

J2EE1.3

2002

J2SE 1.4发布, Java成为服务器端开发的首选平台

  • 引入的新特性包括:
  • XML处理;
  • Java打印服务;
  • 引入Logging API;
  • 引入Java Web Start;
  • 引入JDBC 3.0 API;
  • 引入断言;
  • 引入Preferences API;
  • 引入链式异常处理;
  • 支持IPv6;
  • 支持正则表达式;
  • 引入Image I/O slot machine API。

2004

J2SE1.5

这是一个里程碑版本

Sun公司直接对外宣布JavaSE5.0

2005

Java SE 6

J2EE改名为 Java EE

J2SE改名为 Java SE

J2ME改名为 Java ME

2006

Sun公司宣布JDK开源
并且建立了 OpenJDK 组织对这些源码进行独立管理

  • 引入的新特性包括:
  • 支持脚本语言;
  • 引入JDBC 4.0 API;
  • 引入Java Compiler API;
  • 可插拔注解;
  • 增加对Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的支持;
  • 继承Web Services;
  • 做了很多优化。


2009

Oracle 以 74 亿美元收购 Sun 公司
取得了 Java 的商标版权

  • 引入的新特性包括:
  • switch语句块中允许以字符串作为分支条件;
  • 在创建泛型对象时应用类型推断;
  • 在一个语句块中捕获多种异常;
  • 支持动态语言;
  • 支持try-with-resources;
  • 引入Java NIO.2开发包;
  • 数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线;
  • 钻石型语法;
  • null值的自动处理。

2011

JavaSE 7

2014

JavaSE 8

2017

jJavaSE 9

JavaSE 9发布

Oracle 决定将JavaEE移交给开源组织,最后 Eclipse 基金会接手

JavaEE更名为Jakarta EE(雅加达)

2018

JavaSE 10 

JavaSE 11 LTS

从这一年开始, 每6个月就会发布一个 Java 版本

并区分了最新版和LTS版, 生产环境最好使用LTS版本

JavaSE 10 发布

JavaSE 11 LTS发布

LTS: Long Time Support (长期稳定支持版本)

非LTS版本的可能会随时停更弃用

2019

JavaSE 12 

JavaSE 13 

2020

JavaSE 14 

JavaSE 15 

2021~2022

JavaSE 16 
JavaSE 17 LTS 

Java SE 18 

二、JAVA三大平台

J2SE (Java Standard Edition Java 标准版 (Standard Edition)

J2EE:Java To Enterprise Edition  服务器开发端的企业版 (Enterprise Edition)

J2ME: Java To Mircro Edition 手机嵌入式设备微型版 (Mricro Edition)

三、JDK 、JRE 、JVM 是什么

JDK:(Java Development Kit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序的开发。jdk是java开发的核心,包括了Java运行环境、一堆Java工具和Java基础的类库。
JRE:(Java Runtime Environment)是Java运行环境,包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)
 

JVM:(Java Virtual Machine)是java运行环境的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现

四、安装jdk后,为什么要配置环境变量

配置环境变量可以在所有目录下执行java命令,系统通过环境变量可以找到java编译器
 

五、JAVA语言跨平台原理

一次编译、到处运行

1、Java程序的运行要经过编辑、编译、解释并执行三个阶段。
2、Java源代码经过编译生成字节码文件(.class)。字节码文件与平台无关,不面向任何具体平台,只面向虚拟机。
3、字节码文件需要解释成相应平台的机器码并运行。解释是通过Java虚拟机来执行的。Java虚拟机是可运行Java字节码文件的虚拟计算机。Java虚拟机(中的Java解释器)负责将字节码文件解释成为特定的机器码来运行。不同平台的虚拟机是不同的,但它们都提供了相同的接口。
 

六、JAVA执行过程 

编写:在Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。
编译:用 Java 编译器对源文件进行错误排査后,进行编译,编译后将生成后缀名为 .class 的字节码文件。
运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。
七、Java JAVAC区别

1. javac命令:执行javac.exe程序,负责编译,将程序员写的.java文件编译成JVM能读懂的.class字节码文件
2. java命令:执行java.exe程序,负责运行,会启动一个JVM进程,将运行时所需的类库和编译后的.class文件加载到内存中,将字节码翻译为机器码后执行.class文件

八、Java文件和class文件的区别

java文件是源文件,也就是我们自己写的代码。
class文件是虚拟机编译得到的,虚拟机需要把我们写的java文件编译成它可执行的字节文件。
九、java基本数据类型

整型

byte 、short、 int 、long

字符型

char

浮点数

double 、float

布尔型

boolean

 

十、byte short int long的区别

类型

内存

取值范围

byte

8

-128~127

short

16

-2^15~2^15-1

int

32

-2^31~2^31-1

long

64

-2^63~2^63-1

 

十一、计算机最小存储单位 , 最小空间单位

最小的存储单位:bit  比特

最小的空间单位:byte 字节

十二、Bit、B 、KB 、GB 、TB 、PB  分别是什么单位,换算关系

内存存储单元
b bit 比特位=二进制位  每一个比特位上只可能是0或1  最小单位  
B byte 字节  1个byte=8个bit 每8个比特是一个最小的存储空间称为byte(字节)
KB 千字节  1KB=1024byte
MB 兆字节  1MB=1024KB
GB 吉字节  1GB=1024MB
TB  1TB=1024GB
PB  1PB=1024TB

十二、自己预习的内容和复习内容整理

复习

计算机四大核心:CPU: 运算 ,     网络 :与外界交换数据,数据通信  ,内存:运算+临时存储

    硬盘:永久存储

基本数据类型:

整型

byte 、short、 int 、long

字符型

char

浮点数

double 、float

布尔型

boolean

不同的包内可以有相同的文件名。同一个包不可以。如下图所示

 

 

 输入端可以直接用psvnm+回车实现

输出端用sout+回车实现

注:所有的字符都应该用英文的形式

运行程序的方法有多种如:

1:直接点击public前面的绿色三角

2:右击空白处运行

3:点击左上角的File运行

预习

1、注释

单行注释:在程序中注释一行代码将//放在需要注释的内容之前

多行注释:一次性地将程序中多行代码注释掉 以/*开始,*/结束

文档注释/**开始,*/结束

2、标识符和关键字

  标识符: 分号(;)、花括号({})、方括号([])、圆括号(())、空格(  )、原点(.)、                                             

                   关键字

 

3、数据类型分类

基本类型和引用类型

4、基本数据类型

整型

byte、short、int、long

字符串型

char

浮点数型

float、double

布尔型

boolean

5、基本类型的类型转换

 

6、直接量

直接量是指在程序中通过源代码直接给出的值。
能指定直接量的通常只有三种类型:基本类型,字符串类型和null类型。java支持以下8种类型的直接量:

 

7、运算符

算术运算符

+ - * / %

当表达式中的数值都是整数int, 则运算结果也是整数int

当表达式中有一个数值是浮点数double, 则整个表达式所有数值全部提升为浮点数double, 运算结果为浮点数double

赋值运算符

=  +=  -=  *=  /=  %=

比较运算符

>  >=  <  <=  ==  !=

所有的比较运算符, 运算结果都是boolean类型, 要么是true, 要么是false

注意: 一个等于号  =  是赋值运算符 (可以是直接量赋给变量, 也可以是变量赋给变量)

  两个等于号  == 才是是否相等的比较运算符

逻辑运算符

&  &&  |  ||  !

逻辑运算符是对两个boolean条件做逻辑(与、或、非)运算, 运算结果也是boolean

与(并且关系and, 两个条件都成立, 结果才成立, 有一个条件不成立, 结果就是不成立)

左右两边都为true, 运算结果为true, 有一边是false, 运算结果就是false

或(或者关系or, 两个条件都不成立, 结果才不成立, 有一个条件成立, 结果就是成立)

左右两边都为false, 运算结果为false, 有一边是true, 运算结果就是true

非(成立变为不成立, 不成立变为成立)

取反, true取反后得到false, false取反后得到true

与和或有短路和不短路的区别

短路与: 左边不成立, 右边就不会运算了, 因为与要求两边都成立, 如果左边已经为不成立, 右边就没有运算的意义了, 因为无论右边是否成立, 也不会影响最终结果

不短路与: 左边不成立, 右边就失去了运算的意义, 但是也会运算一下

短路或: 左边成立, 右边就不会运算了, 因为或要求两边都不成立, 如果左边已经成立了, 右边就失去了运算的意义了, 因为无论右边是否成立. 也不会影响最终结果

不短路或: 左边成立, 右边就失去了运算的意义, 但是也会运算一下

位运算符

位 => 二进制比特位

什么是位运算符? 因为运算符会将数字转为二进制, 对二进制的比特位做运算

左移<<   右移>>

单目运算符

++   --

运算符++或--在变量前面和后面的区别是什么?

如果表达式中只有 ++或--运算, 则在变量前面或后面没有区别

如果表达式中除了 ++或--, 还有其他运算

则在变量前面, 先运行++或--, 再运行其他运算

在变量后面, 先运行其他运算, 再运行 ++ 或 --

三目运算符

?

在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部