jdk环境变量配置 - 关键解读

一、JDK、JRE和jvm

jdk、jre、jvm三者关系:
java develpment kit
java runtime environment
java virtual Machine.
开发环境 -> 运行环境(lib) -> 解析执行字节码建立映射到cpu指令。
1.jdk;是java开发工具,自带了运行环境jre。开发工具:(javac.exe编译工具,java.exe执行工具,jar.exe打包工具)
2. jre 是java运行环境,不开发,只运行java项目就可以只安装配置jre.
3. jdk包含jre,jre包含jvm。

  1. java_home :是一个约定,jdk安装路径,tomcat/Eclipse等软件都是通过java_home变量来找jdk路径;好处,可以配置多个版本的jdk,一旦修改版本或者地址,只修改此变量就可以。
  2. path中设置jdk:%java_home%/bin : path的作用是用来设置操作系统寻找并执行应用程序的路径。我们设置的bin是设置操作系统寻找java.exe解释器和javac.exe编译器
  3. 把oracle的删除,自己的java_home放在最前面:
    因为ods加载环境变量先在当前目录加载,加载不到去path下加载,是从左往右加载,加载到就不继续往右加载,
    jdk1.8默认生成一个path,如果不将java_home放在第一个,加载了jdk1.8默认path就不会加载自己的安装路径,会出现javac命令不识别。
  4. classpath: 设置虚拟机在指定目录下寻找字节码文件,点和分号配置是指先在当前目录找(jdk1.6之前的需要配置)。

二、jdk环境变量解读

jdk的环境变量配置设置计算机中的全局变量

  • 新建JAVA_HOME变量,值为jdk安装的根目录(本可以随便起,由于tomcat只能识别JAVA_HOME)
  • PATH: 增加%JAVA_HOME%\bin 指定java.exe等可执行文件的位置。在命令行中执行jdk bin目录下的可执行文件。
  • CLASSPATH:指定.class字节码文件的位置。Jdk1.5版本以后无需配置classpath。
    jvm通过该变量寻找类。.代表当前目录,%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar dt.jar
    dt.jar jvm运行环境的的类库。主要是swing的包,故配不配都行。
    tool.jar 工具类库,执行javac编译类的时候用到;javac 是java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java命令的封装,故不用配置该jar.
    rt.jar java基础类库。默认就在 根classloader的加载路径里面,故不用配置jre\lib路径。java doc中所有类的class文件。util,lang,io等等。
    验证:java -version javac -version

三、 javac java 运行过程。

.java文件 -》 .class文件 -》运行。
类加载器源码:sun.misc.Launcher
调用类加载器执行过程:
Bootstrap ClassLoader 加载核心类库,加载%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等
通过启动vm时,指定参数修改默认加载路径 java -Xbootclasspath/a:path
并通过亲委派模型保证了基础类库只会被Bootstrap ClassLoader加载,这也就保证了基础类的唯一性。
Extention ClassLoader 扩展的类加载器 加载jre\lib\ext路径下文件。

四、java过程 jvm类加载器具体都加载了什么

BootstrapClassLoader启动类加载器默认加载路径     jre\lib\rt.jar 、jre\classes等
Extention ClassLoader 扩展类加载器默认加载路径   jre\lib\ext 、Windows\Sun\Java\lib\ext
AppClassLoader 应用程序类加载器默认加载路径      
	jdk/jre/lib/*.jar
	jdk/jre/lib/ext/*.jar
	/idea_rt.jar
	pom中涉及的jar
	/target/classes/*.jar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值