⑴ java 语言中IDE,JDK,JRE是什么,JAR,JAVA,CLASS文件中分别是什么东西
IDE(Integrated Development,集成开发环境)
集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、debug功能等一体化的开发软件套。
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。
JRE为JavaRuntimeEnvironment的简称,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机、Java核心类库和支持文件。它不包含开发工具--编译器、调试器和其它工具。
JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
class文件全名称为Java class文件,主要在平台无关性和网络移动性方面使Java更适合网络。它在平台无关性方面的任务是:为Java程序提供独立于底层主机平台的二进制形式的服务。
class文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件
⑵ JAVA 语言中IDE,JDK,JRE是什么,JAR,JAVA,CLASS文件中分别是什么东西
ide:是集成开发环境,表现为一个图形界面程序,可以用来编辑源文件,版编译,调试权java程序;
jdk:java开发工具集,包含很多程序,那些程序可以对编译,打包,运行java程序。
jre:就是一个虚拟机程序,可以运行编译好的java程序;
jar:打包程序,类似rar;
class:类或者说类文件。java源文件编译后会生成类文件。
再详细的可以分别搜各个关键字。
⑶ 如何查看java的class文件是被哪个版本的jdk编译的
使用UE(Ultra Edit)打开.class文件,切换到16进制模式,查看第1行: CA FE BA BE 00 00 00 3200 75 07 00 02 01 00 27 ; ... .. 前8个字节:CA FE BA BE 是固定的后面专的属4个字节:00 00是次版本号次版本号后面的4个字节:00 32是编译源代码的jdk版本号32(对应十进制的50):JDK1.631(对应十进制的49):JDK1.530(对应十进制的48):JDK1.42F(对应十进制的47):JDK1.3 2E(对应十进制的46):JDK1.2 编译器的jdk版本是1.2 编译器的jdk版本是1.6
⑷ 怎么知道Java class文件JDK编译的版本号
首先用一些二进制查看器打开class文件,比如od或者hexmp工具。
od -x hello.class
或者
hexmp hello.class
我们会看到类似于下面的内输出容:
feca beba 0000 3300
这里我们看到前四个字节是Java class的特殊符号,叫做magic字段,用来告诉JVM这是个class文件,之后的两个字节是minor版本号,再之后的两个字节是major版本号,我们看到时33,对应下表我们知道33时JDK1.7编译的版本号。
十六进制
JDK1.5 31
JDK1.6 32
JDK1.7 33
JDK8 34
因为Java是向后兼容的,所以高版本的兼容低版本的,所以有时候你遇到java报: unsupported major.minor version 51,那就是你用低版本的虚拟机去运行高版本JDK编译的class文件了,所以低版本的虚拟机就抱怨了。这里的51是十进制,也就是十六进制的33,及对应JDK1.7,如果出现这种错误,你肯定是使用低于1.7版本的虚拟机去运行这个了。
⑸ 如何在JDK中把JAVA编译成class文件
步骤:
首先,配置下环境:我的电脑--属性--高级--环境变量--找到path双击,把java安装的JDK的bin的文件路径加到这里,保存。
然后,你运行Dos, 点击运行---输入cmd,按回车。
最后,你在dos里面静茹到你java文件的目录下(比如是Login.java文件):
javac Login.java 这是编译java
java Login 这是运行java
⑹ 同一个 Java 文件用不同的 jdk 编译出的 class 文件是一样的吗
不一样
不同点主要体现在两个部分:
1、每个class文件的开头几个字节中有标识jdk版本的数值信息,这个应该不一样,比如jdk5编译的是49,jdk6编译的是50;javac 有两个参数是 -source <版本> 和 -target <版本>,一般来说,如果target相同的话,编译出来的class文件时完全相同的,但是反之则不一定相同
2、有些编译器在编译时会进行优化,比如将static final的常量直接inline到使用该常量的地方