请教码农这是怎回事?你们应该一看就会。。。。JAVA
- crc8我也不知道怎么描述啊,看图吧。为啥要重新编译结果才对?
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode) - slimx指定不同的包名 就没事了
- crc8
- flyingforce你用java命令的时候,后面的这个文件名实际上是省略了后缀名.class 而javac的作用是把.JAVA文件编译成.CLASS文件
所以在你使用javac编译之前,每次java运行都是原来的class 而不是你修改过的java文件。 你可以做个简单的试验,在运行java之前,DEL *.CLASS 然后看java还能运行么。
这个是java当年的最大创新之一,在java之前的编程语言编译完都是直接根据当前操作系统生成可执行文件,所以在dos下编译的程序是没办法拿到unix下去用的,java引入了虚拟机概念,编译出来的都是中间态文件.CLASS, 然后用java虚拟机来执行这个class,这样每次换个操作系统,换个虚拟机就行了。 - crc8感谢,解释通俗易懂。
- happyd8699编译型语言和解释型语言的区别