java的发展史
大版本.小版本
1991 年 Sun公司以C++为基础开发了java语言(Oak语言)
1995年,sun公司把Oak包装成Java推广
1996年Java1.0发布
97-->Java1.1
98-->Java1.2
1998年改名J2SE,sun公司推出三大平台版本
J2SE:面向桌面应用开发
J2EE:面向企业级开发
J2ME:面向手机移动终端开发
1999 HotSpot虚拟机发布
2000-->Java1.3
2002-->Java1.4
2004 Java1.5发布,即JavaSE5.0
2005 J2EE->javaEE J2SE->javaSE J2ME->javaME 改名
2006 JDK开源
2009 Oracle收购Sun
2018 开始每半年发布一个Java版本
java三大平台
J2SE:Java To Standard Edition Java标准版(Standard Edition)
J2EE:Java To Enterprise Edition 服务器端开发的企业版(Enterprise Edition)
J2ME:Java To Micro Edition 手机嵌入式设备微型版(Micro Edition)
JDK、JRE、JVM是什么,安装JDK后为什么配置环境变量
JDK(Java Development Kit) Java 开发工具包,Java程序的开发,必须要JDK
(1) 编译器
(2) 解释器
(3) 源代码
(4)JRE
2.JRE(Java Runtime Environment)Java运行环境,如果需要运行一个Java程序,只需要安装JRE即可,包含了JVM和核心的类,库
(1) 源代码
(2) JVM
3.JVM(Java Virtual Machine) Java 虚拟机,是运行所有Java程序的假象的计算机,Java程序运行我们编写的代码都是在JVM上运行的
配置环境变量可以在所有目录下执行java命令,系统通过环境变量可以找到java编译器
java语言跨平台原理
首先我们要理解什么是跨平台,所谓的跨平台就是JAVA写的一份代码可以在任意的操作系统平台上运行。
为什么跨平台会成为一个问题呢?因为每一个操作系统平台支持不同的指令集我们所写的代码经过编译之后只能适用于一个平台,换一个平台就不支持了。而JAVA完美的解决了这个问题,JAVA是如何做到这一点的呢?在上图中我们可以看到JAVA代码执行的流程。
JAVA源代码->JAVA字节码->JVM解释执行
我们写的JAVA源代码会被编译为字节码,然后被JVM虚拟机解释执行,我们可以看到JVM虚拟机在跨平台的过程中发挥了重要的作用,就是由它解释字节码并执行的,对应于每一个平台都有一个JVM虚拟机,而字节码只有一份,windows的JVM虚拟机可以将字节码解释为能在windows平台上执行的指令并执行,Linux的JVM虚拟机可以将字节码解释为能在Linux平台上执行的指令并执行,他们执行的字节码都是同一份。这样就实现了跨平台。
java程序执行的过程
编写*.java源代码->java编译器->*.class字节码->java解释器->运行
javac和java的区别
javac编译出现class文件 *.java源代码->java编译器->*.class字节码
java执行文件 *.class字节码-> java解释器->运行
java文件和class文件的区别
*.java源代码:人类可以勉强看懂,但是机器看不懂
*.class字节码:人类看不懂,机器看得懂
java的基本数据类型
整数:byte、 short、 int 、 long
byte,short,int,long 的区别
byte -128~127-1
short -2^15~2^15-1
int -2^31~2^31-1
long -2^63~2^63-1
计算机最小的存储单位,最小的空间单位
最小的存储单位:bit比特
最小的空间单位:byte字节
bit,b,KB,MB,GB,TB,PB分别是什么单位,换算
位(bit):一个数字0,一个数字1,代表1位
字节(byte):字节是计算机最小的单位,byte=8bit
KB(千字节)=1024byte
MB(兆字节)=1024KB
GB(吉字节)=1024MB
TB(太字节)=1024GB
PB (拍字节)=1024TB