我问题是这样的:
关于java的静态方法,是存在常量代吧?
如果静态方法很多会对内存有多大影响?
最近发现项目里dao,manger那一次,全部写成静态方法的方式调用方式,这样推荐嘛?
我问题是这样的:
关于java的静态方法,是存在常量代吧?
如果静态方法很多会对内存有多大影响?
最近发现项目里dao,manger那一次,全部写成静态方法的方式调用方式,这样推荐嘛?
或者这样说吧,
静态类,变量或方法 是相对于编程语言(JAVA)这一层面说的,
单例等是相对于软件工程的设计模式这一层面说的
只是在JAVA里的单例是通过静态变量等手段实现,用来保证只有一个实例对像.
当然你可以直接声明静态方法或类直接调用
就像你完全可以不用什么STRUTS,SPRING,HIBERNATE,自己把所有东西放到一个MAIN函数里.也能实现业务上的功能 .
还有静态变量 你就得考虑同步的问题,不然一个人开发时测试不出什么问题,当高并发时,就容易 出现这个静态变量 被其他线程修改的问题(因为你的一个静态变量在内存里只有一个值)
同单例模式 一样,单例拿到的对像也是要考虑线程同步的问题,以前的STRUTS1.X就是一个单例问题引起的线程不安全问题
再有就是静态变量是不会被 JVM内存回收的,虽然只加载一次,再用内存少,不像那些NEW出来的对像,NEW 多少次会加载多次那样占内存.但是这静态东西用多了,就会造成无法GC,内存不够等 问题,
正因为如此,不是说想用静态就不加限制的用的