我知道有很多关于如何在 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/