java资源消耗和对象

时间:2017-07-25 08:14:51

标签: java timer

创建更多对象会导致更多的资源消耗吗?

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                Date date = new Date();
                dateandtime.setText(dateFormat.format(date));
            }
        },0,1000);

我有这个代码,应用程序需要连续运行多年。我担心随着时间的推移,应用程序使用的资源可能会因为每秒创建一个新对象而增加。

1 个答案:

答案 0 :(得分:2)

理论上:是的。您创建的每个对象都会占用空间。

然而,Java使用这个称为垃圾收集器的东西。 See this question

简而言之:它将负责摆脱不再被引用的对象。因此,您不必担心在您的代码中创建越来越多的对象。

请记住,实际上可以以垃圾收集器无法清理的方式创建对象。因此,你不能只是继续前进,认为你永远不必担心这样的事情。

然而,您的代码并非如此。你不会遇到问题。