相关疑难解决方法(0)

我应该查看java编译器生成的字节码吗?

No

  • 无论如何,JIT编译器可以将字节码"转换"为完全不同的东西.
  • 它会引导你做过早的优化.

Yes

  • 您不知道JIT将编译哪种方法,因此如果您优化它们会更好.
  • 它将使您成为更好的Java程序员.

我问的是没有真正知道(显然)所以随意重定向到JIT超链接.

java compiler-construction jit jvm bytecode

6
推荐指数
1
解决办法
519
查看次数

Java中while(x = false)和while(!x)之间有什么区别?

对不起,我是Java的新手,所以这个问题可能不清楚.

我最近一直在处理在while循环中包含try和catch语句,因为我想确保从程序的其余部分包含输入.

我遇到过一个问题,在while条件下在变量前面使用感叹号(!)(例如while(!done))而不是使用= false(例如while(done = false))改变了我的程序的方式运行.

前者(!done)导致try和except语句按预期运行.后者(done = false)不会,只是跳过它们并继续前进到代码的下一部分.

我的印象是!在变量意味着与var = false相同之前.

我错了吗?

这是一个例子:

import java.util.Scanner;

public class TestOne {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        int num;
        boolean inputDone = false;
        while (!inputDone) {
            try {
                System.out.print("Enter in a number here: ");
                num = input.nextInt();
                inputDone = true;
            }
            catch (Exception e) {
                System.out.println(e);
                System.exit(0);
            }
        }
        System.out.println("Success!");
    }
}
Run Code Online (Sandbox Code Playgroud)

目前,编译和运行程序将顺利进行:它会提示我输入一个数字,输入一个字母或者很长的数字会导致它打印出异常类型并退出.输入正常数字会导致打印成功!

另一方面,如果我用inputDone = false替换!inputDone,它只会打印出Success!当我运行程序时.

任何人都可以解释我之间的区别!和while循环中的= false语句?

java try-catch while-loop

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

VS2008 c ++编译器会优化以下if语句吗?

if (false == x) { ...}
Run Code Online (Sandbox Code Playgroud)

而不是:

if (!x) { ... }
Run Code Online (Sandbox Code Playgroud)

if (false == f1()) { ...}
Run Code Online (Sandbox Code Playgroud)

而不是:

if (!f1()) { ... }
Run Code Online (Sandbox Code Playgroud)

我认为if(假= = ......版本更具可读性.你同意,或者你可以提出另一个技巧吗?它会一样快吗?谢谢.

这就是我不喜欢的原因!x:

if (25 == a->function1(12345, 6789) &&
    45 == b->function1(12345, 6789) &&
    !c->someOtherFunction(123)) { ... }
Run Code Online (Sandbox Code Playgroud)

以下似乎更好:

if (25 == a->function1(12345, 6789) &&
    45 == b->function1(12345, 6789) &&
    false == c->someOtherFunction(123)) { ... }
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction optimization coding-style code-readability

0
推荐指数
2
解决办法
517
查看次数