学习jdk jre笔记,jdkjre笔记
分享于 点击 3107 次 点评:94
学习jdk jre笔记,jdkjre笔记
JDK(Java 开发套件)JRE(Java执行环境,,Java Runtime Environment)
JVM(Java 虚拟机,Java Virtual Machine)
這個意思是說,您輸入 javac.exe 和輸入
java -classpath d:\j2sdk1.4.0\lib\tools.jar com.sun.tools.javac.Main
會得到相同的結果。这里的javac只是一个wrapper,制作的目的是为了让开发者免于输入太长的命令
命令通过java.exe找到jre,然后找到Main函数 启动类!!
而我认为 java是通过jvm.dll启动的!!
JDK 裡面的工具幾乎是用 Java 所撰寫的,
所以 JDK 本身就是 Java 應用程式,因此要使用 JDK 附的工具來開發 Java 程式,也必須要自行附一套 JRE 才行,這就是<jdk 安裝目錄>\jre 底下需要一套JRE 的原因。而位於 Program File\底下的那套 JRE就是拿來執行我們自己所撰寫的 Java 應用程式
System32下的java.exe
而javac在path下的路径中只有在java_home/bin下才有javac
所以编译程序会自动加载JDK下的那套jre及其下面的包!
java/jre/bin下面没有javac.exe
因为这个只是针对java程序的使用者
而对于java。exe不一样了 他会加载java/jre下的包
如果你要扩展包的时候,要注意了
如果设置path为执行java程序时把path设置为jdk/bin,就不会出现问题了
执行java命令的时候 会按照path的顺序查找java.exe,他会先找到window/system32下面的java.exe.如果你把这个java改名 他会在path的目录下查找java.exe
假如我设置了path中有java_home(jdk)/bin,然后我访问java -server -version 可以访问
但这个命令只有在访问jdk下面的java.exe时才能成功,因为他下面有server文件夹和它里面的jvm.dll,其实相当于启动了服务虚拟器!
他会执行program files/java/jre的下面的包,。。。就相当于一个客户端的作用 看bin下面的jvm.dll就能知道!!
只是运行程序所以就没必要有个javac
而jdk下面的jre是为开发用的!!
java 不是通过tool.jar中的Class文件启动的!通过看图标就能看出来 !也是为什么jre下面不用tool这个包!!
java.exe他会关联jar文件!然后启动jar文件!!
javac.exe 和輸入
java -classpath d:\j2sdk1.4.0\lib\tools.jar com.sun.tools.javac.Main 效果是一样的
也就是说javac是通过java进程启动的!
相关文章
- 暂无相关文章
用户点评