【javac编译-多个文件夹中的代码】教程文章相关的互联网学习教程文章

Java代码和JIT编译

Java代码被编译为字节码,它可以在许多平台上移植.但Java也是JIT编译的,它是即时发生的. 这是否意味着Java编译两次?我们首先通过JVM生成字节码和第二个字节码?谢谢.解决方法:如果JVM“足够热”,你的代码可以由字节码编译成本机代码;并且可能会多次编译,旧版本将被丢弃,具体取决于程序的运行时特性. JIT是一个复杂的野兽;事实上,Sun JVM有两个JIT(-client和-server),它们的行为彼此不同,有些实现甚至支持同时运行的两个JIT(因此您可...

为什么没有编译时错误?奇怪 – Java【代码】

我有一个if语句检查一些值,并遇到一个奇怪的错误(不确定!).我的代码在语法上是不正确的,结果它产生了错误的结果,但是eclipse在编译时没有引发任何错误.为什么我的下面代码有效?if((this.trackPointList.get(point).getTurnOutId().equals(seg.getSegRef().getTurnOut())) && seg.getSegRef().getKind().equals("arc")); // <---- See here I have semicolon{... code to run ...}上面的代码只检查第一个条件并忽略seg.getSegRef(...

如何告诉Java编译器不要抱怨某些异常没有被捕获或抛出?【代码】

有没有办法告诉Java编译器如果我100%确定永远不会发生异常,就不会抱怨某个异常没有被捕获或抛出?解决方法:假设您的意思是检查异常,则不能.通常我会捕获异常,但会将其传播到RuntimeException,例如try {// Do something which could, but won't, throw SomeCheckedException } catch (SomeCheckedException e) {throw new WorldHasGoneMadException(e); }您可能非常希望为这种情况创建一个特定的例外 – 虽然我不建议使用真实名称的...

Java转换导致运行时错误而不是编译错误【代码】

以下代码段将导致运行时:class Vehicle {public void printSound() {System.out.print("vehicle");} }class Car extends Vehicle {public void printSound() {System.out.print("car");} }class Bike extends Vehicle {public void printSound() {System.out.print("bike");} }public class Test {public static void main(String[] args) {Vehicle v = new Car();Bike b = (Bike) v;v.printSound();b.printSound();} }我的问题...

java编译环境里常出现的错误【图】

这里写自定义目录标题java编译环境里常出现的错误1 illegal character: \uff1b出现了中文符号2 str[index].equals(#)java.lang.NumberFormatException: For input string: "#"#是字符,是基本类型,而"#"是对象,equals比较的是对象的内容 java编译环境里常出现的错误 1 illegal character: ‘\uff1b’ 出现了中文符号 2 str[index].equals(’#’) java.lang.NumberFormatException: For input string: “#” #是字符,是基本类型,...

C与Java的编译模型有何不同?

经典编译模型(C,C等)与Java编译模型之间的区别是什么?解决方法:你的问题的正确答案可能需要几百页回答,但我会尝试在几个段落中总结. 基本上,您所指的“经典编译模型”将人工编写的源代码作为输入,并发出机器代码,无需进一步翻译机器代码即可加载和运行.其中一个结果是生成的机器代码只能在兼容的硬件上运行,并且只能在兼容的操作系统中运行. Java编译模型将人工编写的源代码作为输入,并且不发出机器代码,而是发出所谓的“byte cod...

Java编译器是否会预先计算文字的总和?【代码】

int i = 10 + 20;是否真的编译器将处理此代码,添加10 20,字节代码与此代码行相同?int i = 30;我在哪里可以阅读它?解决方法:是的,您甚至可以自己验证它.拿一个小的Java文件,例如:public class Main {public Main() {int i = 10 + 20;} }用javac Main.java编译它,然后运行javap -c Main来反汇编它:Compiled from "Main.java" public class Main extends java.lang.Object{ public Main();Code:0: aload_01: invokespecial ...

java – Maven编译不会创建类文件【代码】

我有一个3模块maven项目与父pom.当我运行maven clean-compile-test时从父进程.它在测试阶段失败,并且为我的本地类提供了大量编译错误,说“找不到符号”. 如果我在运行maven测试之前使用“Make Project”按钮,我发现使用IntelliJ ide,然后maven测试工作! 编辑:现在我发现probelem是maven编译不会在目标文件夹中创建类文件由于某种原因这是我在父pom文件中的maven编译器插件配置:<build><plugins><plugin><groupId>org.apache.mav...

当我们在Java中将Integer分配给int时,为什么编译器不会出错【代码】

当我们将Integer(object)赋给int(primitive)时,为什么编译器不会出错?int i; Integer ii = new Integer(5); i = ii;//no compilation error.所有其他类型(byte-Byte,float-Float)都是这种情况. 是什么原因?我错过了什么吗?解决方法:它被称为autoboxing / unboxing. 从Java 1.5开始,编译器会自动将基元“装箱”到相应的类中(例如int和Integer,double和Double等),并根据需要取消框. 有关详细信息,请参阅文档中的this page.

java – 编译器如何知道在执行之前要抛出的异常?【代码】

import java.io.*; class ex3 {public static void main(String args[]){myfun();}static void myfun(){try{FileInputStream f = new FileInputStream("file.ytxt");System.out.println("my fun");}catch(Exception e) //Line 1{System.out.println(e.getMessage());}catch(FileNotFoundException e) //Line 2{System.out.println("File Not Found Caught");}} }我创建了两个异常处理程序代码(一个是通用的,另一个是第1行和第2行)....

java – 编译器说缺少return语句但我已经有3【代码】

这很奇怪.我的编译器说我错过了一个return语句,但我已经有3个.这是我的代码:public int tortoiseMoves() {int i = tGen();if (i >= 1 && i <= 5){int fastplod = 3;return fastplod;}if (i >= 6 && i <= 8){int slowplod = 1;return slowplod;}if (i >= 9 && i <= 10){int slip = -6;return slip;} }解决方法:您必须确保始终返回一个值.如果你的所有条件都失败了,你就不会退货. 修复将链接你的if语句,因为它们是独占的,并使用else...

java – 如何从文件夹加载所有编译的类?【代码】

我有一个文件夹操作符.在这个文件夹中我有编译文件(一个接口操作符AND 4类实现操作符).目的是从该文件夹加载所有.class文件并在主程序中使用.我用这个语句:File operatorFile = new File("D:\\operators");URL operatorFilePath = operatorFile.toURL(); URL[] operatorFilePaths = new URL[]{operatorFilePath};ClassLoader operatorsLoader = new URLClassLoader(operatorFilePaths);//Plus,Minus,Multiply,Divide are...

java – 在单个build.gradle中使用两组不同的依赖项编译源代码【代码】

我正在使用gradle脚本,我有两个独立的认知列表和其他依赖项列表. 清单1:cognos:a:10.1.1 cognos:b:10.1.1 cognos:c:10.1.1 cognos:d:10.1.1 com:axis:2.0.3 com:webroot:5.0.3和清单2:cognos:a:10.2.2 cognos:b:10.2.2 cognos:c:10.2.2 cognos:d:10.2.2 traven:nt:10.5.0 traven:txtx:5.2.1我需要首先使用list 1依赖项编译我的源代码,然后列出2个依赖项,并在artifactory中使用以下名称发布工件. 具有列表1和列表2依赖项的工件abc...

java – Lombok中的Val在IntelliJ中产生“不兼容类型”错误,但仍然编译良好【代码】

我找到了这段代码:Class<? extends Enum> enumClass = Class.forName(Charsets.class.getName()).asSubclass(Enum.class);我想用Lombok重构它,但发生了意想不到的事情.当我把它改为:val enumClass = Class.forName(Charsets.class.getName()).asSubclass(Enum.class);我收到了这个错误:令人惊讶的是代码编译得很好,而使用它的测试通过了. 我不确定它是否是Lombok插件,IDE中的错误或者我做错了什么.龙目岛不应该能够轻易地推断出...

java – IntelliJ只编译一次文件

IntelliJ(Ultimate 2018.1)没有正确构建我的项目.该项目使用Maven,似乎没有任何问题(所有的库都在那里).问题如下: 每次启动IntelliJ时,我都可以完成一次所有更改.我可以更改文件的内容,这些更改将包含在构建中.但是,构建工具会忽略第一次构建后我所做的每一项更改.因此,每次我构建项目(ctrl f9)之后,我都会得到“所有文件都是最新的”并且没有编译任何内容. (如果我在应用程序服务器上运行应用程序并尝试热插拔,则构建说“已加载的...