从项目中谈JAVA中static 方法在多线程环境下的运用

最近在做一个实时性比较高的系统,数据库访问很频繁。在这个项目中数据库访问的大多数都被我做成了static 方法。(这样做应该不是很好,没办法发挥dao模式的优势,不过凑合用吧)因这个系统是多线程。static方法的运用需要注意,不能在servlet中使用成员变量,因为如果你的servlet使用的是多线程模式,所有的servlet共享一个servlet实例,在多线程的情况下,会发生脏读问题;主要不能对类成员的同步访问。如果是方法的局部成员则是线程安全的。

总的说: 如果这个方法用的很频繁,就把它定义为static,需要注意的是线程间共享变量的同步。比如:线程不安全的数据结构 。

static的方法好处就是,在使用时速度快,不需要实例化对象就可以直接调用。在硬件有限,实时性要求比较高的情况下,应该提倡多用吧。

 

有空得了解下sun的java体系设计的思想,是static还是不是static,这是个问题!!

发布了32 篇原创文章 · 获赞 5 · 访问量 17万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章