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

重新启动自己-我可以从头开始重新初始化所有内容吗?

杜阳炎
2023-03-14
问题内容

我有这样的事情:

public static final String path;
static {
    path = loadProperties("config.conf").getProperty("path");
}

public static void main(String... args) {

    // ... do stuff (starting threads that reads the final path variable)

    // someone want's to update the path (in the config.conf file)
    restart(); // ???
}

我想重新初始化再次调用静态初始化程序的JVM,然后main(...)

能做到吗


问题答案:

您可以使用自定义类加载器启动应用程序,这将允许您加载和卸载静态变量。

但是,基本上,这样做是非常糟糕的设计。我喜欢将字段定为最终字段,但如果要更改它们,则不应将其定为最终字段。



 类似资料:
  • 问题内容: 我目前在 此URL实际上按照以下路由指示加载Module.js类: 这包含在index.js文件中定义的和元素中。 Module类具有和方法。这些设置了记录2的初始详细信息和装入信息。到目前为止一切正常。 现在,我的问题是,在Module.js的孙组件中,我使用以下Redirect重定向到另一个页面,例如第3页: 构造函数或componentWillMount无法运行,因此记录#3无法

  • 问题内容: 是否可以在运行时重新初始化Spring Bean? 我的Bean使用静态设置,在某些情况下会更改,然后我必须重新初始化Bean。 问题答案: 你可以通过三种方法在spring上下文中更新单例bean,可以选择一种适合你的用例: 在Bean中重新加载方法在Bean中 创建一个方法,该方法将更新/重新加载其属性。根据你的触发器,从spring上下文访问bean,然后调用reload方法更新

  • 问题内容: 我正在使用jquery数据表在网格内显示数据。在初始化页面加载脚本中,请使用DateTime.Today并对其进行进一步处理,问题是在初始化页面加载后,当我尝试让用户输入日期以进行进一步处理时。我遇到以下错误。 DataTables警告(表ID =’dataTable’):无法重新初始化DataTable。 要检索此表的DataTables对象,请不传递任何参数,或参阅bRetriev

  • 问题内容: 如果您有一个控制器来操作Angular.js中的$ scope变量,是否有惯用的方法: 重置控制器的$ scope,然后 重新启动控制器初始化? 对于复杂的控制器,不必将每个变量都重置为其初始值将非常方便,特别是如果您真正想要的是对控制器和范围进行简单的重新初始化。通过再次导航到相同的URL 并没有帮助。 编辑:假设我不能使用任何黑客工具,因为这会违反Chrome打包应用中的CSP。

  • 我的Bean使用静态设置,在某些情况下,这些设置会改变,然后我必须重新初始化Bean。

  • 背景-我正在将一些遗留代码重构到spring web-mvc框架中。 我使用的是Spring5.0.5.Release和tomcat 8.5.31。 我将通过eclipse Oxygen.3a发行版(4.7.3a)和Fedora28启动该应用程序。 问题-当启动tomcat时,应用程序调度程序间歇性地(大约75%的时间)重新启动。似乎在应用程序加载之后,我得到一个完成的消息,然后重新加载。 在完成