当前位置: 首页 > 面试题库 >

$ 0(程序名称)在Java中?发现主班?

宋耀
2023-03-14
问题内容

有没有办法找到在Java中运行的程序的名称?main方法的类就足够了。


问题答案:

试试这个:

    StackTraceElement[] stack = Thread.currentThread ().getStackTrace ();
    StackTraceElement main = stack[stack.length - 1];
    String mainClass = main.getClassName ();

当然,这仅在从主线程运行时有效。不幸的是,我认为没有系统属性可以查询找到。

编辑: 拉入@John Meagher的评论,这是个好主意:

要扩展@jodonnell,您还可以使用Thread.getAllStackTraces()获取系统中的所有堆栈跟踪。从中可以搜索所有堆栈跟踪中的“主”线程,以确定主类是什么。即使您的类不在主线程中运行,这也将起作用。



 类似资料:
  • 问题内容: 我需要用C语言修改程序的进程名称。 我精确地说,这不是我要更改的线程的名称。 我想更改程序的名称,但是找到的唯一解决方案是修改的值。 我还找到了的另一个解决方案,但是该解决方案不起作用。 问题答案: 调用和修改之间的区别是: 修改中的更改信息 在中调用更改信息 这意味着您将获得流程发布和的不同名称。 如果在执行ps时期望不同的参数具有相同的进程名称,则可以同时使用它们(即change

  • 问题内容: 我正在使用Java 1.6为Mac编写Java Swing应用程序。我阅读了许多教程,它们逐步引导您如何更好地将Java应用程序与OS X集成在一起,但是有一件事我还没有开始工作。我无法显示应用程序名称(Mac菜单栏中的第一个粗体菜单项)。默认情况下,显示主类的全限定类名,但我无法更改它。 该站点说您必须设置以下属性: 但这不起作用(我正在运行10.6,所以也许属性名称已更改?)。 当

  • 问题内容: 如果启动了Java程序,它将在系统进程中监视名称java。许多Java程序很难区分。因此,如果存在设置名称的方法,它将很好地显示在过程监视器中。我知道这在不同的操作系统上可能会有所不同。 一个简单的方法是,如果java解释器支持设置名称的开关,如下所示: 但是我找不到这样的开关,因此它可能不存在。Java中设置进程名称的API也可以。 那么,您有什么建议吗? 问题答案: 我不知道这是否

  • 名称设置方法 京东小程序的名称可以由中英文、数字及下划线组成,长度在4-30个字符之间。 京东小程序的名称是唯一的,不可以与其他小程序名称重复。经过检测保证唯一性才可应用。 名称修改方法 修改方法:登录【京东小程序】-> 【我的小程序】中的【查看】->【设置】->【基础设置】->【小程序名称】->【修改】,当修改名称命中保护词的时候,需要进一步审核通过方可修改成功,名称修改成功后,原名称会立即释放

  • 我在Java学习线程,有一个这样的小程序。我创建一个线程,并用它来创建另一个线程。但是我不能改变第二个线程的名称。有人能解释为什么会这样吗?此外,Thread.sleep(100)意味着主线程将Hibernate100毫秒是正确的吗?谢谢。 该计划的结果如下: 编辑:如果我将getName()更改为Thread。currentThread()。getName()然后一切都按预期工作。它们之间有什么

  • 我的应用程序名称很大,应用程序名称在主屏幕上被截断。有没有办法引用申请的全称?目前应用名称来自Android:label = " @ string/app _ name " 例如。标题为“abcdeghijklmnopqrstuvwxyz”的应用程序将在主屏幕上命名为“abcdeghi...”。所以在主屏幕上保留全名的应用程序快捷方式。