我只想代码简洁,为什么要那么复杂,意义何在?请大神解析解析

来源:8-10 Java 中的 static 使用之静态初始化块

lorenzt

2015-05-12 16:35

为了实现要求,我全部都用了静态,变量都静态有啥问题?

写回答 关注

1回答

  • 你存在
    2015-05-12 17:06:46
    已采纳

    首先你得先了解java的内存管理,静态变量的内存开销很大,众所周知,java有着自己的一个JVM内存垃圾回收机制,但是一旦是静态的内存开辟就意味着几乎不可能会被回收。也就意味着即使你的程序再也不用此静态内存(static变量),所占内存也不会被释放掉,而使用new关键字则会在失去引用的时候或者手动释放掉内存,或者定义string以及int等8大数据类型变量会被jvm放到栈内存中来(说的有点多这里面还有常量池的概念 都是为了更好的管理内存),在一个大的项目中内存的开销直接影响着程序的性能,当然合理的使用static反而会让程序更加节约内存,把至始至终用到的变量设为static是不错的选择,static 一般定义一些公共的变量 或者 公共方法。以上是我学习java的一些拙见 希望对你有用,。

    lorenz...

    多谢两位意见。

    2015-05-12 20:49:01

    共 4 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530655 学习 · 6091 问题

查看课程

相似问题