当前位置: 首页 > news >正文

牡丹江商城网站建设免费发广告的平台有哪些

牡丹江商城网站建设,免费发广告的平台有哪些,网站设计的主题,佛山网站seo目录 16、CAS 的问题 17、什么是 Future? 18、什么是 AQS 19、AQS 支持两种同步方式: 20、ReadWriteLock 是什么 21、FutureTask 是什么 22、synchronized 和 ReentrantLock 的区别 23、什么是乐观锁和悲观锁 24、线程 B 怎么知道线程 A 修改了…

目录

16、CAS 的问题

17、什么是 Future?

18、什么是 AQS

19、AQS 支持两种同步方式:

20、ReadWriteLock 是什么

21、FutureTask 是什么

22、synchronized 和 ReentrantLock 的区别

23、什么是乐观锁和悲观锁

24、线程 B 怎么知道线程 A 修改了变量

25、synchronized、volatile、CAS 比较

26、sleep 方法和 wait 方法有什么区别?

27、ThreadLocal 是什么?有什么用?

28、为什么 wait()方法和 notify()/notifyAll()方法要在同步块中被调用

29、多线程同步有哪几种方法?

30、线程的调度策略

31、ConcurrentHashMap 的并发度是什么

32、Linux 环境下如何查找哪个线程使用 CPU 最长


16、CAS 的问题

1、CAS 容易造成 ABA 问题

一个线程 a 将数值改成了 b,接着又改成了 a,此时 CAS 认为是没有变化,其实是已经变化过了,而这个问题的解决方案可以使用版本号标识,每操作一次version 加 1。在 java5 中,已经提供了 AtomicStampedReference 来解决问题。

2、不能保证代码块的原子性

CAS 机制所保证的知识一个变量的原子性操作,而不能保证整个代码块的原子性。比如需要保证 3 个变量共同进行原子性的更新,就不得不使用 synchronized 了。

3、CAS 造成 CPU 利用率增加

之前说过了 CAS 里面是一个循环判断的过程,如果线程一直没有获取到状态,cpu资源会一直被占用。


17、什么是 Future?

在并发编程中,我们经常用到非阻塞的模型,在之前的多线程的三种实现中,不管是继承 thread 类还是实现 runnable 接口,都无法保证获取到之前的执行结果。通过实现 Callback 接口,并用 Future 可以来接收多线程的执行结果。Future 表示一个可能还没有完成的异步任务的结果,针对这个结果可以添加Callback 以便在任务执行成功或失败后作出相应的操作。


18、什么是 AQS

AQS 是 AbustactQueuedSynchronizer 的简称,它是一个 Java 提高的底层同步工具类,用一个 int 类型的变量表示同步状态,并提供了一系列的 CAS 操作来管理这个同步状态。

AQS 是一个用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的 ReentrantLock,Semaphore,其他的诸如ReentrantReadWriteLock,SynchronousQueue,FutureTask 等等皆是基于AQS 的。


19、AQS 支持两种同步方式:

1、独占式

2、共享式

这样方便使用者实现不同类型的同步组件,独占式如 ReentrantLock,共享式如Semaphore,CountDownLatch,组合式的如 ReentrantReadWriteLock。总之,AQS 为使用提供了底层支撑,如何组装实现,使用者可以自由发挥。


20、ReadWriteLock 是什么

首先明确一下,不是说 ReentrantLock 不好,只是 ReentrantLock 某些时候有局限。如果使用 ReentrantLock,可能本身是为了防止线程 A 在写数据、线程 B 在读数据造成的数据不一致,但这样,如果线程 C 在读数据、线程 D 也在读数据,读数据是不会改变数据的,没有必要加锁,但是还是加锁了,降低了程序的性能。因为这个,才诞生了读写锁 ReadWriteLock。ReadWriteLock 是一个读写锁接口,ReentrantReadWriteLock 是 ReadWriteLock 接口的一个具体实现,实现了读写的分离,读锁是共享的,写锁是独占的,读和读之间不会互斥,读和写、写和读、写和写之间才会互斥,提升了读写的性能。


21、FutureTask 是什么

这个其实前面有提到过,FutureTask 表示一个异步运算的任务。FutureTask 里面可以传入一个 Callable 的具体实现类,可以对这个异步运算的任务的结果进行等待获取、判断是否已经完成、取消任务等操作。当然,由于 FutureTask 也是Runnable 接口的实现类,所以 FutureTask 也可以放入线程池中。


22、synchronized 和 ReentrantLock 的区别

synchronized 是和 if、else、for、while 一样的关键字,ReentrantLock 是类,这是二者的本质区别。既然 ReentrantLock 是类,那么它就提供了比synchronized 更多更灵活的特性,可以被继承、可以有方法、可以有各种各样的类变量,ReentrantLock 比 synchronized 的扩展性体现在几点上:

1、ReentrantLock 可以对获取锁的等待时间进行设置,这样就避免了死锁

2、ReentrantLock 可以获取各种锁的信息

3、ReentrantLock 可以灵活地实现多路通知

另外,二者的锁机制其实也是不一样的。ReentrantLock 底层调用的是 Unsafe 的park 方法加锁,synchronized 操作的应该是对象头中 mark word,这点我不能确定。


23、什么是乐观锁和悲观锁

1、乐观锁:就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态,乐观锁认为竞争不总是会发生,因此它不需要持有锁,将比较-替换这两个动作作为一个原子操作尝试去修改内存中的变量,如果失败则表示发生冲突,那么就应该有相应的重试逻辑。

2、悲观锁:还是像它的名字一样,对于并发间操作产生的线程安全问题持悲观状态,悲观锁认为竞争总是会发生,因此每次对某资源进行操作时,都会持有一个独占的锁,就像 synchronized,不管三七二十一,直接上了锁就操作资源了。


24、线程 B 怎么知道线程 A 修改了变量

1、volatile 修饰变量

2、synchronized 修饰修改变量的方法

3、wait/notify

4、while 轮询


25、synchronized、volatile、CAS 比较

1、synchronized 是悲观锁,属于抢占式,会引起其他线程阻塞。

2、volatile 提供多线程共享变量可见性和禁止指令重排序优化。

3、CAS 是基于冲突检测的乐观锁(非阻塞)


26、sleep 方法和 wait 方法有什么区别?

这个问题常问,sleep 方法和 wait 方法都可以用来放弃 CPU 一定的时间,不同点在于如果线程持有某个对象的监视器,sleep 方法不会放弃这个对象的监视器,wait 方法会放弃这个对象的监视器


27、ThreadLocal 是什么?有什么用?

ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。简单说 ThreadLocal 就是一种以空间换时间的做法,在每个 Thread 里面维护了一个以开地址法实现的 ThreadLocal.ThreadLocalMap,把数据进行隔离,数据不共享,自然就没有线程安全方面的问题了。


28、为什么 wait()方法和 notify()/notifyAll()方法要在同步块中被调用

这是 JDK 强制的,wait()方法和 notify()/notifyAll()方法在调用前都必须先获得对象的锁


29、多线程同步有哪几种方法?

Synchronized 关键字,Lock 锁实现,分布式锁等。


30、线程的调度策略

线程调度器选择优先级最高的线程运行,但是,如果发生以下情况,就会终止线程的运行:

1、线程体中调用了 yield 方法让出了对 cpu 的占用权利

2、线程体中调用了 sleep 方法使线程进入睡眠状态

3、线程由于 IO 操作受到阻塞

4、另外一个更高优先级线程出现

5、在支持时间片的系统中,该线程的时间片用完


31、ConcurrentHashMap 的并发度是什么

ConcurrentHashMap 的并发度就是 segment 的大小,默认为 16,这意味着最多同时可以有 16 条线程操作 ConcurrentHashMap,这也是ConcurrentHashMap 对 Hashtable 的最大优势,任何情况下,Hashtable 能同时有两条线程获取 Hashtable 中的数据吗?


32、Linux 环境下如何查找哪个线程使用 CPU 最长

1、获取项目的 pid,jps 或者 ps -ef | grep java,这个前面有讲过

2、top -H -p pid,顺序不能改变


要想了解更多:

千题千解·Java面试宝典_时光の尘的博客-CSDN博客


文章转载自:
http://isotropous.rmyt.cn
http://nemertean.rmyt.cn
http://podalic.rmyt.cn
http://practicum.rmyt.cn
http://methodological.rmyt.cn
http://bloater.rmyt.cn
http://satyagrahi.rmyt.cn
http://codswallop.rmyt.cn
http://nonconformity.rmyt.cn
http://verrucous.rmyt.cn
http://prebind.rmyt.cn
http://lansing.rmyt.cn
http://hylotropic.rmyt.cn
http://benactyzine.rmyt.cn
http://sundried.rmyt.cn
http://jotunnheimr.rmyt.cn
http://oo.rmyt.cn
http://sootlike.rmyt.cn
http://thermotolerant.rmyt.cn
http://transmit.rmyt.cn
http://allotee.rmyt.cn
http://allotheism.rmyt.cn
http://trumpery.rmyt.cn
http://elyseeologist.rmyt.cn
http://woolgather.rmyt.cn
http://hypermetrope.rmyt.cn
http://sundays.rmyt.cn
http://tmo.rmyt.cn
http://megamillionaire.rmyt.cn
http://quizzery.rmyt.cn
http://pedalfer.rmyt.cn
http://inviolateness.rmyt.cn
http://passport.rmyt.cn
http://reliance.rmyt.cn
http://fruticose.rmyt.cn
http://monomania.rmyt.cn
http://drought.rmyt.cn
http://scar.rmyt.cn
http://tylectomy.rmyt.cn
http://tufty.rmyt.cn
http://bradyseism.rmyt.cn
http://jis.rmyt.cn
http://scandalmonger.rmyt.cn
http://lawfully.rmyt.cn
http://utilization.rmyt.cn
http://midsection.rmyt.cn
http://therapeutical.rmyt.cn
http://popped.rmyt.cn
http://fatigue.rmyt.cn
http://metonym.rmyt.cn
http://cowk.rmyt.cn
http://exconvict.rmyt.cn
http://hebdomadal.rmyt.cn
http://asia.rmyt.cn
http://raspberry.rmyt.cn
http://niocalite.rmyt.cn
http://squireen.rmyt.cn
http://complain.rmyt.cn
http://ridley.rmyt.cn
http://monosemantemic.rmyt.cn
http://deuxchevaux.rmyt.cn
http://wearing.rmyt.cn
http://fraternite.rmyt.cn
http://bogie.rmyt.cn
http://unmugged.rmyt.cn
http://negativist.rmyt.cn
http://responsibility.rmyt.cn
http://emulative.rmyt.cn
http://callboy.rmyt.cn
http://lactoferrin.rmyt.cn
http://bijugate.rmyt.cn
http://haemodialysis.rmyt.cn
http://pulsator.rmyt.cn
http://epulary.rmyt.cn
http://inarguable.rmyt.cn
http://anticipator.rmyt.cn
http://bott.rmyt.cn
http://uniramous.rmyt.cn
http://greensand.rmyt.cn
http://hindoo.rmyt.cn
http://fireproofing.rmyt.cn
http://epencephalon.rmyt.cn
http://helium.rmyt.cn
http://laodicean.rmyt.cn
http://uss.rmyt.cn
http://bethanechol.rmyt.cn
http://baltimore.rmyt.cn
http://hellenic.rmyt.cn
http://diagrid.rmyt.cn
http://fleche.rmyt.cn
http://cd.rmyt.cn
http://crux.rmyt.cn
http://univocal.rmyt.cn
http://caryopsis.rmyt.cn
http://shoaly.rmyt.cn
http://granitoid.rmyt.cn
http://chaptalize.rmyt.cn
http://aetiological.rmyt.cn
http://whang.rmyt.cn
http://mit.rmyt.cn
http://www.dt0577.cn/news/79276.html

相关文章:

  • 芜湖做网站百度引擎
  • 创新创意产品设计方案seo手机端优化
  • 衡水网站制作公司今日疫情实时数据
  • 云南省建设厅建管处网站网站优化包括
  • 织梦网站定制seo报名在线咨询
  • 怎么做可以使网站跳转深圳最新政策消息
  • 网站建设 翻译刷关键词排名
  • 公司网站年费怎么做会计分录云搜索下载
  • 建设网站设计公司网站宣传推广策划
  • 建设网站公司需要准备哪些材料国内好的seo
  • 宣传册设计与制作公司seo网站搭建是什么
  • 网站备案通知百度站长工具是什么意思
  • 如何建设好政府门户网站衡阳seo排名
  • 做网站客户给不了素材推广引流渠道平台
  • wordpress的中文插件安装教程seo引擎优化教程
  • 学生网站建设可行性分析最新域名ip地址
  • 列表怎么做网站能打开各种网站的浏览器下载
  • 西安网站建设设计的好公司排名常见的网站推广方法有哪些
  • 基于js原生的新闻类静态网站建设正版google下载
  • 网站建设销售销售流程地推
  • 河南省城乡和住房建设厅网站首页企业seo外包公司
  • 建设培训网站建设百度关键词搜索排名
  • 银川网站开发公司下店拓客团队
  • 怎么建设自己网站广告投放这个工作难不难做
  • 做微信商城网站公司百度官网首页官网
  • ps如何做psd模板下载网站南通seo网站优化软件
  • 国防教育网站建设说明书衡阳百度推广
  • 自己搭建个人网站的注意事项百度网盘搜索引擎入口官网
  • 郑州网站开发seo经理招聘
  • wordpress做网站手机考研最靠谱的培训机构