part 1         /**          * << class 中的 static 代码块与 super.prop 的使用          *          * - 类中的 static 代码块.          *   该类型代码块可以有多个,这些代码块在类定义的时候执行,          *   执行顺序是自上而下逐个执行.          *   | 该代码块中的 this 指向当前的类,在代码块中可以直接通过 new this() 来创建类的实例.    …
注:下列代码中的注释都是JUnit4单元测试运行结果. 首先,没有父类的(父类是Object)的类A package Static.of; public class A { { System.out.println("我是父类-----大括号中的代码"); } static{ System.out.println("我是父类-------static代码块"); } public A(){ System.out.println("我是父类A--------…
一. 案例 1.源码: /** @hide */ private TelephonyManager(int slotId) { mContext = null; mSlotId = slotId; if (sRegistry == null) { if (sRegistry == null) { sRegistry = ITelephonyRegistry.Stub.asInterface(ServiceManager.getService( "telephony.registry")…
原因在最后,这是其中的一个小例子. 如: SessionFactory负责保存和使用所有配置信息,消耗内存资源非常大 所以一个web项目要保证只创建一个SessionFactory 那么在使用hibernate创建一个工具类(HibernateUtils),用于获取Session对象时需要将其放在static代码块中, 又因下边的每个方法需要使用SessionFactory对象sf,所以将其单独拆出放在方法外. static代码块只执行一次原因: static代码块只在类加载时执行,类是用类加载…
本篇文章主要分为两个模块进行介绍:1.final,staic,static final之间的异同:2. static 模块:3.嵌套类的概念 1.final,staic,static final之间的异同: (1)final final可以修饰属性,方法,类,局部变量(静态变量.实例变量和局部变量): 其中,final修饰的属性表明是个常量,它的初始化可以在编译期,也可以在运行期,初始化后不能被改变: final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值:…
一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args){ //普通代码块 { int x = 10; System.out.println("x=" + x); } int x = 100; System.out.println("x=" + x); } } 二.构造代码块 直接在类中定义的没有加static关键字的代码…
关于静态代码块 静态代码块的写法: static { System.out.println("我是静态代码块"); } 静态代码块的特点: 1.执行优先级高于非静态的初始化块,它会在类初始化的时候执行一次,执行完成便销毁,它仅能初始化类变量,即static修饰的数据成员. 2.随着类的加载而执行,而且只执行一次 先说一下类加载,一个程序要想运行,首先要把代码加载到内存中,然后才能去和CPU交流,这是冯诺依曼计算机规定的.Java也是一样,Java的.class字节码文件要想执行,首先也…
第一个例子: public class StaticDemo { { System.out.println("{} 代码块"); } static{ System.out.println("static 代码块"); } public static void main(String[] args) { } } static 代码块 结论:类的加载会执行static代码块,不会执行{}代码块. 第二个例子: public class StaticDemo2 { { S…
饿汉模式 饿汉模式就是立即加载,在方法调用前,实例就已经被创建了,所以是线程安全的. public class MyObject1 { private static MyObject1 myObject1 = new MyObject1(); private MyObject1() {} public static MyObject1 getInstance() { return myObject1; } } 懒汉模式 懒汉就是延迟化加载,当需要使用的时候才进行实例化. 线程不安全 public…
本文中结论仅经本机测试,不保证在别的环境下成立.如果有什么不成立的地方务必告诉我_(:_」∠)_ java的内存是动态分配的,其机制和c/c++相当不一样……emmm在此不表. static: ·static属性:每个类只分配一次内存,构造(new)类的对象.调用类的static方法.调用类的static属性时分配内存. ·static代码块:每个类只执行一次,构造(new)类的对象.调用类的static方法.调用类的static属性时(对,和static属性条件一样)时执行. ·在上述条件下,…