你知道java的main 方法启动后,会有多少个线程吗?

你知道java的main 方法启动后,会有多少个线程吗?
package com;

import java.util.stream.Stream;

/**
 * 你知道java的main 方法启动后,会有多少个线程吗?
 */
public class ThreadTest {
    public static void main(String[] args) throws InterruptedException {
        Thread mainThread = Thread.currentThread();
        ThreadGroup mainThreadThreadGroup = mainThread.getThreadGroup();
        //获取线程组中的线程。
        int count = mainThreadThreadGroup.activeCount();
        Thread[] threads = new Thread[count];
        mainThreadThreadGroup.enumerate(threads, true);
        System.out.println(count);
        Stream.of(threads).forEach(thread -> System.out.println(thread.getName()));
    }
}

输出:

2
main              主线程 
Monitor Ctrl-Break         控制中断监视器

原文地址:https://www.cnblogs.com/itbac/p/12210717.html

时间: 2025-01-06 07:22:28

你知道java的main 方法启动后,会有多少个线程吗?的相关文章

为什么java的main方法必须是静态的

今天看类型信息时发现一个问题,不能再main方法中打印this关键字的信息,这时想起了之前的知识,不能再静态方法中调用this.理由很简单,this表示"这个对象",也就是声明一个类的对象,然而静态方法是不属于某一个特定对象而是属于这个类的.那么问题来了,为什么main函数必须设置成静态的呢? 首先,main函数作为java程序的入口,也可以理解为一个接口,这个接口不是提供给程序员使用的,这时提供给用户等使用的,用户等不需要知道程序内部的实现,只需要知道接口就可以了,如果是非静态的,那

为什么Java的main方法必须是public static void?

Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public.static.void 的.当然,很多人首先学的是 C 和 C++,但是在 Java 中 main 方法与前者有些细微的不同,它不会返回任何值,为什么 main 方式是 public.static.void,这篇文章尝试去找到一些答案. Main 方法是 Java 程序的入口,记住,我们这里不会讨论 Servlet.MIDlet 和其他任何容器管理的 java 程序,在 java

Android 项目中执行java的main方法

Android 项目中执行java的main方法 导语 今日,在android项目中写了一个工具类,为了简单测试一下输出,就只直接在类中加上了main方法,于是问题来了: 解决方法是网上找到了,已经解决了,在此记录一下. 右击项目名,调出Properties窗口,打开Run/Debug Settings 标签,右边即列出了这个项目中含有main方法的所有java类,双击你要允许的java类:

【细说Java】揭开Java的main方法神秘的面纱(转)

大家都知道,main方法是Java应用程序的入口,其定义格式为: public static void main(String[] args) 可是为什么要这么定义呢?不这样定义可以么?main方法可以继承么?可以重载么?可以被其他方法调用么? 1. main方法为什么这么定义? (1) 因为main方法在启动时是通过Java的虚拟机,也就是JVM来调用的,并且没有通过对象的引用来调用,所以main方法是public和static的.而void是因为,main方法在退出时,没有给退出代码,而是在

JAVA的main方法

在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方 法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等. 在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明Java类中main()方法的奥秘,程序的代码如下: public class HelloWorld

java 理解main方法

理解main方法 方法的定义格式 public static 返回值类型 方法名称(参数列表) 之前的方法定义上都增加了static关键字,为什么要增加static关键字? [java] view plaincopyprint? public class Test4 { public static void main(String[] args) { fun(); } public static void fun(){ System.out.println("你好"); } } 主要是

Java 向main方法传值时关于*号的问题

现有要求如下: 通过cmd的方式,求简单表达式的值. 比如输入 java Expression 3 + 4 得到的结果为:7 代码: import java.text.DecimalFormat; public class Expression { public static void main(String[] args) throws Exception { if(args == null || args.length != 3){ //MyException只是简单的继承Exception

Java中Thread方法启动线程

public class ThreadTest extends Thread {  private int count = 10; @Override public void run() { //重写run()方法 while (true) { System.err.print(count + " "); //打印count变量 if (--count == 0) { //count自减,等于0退出循环 return; } } } public static void main(Str

java基础-main方法详解

/* 主函数(主方法) * 1.public (访问修饰符,公共的)代表该类或者该函数访问权限是最大的 * 2.static 代表主函数随着类的加载就已经粗在了 * 3.void 代表主函数没有具体的返回值 * 4.main main不是一个java关键字,他是一个特殊的单词,他能够被jvm(java虚拟机)所识别 * 5.string[] args函数的参数是一个字符串数组,该数组的元素是字符串 * */ public class A6_38 { public static void main