
Java多线程
凌晨九点半
这个人很懒,没有添加简介。
展开
-
volatile关键字解析
一、多线程的三大特性 原子性 一组操作,要么全做,要么全不做,这就是原子性。 可见性 多个线程访问一个变量,一个线程修改了该变量,其他变量能立刻看到修改的值。 有序性 程序会按照代码先后顺序执行,但是jvm会对语句执行做出一定优化,单线程情况下顺序不保证和输入一样,但保证最终结果一样。多线程情况下则有可能会对最后结果造成影响。 二、Java内存模型(工作内存和主内存) ...原创 2018-09-10 16:15:54 · 276 阅读 · 0 评论 -
synchronized关键字解析(和lock区别)
一、syschronized底层实现原理 首先Java中基本的互斥同步手段就是syschronized关键字。在JVM中,每个对象和类在逻辑上都是和一个监视器相关联的,JVM为每一个对象和类都关联一个锁 锁住了一个对象,就是获得对象相关联的监视器。 syschronized关键字在经过编译之后,会在同步代码块的前后分别形成monitorenter和monitorexit两个字节码指令,...原创 2018-09-10 16:42:40 · 1867 阅读 · 0 评论