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

免费建小程序网站网站策划运营方案

免费建小程序网站,网站策划运营方案,wordpress 笑话源码,英文网站如何做深入理解java虚拟机--线程安全与锁优化面向过程编程思想和面向对象编程思想java语言中的线程安全线程安全的实现方法锁优化面向过程编程思想和面向对象编程思想 面向过程编程思想#xff1a;站在计算机的角度#xff0c;以算法为核心#xff0c;数据是客体#xff0c;程序… 深入理解java虚拟机--线程安全与锁优化面向过程编程思想和面向对象编程思想java语言中的线程安全线程安全的实现方法锁优化面向过程编程思想和面向对象编程思想 面向过程编程思想站在计算机的角度以算法为核心数据是客体程序代码处理数据。 面向对象编程思想站在现实世界的角度数据和行为视为对象的一部分。 java语言中的线程安全 5类共享数据类别1.不可变2.绝对线程安全3.相对线程安全4.线程兼容5.线程对立。 不可变final 不可变带来的安全性是最简单和最纯粹的。基本数据类型final关键字修饰共享数据是一个对象对象的行为用final修饰。绝对线程安全 定义当多个线程访问一个对象时如果不用考虑这些线程在运行时环境下的调度和交替执行也不需要进行额外的同步或者在调用方进行任何其他的协调操作调用这个对象的行为都可以获得正确的结果那这个对象是线程安全的。相对线程安全 单独操作是线程安全的需要额外的同步手段特定顺序的连续调用。 例子Vector的get()、remove()、size()等方法其他类如HashTable等。线程兼容 本身不是线程安全的需要正确使用同步手段。 例子Vector的get()、remove()、size()等方法其他类如ArrayList、HashMap等。线程对立 无论是采取何种同步措施都无法达到线程安全的。 例子Thread类的suspend()和resume();其他类如System类的setInt()、setOut()和runFinalizersOnExit()等。 线程安全的实现方法 3种实现方法1.互斥同步2.非阻塞同步3.无同步方案。 互斥同步 也称阻塞同步互斥是方法同步是目的互斥的实现方式主要有三种临界区互斥量信号量。实现同步手段synchronized和ReentrantLock。 synchronized原生语法层面的互斥关键字经过编译后在同步块前后形成monitorenter和monitorexit两个字节码指令这两字字节码指令都需要一个reference类型的参数来指明要锁定和解锁的对象如果synchronized修饰的实例方法则去取对应的对象实例如果修饰的是类方法则去取Class对象所为锁对象。有两点要注意的1.synchronized同步块对同一条线程来说是可重入的不会出现自己把自己锁死的情况2.同步块在已进入的线程执行完之前会阻塞后面其他线程的进入。 ReentrantLockAPI层面的互斥相对于synchronized来说有三个高级特性1.等待可中断2.可实现公平锁3.锁可以绑定多个条件 synchronized和ReentrantLock吞吐量比较 jdk1.5版本:ReentrantLocksynchronized; jdk1.6后版本:synchronized、ReentrantLock两者持平 处理问题方式角度互斥同步是悲观策略。 阻塞和唤醒一个线程需要从用户态转换到核心态消耗性能。 非阻塞同步 定义 基于冲突检测的乐观并发策略先进行操作如果没有其他线程的竞争共享数据那操作就是成功了如果共享数据有争用产生了冲突那就再采取其他的补充措施最常见的补偿措施就是不断的重试直到成功为止这种乐观的策略很多实现都不需要把线程挂起。 处理问题方式角度非阻塞同步是乐观策略。 CAS指令 内存位置V、旧的预期值A、新值B CAS指令执行时当且仅当V符合旧预期值A时处理器用新值B更新V的值否则它就不执行更新但是无论是否更新了V的值都会返回V的旧值上述的处理过程是一个原子操作。 CAS漏铜ABA问题 如果一个变量V初次读取的时候是A值并且在准备赋值的时候检查到它仍然是A值那我们就能说它的值没有被其他线程改变过了吗如果在这段期间它的值曾经被改成了B后来又被改成了A那CAS操作就会误认为它从来没有被改变过。 无同步方案 2类1.可重入代码2.线程本地存储。 可重入代码 3个特征不依赖存储在堆上的数据和公用的系统资源、用到的状态量都是由参数传入、不调用非可重入的方法。 线程本地存储 例子生产者-消费者Web交互模型中的一个请求对应一个服务器线程的处理方式。 锁优化 5种锁优化1.自旋锁和自适应自旋2.锁消除3.锁粗化4.轻量级锁5.偏向锁。 自旋锁和自适应自旋 自旋锁定义 是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁。自适应自旋定义 自旋的时间不在固定由前一次在同一个锁上的自旋时间及锁的拥有者的状态决定。 原因 挂起线程和唤醒线程会消耗处理器时间共享数据的锁定状态很多情况只会持续很短的时间 锁消除 定义 指在虚拟机即时编译器在运行时对一些代码上要求同步但是被检测到不可能存在共享数据竞争的锁进行消除。 锁粗化 范围扩大如果虚拟机探测到有这样的一串零碎的操作都是对同一个对象加锁将会把加锁同步的范围扩展粗化到整个操作序列的外部这样只需要加锁一次就可以了。 轻量级锁 没有多线程的竞争前提下减少传统的重量级所使用操作系统互斥量产生的性能消耗。Mark Word 偏向锁 消除数据在无竞争情况下的同步原语进一步提高程序的运行性能。不用做CAS操作。
http://www.pierceye.com/news/185767/

相关文章:

  • 网站开发亿码酷技术网站建设选谋者
  • 智能家居网站模板怎样做网站标题优化
  • 深圳制作网站制作公司哪家好最简洁 wordpress主题
  • 重庆忠县网站建设公司推荐国内公关公司
  • 给彩票网站做代理违法吗wordpress文章与页面关联
  • 网站标题加后缀模拟ip访问网站
  • 临清网站建设费用什么是网络营销的基础
  • 街道办的网站由谁做的企业首次建设网站的策划流程
  • 优化大师免费版下载一键优化下载安装
  • 网站建设近五年出版的书籍甘肃省工程建设信息官方网站
  • 杭州网站现场备案项目营销策划方案
  • 网站打包成app软件php网站 上传
  • 行业网站建设策划方案系部网站开发计划书
  • 建设部网站投诉核查做网站一般几个人
  • 360网站推广官网网址怎样在网站做咨询医生挣钱
  • 重庆市建设银行网站一站式网站建设有哪些
  • 自学设计软件的免费网站免费ppt模板简约
  • 申请个人网站怎么申请网站类型有哪些
  • 做网站推广托管注意哪个网站做推广好
  • 大竹网站建设泗阳城乡建设局网站
  • 山东省住房和城乡建设厅服务网站做网站的注意点
  • 网站排名优化软件江西网站备案要求
  • 桐柏县建设局网站邢台建设局网站
  • 网站域名变更怎么查英国做网站的人
  • 嘉兴公司的网站设计wordpress 送女友
  • 10个免费的黑科技网站电子元器件商城网站建设
  • 动画型网站做免费推广的平台
  • 购物网站怎么创建深圳地区5g微波网站建设计划
  • 安做省民改厅网站网站带支付模板
  • 做什么网站吸引人建设网站模板