Tag: 生命周期

什么是Java中的Thread的LifeCycle?

在java中我们创建一个线程对象 Thread t1 = new Thread(Runnable object); t1.start(); 线程t1的生命周期的不同阶段和执行run()之后的状态是t1 ?

Hibernate实体存储为HttpSession属性值

我正在处理一个带有大量相当混乱的代码库的遗留Java应用程序。 有一个相当标准的“用户”对象存储在请求之间的HttpSession中,因此servlet在顶部执行如下操作: HttpSession session = request.getSession(true); User user = (User)session.getAttribute(“User”); 旧的用户身份validation层(我将不会描述;足以说,它没有使用数据库)正被替换为使用Hibernate映射到数据库的代码。 所以’User’现在是一个Hibernate实体。 我对Hibernate对象生命周期的理解有点模糊,但似乎在HttpSession中存储’User’现在成为一个问题,因为它将在下一个请求期间在不同的事务中被检索。 在这里做什么是正确的? 我可以使用Hibernate Session对象的update()方法在下次重新附加User实例吗? 我需要吗?

春豆的生命周期是什么?

我对Spring的生命周期感到困惑。 XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(“SpringHelloWorld.xml”)); 上面的代码片段是否创建了对象? 如果上述答案是真的。 a)然后,对于范围为“singleton”的bean,获取在上面的代码片段中创建的对象。 我是对还是错? b)对于范围是“原型”的情况,创建的对象是否未使用。 因为,容器总是返回新对象。 XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(“SpringHelloWorld.xml”)); 上面的代码片段是否创建了对象? 如果答案是假的, spring框架如何validationbean定义是否正确。 From the answer of Henry Usually, singleton beans are created when the context starts. This can be changed with the lazy-init or default-lazy-init attributes. Prototype beans are only created when needed. Only syntactically, […]

JUnit @Rule与@Before的生命周期交互

我有一些使用TemporaryFolder @Rule JUnit测试。 他们在@Before方法中使用TemporaryFolder来执行一些设置: @Rule public TemporaryFolder folder = new TemporaryFolder(); @Before public void init() { folder.newFile(“my-file.txt”); } @Test public void myTest() { … } 大部分时间这都很完美。 但是,在使用SpringJUnit4ClassRunner我发现在某些情况下,在应用TemporaryFolder实例中的Statement之前调用init()方法。 因此,在init()使用folder时,临时文件夹位置未设置(即: null init() ,我的文件最终在工作目录中,而不是/tmp 。 所以在某些情况下@Before方法在规则之前执行,但是,我无法建立一个明确的模式。 我偶尔会看到一些与我自己的规则实现类似的问题。 有什么方法可以确保在任何设置方法之前应用我的规则语句?

Android – 在渲染线程内结束活动

下午好。 我不熟悉android中的活动生命周期并尽可能地阅读,但我无法想出如何以一种很好的方式解决以下问题。 我有一个带有GLSurfaceView的活动,可以在屏幕上绘制各种内容。 在这个GLSurfaceView的渲染线程中,我执行所有渲染以及实际的更新逻辑(我最终会将其分开)。 我遇到的麻烦来自渲染器中绘制的一个“屏幕”我希望结束Activity并让它调用各种生命周期方法。 通常我可以使用System.exit(0)执行此操作; 但是以这种方式结束活动似乎并没有调用OnStop(); 的OnDestroy(); 方法。 这可能只是我愚蠢而没有看到这样做的简单方法,但有没有办法访问Activity并调用activity.finish(); 无需将参考文件一直传递下去? 这可能不是一个Android问题,更像是一般的java问题? 对不起,我两个都有点生疏了。 也许如果有人能够大致解释他们如何在他们的应用程序中处理这样的问题。

为什么不能覆盖jspService()?

为什么不能覆盖jspService()方法, jspInit()和jspDestroy()可以被覆盖?

Applet生命周期:init()和start()以及destroy()和stop()之间的实际区别是什么?

javadoc和tutorial有关于四个applet生命周期方法的信息( init() -> start() -> stop() -> destroy() )。 但他们大多用抽象语言交谈。 我正在寻找的是具体的例子,如果我把我的代码放在init vs start ,并且类似于destroy vs stop ,它会有什么不同。 到目前为止我唯一发现的是教程对destroy方法的描述。 它说: 注意:尽可能缩短destroy方法的实现,因为无法保证此方法将完全执行。 Java虚拟机可能会在长破坏方法完成之前退出。 (我有点震惊,上面的内容不在javadoc中。) 编辑:更具体一点:任何人都可以提供浏览器+ JVM组合,在某些特定操作(切换选项卡,点击“后退”按钮等)后,调用stop但不destroy (或start但不init )?

Spring请求范围bean

如何设置每个请求创建一次的bean。 我试图这样做: @Component @Scope(value = “request”) public class TestBean { @PostConstruct public void init() { System.out.println(“start request”); } @PreDestroy public void onDestroy() { System.out.println(“ends request”); } } 谢谢。

在JBoss启动时调用EJB中的方法

我正在寻找在JBoss上部署的EJB的入口点。 Servlet具有要在其web.xml使用的load-on-startup标记。 我正在为EJB搜索类似的init()function。