java代码块和方法区别 java中代码块

Java的synchronized的同步代码块和同步方法的区别

同步代码块是并发的时候锁定一个代码块只能一个线程占用,同步方法是对方法的锁定,如果能同步代码块尽量不要同步方法,否则影响效率

创新互联公司专注于企业成都全网营销、网站重做改版、防城网站定制设计、自适应品牌网站建设、成都h5网站建设商城开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为防城等各大城市提供网站开发制作服务。

Java常见代码块的作用与区别

1. 局部代码块

作用在方法当中,作用是控制变量的生命周期:

public void show(){

{

System.out.println("局部代码块运行!");

}

}123456

在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间。因此就有了局部代码块。

2. 构造代码块

作用在类的定义Body中,作用是给类的部分字段统一初始化:

public class Apple {

private String size;

//构造代码块

{

System.out.println("构造代码块运行!");

size = "E";

}

}

12345678910

构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不同对象共性的初始化内容。所以理所当然的,构造代码块在构造函数之前执行。

3. 静态代码块

作用有两个:

(1)给类的静态变量赋值;

(2)声明静态变量;

作用在类的Body中,对类中的静态变量初始化:

public class APP {

static int x, y; // 静态变量

static {

x = 5; // 给静态变量x赋值

}

public static void myMethod() {

y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的值

}

public static void main(String[] args) {

x--;

myMethod();

System.out.println(x + y + ++x);

}

}

输出:23

java同步代码块和同步方法的区别

1. 语法不同。

2. 同步块需要注明锁定对象,同步方法默认锁定this。

3. 在静态方法中,都是默认锁定类对象。

4. 在考虑性能方面,最好使用同步块来减少锁定范围提高并发效率。

同步方法和同步代码块的区别

同步方法直接在方法上加synchronized实现加锁,同步代码块则在方法内部加锁,很明显,同步方法锁的范围比较大,而同步代码块范围要小点,一般同步的范围越大,性能就越差,一般需要加锁进行同步的时候,肯定是范围越小越好,这样性能更好。


网页题目:java代码块和方法区别 java中代码块
路径分享:http://ybzwz.com/article/ddjsjcg.html