-
生命周期问题5
我的理解是这样的,静态变量的引用将一直在stack中,所以该引用对应的heap里的对象不会回收。
那么
1.类的静态变量生命周期是从加载该类开始到程序停止?
2.在内存吃紧情况下会不会被回收?
具体业务是我想实现这样的功能,将常用&&数据量不大&&数据不经常改动 的数据在程序启动时加载到内存(放到静态变量Map里面),更新删除数据库数据时同时更新内存,程序访问数据访问内存,不访问数据库。
请问这样是否合理?有没有更好地办法?
请各路大神指教 谢谢!2013年11月28日 10:30
2个答案 按时间排序 按投票排序
-
采纳的答案
你的做法是可以的,没有问题。
如果你了解redis或者memcache的话可以用这些代替直接放入jvm内存,当然不用这些也ok2013年11月28日 10:37
-
1.类的静态变量生命周期是从加载该类开始到程序停止?
是类被加载时开始 类被卸载时停止
2.在内存吃紧情况下会不会被回收?
不会 但 interned String会被回收掉一些
不过 java 8的Hotspot JVM实现中似乎会移除掉永久代 将类的元数据放在本地内存 将类的静态变量和interned String 放在java 堆中
具体可以看看这个:
http://openjdk.java.net/jeps/1222013年11月28日 10:44
相关推荐
【标题】:“本科毕业设计 传感器网络生命周期问题.zip”揭示了一个本科阶段的毕业设计课题,主要关注的是传感器网络的生命周期管理。传感器网络是由大量小型、智能的传感器节点组成,它们协同工作,收集环境或特定...
UIView的生命周期对于理解iOS应用中视图的加载和管理至关重要。在开发iOS应用时,了解UIView及其子类的生命周期方法,可以让开发者合理地安排资源的分配和释放,优化应用的性能,以及提供更好的用户体验。 首先,...
"软件生命周期模型" 软件生命周期模型是软件开发过程中的一个重要概念,它描述了软件从概念到交付的整个生命周期。软件生命周期模型通常包括软件需求分析、软件设计、软件实现、软件测试、软件维护等几个阶段。 ...
本文将深入探讨Cookie的生命周期问题,理解如何管理和控制Cookie的生存时间。 首先,Cookie的生命周期是由其“过期时间”决定的。当你在创建一个新的Cookie对象时,可以通过调用`setMaxAge()`方法来设置这个时间。...
Ability生命周期是指从创建到销毁的过程中,Ability所经历的一系列状态变化。理解并掌握Ability的生命周期对于开发高效、稳定的HarmonyOS应用至关重要。现在,我们将深入探讨Ability生命周期及其重要概念。 1. **...
Activity的生命周期管理是Android开发中的核心概念,对于确保应用程序的稳定性和性能至关重要。本知识点主要聚焦于如何高效地管理和控制Activity的生命周期。 Activity的生命周期包括了创建(onCreate())、启动...
当子函数返回指针变量时,需要注意指针变量的生命周期问题。 ```c char* get_string() { char* str = (char*)malloc(10 * sizeof(char)); str[0] = 'H'; str[1] = 'e'; str[2] = 'l'; str[3] = 'l'; str[4...
通过深入理解组件和框架的生命周期,开发者能够优化性能,减少潜在问题,并且更好地利用Flex 4提供的高级特性,如States和Effects,为用户提供更优秀的交互体验。通过阅读源代码、参与社区讨论和持续学习,开发者...
IT服务管理生命周期模型是IT行业中一个重要的概念,它基于PDCA(Plan-Do-Check-Act,即计划、执行、检查、处理)循环理论,旨在系统性地管理和优化IT服务,确保服务质量满足业务需求。这一模型将服务管理分为四个...
PEMS开发生命周期-GB9706.1-2020文档
### ASP.NET 应用程序生命周期详解 #### 一、引言 ASP.NET 是 Microsoft 开发的一个框架,旨在帮助开发者创建动态网页、Web 应用和服务。随着 Web 技术的发展,Microsoft 在 IIS7.0 中引入了一种新的集成管道模型,...
通过使用这样的库,开发者可以避免手动处理复杂的生命周期问题,减少错误和提高代码质量。 总的来说,优化Android组件间的通信和生命周期管理是提升应用性能和稳定性的重要步骤。通过使用像ViewModel、LiveData、...
针对传统CMS在文档生命周期管理方面的不足,特别是固定的流程和权限控制问题,可配置的CMS文档生命周期管理方法提供了更加灵活和适应性强的解决方案。这种方法允许根据具体需求调整文档状态转换、操作权限和并发控制...
软件生命周期通常包括问题定义、可行性研究、需求分析、设计、实现、测试、维护等阶段。 问题定义阶段是软件生命周期的第一个阶段。在这个阶段,系统分析员与用户进行交流,弄清用户需要计算及解决什么问题,然后...
理解`UIViewController`的生命周期不仅有助于我们编写出更加健壮的应用程序,还能帮助我们在遇到内存警告或者性能问题时快速定位问题所在。 #### 一、初始化阶段 在`UIViewController`的生命周期中,一切始于初始...
### 安全开发生命周期(SDL)概览 #### 一、SDL概念 安全开发生命周期(SDL, Security Development Lifecycle)是一种旨在确保软件在各个开发阶段都融入了安全性考量的方法论。这种方法论着重于通过在软件开发早期阶段...