java - 如何在不每次都创建对象的情况下在java中获取当前时间?

标签 java calendar

我知道有很多关于如何在 Java 中获取当前时间的操作系统帖子。但是我打算在 Persona 类中编写一个 getAge 方法。问题是,每次调用方法时我都需要获取当前时间。假设十亿个客户端执行 getMethod(以毫秒为单位,也许相差几秒),将为这样一个简单的事情创建十亿个对象。我唯一做的就是在 Person 中创建一个静态成员,这样 Person 就会共享实例。但这并不妨碍创建对象。

public class Person{
//Some Attributes
private static Calendar now;
private Calendar birthDate;

public short getAge(){
now = Calendar.getInstance();

return  (short) (( now.getTimeInMillis() - birthDate.getTimeInMillis())/ 31536000000L;
}}

如果你知道一些库实现了这个而没有浪费这样的堆大小。请告诉我。

谢谢。

最佳答案

不需要创建一个Calendar,你可以从静态方法中得到一个long

System.currentTimeMillis();

关于java - 如何在不每次都创建对象的情况下在java中获取当前时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141094/

相关文章:

javascript - QML日历: wrong number of weeks displayed in a month view

java - 希腊字符未通过 Hibernate Wildfly Web App 存储在 MySQL 中

java - 编译时出现错误 : class, 接口(interface)或预期枚举

java - jdk 8 运行空主函数,为什么 PSYoungGen 已经使用了大约 1000k 空间

java - Android - 为开始日期和结束日期多次更新 DatePickers 的 minDate 和 maxDate

java - 服务器遵循 GMT 时间而不是本地时间

c# - 如何在 .net 中创建基于月亮的 13 个月日历

java - 在 Java 中获取当前时区的日期

java - HashMap 获取输入的排序值 + 将最高值打印为字符串和整数

java - 有没有办法遍历变量名?