1. 局部代码块 位置: 方法中 作用: 限定变量生命周期,及早释放,提高内存利用率. 2. 构造代码块 位置: 类中 作用: 多个构造方法中相同的代码存放到一起,每次调用构造时都执行,并且在构造方法前执行! 3. 静态代码块 位置: 类中方法外,static修饰 作用: 用于给类进行初始化,在加载 ...
分类:
编程语言 时间:
2017-08-19 12:37:16
阅读次数:
104
JAVA内存模型: 堆区中 保存呢以new关键字创建出的对象 jdk1.7版本之后 字符串常量池也存放在堆区中 栈区中 保存临时变量和参数,每个线程都有自己的栈,每调用一个方法创建一个栈针 方法区 静态成员 类 方法等信息 调用方法的时候 如果参数是基本数据类型,那么传递的是数值 如果参数是引用类型 ...
分类:
编程语言 时间:
2017-08-11 23:49:13
阅读次数:
232
static{}(静态代码块)与{}(非静态代码块)的异同点 相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个, 一般在代码块中对一些static变量进行赋值。 不同点:静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)。 静态代码块只在第一次new ...
分类:
其他好文 时间:
2017-08-11 21:15:44
阅读次数:
118
代码块分为普通代码块,静态代码块,构造块,同步代码块; 普通代码块 作用:就是避免某一个方法中变量重名 如果一个代码块写在了类中,则称为构造块,而且优先于构造方法执行; 静态块 静态块优先于构造块执行,而且无论产生多少个实例化队形,静态块只执行一次 静态块的主要作用是为类中的static属性初始化 ...
分类:
编程语言 时间:
2017-08-08 10:49:23
阅读次数:
142
一个字节以下的整形数据会在加载时直接进入内存,除非用new Integer()重新创建对象,否则还是为一个对象,基本类型对象和引用类型对象比较的是数值,因为引用类型比较的时候会自动拆箱比较数值。 需要明白类的加载顺序。 (1) 父类静态对象和静态代码块 (2) 子类静态对象和静态代码块 (3) 父类 ...
分类:
编程语言 时间:
2017-08-07 19:27:13
阅读次数:
170
——————————————————————————代码如下: public class Test09 { private static int a; private int b; public void f(){ System.out.println("哈哈哈哈哈哈哈"); } // 静态代码块一 ...
分类:
其他好文 时间:
2017-08-07 13:56:16
阅读次数:
101
2017-08-03 JAVAse 1:静态变量和成员变量的区别: 所属不同:静态变量属于类,所以也称为类变量 成员变量属于对象,也称为实例变量 内存中位置不同:静态变量存储余方法区的静态区 成员变量存储于堆内存 内存出现时间不同:静态变量随着累的加载而加载,随着累的消失而消失 成员变量随着对象的创 ...
分类:
其他好文 时间:
2017-08-03 10:05:16
阅读次数:
169
本文不会特别深入细致地讨论synchronized,只是做一个通俗易懂的说明,以及看清一类问题的本质,希望能给大家一点启发。 问题描述 有一个类A,提供了三个方法。分别是静态同步方法,非静态同步方法,含有静态代码块的方法 请回答一下四种情况的输出结果 问题答案 先直接报上答案: 问题本质分析 不废话 ...
分类:
其他好文 时间:
2017-08-01 20:46:51
阅读次数:
92
先贴代码 该段程序首先执行静态代码块加载配置文件 获得配置文件对象 声明连接池对象(静态代码块外) 获得连接池对象 获得配置文件内容 对连接池进行设置 以上静态代码块在加载类的时候就执行,并且只执行一次,避免了每次获得对象都要创建连接池的错误,防止了链接堆积过多的问题 获得链接: 关闭资源,放回链接 ...
分类:
数据库 时间:
2017-07-31 09:59:41
阅读次数:
154
1. static静态代码块 2.{} 3.构造方法 4. 子类main方法运行时: static静态代码块 5.子类构造方法调用时: static静态代码块 {} 构造方法 6.子类new两次对象 父类: 子类: 7.运行结果如下: ...
分类:
编程语言 时间:
2017-07-30 20:05:25
阅读次数:
189