我正在使用JDBC,需要不断检查数据库以防止更改值.

我目前所拥有的是无限循环运行,内部循环迭代更改的值,每次迭代检查数据库.

public void runInBG() { //this method called from another thread

while(true) {

while(els.hasElements()) {

Test el = (Test)els.next();

String sql = "SELECT * FROM Test WHERE id = '" + el.getId() + "'";

Record r = db.getTestRecord(sql);//this function makes connection, executeQuery etc...and return Record object with values

if(r != null) {

//do something

}

}

}

}

我认为这不是最好的方式.

我正在考虑的另一种方式是反过来,继续迭代数据库.

UPDATE

感谢您关于计时器的反馈,但我认为它不会解决我的问题.

一旦在数据库中发生了变化,我需要几乎立即处理结果与变化的值(示例代码中的“els”).

即使数据库没有改变,它仍然必须不断检查变化的值.

更新2

好的,对任何对答案感兴趣的人,我相信我现在有解决方案.基本上解决方案是不要使用数据库.加载,更新,添加等…仅从数据库到内存需要什么.

这样您就不必经常打开和关闭数据库,只需在对数据库进行更改时处理数据库,并将这些更改反映到内存中,并且只处理内存中的任何内容.

当然这是更多的内存密集型,但性能是绝对的关键.

至于周期性的“计时器”答案,我很抱歉,但这根本不对.没有人回应有一个理由如何使用计时器来解决这种特殊情况.

但是再次感谢您的反馈,尽管如此仍然有用.

循环更新数据库java_java – 无限循环数据库检查相关推荐

  1. mysql循环更新_MySql多表循环遍历更新

    先给大家解释解释发表这篇博文的主要思想是: MySql数据库中存在大量的表结构,而且这些表都存在一个共同点,就是表中都有相同字段,比如id,name,city,adress,lat,lng.表中字段i ...

  2. android双重for循环,Android实现ViewPager无限循环效果(二)

    本文实例为大家分享了Android实现ViewPager无限循环效果的第二种方式,供大家参考,具体内容如下 原理:在Adapter中将getCount设置为无限大 package com.xiaoma ...

  3. C语言fscanf的eof无限循环,使用fscanf时无限循环

    我用C编写了这个简单的程序,因为我现在正在大学学习FILES.我带了一个txt文件,其中包含最后一场比赛的结果列表,所以我的程序将按照我的要求显示格式化的数据.这是我的代码: /* Esercizio ...

  4. css动画无限循环转圈,css3 – 具有无限循环的链CSS动画

    简而言之,没有(一些可以解决的问题) 你的行动画计数:infinte当前正在做的是元素:动画:ani1 3s 0s无限,ani2 3s 9s无限;因此,由于声明的第一个动画的迭代次数为无限,因此永远不 ...

  5. Python程序控制结构(二)循环结构:for in遍历循环,while无限循环,循环+else

    Python程序控制结构(二)循环结构: 1. for in遍历循环 2. while无限循环 一.遍历循环 二.遍历循环的应用 遍历循环是使用for in保留字形成的一种循环,它能够对遍历结构中的每 ...

  6. html 德罗斯特效应,德罗斯特效应有尽头吗?怎么打造镜子无限循环现象

    德罗斯特效应简单的来说就是一张照片的某一部分和整张照片相同,其实只是一种递归的视觉形式,从理论上来说没有尽头,但是作为一张图片肯定是有的,只要你拿着一面镜子站在另一面镜子前,以平行的姿势相对站立,就能 ...

  7. java双重for循环流程图_Java的for循环

    Java有好几种循环语句. for循环是Java的循环之一. for循环在java中用于重复执行一些语句,直到条件返回false. for循环有以下三个部分. 初始化 循环条件 自增或自减 for循环 ...

  8. mysql geocode_百度地图Geocoding API获取特定地区或地址的经纬度信息,然后在MySql数据库多表循环遍历更新...

    1.数据库多表循环更新的思想在这个链接上,标题是"MySql多表循环遍历更新", 链接地址http://www.cnblogs.com/litao4047/archive/2013 ...

  9. win10更新后输入密码后无限循环解决方法

    win10更新后输入密码后无限循环解决方法 1.解决方法 2.原因解析 3.其他说明 win10更新后输入密码后无限循环解决方法 1.解决方法 1.网上查询到的解决方法都是重启进入安全模式,然后选择疑 ...

最新文章

  1. visual studio 2013 中配置OpenCV2.4.13 姿势
  2. 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结
  3. oracle取消180天过期,Oracle密码过期如何取消密码180天限制及密码180天过期,账号锁住的问题...
  4. Python Redis
  5. uni-app接口封装
  6. 不使用三方包时,如何在ThinkSNS中建立优雅的用户权限管理
  7. svg动画制作_制作第一个SVG动画
  8. 【今日CV 计算机视觉论文速览】Tue, 26 Feb 2019
  9. 灵感|APP夜间模式如何设计?
  10. 微课|中学生可以这样学Python(1.4节):安装扩展库
  11. redis3.0搭建分布式集群
  12. koa2 从入门到进阶之路 (七)
  13. Python抓取妹子图
  14. 如何在 7 分钟内黑掉 40 家网站?
  15. 职场新人收集的前辈经验
  16. 在mysql中,涉及到金钱的数据类型一般是什么?
  17. 解决qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.问题
  18. (转) Exploring How Cache Coherency Accelerates Heterogeneous Compute
  19. 前端Html的全新认识
  20. [读书笔记]自控力内容整理

热门文章

  1. linux c 调试 strace 诊断 调试程序 异常退出 崩溃
  2. docker 容器环境 检测方法
  3. Linux进程状态解析之R、S、D、T、Z、X
  4. 守望者逃离 java_守望者的逃离 (Java代码)
  5. oracle导入dmp方法,oracle dmp文件导入方法
  6. mysql preparedstatement 批量update,PreparedStatement的批量更新的有关问题(只执行最后一条插入语句)...
  7. Java 使用匿名内部类在方法内部定义并启动线程
  8. mysql 事务 查询 范围加锁_MySQL死锁系列-常见加锁场景分析
  9. 广东海洋大学微型计算机考试,广东海洋大学2007-2008微型计算机原理及应用
  10. 用计算机探索规律反思,《用计算器探索规律》教学反思