1. Java程序特点:一次编译,到处运行。
(1)windows下c语言的开发过程:
.c --(c编译程序)-->.exe(含有计算机cpu的指令码)-->执行 操作系统(取出.exe中的机器码,交给cpu,一条一条解释执行)
不同体系的CPU有不同的指令系统。如,1101,在intel上对应的可能是加法,而摩托罗拉cpu可能是减法或什么都不是。
现在有一种java cpu,指令系统又不同。
java字节码
(2)java语言的开发过程:
.java --(java编译程序)-->.class (Java字节码文件)(含有java cpu的指令码)-->当java字节码在java cpu上运行时,cpu从文件中取出指令执行。
计算机的硬件和软件是可以相互转换的:vcd机(硬件)和超级解霸(软件)都可以播放vcd电影。
windows操作系统上开发了一个java字节码解释程序,则程序从java字节码文件中读取指令,然后按照与java cpu同样的方式对指令进行解释执行。如,1001,在Java cpu上是加法,当java字节码解释程序从java字节码文件中取出1001时,就在windows操作系统上执行一个加法的操作,完成同样的功能。
把java字节码解释程序想象成一个虚拟的java cpu,即虚拟机,jvm。
=>Java字节码文件,可以在java cpu上解释运行,也可以通过java字节码解释程序在windows/linux/...操作系统上解释运行。
此即java跨平台的根本原因。
(3)并不是所有操作系统都实现了Java字节码解释程序。
2. Java是编程语言、开发工具、运行环境。
如何搭建java开发环境:
(1)什么是jdk?按应用环境分为三类。
(2)在windows上安装完jdk的目录结构:
/bin: 可执行文件。javac.exe(Java编译工具), java.exe(jvm)
/demo: 例子程序。
(3)打开cmd,输入javac, java,如果可以打开帮助,jdk基本可用于开发。
(4)问题一:执行java时,“java不是一个可以执行的程序”;问题二:“找不到某文件”。
问题一:如set path=(空);
问题二:启动了path中首先找到的有问题的java程序。
3. 操作系统的环境变量:
(1)在操作系统中定义的变量,可以被操作系统上运行的所有程序访问。
(2)查看环境变量的两种方式:
a.在cmd中执行set: 在等号左边就是环境变量名称,右边取值;以此看到的取值为准。
b.我的电脑--属性--系统属性--高级面板--环境变量:上“用户变量”(只对该用户有效)+下“系统变量”(对系统上所有用户有效)=某用户可使用的环境变量。如何取值?
c. set path, 就可以只看到path的设置情况。
(3)如何设置系统的环境变量:
a. cmd: set 变量名=变量取值;set 变量名=(空):取消该环境变量的设置;
(只对该命令行窗口起作用,即在该窗口后的程序起作用,而对其它命令行窗口或程序无影响)
a1. 在cmd中如何复制粘贴,右击,算中,右击;
a2. 如果没有提供复制粘贴,可以set path=%path%+添加内容;
a3. 注意path=和path =是两个环境变量(空格有效!!!)
b. 属性中,新建——对所有以后启动的命令行窗口及程序都有效,但不会影响原来已经运行的cmd或程序。
b1. 在用户变量中的设置,需要注销重新登录后才起作用。
(4)path环境变量:
当执行某命令时,操作系统首先在当前目录下查找命令;如果当前目录下没有,则操作系统会沿着path中提供的路径查找该命令程序, 以最先找到的为准。
4. 如果安装了多个jdk,实际上运行的是哪个?
java -verbose: 可查看虚拟机装载过程,知道运行的具体是哪个jdk
有时修改了jdk参数,但实际运行时怎么也不生效,就是因为运行的jdk和修改的jdk不是同一个。
5. 最好不要设置“隐藏已知文件类型的扩展名”。
查看源文件完整路径:
(1)把源文件拖入“运行”输入框中;
(2)直接把源文件拖入命令行窗口中。