① javac和java 有什么区别和联系
javac和java命令行中的-classpath选项
这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点。
javac
-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。
-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)。
所以一个完整的javac命令行应该是这样的,
假设abc.java在路径c:\src里面,在任何的目录的都可以执行以下命令来编译。
javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java
表示编译需要c:\classed下面的class文件,c:\jar\abc.jar里面的class文件,c:\zip\abc.zip里面的class文件
还需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar里面的源文件,c:\source\project3\lib\src.zip里面的源文件,
注意:jar,zip里面的源文件不会有什么改动,目录下的源文件,有可能会被重新编译。
java
-classpath, 设定要搜索的类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有的CLASSPATH的设定。
由于所要执行的类也是要搜索的类的一部分,所以一定要把这个类的路径也放到-classpath的设置里面。
表现在,在要执行的类的路径里面执行java时,一定要添加上点号(.)标示本目录也要搜索。
假设abc.class在路径c:\src里面
可以在任何路径下执行以下命令
java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc
问题:如果main.class属于c:\jar\abc.jar,并且在com.cnblogs.jeffchen这个包里,那么执行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多个jar包呢?并且其他jar包中也有com.cnblogs.jeffchen会发生什么情况?错误?
在windows下,
文件路径的分割符为反斜杠 \
类或者java文件列表的分割符为分号 ;
在linux下
文件路径的分隔符位斜杠 /
类或者java文件列表的分隔符为冒号 :
一个linux下编译和运行的例子
/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java
/usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability
② javac和Eclipse编译器有什么区别
Eclipse已经实现了自己的编译器,命名为 Eclipse编译器for Java (ECJ)。
它不同于javac,Sun JDK附带的编译器。一个显着的区别是,Eclipse编译器允许您运行实际上没有正确编译的代码。如果错误的代码块从未运行,您的程序将运行良好。
另一个不同之处在于Eclipse编译器允许在Eclipse中进行增量构建IDE,也就是所有的代码一旦你完成输入就编译。
Eclipse自带的编译器也是很明显的,因为你可以编写,并且在Eclipse中运行Java代码,甚至不安装Java SDK。
③ javac和javaw有什么区别,是不是一个性质的啊
你好,简单而且容易了解的说法是:若采用java 指令执行class时候,该ms-dos窗口关闭则整个程序也会关闭,若用此执行窗口程序或是deamon程序的话,会很不方便(因为ms-dos窗口必须存在),所以用javaw指令来避免这种状况发生,另外关于GUI的程序一般用javaw.exe
④ java 和javac的区别
在DOS界面,安装完JAVA且PATH了安装路径就会有这两个方法,其中JAVAC命令是把写好的。txt文件编译成。java文件。C是CREADT的意思。当想执行java文件的时候就要用java命令了。
⑤ javac与java的区别是什么
javac 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java
运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。
java 可以运行class字节码文件
如 java HelloWorld
注意java命令后面不要加.class
⑥ Java与C++程序在编译和运行上有什么区别
但却有着许多的不同,最大的不同,可以说是编译和运行了。
高级语言写出来的代码,最终都会变为机器码,计算机才能识别。
汇编与机器码最接近,C++与Java都会直接或间接编程汇编以后,再运行。
C++经编译器(Unix下CC命令,Windows下CL命令)把源码直接编译成计算机可以认识的机器码,如exe,dll等文件。
Java源文件都需要用javac命令将源码编译为class文件,但是这个class文件无法被计算机直接识别,但可以被JVM即Java虚拟机识别。
运行Java程序时,先启动一个虚拟机,虚拟机加载class文件,方可执行。
这样,同样的代码被编译为同样的class文件,也称作字节码,在不同的平台上,运行同样的字节码,这样,Java跨平台的特性就显示出来了!而C++则办不到。 追问: 大哥,你似乎抄袭了本人在网络上的回答,声明出处吧。 回答: 呵呵,当然这个问题我不会,但是看完网络你的回答明白了(还给你改了俩错别字^_^)。这个东西本来就是相互借鉴的我来问问也是学习来着。
⑦ javac与java的区别
javac用来编译java文件,java用来执行。
1,javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件。
2,java命令可以执行生成的class文件,使用java Test可以执行编写的代码。
⑧ javacpl和javac有何区别
javac是用来编译java程序的。
主要信息:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。最新的C语言标准是C18。
当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显着。