java吧 关注:1,216,961贴子:12,667,851
  • 6回复贴,共1

点击了IDEA的run,到底发生了什么

只看楼主收藏回复

如果不用开发工具,用记事本写完代码之后需要执行javac编译成class,再执行java运行,那么IDEA的run是不是只简单的调用了这个两个指令?还是自身添加了其他指令? 另外想请教一下thread中的run方法是每个线程底层自己调用javac和java指令吗?为什么thread可以无视main中的异常把程序执行完?


IP属地:浙江1楼2019-12-25 12:08回复
    有没有大佬给讲一下,谢谢!


    IP属地:浙江2楼2019-12-25 12:15
    回复
      idea启动的过程比较复杂。会生成out文件夹,他运行的是out里面的内容。以后出现路径问题就去out里看。main本身也是一个线程,你另起的线程和main线程无关。main线程出现异常,关其他线程什么事情呢?另外,线程启动的run方法只是普通的方法调用。线程使用start开启的。


      IP属地:江苏来自Android客户端3楼2019-12-25 17:05
      回复
        再请教大佬一个问题。无论开启多少线程,文件只编译和运行一次是吗?


        IP属地:浙江来自iPhone客户端4楼2019-12-25 17:20
        回复
          线程是运行的时候才会有的东西,和编译无关,所有文件编译一次就OK了。至于运行多少次,这个得看线程有多少,因为主线程main和其他线程是互相隔离的,所以即使主方法运行结束,也有可能有其他的线程还在运行,所以运行多少次也没法回答


          IP属地:内蒙古5楼2019-12-25 18:04
          回复
            得具体看程序怎么写


            IP属地:内蒙古6楼2019-12-25 18:05
            回复
              idea的run可以像你这样理解。 main方法是一条主线程。thread的run是另一条线程,相对来说,互相独立


              IP属地:上海来自Android客户端7楼2019-12-25 20:08
              回复