黑马程序员技术交流社区
标题:
【石家庄总结】JavaEE基础总结
[打印本页]
作者:
瞬间的永恒
时间:
2017-11-29 16:23
标题:
【石家庄总结】JavaEE基础总结
本帖最后由 小石姐姐 于 2017-11-29 21:26 编辑
一:
java
概述:
1
,
JDK
:
Java Development Kit
,
java
的开发和运行环境,
java
的开发工具和
jre
。
2
,
JRE
:
Java Runtime Environment
,
java
程序的运行环境,
java
运行的所需的类库
+JVM(java
虚拟机
)
。
3
,配置环境变量:让
java jdk\bin
目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。
环境变量的配置:
1
):永久配置方式:
JAVA_HOME=%
安装路径
%\Java\jdk
path=%JAVA_HOME%\bin
2
):临时配置方式:
set path=%path%;C:\ProgramFiles\Java\jdk\bin
特点:系统默认先去当前路径下找要执行的程序,如果没有,再去
path
中设置的路径下找。
classpath
的配置
:
1
):永久配置方式:
classpath=.;c:\;e:\ 2
):临时配置方式:
set classpath=.;c:\;e:\
注意:在定义
classpath
环境变量时,需要注意的情况
如果没有定义环境变量
classpath
,
java
启动
jvm
后,会在当前目录下查找要运行的类文件;
如果指定了
classpath
,那么会在指定的目录下查找要运行的类文件。
还会在当前目录找吗?两种情况:
CLASSPATH
是什么?它的作用是什么?
它是
javac
编译器的一个环境变量。它的作用与
import
、
package
关键字有关。当你写下
improt java.util.*
时,编译器面对
import
关键字时,就知道你要引入
java.util
这个
package
中的类;但是编译器如何知道你把这个
package
放在哪里了呢?所以你首先得告诉编译器这个
package
的所在位置;如何告诉它呢?就是设置
CLASSPATH
啦
:)
如果
java.util
这个
package
在
c:/jdk/
目录下,你得把
c:/jdk/
这个路径设置到
CLASSPATH
中去!当编译器面对
import java.util.*
这个语句时,它先会查找
CLASSPATH
所指定的目录,并检视子目录
java/util
是否存在,然后找出名称吻合的已编译文件(
.class
文件)。如果没有找到就会报错!
CLASSPATH
有点像
c/c++
编译器中的
INCLUDE
路径的设置哦,是不是?当
c/c++
编译器遇到
include
这样的语句,它是如何运作的?哦,其实道理都差不多!搜索
INCLUDE
路径,检视文件!当你自己开发一个
package
时,然后想要用这个
package
中的类;自然,你也得把这个
package
所在的目录设置到
CLASSPATH
中去!
CLASSPATH
的设定,对
JAVA
的初学者而言是一件棘手的事。所以
Sun
让
JAVA2
的
JDK
更聪明一些。你会发现,在你安装之后,即使完全没有设定
CLASSPATH
,你仍然能够编译基本的
JAVA
程序,并且加以执行。
PATH
环境变量
PATH
环境变量。作用是指定命令搜索路径,在命令行下面执行命令如
javac
编译
java
程序时,它会到
PATH
变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把
jdk
安装目录下的
bin
目录增加到现有的
PATH
变量中,
bin
目录中包含经常要用到的可执行文件如
javac/java/javadoc
等待,设置好
PATH
变量后,就可以在任何目录下执行
javac/java
等工具了。
4
,
javac
命令和
java
命令做什么事情呢?
要知道
java
是分两部分的:一个是编译,一个是运行。
javac
:负责的是编译的部分,当执行
javac
时,会启动
java
的编译器程序。对指定扩展名的
.java
文件进行编译。
生成了
jvm
可以识别的字节码文件。也就是
class
文件,也就是
java
的运行程序。
java
:负责运行的部分
.
会启动
jvm.
加载运行时所需的类库
,
并对
class
文件进行执行
.
一个文件要被执行
,
必须要有一个执行的起始点
,
这个起始点就是
main
函数
.
作者:
小石姐姐
时间:
2017-11-29 21:25
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2