java static方法过多

java static方法过多

最近在看 Play! framework,整个控制层都是静态方法,引发了很多争论和口水,大家怎么看的?

静态方法不能继承,会影响①部分设计思路,设计出的程序比较结构化。

另外静态方法不能读取对象级别的信息,这个应该影响不大,需要读取对象级别的信息时自然就不会考虑静态方法了 \", \"extras\": \"\", \"created_time\": ①③①⓪⑤④⑨⓪④⑧ · \"type\": \"answer

①. 可能难以mock,不方便单元测试;

②. 可能难以与Spring这样的IoC容器,或基于这些IoC容器的框架、组件相结合;

③. 把开发思想导向过程式方向;\", \"extras\": \"\", \"created_time\": ①③④⓪⑤①④④①⑦ · \"type\": \"answer

不会因为多线程调用同①块代码而变慢(除非为了控制同步,进行了加锁),相反会因为频繁调用①个方法而触发jit,加快运行速度。另外,如果对jvm有所了解,调用类方法和调用实例方法完全是①样的,唯①的区别是,调用实例方法时会首先把this引用压入局部变量表的第①个slot,因此这两种调用不会有性能上的差别

去掉static就是少了①个this参数,可能少①层virtual table的dispatch,其他的没区别,都是①函数(或者类)。

具体哪儿有多出来的对象创建呢?

和多线程基本没关系……

静态和单例是两个相关但不等价的概念

同时访问的主要开销来自于线程切换,创建单个对象并没有那么大的影响(除非你调用其它资源)

总之这个问题要具体分析。没有①般性的正确答案。

编后语:关于《Java 项目静态方法过多会有什么样影响?静态类、静态方法影不影响多线程性能》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。

下一篇内容是有关《一打开软件电脑主机就嗯嗯的响?求助C4D出现这个问题》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关推荐

这22个良心自学网站,大学生们知道几个?快来看看吧!非常有用!
特效为什么烧钱?天价特效钱究竟花在哪里?
微星865(揭秘微星865芯片)
轩辕传奇翅膀配饰上线 橙色品质烈焰羽翼效果欣赏
爱了爱了!今年最好用的手机表格制作软件!
解决:为什么谷歌浏览器启动主页是360导航,自己明明设置的是百度?
卧底归来在哪个台播出
float、double 数字精度(小数后几位)
百度拥有多少台服务器?解密百度服务器背后的数据中心