标签: javac

为什么数组[idx ++] + ="a"在Java 8中增加一次idx,在Java 9和10中增加两次?

对于挑战,一位代码高尔夫球手 编写了以下代码:

import java.util.*;
public class Main {
  public static void main(String[] args) {
    int size = 3;
    String[] array = new String[size];
    Arrays.fill(array, "");
    for(int i = 0; i <= 100; ) {
      array[i++%size] += i + " ";
    }
    for(String element: array) {
      System.out.println(element);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在Java 8中运行此代码时,我们得到以下结果:

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 …
Run Code Online (Sandbox Code Playgroud)

java javac java-8 java-9 java-10

730
推荐指数
1
解决办法
7万
查看次数

蚂蚁警告:"'includeantruntime'未设置"

我收到以下警告:

[javac] build.xml:9: warning: 'includeantruntime' was not set, 
defaulting to build.sysclasspath=last; set to false for repeatable builds
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

java ant build javac build-tools

392
推荐指数
6
解决办法
24万
查看次数

错误:java:无效的源版本:Intellij中的8.这是什么意思?

我试图编译一些代码在我使用Intellij Ultimate 13.1.4,但我得到以下错误,我不知道这意味着什么:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8
Run Code Online (Sandbox Code Playgroud)

我的猜测是它与Java 8和Java 7有关,但我不知道具体是什么.我试图谷歌周围的这个消息,但他们要么谈论javactarget release,所以它似乎并不完全适用.

java compilation javac intellij-idea intellij-13

293
推荐指数
6
解决办法
21万
查看次数

javac不被识别为内部或外部命令,可操作程序或批处理文件

我在尝试编译Java程序时遇到错误.

我在Windows上(这是一个特定于Windows的问题),我安装了最新的JDK.

我尝试过涉及PATH变量的解决方案,但错误仍然存​​在.

控制台输出:

C:\>set path=C:Program Files (x86)\Java\jdk1.7.0\bin
C:\>javac Hello.java
'javac' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

java path javac environment-variables command-prompt

248
推荐指数
5
解决办法
106万
查看次数

为什么Java类用空行编译不同?

我有以下Java类

public class HelloWorld {
  public static void main(String []args) {
  }
}
Run Code Online (Sandbox Code Playgroud)

当我编译这个文件并在生成的类文件上运行sha256时,我得到了

9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff  HelloWorld.class
Run Code Online (Sandbox Code Playgroud)

接下来我修改了类并添加了一个如下所示的空白行:

public class HelloWorld {

  public static void main(String []args) {
  }
}
Run Code Online (Sandbox Code Playgroud)

我再次在输出上运行sha256,期望得到相同的结果,但我得到了

11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f  HelloWorld.class
Run Code Online (Sandbox Code Playgroud)

我已阅读此TutorialsPoint文章:

只包含空格的行(可能带有注释)称为空行,Java完全忽略它.

所以我的问题是,由于Java忽略空行,为什么两个程序的编译字节码都不同?

即在该差HelloWorld.class一个0x03字节是由替换0x04字节.

java bytecode compilation javac

206
推荐指数
4
解决办法
1万
查看次数

javac和Eclipse编译器有什么区别?

Eclipse的Java编译器只是程序所在的同一个核心的包装器javac,还是一个单独的编译器?如果是后者,为什么他们会重新发明轮子?

java eclipse javac

192
推荐指数
4
解决办法
6万
查看次数

Java编译器和JVM用哪种语言编写?

Java 编译器(javac),虚拟机(JVM)和java启动器编写的语言是哪种?

java jvm javac

187
推荐指数
7
解决办法
7万
查看次数

“ java”命令可以编译Java程序吗?

互联网上的大多数网站都说:

“使用javac命令编译.java文件。然后使用java命令运行它”

但是今天我试图在没有Java的情况下运行Java程序,但javac结果却很奇怪。

以下是名为的文件的内容hello.java

public class Myclass {
 public static void main(String[] args){
    System.out.println("hello world");
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我跑了:

$ javac hello.java
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
       ^
1 error
Run Code Online (Sandbox Code Playgroud)

但是,当我不使用javac命令运行它时,它执行时没有任何错误。

$ java hello.java
hello world
Run Code Online (Sandbox Code Playgroud)

java命令还会编译程序吗?如果是,为什么我们需要该javac命令?

我的Java版本是:

openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM …
Run Code Online (Sandbox Code Playgroud)

java javac

143
推荐指数
4
解决办法
8025
查看次数

javac无法在Windows命令提示符下工作

我正在尝试使用javacWindows命令提示符,但它不起作用.

将目录添加"C:\Program Files\Java\jdk1.6.0_16\bin\"PATH环境变量的末尾后,该java命令正常工作,但使用时javac给出了以下错误:

'javac'未被识别为内部或外部命令,可操作程序或批处理文件.

java windows javac command-prompt

129
推荐指数
6
解决办法
54万
查看次数

如何添加-Xlint:取消选中我的基于Android Gradle的项目?

我尝试将以下内容添加到根build.gradle文件中:

subprojects {
    gradle.projectsEvaluated {
        tasks.withType(Compile) {
            options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'.
> invalid flag: -Xlint:unchecked -Xlint:deprecation
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

android lint javac gradle

127
推荐指数
4
解决办法
5万
查看次数