一.JAVA发展史
年份 | 版本或重大事件 | 补充说明 |
---|---|---|
1996 | Java 1.0发布, 但是缺陷性和局限性很大, 并不能用于开发 | |
1997 | Java 1.1发布, 引入了JDBC、内部类、反射 | |
1998 | J2SE 1.2发布, Java正式改名为J2SE Sun公司推出了Java三大平台版本 1. J2SE: Java标准版(Standard Edition) 2. J2EE: 服务器端开发得企业版(Enterprise Edition) 3. J2ME: 手机嵌入式设备微型版(Micro Edition) | 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发布 | |
2002 | J2SE 1.4发布, Java成为服务器端开发的首选平台 | |
2004 | J2SE 1.5发布, 这是一个里程碑版本 Sun公司直接对外宣布JavaSE5.0 | |
2005 | Java SE 6发布 J2EE改名为 Java EE J2SE改名为 Java SE J2ME改名为 Java ME | |
2006 | Sun公司宣布JDK开源 并且建立了 OpenJDK 组织对这些源码进行独立管理 | |
2009 | Oracle 以 74 亿美元收购 Sun 公司 取得了 Java 的商标版权 | |
2011 | JavaSE 7发布 | |
2014 | JavaSE 8发布 | |
2017 | JavaSE 9发布 Oracle 决定将JavaEE移交给开源组织,最后 Eclipse 基金会接手 | |
2018 | 从这一年开始, 每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 | JavaSE 16 发布 JavaSE 17 LTS 发布 | |
2022 | Java SE 18 发布 |
二.java三大平台
1. J2SE: Java标准版(Standard Edition)05年改名为 Java SE
2. J2EE: 服务器端开发得企业版(Enterprise Edition)05年改名为Java EE
3. J2ME: 手机嵌入式设备微型版(Micro Edition) 05年改名为Java ME
三.JDK,JRE,JVM是什么
1.JDK(java Development Kit) java开发工具包
(1)编译器(2)解释器(3)源代码
2.JRE(Java Runtime Environment)java运行时的环境
3.JVM(java Virtual Machine) 可运行java字节码文件的虚拟机
JDK包含JRE,JRE包含了JVM
四.安装jdk后为什么要配置环境变量
当我们使用javac命令编译源代码文件的时候,javac命令与源代码文件不在同一个目录中, 如果在源代码目录中执行编译操作, 则会出现找不到命令, 如果在jdk的bin命令中执行编译操作, 则会出现找不到源代码文件。
- 首先在当前目录(内部命令)中找javac命令
- 如果当前目录中找不到javac命令, 则会去系统环境变量中找一个名为 “path” 的变量, 然后把path变量存储的所有的目录都扫描一遍, 找javac命令 (外部命令)
- 如果当前目录中找不到, 然后path变量中存储的所有路径扫描后也找不到, 则报错 ‘xxx’ 不是内部活外部命令...
因此, 我们需要在系统的Path变量中记录下jdk命令所在的目录
- 自定义一个名为 JAVA_HOME的环境变量, 存储的路径到jdk目录, 不到bin目录
- 在Path中添加一个路径,%JAVA_HOME%\bin
在Path变量中添加了jdk的bin路径后, 可以实现在任何地方都能够找到javac命令了
系统变量是指这这台电脑的配置的环境变量,对所有用户都生效
java 环境变量要配置在系统环境变量里面才能保证对每一个用户都生效
五.JAVA语言跨平台的原理
1、Java程序的运行要经过编辑、编译、解释并执行三个阶段。
2、Java源代码经过编译生成字节码文件(.class)。字节码文件与平台无关,不面向任何具体平台,只面向虚拟机。
3、字节码文件需要解释成相应平台的机器码并运行。解释是通过Java虚拟机来执行的。Java虚拟机是可运行Java字节码文件的虚拟计算机。Java虚拟机(中的Java解释器)负责将字节码文件解释成为特定的机器码来运行。不同平台的虚拟机是不同的,但它们都提供了相同的接口。
六.javac和java的区别
javac 是编译命令 (c是英文单词compile), 被编译的目标对象必须是Java源代码文件,
javac 可以将java源文件编译为class字节码文件,如 javac HelloWorld.java 运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件 java 可以运行class字节码文件, 如 java HelloWorld 注意java命令后面不要加.class
java 是执行命令,被执行目标对象必须是字节码文件
七.java文件和class文件的区别
java文件是源代码文件,人可以看懂,机器看不懂
class文件是字节码文件,是编译器自动根据源代码翻译出来的, 机器能看懂, 但是人类看不懂
八.Java的基本数据类型
九.byte、short、int、long四种类型的区别?
1.数值
(1)整数
{1}byte -128~127
{2}short -2^15~2^15-1
{3}int -2^31~2^31-1
{4}long -2^63~2^63-1
(2)浮点数
{1}float 单精度 32比特位,4字节
{2}double 双精度 64比特位,8字节
2.字符 char
3.布尔 boolean
十.计算机最小储存单位 最小空间单位
最小的存储单位:比特,一个bit只能存储一个0或者一个1
每8个比特是一个最小的存储空间称为byte(字节)
十一.bit,B,KB,MB,GB,TB,PB分别是什么单位,换算是什么?
-
1Bytes=8bits(1字节等于8位)
-
1KB=1024Bytes(1KB等于1024字节)
-
1MB=1024KB
-
1GB=1024MB
-
1TB=1024GB
-
1PB=1024TB
第三章.预习
单行注释和多行注释
标识符和关键字
1.分号
2.花括号
3.方括号
4.圆括号
5.空格
6.圆点
java关键字