CLion中有没有一个工具可以查看正在运行的程序的内存使用情况(统计数据)。我在 Visual Studio 中寻找类似的诊断工具。这样就可以查看一段时间内的进程内存并获得最大值。
这是否可以通过内存视图以某种方式实现,或者我是否需要安装插件?
我对 CLion 的内存使用情况也不感兴趣。相反,我想知道我正在执行的程序使用的内存量。
在《清洁代码》一书中有一个我想更好地理解的例子:
public static SimpleDateFormat makeStandardHttpDateFormat() {
// SimpleDateFormat is not thread safe, so we need to create each instance independently
SimpleDateFormat df = new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
return df
}
Run Code Online (Sandbox Code Playgroud)
我读到这SimpleDateFormat不是线程安全的,因为它:将中间结果存储在实例字段中。因此,如果一个实例被两个线程使用,它们可能会弄乱彼此的结果。现在我感兴趣的是为什么使用静态工厂方法是避免此类SimpleDateFormat非线程安全类的线程安全问题的一种解决方案(可能不是最好的)?
如果我们有两个线程 A 和 B,为什么创建makeStandardHttpDateFormat()静态方法会有帮助呢?makeStandardHttpDateFormat()如果不是静态的,因为我们为每个线程创建了无论如何的新实例,那不是一样吗SimpleDateFormat?
书中指出
……这个评论是完全合理的。它将防止一些过于急切的程序员以效率的名义使用静态初始化程序。
静态方法真的那么慢吗?这句话是什么意思呢?为什么仅仅因为注释就应该阻止“过于热切的程序员”使用这个静态方法?IDE 可能甚至不会显示注释。但是,它可能会表明该方法是静态的。所以对我来说这个评论毫无意义。至少,不像书中提到的那样。