静态与非静态的方法或变量使用场合简要说明

来源:互联网 发布:为什么金九银十 知乎 编辑:程序博客网 时间:2024/06/10 04:27

静态与非静态的方法或变量使用场合

1.考虑变量是否是线程安全的;

如mybatis中的sqlsession和jdbc中的connection是非线程安全的,就不能用static修饰,在多线程环境下产生资源竞争(A线程使用完毕关闭后,B线程还可能去使用),所以每次使用都要重新创建(New)

如一些框架中的Factory工厂类属于重量级的类,new一个相当好资源,也没有new的必要,就用静态的

2.静态方法考虑是否存在运行状态问题:

如bean对象,每个bean对象具有唯一性,且在程序运行过程中有调用不同bean实例中信息的必要,就不能用static修饰。

如工具类,没有保留运行状态的必要(用完即可回收)一般用static修饰

阅读全文
1 0
原创粉丝点击