JAVA基础知识(一)—JAVA概述
java概述
1991 年sun公司的james gosling(詹姆斯·高斯林)等人开始开发名称为 oak 的语言,希望用于控制嵌入在有线电视交换盒、pda等的微处理器;
1994年将oak语言更名为java;
java的三种技术架构:
javaee:java platform enterprise edition,开发企业环境下的应用程序,主要针对web程序开发;
javase:java platform standard edition,完成桌面应用程序的开发,是其它两者的基础;
javame:java platform micro edition,开发电子消费产品和嵌入式设备,如手机中的程序;
1,jvm:java virtual machine,称之为java虚拟机,jvm是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。jvm屏蔽了与具体操作系统平台相关的信息,使java程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。jvm在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。
2,jdk:java development kit,称为java开发工具包,是jre的超集,或者说jdk包含了jre。jdk中除了包含有jre的所有内容之外还提供了编写java程序所必须的编译器和调试工具等。
3,jre:java runtime environment,称之为java se运行时环境,提供了运行java应用程序所必须的软件环境,包含有java虚拟机(jvm)和丰富的类库(libraries)。运行一个已经开发好的java应用必须安装jre。
4,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
1):永久配置方式:java_home=%安装路径%\java\jdk path=%java_home%\bin
2):临时配置方式:set path=%path%;c:\program files\java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。
classpath的配置:
1):永久配置方式:classpath=.;c:\;e:\
2):临时配置方式:set classpath=.;c:\;e:\
注意:在定义classpath环境变量时,需要注意的情况
如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件;
如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:
1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。
2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找
一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。
5,javac命令和java命令做什么事情呢?
要知道java是分两部分的:一个是编译,一个是运行。
javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行。
一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数。
6,java的编译及运行过程
从图中可以看出,首先,编译,java 源文件(.java)经过java的编译器编译成java字节码文件(.class);然后,运行,先进行类加载和字节码校验,之后,java字节码经过jvm解释为具体平台的具体指令,并执行。
上一篇: 数组的初始化及其基本属性
下一篇: php smarty的预保留变量总结