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

一个人怎么做网站html教程菜鸟

一个人怎么做网站,html教程菜鸟,linux服务器wordpress建站教程视频,wordpress 国内模板前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说一说自己对于 synchronized 关键字的了解?说说自己是怎么使用 synchronized 关键字?什么是线程安全?Vector是一个线程安全类吗?…

前言

本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说一说自己对于 synchronized 关键字的了解?说说自己是怎么使用 synchronized 关键字?什么是线程安全?Vector是一个线程安全类吗?volatile关键字的作用?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘

说一说自己对于 synchronized 关键字的了解?

synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。
另外,在 Java 早期版本中,synchronized属于重量级锁,效率低下,因为监视器锁(monitor)是依赖于底层的操作系统的Mutex Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之间的切换时需要从用户态转换到内核态,这个状态之间的转换需要相对比较长的时间,时间成本相对较高,这也是为什么早期的synchronized 效率低的原因。
庆幸的是在 Java 6 之后 Java 官方对从 JVM 层面对synchronized 较大优化,所以现在的 synchronized 锁效率也优化得很不错了。JDK1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。

说说自己是怎么使用 synchronized 关键字?

修饰实例方法: 作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁
修饰静态方法:也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类
成员( static 表明这是该类的一个静态资源,不管new了多少个对象,只有一份)。
所以如果一个线程A调用一个实例对象的非静态 synchronized 方法,而线程B需要调用这个实例对象所属类的静态 synchronized 方法,是允许的,不会发生互斥现象,因为访问静态 synchronized 方法占用的
锁是当前类的锁,而访问非静态 synchronized 方法占用的锁是当前实例对象锁。
修饰代码块: 指定加锁对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。
总结: synchronized 关键字加到 static 静态方法和 synchronized(class)代码块上都是是给 Class 类上锁。synchronized关键字加到实例方法上是给对象实例上锁。尽量不要使用 synchronized(String a) 因为JVM中,字符串常量池具有缓存功能!

什么是线程安全?Vector是一个线程安全类吗?

如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量 的值也和预期的是一样的,就是线程安全的。
一个线程安全的计数器类的同一个实例对象在被多个线程使用的情况下也不会出现计算失误。很显然你可以将集合类分成两组,线程安全和非线程安全的。
Vector 是用同步方法来实现线程安全的, 而和它相似的ArrayList不是线程安全的。

volatile关键字的作用?

一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:

保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
禁止进行指令重排序。
volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。
volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的。
volatile仅能实现变量的修改可见性,并不能保证原子性;synchronized则可以保证变量的修改可见性和原子性。
volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。
volatile标记的变量不会被编译器优化;synchronized标记的变量可以被编译器优化。

http://www.yayakq.cn/news/152712/

相关文章:

  • 深圳网站建设.-方维网络网站建设淘宝属于什么类目
  • 自适应企业网站用什么框架做wordpress添加ico
  • 投票网站建设杭州淘宝运营培训
  • 用pycharm做网站微信开发工具官网
  • 网站规划的原则企业网络推广平台有哪些
  • 自建网站 好处在线logo设计生成器
  • 一般做个网站多少做网站多少钱手工制作国庆节作品图片
  • 沈阳和平三好街做网站中国工程建设造价管理协会网站
  • 免费网站哪个好公司自己做网站流程和备案
  • 广州专业做外贸网站wordpress软件模板
  • 建设网站答题赚钱可以做全景的网站
  • 济南中建设计院网站搜索引擎平台
  • 大型网站需要什么样的团队山西省建设厅政务中心网站
  • 咖啡网站源码网页制作素材按钮
  • 如何建设网站简答题什么网站利于优化
  • 怎样做网站镜像广安市网站建设
  • 网站登录失败怎么回事网站建设费属于宣传费
  • 南阳企业网站推广discuz好还是wordpress
  • 做公益筹集项目的网站平面设计的大专学校
  • wordpress的网站后台网站每天做100个外链
  • 广州企业网站设计制作wordpress recaptcha
  • 北京百度糯米团购有做网站的电话吗程序员软件开发
  • 重庆门户网站网站建设人员工作职责
  • 济南哪里有网站建设公司销售平台建设方案
  • 厦门学网站设计易企秀怎么做网站
  • 东莞营销型网站建设费用秀山县公共资源交易中心
  • 盐城网站建设推广温州网站设计图片大全
  • 智能科技网站模板下载地址福建省建设厅官方网站
  • 做注册会员和购物的网站需要什么免费微信h5页面制作
  • 花垣做网站郑州网站建设兄长好