生命周期问题

问题描述

我的理解是这样的,静态变量的引用将一直在stack中,所以该引用对应的heap里的对象不会回收。那么1.类的静态变量生命周期是从加载该类开始到程序停止?2.在内存吃紧情况下会不会被回收?具体业务是我想实现这样的功能,将常用&&数据量不大&&数据不经常改动 的数据在程序启动时加载到内存(放到静态变量Map里面),更新删除数据库数据时同时更新内存,程序访问数据访问内存,不访问数据库。请问这样是否合理?有没有更好地办法?请各路大神指教 谢谢!

解决方案

你的做法是可以的,没有问题。 如果你了解redis或者memcache的话可以用这些代替直接放入jvm内存,当然不用这些也ok
解决方案二:
1.类的静态变量生命周期是从加载该类开始到程序停止? 是类被加载时开始 类被卸载时停止2.在内存吃紧情况下会不会被回收? 不会 但 interned String会被回收掉一些不过 java 8的Hotspot JVM实现中似乎会移除掉永久代 将类的元数据放在本地内存 将类的静态变量和interned String 放在java 堆中具体可以看看这个: http://openjdk.java.net/jeps/122

时间: 2024-08-03 08:39:01

生命周期问题的相关文章

iOS应用生命周期

作为应用程序的委托对象,AppDelegate类在应用生命周期的不同阶段会回调不同的方法.首先,让我们先了解一下iOS 应用的不同状态及它们彼此间的关系,见图1 .                                                                                                             图1 iOS应用状态图 下面简要介绍一下iOS 应用的5种状态.  Not Running(非运行状态).应用没有运

thread-线程的生命周期的问题

问题描述 线程的生命周期的问题 private boolean flag = true; new Thread(new Runnable(){ public void run(){ while(flag){ try{ Thread.sleep(1000); System.out.println("输出"); }catch(InterruptedException e){ } } } }).start(); 线程里面只有一个while循环,当while循环停止以后,这个线程是否还在运行?

IIS处理asp.net请求和asp.net的页面生命周期

当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和asp.net的页面生命周期.欢迎大家积极拍砖,共同学习,共同进步. 首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worke

Vuejs——(2)Vue生命周期,数据,手动挂载,指令,过滤器

原教程: http://cn.vuejs.org/guide/instance.html http://cn.vuejs.org/guide/syntax.html 本博文是在原教程的基础上加上实例,并尝试说明的更详细. (十)Vue实例的生命周期 如图:(我自己翻译的中文版,英文版请查看本博文顶部的,第一个链接) (八)传入的数据绑定 先创建一个对象(假如是obj),然后将他传入Vue实例中,作为data属性的值,那么 ①obj的值的变化,将影响Vue实例中的值的变化: ②相反一样: ③可以在

ASP.NET控件的执行生命周期

阶段 控件需要执行的操作 要重写的方法或事件 初始化 初始化在传入 Web 请求生命周期内所需的设置. Init 事件(OnInit 方法) 加载视图状态 在此阶段结束时,就会自动填充控件的 ViewState 属性,控件可以重写LoadViewState 方法的默认实现,以自定义状态还原. LoadViewState 方法 处理回发数据 处理传入窗体数据,并相应地更新属性. 注意:只有处理回发数据的控件参与此阶段. LoadPostData 方法(如果已实现IPostBackDataHandl

IIS处理Asp.net请求和Asp.net页面生命周期说明

首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worker process的容器,IIS5及之前的IIS版本均没有application pool的概念.每一个application pool对应着一个worker process,在IIS Metabase中维护着Application Po

ASP.NET AJAX客户端生命周期分析(理论篇)

一.引言 微软的ASP.NET AJAX框架,作为一个相对比较完善的AJAX框架,有许多方面值得我们作深入研究.本文中,我们将结合一个具体的例子试图探究ASP.NET AJAX框架的客户端生命周期过程. [注]阅读本文最好要结合"ASP.NET应用程序生命周期概述"和"ASP.NET页面生命周期概述"两篇文章共同学习. 二.ASP.NET AJAX客户端生命周期原理 因为ASP.NET AJAX框架在开发思路上极大地借鉴了ASP.NET 2.0的开发技术,而且将会被

ASP.NET AJAX客户端生命周期分析(实践篇)

一.引言 在上篇中,我们对微软的ASP.NET AJAX框架的客户端生命周期过程作了理论上的分析.在本篇中,我们要结合一个具体示例针对页面的客户端生命周期期间有关重要事件的发生顺序进行剖析. 二.举例 (一)说明 下面的这个例子展示了在一个有两个嵌套的UpdatePanel控件的页面的客户端事件将被如何引发.请注意点击父面板中的按钮与内嵌的UpdatePanel控件中按钮之间的区别.在父面板中的按钮将引起父面板的更新,而嵌在内部的面板将被删除并重新创建.内嵌面板的按钮点击仅引起内嵌面板的更新.

ASP.NET:掌握Web窗体的生命周期与状态管理

asp.net|web 如果你具有使用 Active Server Pages (ASP) 的经验,你将认识到 ASP 是线性处理模型.ASP 页是按从上到下的顺序处理的.ASP 代码和静态 HTML 的每一行都按其在文件中的显示顺序进行处理.在往返行程中用户操作导致页被发送到服务器.因为此操作导致往返行程,所以服务器必须重新创建该页.在重新创建该页后,将通过与以前相同的从上到下的顺序对该页进行处理,因此,该页未表现出真正的事件驱动行为.若要创建事件驱动体验,你需要显式设计它.此外,你必须在最基

Java Servlet Programming 读书笔记 - servlet生命周期

servlet|笔记 servlet的生命周期一般为: 1.建立初始化servlet 2.处理从客户端的零个或多个请求 3.销毁servlet,gc回收占用内存 每个server可能在如何支持servlet上有不同的方法,但是上述servlet生命周期却是每个servlet 引擎必须遵守的规则. 实例持久化Instance Persistence: 一个servlet 实例一旦加载,就开始处理对这个servlet的所有请求,换句话说就是一个servlet只生成一个实例.这样的做法对于性能的提高很