Java高并发
戈里
这个作者很懒,什么都没留下…
展开
-
Java 高并发之缓存
使用缓存的场景一般来说, 现在网站 或者 app 的整体流程可以用下图来表示. 用户从浏览器或者app 发起请求 > 到网络转发 > 到服务 > 再到数据库 , 接着再返回把请求内容呈现给用户.但是随着访问量的增大 , 访问内容的增加, 应用需要支撑更多的并发, 同时应用服务器和数据库服务器所要做的计算越来越多, 但是应用服务器的资源有限, 文件内容的读写也是有限的 . 如...原创 2018-04-01 20:22:45 · 1176 阅读 · 0 评论 -
线程安全之原子性
当多个线程访问某个类时,不管运行时环境采用 何种调度方式 或者这些线程将如何交替执行,并且在主调代码中 不需要任何额外的同步或协同,这个类都能表现出 正确的行为,那么这个类就是线程安全的。可见性:一个线程对主内存的修改可以及时的被其他线程观察到。有序性:一个线程观察其他线程中的指令执行顺序,由于指令 重排序的存在,该观察结果一般杂乱无序。原子性:提供了互斥访问 , 同一个时刻只能...原创 2018-04-05 13:07:17 · 210 阅读 · 0 评论 -
线程原子性 synchronized
synchronizedsynchronized 是 Java 中的一个关键字, 是一种同步锁 ,它修饰的对象主要有 4 种 . 修饰一个代码块: 大括号括起来的代码, 作用于调用的对象修饰方法:整个方法, 作用于调用对象修饰静态方法:整个静态方法, 作用于 所有对象修饰类: 括号括起来部分, 作用于 所有对象代码示例 1 :package com.mmall.co...原创 2018-04-05 14:41:26 · 425 阅读 · 0 评论 -
线程安全性之可见性
可见性一个线程对主内存的修改,能够及时的被其他线程看到。导致共享变量在线程之间不可见的原因线程交叉执行重排序结合线程交叉执行共享变量更新后的值没有在工作内存和主内存之间进行同步.对于可见性 jvm 提供了 synchronize 和 volatile两个关键字synchronize 实现可见性 JMM 对于 synchronize的两条规定线程解锁前 , 必须把...原创 2018-04-05 20:58:51 · 325 阅读 · 0 评论 -
安全发布对象的四种方法
发布对象先给出两个概念 , 然后通过singleton 示例代码 ,来看看安全发布对象的四种方法.发布对象 使一个对象能够被当前范围之外的代码所使用 对象逸出 是一种错误的发布, 当一个对象还没有构造完成时 , 就使得它被其他线程看见四种方法在静态初始化函数中初始化一个对象的引用将对象的引用保存到volatile类型域或者AtomicReference对...原创 2018-04-05 20:59:05 · 1443 阅读 · 1 评论 -
不可变对象
阿里云服务器 新用户 99 元/ 年 , 1 核 2 G 1 M带宽 40 G SSD硬盘 , 最低¥7.8/月, 需要的小伙伴赶紧上车吧 点击链接 不可变对象 有一种对象它只要发布了就是安全的 ,它就是不可变对象 . 比如我们最常用的 String 类型 不可变对象需要满足的条件对象创建之后其状态不可改变对象的所有域都是final类型对象是正确创建的 (指的是对象创建...原创 2018-04-06 12:40:34 · 305 阅读 · 0 评论 -
线程不安全类与写法
>>>>>>>>>>>>>>>>>>>>>点击领取阿里云优惠券<<<<<<<<<&l原创 2018-04-06 14:22:00 · 228 阅读 · 0 评论 -
秒杀架构设计
http://blog.51cto.com/13527416/2085258转载 2018-06-05 16:54:24 · 196 阅读 · 0 评论