问题标签 [persistent-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
struts2 - Struts 2值堆栈“登录尝试”计数器不持久变量
我现在正在学习 Struts 2,并尝试创建一个登录尝试计数器,以在 x 次尝试失败后阻止任何进一步的登录尝试。
这是我的 login.jsp 的正文
还有我的 Action 类(我不包括带有 getter 和 setter 的私有 var,但它们都在那里)
在最初调用 login.jsp 的操作中,我传入一个初始值
这很好用。当我在 login.jsp 页面上点击提交时,问题就来了。
我得到以下堆栈跟踪
第 17 行是
每次我点击提交按钮时,loginAttempt
它都会将变量重置为NULL
.
谢谢
编辑:我知道这可能不是这样做的正确方法,我可能应该在会话中这样做。但是我试图理解为什么它不起作用。
memory-management - PIC24F - 即使在 PIC 断电后,数据值也可能保持不变?
我有一个关于 PIC24F 中数据值的持久性(存储)的问题,即使 PIC 已关闭。
我已通读数据表,但对 EEPROM 和闪存的区别感到困惑。
例如,假设我有一个变量“x”,有没有办法让“x”的值在 PIC 关闭后仍然存在?我知道只要代码是在独立操作 (COE_OFF) 中编译的,程序就可以保留在闪存中。但是,我特别想知道数据值。
如果我将程序存储器和数据值的存储器设置为非易失性,即使断电也会保持不变吗?
我是否需要将值声明为“静态”,例如:static int x; ?
还是我错了,即使关闭电源,数据值也没有办法持续存在?
感谢您的帮助和澄清!
c++ - 如何清理 WT 中的内存?
2013 年 3 月 27 日更新
看来我没有泄漏内存,只是每次按下 F5 或新用户连接时 WT 都没有保持持久会话。基本上,旧会话被删除,每次按 F5 或新用户从另一台机器连接时都会创建一个新会话。我已经阅读了文档的某些部分,其中提到了使会话持久化,因此当用户重新加载页面或不同的用户连接时,他们都会看到相同的内容。但是,我还不能让它工作。我认为这是 wt_config.xml 文件中的函数调用或设置。如果我取得任何其他进展,将更新。
原帖
所以我的问题是,我如何清理 WT 中的内存,以便每次用户在页面上按 F5 时内存使用在任务管理器中保持不变?
好的,所以我正在使用 WT 发音(诙谐),我注意到每次用户在页面上按 F5 刷新它时,我的服务器应用程序都会消耗更多内存,这对我来说看起来像是在泄漏内存,但我遵循与 WT 大多数基本应用程序相同的过程...
所以,我回到了我能找到的最基本的 WT 应用程序,hello 应用程序的代码和工作示例可以在这里找到(http://www.webtoolkit.eu/wt/examples/)如果你没有亲自建造过这个项目。
一旦我在我的机器上运行示例并在页面上按 F5,我的任务管理器中的内存就会增加。
我可能怀疑是下面的这个功能。
每次按下 F5 时都会调用它,并创建一个继承自 WApplication 的 HelloApplication 的新实例。
我试图纠正这种情况但没有奏效的一些事情包括: 为 HelloApplication 保留 2 个指针,以便每次分配新指针时都可以删除旧指针。调用 quit() 函数,并删除指针。只需调用 quit() 函数。我还在 WT 文档站点(http://www.webtoolkit.eu/wt/doc/reference/html/index.html)上查看了有关该类及其方法的更多详细信息,但还没有提出任何有效的东西。
我要求任何回复的人尽可能详细地说明如何处理内存清理。一个例子将不胜感激,在此先感谢!
java - 索引> 使用 B 树
我即将用它们的 ID(现在是它们的行号)索引 1000 万个标题,标题将在标记它们后被存储。数据的结构必须类似于<String, Arraylist<Integer>>.
字符串代表标记,整数代表行号。
我必须使用 Java、持久内存、尽可能不使用 RDBMS 来构建这个工具。由于这个数据结构是可变的,我找不到任何支持 MultiMaps 的工具,其结构 > 要使用 BTree 或任何其他持久数据结构进行索引。
我试过MapDB,但转而只接受不可变的,在我的情况下不适用(Arraylist)
任何想法表示赞赏。
java - Java中的持久阻塞队列?
TL;博士; 我需要知道是否有一个具有持久阻塞队列的库。
我有一个经典的生产者/消费者计划。他们共享一个LinkedBlockingQueue
来共享数据,而我BlockingQueue#take
在 Consumers 中使用方法,因为我需要他们永远活着等待新的元素。
问题是我有很多数据而且我不能丢失它们。即使在消费者停止之后,生产者也可以坚持生成一些数据。我正在考虑H2
在达到某个阈值后实现我的 BlockingQueue ta 用于存储/获取数据。我的主要问题是我需要性能,并且我需要按照元素的创建顺序来使用它们。
是否有一个持久阻塞队列的实现可以用于这样的事情?如果没有,我有什么建议可以实现这样的目标吗?
blackberry - 黑莓应用程序版本更新删除了某些设备上的持久存储对象
我有一个将对象存储在持久存储中的黑莓应用程序。更新应用程序后,它应该从持久存储中读取现有值(如果有),并继续使用该值。这适用于某些设备,但不适用于其他设备。我在几台运行 OS 版本 7 的设备上进行了测试,所有这些设备都按预期工作。但是,在使用版本 5 的设备和使用版本 6 的设备上,对象在持久存储中不再可读。
即使我没有更改除版本号以外的应用程序的任何内容,情况也是如此。从持久存储中保存和加载相同的类/对象,以及用于访问它的相同对象 ID。
我正在遵循的重现此过程的过程是:
- 使用命令行完全删除应用程序及其所有数据。
- 通过从浏览器下载 .jad 文件来加载应用程序的版本,验证它是否将数据存储在持久存储中。
- 当应用程序在后台运行时,通过浏览器下载 .jad 文件加载更高版本。
- 下载高版本后,系统询问我是否要更换之前的版本,我确认我要更换。
- 系统加载新版本,并提示我必须重新启动才能使更改生效。我选择“重启”。
- 设备重新启动。更高版本正在运行,但无法从持久存储中读取对象。
我可以持续重现此问题的设备是运行 6.0 Bundle 2647 的 Blackberry 9800 (Torch)。
如上所述,这只发生在某些设备上,而不是所有设备上,这让我认为这里可能会发生编码错误以外的其他事情。
任何人都有关于这个问题的想法或如何进一步调试它?
iphone - iOS 持久化一个自定义的 NSObject
我对自定义注释对象的持久存储感兴趣
CustomAnnotation : NSObject <MKAnnotation>
它具有以下属性
@property (nonatomic, assign) CGFloat val1;
@property (nonatomic, retain) NSString *val2;
@property (nonatomic, retain) NSDate *val3;
@property (nonatomic, retain) NSURL *val4;
@property (nonatomic, assign) double val5;
@property (nonatomic, assign) double val6;
存储数据的最佳方法是什么?我正在考虑使用 NSUserDefaults,但我需要将我的 CustomAnnotation 归档到 NSData 中吗?你是怎样做的?
谢谢!
android - 如何存储 ArrayList> 在 SharedPreferences 中?
我希望在 SharedPreferences 中存储一个包含 Hashmap 的 ArrayList。我怎样才能做到这一点?
macos - NSXMLStoreType 或 NSSqliteStoreType
我只是想知道在核心数据持久类型的 NSXMLStoreType 和 NSSqliteStoreType 之间进行选择时是否有任何优点和缺点,例如性能?
我四处搜索,发现 iOS 不支持 NSXMLStoreType。
blackberry - 持久存储 - 保存、读取和覆盖数据
我正在尝试PersistentStore
在我的 BlackBerry 应用程序中保存 10 个字符串值。这个想法是在任何给定时间保存最新的 10 个项目(字符串值)。保存前 10 个值并键入第 11 个值时,它应该:
- 删除第一个条目
- 将剩余的 9 个条目移到订单上方
- 将第 11 个条目保存为第 10 个值
这是我要遵循的逻辑。随着条目的不断增加,我将存储最多 10 个条目,这将是最新的 10 个值。我尝试通过以下方法保存String
值:saveChatMsg()
其中 xx 是一个从 0 到 9 的整数。但是,虽然这是保存消息,但当我检索消息时,它不会按时间顺序显示。此方法在 4 个不同的地方调用,因此保存的 10 条消息的顺序不正确;最新消息可能会显示为第 6 个值而不是 10 等。请评论并建议如何实施。