关于java 中的main函数

我们刚开始写java 程序最常见的除了System.out.println( );之外应该就是 public static void main( String arg[ ] ){ …… }了。 我们通常称之为主函数或者main函数。公共和静态就不用说了,这是java程序的一个入口,而String args [ ]里面是一些命令参数。

前提:

先说定义: 进程是指计算机中的程序在某数据集合上的一次运行活动。 可以这么说,我们写完一段代码(程序)后。这段代码(程序)从加载、执行到完毕的一个过程,就是进程本身从产生、发展到消亡的过程。 后台进程,可以理解为操作系统自身的一种行为,通常不能控制 前台进程,是与我们实际发生交互的进程。

一点解释:

其中main()是一个前台线程,前台进程是程序中必须执行完成的,而后台线程则是java中所有前台结束后结束,不管有没有完成,后台线程主要用与内存分配等方面。 前台线程和后台线程的区别和联系:

  1. 后台线程不会阻止进程的终止。属于某个进程的所有前台线程都终止后,该进程就会被终止。所有剩余的后台线程都会停止且不会完成。
  2. 可以在任何时候将前台线程修改为后台线程,方式是设置Thread.IsBackground 属性。
  3. 不管是前台线程还是后台线程,如果线程内出现了异常,都会导致进程的终止。
  4. 托管线程池中的线程都是后台线程,使用new Thread方式创建的线程默认都是前台线程。

常见问题&情形:

  1. 应用程序的主线程以及使用Thread构造的线程都默认为前台线程。
  2. 使用Thread建立的线程默认情况下是前台线程,在进程中,只要有一个前台线程未退出,进程就不会终止。 主线程就是一个前台线程。
  3. 而后台线程不管线程是否结束,只要所有的前台线程都退出(包括正常退出和异常退出)后,进程就会自动终止。
  4. 后台线程用于处理时间较短的任务,如在一个Web服务器中可以利用后台线程来处理客户端发过来的请求信息。
  5. 前台线程一般用于处理需要长时间等待的任务,如在Web服务器中的监听客户端请求的程序,或是定时对某些系统资源进行扫描 的程序。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券