一、cmd的简单操作
cmd操作快捷键:
exit 退出cmd
cls 清屏
dir 列出当前目录下的子文件
cd 改变目录
cd 目录的路径(相对路径和绝对路径都行)
cd .. 回到上级目录
cd \ 直接回到根目录
二、java版本的分类
JavaSE(java standard edition Java标准版)基础,定位在个人计算机上的应用
JavaEE(java enterprise edition Java企业版)主攻方向定位在服务器端的应用
JavaME((java micro editio java微型版),定位在消费性电子产品的应用版
三、java的优秀地方
总结来说,就是跨平台强,这个强的地方是由于JAVA的虚拟机跟我们平常认识的不一样
做个比较:首先c语言通过编译器、汇编器翻译出本电脑可以运行的机器代码。
由于电脑有很多类型,就会有不同的机器代码格式,在你电脑上生成的代码在别的型号的电脑上
就不能运行或是会出现错误。所以跨平台性低。
而我们的JAVA呢,先将源码翻译成一种叫做字节码的东西(类似于编译器中的中间代码),
然后通过网络传输到要运行机器上,你根据自己的电脑型号下载了相应的jre,
接受字节码后就会通过jre中的jvm翻译成这台电脑可以运行的机器码。
这也就是我们所说的,一次编写,全部运行。
当然,有好处,也就会有坏处,当然,他也有缺点,电脑型号越多,就会有越多种jre,需要很多人来进行维护,花费很大。
另外,windows系统不带jre,不能运行java程序,需要自己进行下载。
这个也就是我们去官网上下载JDK时,会有两个安装,一个就是jre。
JDK(java development kit)包含:包含JRE,以及增加编译器和调试器等用于程序开发的文件
JRE(java runtime environment)包含:java虚拟机、库函数、运行java应用程序所必须的文件
四、java的运行机制
java————class—————类装载器———java虚拟机———操作系统———硬件平台
源文件 字节码文件
五、具体的使用方法
java程序员需要使用JDK当中自带的javac.exe命令进行java程序的编译
-javac的使用规则:
javac java源程序的路径
打个比方,你在某个地方创建了一个abc.java的文件,那么你就需要在cmd中输入 javac abc.java
这个运行下来就是创建一个abc.class文件,然后你就需要在cmd中继续输入 java abc
注意:千万不能输入java abc.class文件,这个不会成功运行的!!!
字节码文件/class文件是最终要执行的文件,所以说class文件生成之后,
java源文件删除并不会影响java程序的执行。但是一般的java源程序不要
删除,因为class文件最终执行效果可能不是我们想要的,那么这个时候需
要回头再重新修改java源程序,然后将java源程序重新编译生成新的class文件
,然后在运行这个class文件
六、执行原理
打开DOS命令窗口,执行java HelloWorld,执行原理?
* java.exe命令会启动JVM
* JVM启动之后会启动类加载器ClassLoader
* ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件
* 找到该文件则执行
* 找不到该文件则报错
疑问:ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的?
* 默认情况下,classloader从当前路径下加载xxx.class字节码文件
* 当然,也可以让Classloader去摸个指定的路径下加载字节码文件,这是需要配置环境变量classpath
* classpath环境变量属于java语言中的环境变量,不属于windows操作系统【Path环境变量属于操作系统】
* classpath是给ClassLoader类加载器指路的。
* 设置这样的环境变量:classpath=D:\course\Javaprojects\02=javaSE\day02
-打开dos命令窗口在任意位置,都可以执行java HelloWorld
* classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,
当classpath环境变量配置为某个指定的路径之后,类加载器支取指定的路径当中加载字节码文件。
* 综上所述,环境变量classpath不在配置,这样类加载器会自动去当前路径下加载class字节码文件。
所以,每一次执行.class程序的时候,需要在dos命令窗口中先切换到.class字节码文件所在的路径下。
然后执行。