Java运行机制
源程序通过javac编译(C语言是cc),生成字节码文件(source class,byte code)
【可用JDK工具javac.exe,如javac Hello.java】【运行--java Hello】
javac-cp libxx.jar 源文件名.java java-cp libxx.jar 类名使用package时的编译:
javac-d classes src\edu\pku\tds\ui\*.java
java-cp classes edu.pku.tds.PackageTest
Java的虚拟机指令,与平台无关,C++直接为平台的cpu指令
Java虚拟机:Java Virtual Machine
CPU不同,含有的指令就不一样,但是有了JVM就能实现跨平台。(不同的系统适配不同的JVM)
JVM在一台计算机上,由软件或硬件模拟的计算机(JVM for Dos/Windows/Unix/Other Platform)
JVM读取处理编译过的字节码class文件
JVM规范定义了:指令集、寄存器集、类文件结构、堆栈、垃圾回收堆、内存区域。
【微软的C++可以在windows上运行的原因?--windows有可以解析C++程序的虚拟机。】
【windows适配C++出色的原因?--同为微软公司产品,windows本身就是用C和C++写的,主要是C。】
JDK Java开发工具包
JDK=JRE+tools 开发用,JRE=JVM+API 运行用,即想要开发Java程序,需要JDK,只想运行Java程序,需要JRE。
JDK里面的tools(开发工具):Java编译器(javac.exe),Java执行器(java.exe),文档生成器(javadoc.exe),Java打包器(jar.exe),java调试器(jdb.exe),打包工具(jar),运行图形界面程序(javaw),
查看类和反汇编信息(javap)
JDK安装后的文件夹:
Bin 存放工具文件(由java编写的,非图形化界面的exe程序,即在dos命令行执行)
JRE 与Java运行环境相关的文件/与在下载的JRE略有区别
Demo 示例文件
include 与C相关的头文件
lib 程序库
DB DB相关