有关Java的时间戳问题
背景在做力扣的355题设计推特https://leetcode.cn/problems/design-twitter/description/时,一个主要的功能是要倒序返回一个用户以及他的所关注用户的前十条推文列表。我的做法是设计一个推文类,该类里面有一个成员变量createdTime,在生成一个推文类的时候记录该类生成的时间戳。然后等到返回推文列表的时候用一个TreeSet容器,通过自定义排序规则来实现按照生成时间倒序返回的目的。其中涉及到Java里面的时间戳的生成。我一开始使用的是System.currentTimeMillis()方法,这个方法返回的是一个毫秒精度的时间戳。但是这样做是有问题的,会卡在:连续调用函数生成推文类的用例那里。当我将代码搬到idea上debug的时候,发现了一个诡异的事情,直接run的时候会出bug,连续生成的两个推文类到最后返回的时候会吞掉一个;但是用debug模式的时候,有时候是正确的输出,有时候又是和run模式一样的错误的输出。一开始我以为是idea的debug模式会比run模式多执行了一些方法的问题(比如idea在debug模式下会自动调用一些集 ...