java编译时
java有反射机制,执行编译时会尝试找到JRE安装所在目录,然后找到jvm.dll,接着启动JVM进行初始化动作,产生3个类加载器,用来将所用到的类文件加载到内存中,会自动导入java.lang下的类文件和你想导入的类文件,查看你的代码中是否有未处理的可控式异常,JVM会查看你写的代码是否符合语法,.JVM会将你所写的java文件编译为与系统平台无关的字节码文件。
Ⅱ Java文件进行编译时显示无效的标记是怎么回事
看不到你的命令行输入
Ⅲ 如何解决java编译时编码问题造成的错误
Java源码文件这些文件可以是任意字符编码的,在Java的Class文件里存储的字符串是UTF-8编码的,所以如果在代码中有中文字符的话,就会导致乱码。当然,这只是众多原因中的一种,所以把编码设置统一是避免出现乱码的解决办法。
工具:
eclipse
方法如下:
点击window--Preferences
附:也可以选择Other,从Other中选择程序需要的编码格式。
Ⅳ java源文件编译时要放在哪里
很可能是编译的路径没选对,用绝对路径也可以,用相对路径也可以,绝对路径:就是cmd调出管理员窗口后,输入javac E:\xuexi\HelloWord.java。其中E:\xuexi\HelloWord.java就是源程序HelloWord.java的绝对路径,即源程序文件在哪里,它的绝对路径就是从类似上述例子的路径。相对路径:一直点一直点,找到你写的源文件HelloWord.java,然后在最上面路径那一栏中把原来的名字全部删掉,输入cmd,这就是相对路径。例如HelloWord.java在E:\xuexi下,只需要把最上面路径栏里的E:\xuexi删掉,换成cmd回车就可以了,最后再输入javac HelloWord.java就可以编译。如果有错误也会报错。
Ⅳ 请问java程序在编译和运行时有什么区别,系统分别都会做什么
Java程序的编译
使用命令: javac *.java
编译时,会将写的.java文件(高级语言),生成相应的字节码文件.class文件(二进制代码)
Java程序的执行
使用命令:java *
流程: 加载到 -- 连接 ---- 初始化 ...
运行时,首先会由将相应的.class文件,加载到内存中,并验证.class文件的有效性,将相应类的Class加载到内存中,并对类中的静态变量进行初始化操作,然后就由 主 类开始执行
具体的可以看一下 JVM 类加载过程,以及jVM的内存分配机制
Ⅵ JAVA在编译时报错的原因是什么求详细解释。
在创建子类是会调用父类的构造方法。如果没有显示指定,就会调用父类的无参数的构造方法,你的father类中没有无参数的构造方法,所以报错,解决方法:
1,指定调用父类的构造方法,
child(int
y)
{
super(y);
system.out.println
("child
construct!");
}
2,添加父类无参数的构造方法,father(){system.out.println
("father
construct!");
}
Ⅶ java编译时就出错~
编译的时候需要到test类的目录中,也就是到com.sun.tools.javac.Main在执行javac Test.java
Ⅷ java编译时类型和运行时类型该如何理解
编译期只会检查实例声明的类型和强制转化的类型是否存在extend/implement关系,因为从声明变量类型,到强制转化变量的类型之间可能存在编译期无法解析的代码,虽然示例中只是一个简单的赋值,肉眼就可以判断实际类型,但是对于编译器来说是无法判断的,举个简单的例子:
public static void foo(boolean flag) {
Useful xx = flag ? new Useful() : new MoreUseful();
((MoreUseful)xx).g(); // 编译器如何判断此处是否有错误?
// flag=false的时候可以正常运行,就不能说这里有编译期错误}public static void main(String[] args) {
foo(true);
foo(false);
}
Ⅸ java编译时出现找不到文件,为什么
如果不是有包的导入就跟classpath没有关系
path的设置是%java_home%\bin;就ok了
检查路径是否正确,也就是java是否正确安装直接在dos中敲入java 回车
不弹出 java不是内部命令 就java的安装是正确的,环境变量的设置是没有问题的
引发错误的可能原因:
1、编译程序必须打开程序所在的当前位置
2、检查后缀名是不是有隐藏的.txt
建议贴出所有程序,以及做的操作,以便解决问题