什么是发布对象? 发布对象是指使一个对象能够被当前范围之外的代码所使用 什么是对象逸出? 对象逸出是一种错误的发布,指当一个对象还没有构造完成时,就使它被其他线程所见 逸出-demo 在此实例中Escape对象还没有构造完成,就访问了该对象的成员变量thisCanBeEscape,该类是线程不安全的 ...
分类:
编程语言 时间:
2018-05-07 20:59:41
阅读次数:
236
static关键字 static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,static修饰的成员通常被成为类成员和静态成员。换言之就是static修饰的属性成为类的属性,是一个公共的属性不仅仅是某一个对象的属性。 static修饰方法意义不大,因为方法本来就是公共的,由sta ...
分类:
其他好文 时间:
2018-05-04 16:50:43
阅读次数:
146
静态的代码块,属性和方法都会在类加载时就开始加载了,它们的加载顺序按程序先后;当实例化一个类时,会先加载普通属性>构造块>构造函数>普通方法 静态块:用static申明,JVM加载类时执行,仅执行一次 构造块:类中直接用{}定义,每一次创建对象时执行,而且优先于构造函数执行(构造代码块中定义的是不同 ...
分类:
其他好文 时间:
2018-04-25 17:15:12
阅读次数:
147
代码块:普通代码块、构造快、静态块、同步代码块(多线程) 普通代码块:{} 就是为了防止在方法里面在编写代码过多时有可能产生的变量过多产生重复。 构造快: 将代码块写在类里面,构造快调用优先于构造方法,并且重复调用(但是没用) 静态块:static{}(可能会用,编写测试) 情况一:静态块优先于构造 ...
分类:
其他好文 时间:
2018-03-31 13:18:48
阅读次数:
164
类的实例化过程 有父类的情况 1. 加载父类静态 1.1 为静态属性分配存储空间并赋初始值 1.2 执行静态初始化块和静态初始化语句(从上至下)2. 加载子类静态 2.1 为静态属性分配存储空间 2.2 执行静态初始化块和静态初始化语句(从上至下)3. 加载父类非静态 3.1 为非静态块分配空间 3 ...
分类:
其他好文 时间:
2018-03-30 14:11:26
阅读次数:
182
一、final final是一个用来修饰的关键词,可以用来修饰成员、方法和类。 1)final成员。final成员是只读的,在声明时、静态块中、构造方法中可以初始化,经常与static修饰词一起使用。 2)final方法。final方法是不允许被子类重写的。被final修饰的方法比非final方法运 ...
分类:
其他好文 时间:
2018-03-24 17:26:46
阅读次数:
133
线程类的构造方法、静态块是被new这个线程类所在的线程所调用的,而run方法里面的代码才是被线程自身所调用的。 如果说上面的说法让你感到困惑,那么我举个例子,假设Thread2中new了Thread1,main函数中new了Thread2,那么:(1)Thread2的构造方法、静态块是main线程调 ...
分类:
编程语言 时间:
2018-03-03 10:52:22
阅读次数:
167
代码块 在程序编写之中可以直接使用“{}”定义一段语句,那么根据此部分定义的位置以及声明的关键字的不同,代码块一共可以分为四种: 普通代码块 构造块 静态块 同步代码块(多线程时讲解)。 范例:编写普通代码块 范例:定义构造块 情况一:在非主类中使用静态块 情况二:在主类中定义静态块 ...
分类:
其他好文 时间:
2018-02-02 18:31:32
阅读次数:
132
废话不多说,直接上操作图,操作起来理解会更彻底 1、myeclipse中项目结构,先在web-inf-lib下导入jar包,注意Web App Libraries这个目录,下面会有用到的地方 2、连接语句 package utils; import java.sql.Connection;impor ...
分类:
数据库 时间:
2018-01-26 22:54:47
阅读次数:
579
java程序执行顺序如下: 1.类中所有属性的默认值(一举而成) 2. 父类静态属性初始化,静态块,静态方法的声明(按出现顺序执行) 3. 子类静态属性初始化,静态块,静态方法的声明 (按出现顺序执行) 以上是(类加载过程,不涉及构造方法) 4. 调用父类的构造方法, 首先父类的非静态成员初始化,构 ...
分类:
编程语言 时间:
2018-01-11 22:33:02
阅读次数:
271