欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA基础知识(一)—JAVA概述

程序员文章站 2022-10-06 08:42:23
JAVA概述 1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterpris ......

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)经过java的编译器编译成java字节码文件(.class);然后,运行,先进行类加载和字节码校验,之后,java字节码经过jvm解释为具体平台的具体指令,并执行。