javac与java的区别

作者&投稿:芒薛 (若有异议请与网页底部的电邮联系)
javac和javaw有什么区别,是不是一个性质的啊~

不是的,java.exe和javaw是一样的,都是用来运行java程序的,前者会打开命令行窗口,后者没有。
而javac是java的编译命令工具,用来将.java编译成.class

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 可以将java源文件编译为class字节码文件
如 javac HelloWorld.java

运行javac命令后,如果成功编译没有错误的话,会出现一个HelloWorld.class的文件。

java 可以运行class字节码文件
如 java HelloWorld

注意java命令后面不要加.class

javac用来编译java文件,java用来执行。
1,javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件。

2,java命令可以执行生成的class文件,使用java Test可以执行编写的代码。

javac和java的区别

1. javac 是编译一个java文件的基本命令,通过不同参数可以完成各种配置,比如导入其他类,指定编译路径等。

2. java是执行一个java文件的基本命令,通过参数配置可以以不同方式执行一个java程序或者是一个jar包。

3. javap是一个class文件的反编译程序,可以获取class文件的反编译结果,甚至是jvm执行程序的每一步代码实现。

总结:Javac是编译、Java是执行,编写Java代码后,使用Javac进行编译生成 .Class文件,.Class文件使用 Java命令 执行代码;



您好,java是一门语言 javac简单来说可以看做是java语言的编辑器 它是将代码编写成class文件的工具

  javac 作用是将.java文件编译成.class文件 命令:javac - Main.java
  java 作用是执行一个jar程序 命令:java -jar Main


javac命令和java命令做什么事情
javac命令是用来编译源代码文件的,即xxx.java文件的, 如:javac Test.java 这样就会生成Test.class文件。java 是运行java程序的,即执行类的,比如:java Test 就可以运行刚生成的Test.class文件

avac不是内部命令也不是外部命令,也不是可运行的程序或批处理文件_百度...
因为系统不能识别javac命令,或者是因为你没有正确安装JDK。在你的JDK所在的安装目录,在DOS环境里,比如是:C:\\java>set path=c:\\java1.4.1\\bin 然后在c:\\java1.4.1\\bin\\javac (你的java文件).java就可以了。设置你的PATH路径.具体配置环境 右击”我的电脑”,选择”属性”,再选择”高...

JAVA字符串问题!! 为什么第一个输出的不是iavaC!!
在Java中,传参时,都是以传值的方式进行。对于基本数据类型,传递的是数据的拷贝;对于引用类型,传递的引用的拷贝。a.基本数据类型数据交换 基本数据类型的数据交换并不会实际交换两个数据,因为参数传递时,将会在函数中拷贝一分原数据的副本,而不是操作原数据。\/\/测试代码及内存模型如下图所示:...

java构建一个数组,值从ab,ac,...az,ba,bb,...,bz,...到zz,输出指定数目...
package TestHanLp;import java.util.Scanner;public class Test {public static void main(String[] args) {String [] str = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};Scan...

java实现,从a,b,c,d,e,f,g,h,i...aa,ab,ac,...az,ba,bb,.,bz,..到zz...
a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc ...

在JAVA中怎么调用带参数的存储过程?
)}");\\x0d\\x0a\/**\\x0d\\x0a*告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定\\x0d\\x0a*下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的\\x0d\\x0a*Types后面具体写什么类型,得看你的存储过程参数怎么定义的\\x0d\\x0a*\/\\x0d\\x0acstmt....

java后台怎么判断是手机还是电脑访问网站
public class HttpRequestDeviceUtils {\/** Wap网关Via头信息中特有的描述信息 *\/private static String mobileGateWayHeaders[] = new String[] { "ZXWAP",\/\/ 中兴提供的wap网关的via信息,例如:Via=ZXWAP\/\/ GateWayZTE\/\/ Technologies,"chinamobile.com",\/\/ 中国移动的诺基亚wap网关,例如:Via=...

2022-07-11 (6)
看了一下AC组count10的文件总共是59Mb,AC组count3的文件总共是345Mb,未过滤的vdjtools一个样本就有200多Mb,所以我认为可以把每组count3的所有文件合为2个样本,也能顺利导入R,这样每组两个样本,一共6个样本。 找循环拼接表格的方式 再将得到的csv转为tsv,再用xls的筛选功能,根据count数降序。 做出来的图感觉...

java base64解码 怎么是乱码呢
会乱码的原因是你的编码不一致导致的php中的urlencode的编码是和系统编码一致的(比如windows默认gb2312,ubuntu默认utf-8)所以首先需要确定你的系统编码,之后根据得到的系统编码在调用java的decode方法的时候,将这个编码传入(考虑到你的例子中有繁体字,所以,建议你使用utf-8编码),以下是我使用utf-8编码的...

高分java连接SQL server 2000 详细步骤
你需要Java SDK、 Hibernate包、Ant包、和JDBC Driver。 1、Hibernate包下载地址: http:\/\/prdownloads.sourceforge.n ... t_by=date&sort=desc 2、Ant包下载地址: http:\/\/archive.apache.org\/dist\/ant\/ 3、JDBC Driver要根据你用的database来定,一般database官方网站上都会有。Hibernate支持常用的database,比...

岢岚县19748751124: javac与java的区别 -
艾软复方: javac用来编译文件,java用来执行.1,javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件. 2,java命令可以执行生成的class文件,使用java Test可以执行编写的代码.

岢岚县19748751124: java 和c的具体区别 -
艾软复方: JAVA是面向对象语言,C是面向过程语言.1、C需要在目标平台上编译为机器码(二进制可执行文件)才能执行;Java可以在任何平台上编译为字节码(class文件),便可以在几乎所有平台上执行;2、C编译过的文件可以直接执行,效率更...

岢岚县19748751124: java 和javac的区别? -
艾软复方: 在DOS界面,安装完JAVA且PATH了安装路径就会有这两个方法,其中JAVAC命令是把写好的.txt文件编译成.java文件.C是CREADT的意思.当想执行java文件的时候就要用java命令了.

岢岚县19748751124: JAVA和C语言有什么区别? -
艾软复方: java是面向对象的编程语言.c是面向过程的编程语言,而且JAVA是可以跨平台的.而C语言不能,但能够直接操作硬件,并且生成机器码的效率高.C语言有指针,想要学好C语言,指针就必须学好.JAVA是没有指针的.在C语言中,是可以不初始化使用的,而在JAVA中,是必须初始化值的.总的来说,C语言是基础语言,JAVA是面向对象的一门语言.

岢岚县19748751124: java和c两种编程语言的区别 -
艾软复方: Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象.另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程...

岢岚县19748751124: C语言 和 JAVA 语言的 区别是什么 两者 -
艾软复方: 相同的地方: 1、语法类似: 由于Java可以算是从C 发展而来的,因此Java与C语言的语法比较类似 2、编程的熟练程度就是对语言程序库的掌握程度: 从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语...

岢岚县19748751124: java与c的区别? -
艾软复方: 1.java是完全面向对象编程2.c是底层编程语言3.java跨平台、是首个在语言级上支持多线程的语言4.java在创建时借助了很多c和c++中的元素、c、c++、语法上很相似,以c语言基础学习java会觉得很熟悉5.两者的用途不同,c主要做底层次的开发;java有很多方面的应用如:J2SE、J2EE、J2ME6.java有钱途

岢岚县19748751124: JAVA语言和C语言有什么区别?
艾软复方: JAVA与C语言的比较 1、JAVA中的内存分配是动态的,程序员不必关心内存管理方面的问题 2、JAVA是一种解释型的语言 3、JAVA没有指针 4、JAVA仅允许单一继承 5、JAVA不能定义全局变量 6、JAVA不用goto语句 7、JAVA不支持宏定义 ...

岢岚县19748751124: JAVA与C编程的本质区别是什么· -
艾软复方: 两者的诞生是因为计算机技术的不断的发展,编写的程序的结构越来越庞大、复杂,人们发现了很多工作都是在重复的在做,造成需要大量的时间把一个功能来回的写代码,区别只是位置和具体的作用不一样而已.人们开始考录将代码给简化一...

岢岚县19748751124: java与c最主要的区别是什么?这俩种语言的应用的侧重点在什么上
艾软复方: Java是 纯 面向对象,C不是面向对象的,是 纯 面向过程(C++才面向对象,而且也不纯). 如果你以前用过一些dos下的软件,你就知道用C写出来的都是什么东西了. ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网