bao231 2011-05-06 18:14
浏览 316
已采纳

java 静态方法很多,静态方法是存储在哪个代里?

我问题是这样的:

关于java的静态方法,是存在常量代吧?
如果静态方法很多会对内存有多大影响?
最近发现项目里dao,manger那一次,全部写成静态方法的方式调用方式,这样推荐嘛?

  • 写回答

5条回答 默认 最新

  • suziwen 2011-05-08 16:52
    关注

    或者这样说吧,
    静态类,变量或方法 是相对于编程语言(JAVA)这一层面说的,
    单例等是相对于软件工程的设计模式这一层面说的
    只是在JAVA里的单例是通过静态变量等手段实现,用来保证只有一个实例对像.

    当然你可以直接声明静态方法或类直接调用
    就像你完全可以不用什么STRUTS,SPRING,HIBERNATE,自己把所有东西放到一个MAIN函数里.也能实现业务上的功能 .

    还有静态变量 你就得考虑同步的问题,不然一个人开发时测试不出什么问题,当高并发时,就容易 出现这个静态变量 被其他线程修改的问题(因为你的一个静态变量在内存里只有一个值)
    同单例模式 一样,单例拿到的对像也是要考虑线程同步的问题,以前的STRUTS1.X就是一个单例问题引起的线程不安全问题

    再有就是静态变量是不会被 JVM内存回收的,虽然只加载一次,再用内存少,不像那些NEW出来的对像,NEW 多少次会加载多次那样占内存.但是这静态东西用多了,就会造成无法GC,内存不够等 问题,

    正因为如此,不是说想用静态就不加限制的用的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退