有没有办法找到java代码的执行流程?

有没有办法找到java代码的执行流程?,java,Java,我想找到这段代码的执行步骤,有什么方法可以显示控制台中的执行流吗?一种可能性是在类中创建一个字段,该字段将区分两个线程,以确保在for循环中打印到控制台的信息中包含此附加值时,哪个线程将值打印到控制台了解第一个或第二个线程是否执行了打印到控制台的活动 另一种可能是使用调试器。打印语句 将System.out.println语句放在代码中的适当位置。例如,放 public class Threads1 { int x = 0; public class Runner imple

我想找到这段代码的执行步骤,有什么方法可以显示控制台中的执行流吗?

一种可能性是在类中创建一个字段,该字段将区分两个线程,以确保在for循环中打印到控制台的信息中包含此附加值时,哪个线程将值打印到控制台了解第一个或第二个线程是否执行了打印到控制台的活动

另一种可能是使用调试器。

打印语句 将System.out.println语句放在代码中的适当位置。例如,放

  public class Threads1 {
    int x = 0;
    public class Runner implements Runnable {
        public void run(){
            int current = 0;
            for(int i = 0; i<4; i++){
                current = x;
                System.out.println(current + ", ");
                x = current + 2;
            }
        }
    }

    public static void main(String[] args) {
        new Threads1().go();
    }

    public void go(){
        Runnable r1 = new Runner();
        new Thread(r1).start();
        new Thread(r1).start();
    }
}
在for循环之前,了解何时输入for循环

调试器 了解如何在IDE中设置断点。在不理解的代码部分的开头设置断点。当执行该行时,程序将暂停并允许您检查变量中的值、堆栈跟踪、线程等。您还可以在调试器中找出当前运行的线程

此外,在调试器上查找“步进”、“步过”和“步出”按钮。这将允许您逐行遍历代码,以便查看执行的路径。

Java线程 如果您同时运行多个线程,则无法预测其中哪一个线程先完成,或者何时完成某件事情,比如不同的程序。不同的线程由CPU的不同内核执行,因此彼此完全独立,这会影响计算速度和顺序分支预测在CPU中扮演一个角色。这会导致很难找到bug,因为它们只是偶尔发生

你的问题 线程的执行顺序不是在编译时确定的,而是在运行时由CPU决定的,并且不一致,因为线程不知道它们有一个伙伴

解决方案 要显示发生的顺序,只需在方法中插入System.out.println语句,并创建一种日志记录控制台中发生的情况

同步的受控线程
如果使用线程,Java支持synchronized关键字。Synchronized允许您对多个线程进行一些控制。例如,一次只能有一个线程与变量或方法交互。有关更多信息,请使用google Java同步线程。

执行流是什么意思?我想找到JVM执行此代码所遵循的一步一步执行流。在eclipse中使用调试程序运行它。我正在使用NetBeans它是否对此提供支持?我正在使用NetBeans它是否对此提供支持?-尝试用谷歌搜索netbeans调试器
System.out.println("Entering a for loop");