看到hibernateutil包里面的,static{}方法,百度了一下,整理记录学习成果。
首先,什么是static呢
是静态修饰符,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制)
static修饰的静态代码块,初始化,比起构造方法他更方便,能在里面像一般写程序那样书写你想利用或表达的逻辑,比如,一般情况下构造方法里你是不能调用一般非静态类的方法的,而静态代码块里可以持有某一类的引用而使用一般的方法,这样大大简化了代码,而又起到了初始化的效果。