❶ 关于自己编译JDK的问题
1 JDK是c/c++写的, 编译就是把JDK编译成可以运行的状态, 可运行的意思是指可以编译运行.java文件. 而一般情况下官方下载的JDK都是已经帮你编译好而已.
2 作者可以用自己编译的, 也可以用官方编译好的. 这个要看书中的说明了
3 JDK是c/c++写的, 里面和其他c++程序没什么区别, windows下面是一堆dll和一堆exe. 你说的.java文件是JDK的功能之一, 帮你编译java文件成class, JVM是运行class文件的容器
善意提醒:如果你想学java, 而且没学过c++, 相信你是买错书了
❷ JDK源码编译问题
这个可能是eclipse的设置问题,
试一下:
Windows-Preferences-Java-Complicer-Errors/Warnings
里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning
❸ 怎样把java的源码编译成class文件
1.你用记事本写的话,首先确定你的jdk安装正确,并且PATH和CLASSPATH设置正确,检测方法就是在cmd下输入java
-version,如果有提示jdk版本低信息那就是安装好了。然后进行使用dos命令进入你的java源文件(*.java)的目录下,使用javac
命令进行编译。例如你的java源文件是Test.java,那编译命令就是javac
Test.java
然后编译后使用java
Test命令进行执行你的java程序2.如果你用的Eclipse工具的话,那么你就不需要编译了,Eclipse可以在你写代码的同时给你编译好,直接执行就可以了。
❹ 如何在Eclipse下编译JDK源代码,以及JDK源码调试
设置:
1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES"
❺ 为什么jdk源码包不用编译安装就能用
因为他把编译后的class文件也打包了。而如果是下的源码包没有包含class文件,则需要编译,如果有class文件就不需要编译
❻ jdk18出来了吗
jdk18目前还没有真正出来,现在目前也只是出到了2021年9月的jdk17,至于18可能还要等一阵时间,因为后面的版本感觉太多bug了,一直优化一直修,难搞。
拓展知识:
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。
❼ 怎么用jdk1.8编译安卓源码
你要重新配置过jdk环境变量的
❽ 如何用JDK编译JAVA程序
JAVA版hello
world全攻略侯光敏
看到很多技术网站的BBS上面充斥着java初学者的关于运行第一个java程序的求助信息,我觉得作为过来人很有写这篇文章的必要,因为他们遇到的都是些很低级的问题,但是让这些问题占据bbs上那么多宝贵的空间就太不应该了。
要搞清楚的基本概念
java是一种跨平台的网络语言,为了能够在不同平台上运行,它使用了虚拟机这个概念。后缀名为java的文件是源代码文件,它经过编译后生成的是class文件。虚拟机执行的就是这些class文件,将它们转化成为不同平台能够运行的命令。这就是为什么java的效率比较低的原因。也是因为这个原因,在java里没有其它语言的使用者熟悉的exe文件的概念。
执行hello
world的方法
切记:在命令行中输入
javac
源文件名.java
(编译)
java
源文件名
(执行,没有后缀)
这里说的是java
application,里面包括main函数。
如果hello
world是applet版的,在命令行中输入appletviewer
源文件名
(已经编译后的class文件)
如果class文件已经嵌入了html网页中,直接用IE打开就行了。
application经常出现的错误
系统提示Exception
in
thread
"main
"
java.lang.NoClassDefFoundError。出现这个提示的原因可能有:
1
你把文件名拼错了,java对大小写是敏感的。打错了当然找不到文件。
2
虚拟机没有找到必须的类库。你可能没有在autoexec.bat文件中设置classpath。进入windows的运行,输入sysedit,然后在autoexec.bat文件中加入这么一行:set
classpath=你的jdk的安装目录/lib;
例如set
classpath=c:/jdk1.3.0_02/lib;
保存退出后,你要在dos窗口的c根目录下执行一遍autoexec.bat文件已保证被设置了,当然,如果你愿意也可以重启机器。
系统提示HelloWorld.java:1:
Public
class
helloworld
must
be
defined
in
a
file
called
"HelloWorld.java
".
public
class
helloworld{^
一个Java源程序中可以定义多个类,但是,具有public
属性的类只能有一个,而且要与文件名相一致。还有,main方法一定要放在这个public
的类之中,这样才能运行这个类。
系统提示Exception
in
thread
"main
"
java.lang.NoSuchMethodError:
main
出现这个异常是因为你在抄书上的代码时抄错了。主函数一定要这么写:public
static
void
main(String
args[])
一个字都不能错,切记!!!
applet常出现的错误
IE显示applet已经启动,但是还是只显示灰色的一块。这种问题在使用jBuilder等集成开发工具是最容易出现,用appletviewer就没有问题。这是因为你在applet中使用了IE不支持的java版本。jBuilder在做applet是默认使用了swing组件,但是IE只支持jdk1.1,所以造成了这种情况。只要把导入swing的语句去掉就行了,然后按照提示修改一下代码,不要用swing组件的方法。如果你觉得swing组件很漂亮,打死都要用,那么就装一个java的plug-in这个东西在你装jdk的高版本时就自动装上了。看看你的控制面版中有没有那个红鼻子的小东西。但是切记,如果你要用它,那么你的html的文件的写法就和从前不一样了,不能简单的用CODE来指明类了。至于怎么写,不在这篇文章的讨论范围内了(你写一个hello
world还要用plug-in就搞大了)。网上有很多文章讲怎么写。
用惯了点击就执行的的exe文件自然就很不习惯打开dos窗口输入命令行,你可以把它做成jar文件,但是对hello
world来说有点麻烦,有个简单的傻办法:自己做一个批处理文件。例如:用记事本写一个run.txt文件,内容是:java
你的主文件名
,然后把后缀改成bat存到和主文件相同的目录下。呵呵,双击就运行了,够傻吧。
如果你非要用exe文件运行,jet等工具可以把class文件做成exe文件。但是这样也失去了java的跨平台性。
以上就是hello
world的全攻略了,如果你还看不到hello
world,我倒!你还是别学java了。
❾ 如何用JDK编译JAVA程序
JAVA版hello world全攻略侯光敏 看到很多技术网站的BBS上面充斥着java初学者的关于运行第一个java程序的求助信息,我觉得作为过来人很有写这篇文章的必要,因为他们遇到的都是些很低级的问题,但是让这些问题占据bbs上那么多宝贵的空间就太不应该了。 要搞清楚的基本概念 java是一种跨平台的网络语言,为了能够在不同平台上运行,它使用了虚拟机这个概念。后缀名为java的文件是源代码文件,它经过编译后生成的是class文件。虚拟机执行的就是这些class文件,将它们转化成为不同平台能够运行的命令。这就是为什么java的效率比较低的原因。也是因为这个原因,在java里没有其它语言的使用者熟悉的exe文件的概念。 执行hello world的方法 切记:在命令行中输入 javac 源文件名.java (编译) java 源文件名 (执行,没有后缀) 这里说的是java application,里面包括main函数。 如果hello world是applet版的,在命令行中输入appletviewer 源文件名 (已经编译后的class文件) 如果class文件已经嵌入了html网页中,直接用IE打开就行了。 application经常出现的错误 系统提示Exception in thread "main " java.lang.NoClassDefFoundError。出现这个提示的原因可能有: 1 你把文件名拼错了,java对大小写是敏感的。打错了当然找不到文件。 2 虚拟机没有找到必须的类库。你可能没有在autoexec.bat文件中设置classpath。进入windows的运行,输入sysedit,然后在autoexec.bat文件中加入这么一行:set classpath=你的jdk的安装目录/lib; 例如set classpath=c:/jdk1.3.0_02/lib; 保存退出后,你要在dos窗口的c根目录下执行一遍autoexec.bat文件已保证被设置了,当然,如果你愿意也可以重启机器。 系统提示HelloWorld.java:1: Public class helloworld must be defined in a file called "HelloWorld.java ". public class helloworld{^ 一个Java源程序中可以定义多个类,但是,具有public 属性的类只能有一个,而且要与文件名相一致。还有,main方法一定要放在这个public 的类之中,这样才能运行这个类。 系统提示Exception in thread "main " java.lang.NoSuchMethodError: main 出现这个异常是因为你在抄书上的代码时抄错了。主函数一定要这么写:public static void main(String args[]) 一个字都不能错,切记!!! applet常出现的错误 IE显示applet已经启动,但是还是只显示灰色的一块。这种问题在使用jBuilder等集成开发工具是最容易出现,用appletviewer就没有问题。这是因为你在applet中使用了IE不支持的java版本。jBuilder在做applet是默认使用了swing组件,但是IE只支持jdk1.1,所以造成了这种情况。只要把导入swing的语句去掉就行了,然后按照提示修改一下代码,不要用swing组件的方法。如果你觉得swing组件很漂亮,打死都要用,那么就装一个java的plug-in这个东西在你装jdk的高版本时就自动装上了。看看你的控制面版中有没有那个红鼻子的小东西。但是切记,如果你要用它,那么你的html的文件的写法就和从前不一样了,不能简单的用CODE来指明类了。至于怎么写,不在这篇文章的讨论范围内了(你写一个hello world还要用plug-in就搞大了)。网上有很多文章讲怎么写。 用惯了点击就执行的的exe文件自然就很不习惯打开dos窗口输入命令行,你可以把它做成jar文件,但是对hello world来说有点麻烦,有个简单的傻办法:自己做一个批处理文件。例如:用记事本写一个run.txt文件,内容是:java 你的主文件名 ,然后把后缀改成bat存到和主文件相同的目录下。呵呵,双击就运行了,够傻吧。 如果你非要用exe文件运行,jet等工具可以把class文件做成exe文件。但是这样也失去了java的跨平台性。 以上就是hello world的全攻略了,如果你还看不到hello world,我倒!你还是别学java了。
❿ JDK的编译和运行程序命令是什么个针对什么类型文件
javac针对.java文件,编译源代码为字节码文件
java针对.class文件,JVM解释执行程序