关键字synchronized还可以应用在static静态方法上,如果这样写,那是对当前的*.java文件对应的Class类进行持锁. package synStaticMethod; /** * Created by Administrator on 2017/1/22 0022. */ public class Service { synchronized public static void printA(){ try{ System.out.println("线程名称为:"+T…
一.理解同步 要想解决资源共享的同步操作问题,可以使用两种方法: 使用同步代码块 之前学习过程中,代码块分为四种: l 普通代码块:是直接定义在方法之中的: l 构造块:是直接定义在类中的,优先于构造方法执行,会重复调用: l 静态块:是使用static关键字声明的,优先于构造块执行,并且只执行一次: l 同步代码块:是使用synchronized关键字声明的代码块,称为同步代码块 同步的时候必须指明同步的对象,一般情况下会将当前对…
public class Test { //1.第一步,准备加载类 public static void main(String[] args) { new Test(); //4.第四步,new一个类,但在new之前要处理匿名代码块 } static int num = 4; //2.第二步,静态变量和静态代码块的加载顺序由编写先后决定 { num += 3; System.out.println("b"); //5.第五步,按照顺序加载匿名代码块,代码块中有打印 } int a =…