0907

1.多线程同步有哪几种方法?

1.同步方法

即有synchronized关键字修饰的方法,由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调节该方法前,需要获得内置锁,否则就处于阻塞状态。

2.同步代码块

即有synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类

3.使用特殊域变量(volatile)实现线程同步

1.volatile关键字为域变量的访问提供了一种免锁机制

2.使用volatile修饰域相当于告诉虚拟机该域可能会被其他线程更新;

3.因此每次使用该域就需要重新计算,而不是使用寄存器中的值

4.volatile不会提供任何原子操作,他也不能用来修饰final类型的变量。

4.使用重入锁实现线程同步
5.使用局部变量实现线程同步
6.使用阻塞队列实现线程同步
7.使用原子变量实现线程同步

2.并发编程三要素?

1.原子性

​ 指的是一个或多个不能再被分割的操作,通过synchronized或者锁机制,把某个复合操作变成原子操作

2.可见性

​ 当多线程访问某一个变量时候,其中一条线程对此变量做出修改,其他线程可以l立刻读取到最新修改的样子

3.有序性

让代码按照顺序执行

3.为什么要用Dubbo?

当一个项目部署在一台服务器上的时候,当单台机器无法承受负载,这个时候,希望可以通过增加多台服务器来提高系统的负载能力,这个时候分开部署项目可以很好地提高系统的负载能力,当然分开部署项目,模块与模块之间通信需要注册dubbo进行调度。

使用dubbo来完成

1.为了提高机器的性能,当一台机器无法负载请求的时候,这个时候需要

4.在mapper中如何传递多个参数?

1.顺序传参(即在方法中参数的顺序,要和使用的参数的顺序保持一致,一般用0,1代替)

2.@param注解传参数,注解中写的参数,可以在sql中使用

3.map传参,#{}里面的名称填写map里面的key名称

4.javabean传参法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值