`

收藏的

阅读更多
1、笔者最近在做一个类SNS的项目,其中使用了MongoDB进行Feed信息存储,并使用定时器删除过期信息。
     定时器的时间变量为60天,设定
Java代码 
private long msgInvalidDue = 60 * 24 * 3600 * 1000; 
   

故事的发生:
     在项目上线的某天,突然发现,2周前的数据丢失了,遍历了程序,没发现逻辑问题,甚至开始当心MongoDB造成的数据丢失(业内也是发生过的)。 笔者当时纠结啊~~
    但第二天又发现数据的丢失是持续而且有规律的,于是,焦点便集中到了“定时删除任务”。左查右查没发现问题,只能一步一步的进行跟踪调试。。。。

故事的结局:
     很难令人想象,问题就出现在msgInvalidDue这个long型常量上。按道理它的值应该是5184000000L的(表示60天的时间),但是它实际值却是 889032704(大约10天时间),why???? 居然是int在计算过程中的溢出~~~~太隐晦的bug了~~正确的写法
Java代码 
private long msgInvalidDue = 60 * 24 * 3600L * 1000; 

任意一个常量上加L,转long型就OK了,


在进行该类问题计算的时候最好在最前面加一个1L* 就OK了,如果不加的话最好把L加在最前面的数字上,加到后面的话有可能前面的数据已经溢出了
分享到:
评论

相关推荐

    星星-点击收藏/取消收藏

    这个标题可能指的是一个功能,允许用户通过点击星星图标来收藏或取消收藏某个项目,如文章、产品或图片等。这个功能在许多网站和应用程序中都非常常见,它提升了用户体验并促进了用户与内容的互动。 在实现这样的...

    安卓 收藏和取消收藏的点击小动画

    在安卓开发中,为了提升用户体验,我们经常需要在用户交互时加入一些小细节,比如收藏和取消收藏功能的实现。通常,我们会在按钮点击时不仅仅改变图片资源,而是通过动画来增强视觉效果,使得操作更加生动有趣。这篇...

    ie浏览器收藏夹管理

    在IT领域,浏览器收藏夹是用户保存常用网页链接的重要工具,尤其对于经常浏览网络的用户而言,收藏夹的管理显得尤为重要。"ie浏览器收藏夹管理"这个主题涉及到如何有效地整理和利用IE浏览器(Internet Explorer)的...

    收藏夹与购物车(C++)

    收藏夹子系统 (1)【收藏指定图书】能收藏一本图书,并记录收藏日期(某年某月某日,如2016-12-12。所有日期都采用人工定义方式输入,不取机器日期)。图书的信息包括图书号(是唯一的)、书名、作者、出版社、出版...

    微信小程序收藏功能的实现代码

    点击收藏后需要显示已收藏,并且文字状态改变 另一个页面如何知道你点击了收藏,并且获得你点击收藏的数据 如何解决? 数据状态绑定,并且由状态控制样式(三元运算符) 缓存(setStorageSync,getStorageSync)...

    数据结构课程设计——收藏夹和购物车系统的实现,源代码包括实验报告

    收藏夹和购物车系统的实现  收藏夹子系统 (1) 【收藏指定图书】能收藏一本图书,并记录收藏日期(某年某月某日,如2016-12-12。所有日期都采用人工定义方式输入,不取机器日期)。图书的信息包括图书号(是唯一的...

    Jquery实现设为首页和加入收藏功能

    本教程将详细讲解如何利用jQuery实现“设为首页”和“加入收藏”这两个常见功能,以提升用户体验。 首先,我们需要理解这两个功能的基本原理。在浏览器环境下,“设为首页”功能通常涉及到修改用户的浏览器书签或...

    旺宝免费淘宝收藏软件 淘宝收藏精灵

    【旺宝免费淘宝收藏软件 淘宝收藏精灵】是一款专为淘宝商家设计的辅助工具,旨在帮助商家提升店铺商品的收藏量,从而提高商品在淘宝平台的曝光度和权重。这款软件通常包括以下几个核心功能: 1. **自动收藏**:软件...

    c# 做自己的浏览器-具有添加、管理收藏夹功能

    在本文中,我们将深入探讨如何使用C#编程语言创建一个具备添加和管理收藏夹功能的自定义浏览器。C#是一种广泛应用于开发桌面应用、游戏、Web服务等的强大语言,其.NET框架提供了丰富的类库,使得构建这样的应用程序...

    网址收藏(包括从网上下载的网址收藏压缩包和自己整理的网址收藏压缩包)

    网址收藏(包括从网上下载的网址收藏压缩包和自己整理的网址收藏压缩包) 每个压缩包都有数千站点,分门别类,种类齐全,桌面版的网址导航重要资料。 网上下载的 网址收藏夹--五年来所收藏的网址(2)(1).rar ...

    android实现收藏夹

    在Android平台上实现一个收藏夹应用,涉及到多个关键知识点,包括数据存储、用户界面设计、事件处理等。下面将详细介绍这些核心概念。 1. **数据存储**:在Android中,收藏夹的数据通常需要持久化存储,以便用户在...

    一键收藏、知识管理插件

    在上网的过程中,很多网友比较喜欢将看到的有用的资料、有趣的网页资料收藏起来。如果“另存为”的方式将网页资料收藏在电脑本地硬盘上,管理、查找不方便;收藏在浏览器收藏夹上,网址多了之后显得臃肿、不方便管理...

    Android仿淘宝宝贝收藏店铺收藏选项卡界面实现

    在Android应用开发中,创建一个类似淘宝宝贝收藏和店铺收藏的选项卡界面是一项常见的需求。这个场景通常涉及到用户界面(UI)设计、视图切换以及数据管理等多个方面。在这个项目中,我们将深入探讨如何实现这样一个...

    收藏夹小工具.rar

    收藏夹小工具是一款实用的计算机应用程序,主要用于管理和优化用户的浏览器收藏夹。这个压缩包文件包含了该小工具的安装或执行程序,可能还包括相关的帮助文档、设置文件等。下面将详细介绍收藏夹小工具的相关知识点...

    桌面版网络收藏夹

    【网络收藏夹】是一种方便用户保存、管理和分享网页链接的工具,它可以帮助用户在不同的设备和浏览器间同步自己的收藏,从而提升浏览体验。"桌面版网络收藏夹"是一款独立的应用程序,它不仅提供了类似360网络收藏夹...

    搜狗浏览器收藏夹转换工具

    这个工具的主要功能是帮助用户将搜狗浏览器特有的收藏夹格式转换成互联网浏览器通用的Internet Explorer(IE)收藏夹格式,方便在不同浏览器间同步和管理个人的网址收藏。 【描述详解】 描述中提到的“将搜狗的收藏...

    添加IE收藏夹内容的资源

    用户可以通过收藏夹功能保存常用的网站链接,方便日后快速访问。"添加IE收藏夹内容"这个主题涉及到如何管理和优化你的浏览器体验,使得常用网址更加便于管理。下面将详细介绍如何进行操作。 1. **创建收藏夹** - ...

    搜狗浏览器收藏夹转换成IE收藏夹

    搜狗浏览器导出的收藏夹的格式是xml的,与IE的格式不符,导致IE无法导入搜狗浏览器的收藏记录。为解决这个问题。我参考了前人的案例,并重写这个VB脚本。运行这个脚本,就可以把xml生成IE浏览器的收藏夹的一个个快捷...

    listview item点赞和收藏

    同时,为了显示当前状态(已点赞/未点赞,已收藏/未收藏),我们需要设置两个ImageView的状态,例如通过改变图片资源或颜色。 接着,我们需要为ListView设置适配器(Adapter),适配器是连接数据源与ListView的关键...

    收藏夹死链和重复链接检查工具

    收藏夹死链和重复链接检查工具是用于管理个人网络收藏夹的重要辅助软件。在互联网上,我们经常保存各种网页链接到浏览器的收藏夹以便日后访问,但随着时间的推移,这些链接可能会因为网站迁移、页面删除等原因变为...

Global site tag (gtag.js) - Google Analytics