java 中静态方法
来源:互联网 发布:杭州电魂网络 编辑:程序博客网 时间:2024/06/05 01:51
有一个这个类的这个方法,静态方式属于类,那么每次调用都会打开session?还是只有一个session呢?
是否只有一个session取决于代码怎么实现,如果openSession 中单例方式。有判断的话是否是当前session为空,为空则new一个,不为空则返回当前session。
public static Session getSession(){
Configuration configuration=new Configuration().configure();
ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
SessionFactory sessionFactory=configuration.buildSessionFactory(serviceRegistry);
Session session=sessionFactory.openSession();
return session;
}
ok,首先静态方法是静态方法,和其里面的内容没有关系。看一下静态方法的相关知识点;
静态方法是属于类的,内存必须为它分配内存空间,这个空间一直由静态方法占用,内存管理器不会由于静态方法没有被调用而将静态方法的存储空间收回,这样如果将所有的方法都声明为静态方法,就会占用大量的内存空间,最后是系统变慢。而普通的成员方法是由对象调用的,内存并不会一直为起分配内存,只有调用的时候才为其分配存储空间,而当其没有被调用时,存储空间就会被内存管理其收回,释放没有用的空间,提高的系统的运行速率!
什么时候用静态呢?
要从两方面下手,因为静态修饰的内容有成员变量和函数 。
什么时候定义为静态 变量(类变量)呢?
当对象中出现共享数据时,该数据被静态所修饰。
对象中的特有数据要定义成非静态,存在于堆内存中。
什么时候定义静态函数呢?
当功能内部没有访问到非静态数据(对象特有数据),那么该功能可以定义为静态的。
- java 中静态方法
- Java中静态方法用法
- java中静态方法上
- java中静态方法中调用非静态方法
- java中静态方法中调用非静态方法
- java中静态方法中调用非静态方法
- java中静态方法中调用非静态方法
- java中静态方法中调用非静态方法
- java中静态方法中调用非静态方法
- java中静态的代码块,静态变量,静态方法
- java中静态属性,静态方法和静态初始化器
- java中静态的代码块,静态变量,静态方法
- java中静态域,静态常量,静态方法
- java中静态域,静态常量,静态方法
- java静态方法中调用非静态方法的实现
- java中 静态方法和非静态方法的调用
- java中静态方法和非静态方法的存储
- Java中静态方法和非静态方法的区别
- 如何:针对64 位平台配置 Visual C++ 项目
- cocos2dx 2.2.5 一键创建工程批处理
- opencv+CUDA编程的一些问题
- NGUI之UISprite
- 华为面试吐槽
- java 中静态方法
- 单链表的实现-功能完善
- C++学习之重复定义的错误
- Java学习笔记之单例模式
- SVG绘图技术
- poj 3468A Simple Problem with Integers
- nopcommerce 电商商城 ASP.NET 开源系统
- Cloudera Manager5之安装部署CDH5.X
- 《从0到1》笔记 第九章 基础决定命运