「javac联系」java与javac的区别
今天给各位分享javac联系的知识,其中也会对java与javac的区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
JVM,JDK和JRE有什么区别?它们的联系是什么?
引言:在选择编程语言的时候,有一些人会选择Java,Java在书写和制作的过程中所包含的内容还是比较多的,java中有三个比较常见的名词,分别是jvm、jdk、jre那么这三者有什么区别呢?之间的联系是怎么样的呢?
三者之间的区别和联系
当自己运行一段程序的时候,最先是由gvm进行操作的,这是Java的一个虚拟的运行工具,目的就是为了处理自己所写的代码。而GRE是一个运行环境,也就是说有这个运行环境,将jvm所转换出来的代码运行出来。 JDK就是Java的一个软件开发工具包,这个软件开发工具包里面就包含了很多的子目录,包括一些提供的类以及jvm和GRE。所以可以说JDK包含了JRE和JVM,而JRE又包含了JVM。通过这样的方式来理解这三者到底是有什么样的区别,不过这些只是理解了Java这个编程语言的底层逻辑。实际上在学习的过程中想要深入了解的话,还要了解这个的编程语言。
编程开发的学习
在学习编程开发的时候,最基本的原理一般都是不变的,老师学习哪个病菌炎就可以看到这些病菌炎在运用的过程中所了解,以及所搭建的基础都是一样的,毕竟编程语言是编程语言,计算机语言是计算机,语言,计算机如果能够读懂的话要把这些语言变换成计算机语言的。另外就是要注意开发,其实是一个非常底层的工作,毕竟了解这门语言,使用这门语言就像人们会说话一样,但是怎么能够创造出一种思维,这就是算法的研究了。
总结
学习Java是一个非常不错的选择,不过学习的过程中应该注意自己的学习进度并且及时的督促自己,才能够保证自己是能够学习好的,所以在日常生活中还是要多做总结和分析,从而能够保证自己是能够有效的学习JAVA的。
Java和C++在编译和运行上有什么区别
在语法层面上,C++与Java十分相似,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命令行中的-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
jdk1.6和jre6的联系与区别
jre6就是jre1.6版本,也就是说可以把你的问题化为jdk1.6和jre1.6的联系和区别。此外又由于他们都是1.6的版本,所以你的问题就是jdk和jre的联系和区别了。
jdk(java development kit),就是java的开发工具集,顾名思义就是你做开发用的,其中包括javac,也就是java compiler等。
jre(java runtime environment),就是java程序的运行环境。你所写的java程序在经过javac编译后会形成字符行文件,这个java的中间文件,计算机是看不懂的,而这个文件是给jvm(java的虚拟机)用的,由jvm进行解释后形成机器语言给计算机。而这个jvm就在jre中,也就是说java程序的运行要有jre来担当。
所以jdk和jre的区别就是一个用于开发,一个用于运行,联系就是他们都是java开发者所必备的(除非你就像运行java程序,那么用jre就足够了)。
大概的联系和区别就是这样,要是想进一步探究,网上有很多的介绍。
关于javac联系和java与javac的区别的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。