Java内存模型一(基础) Java内存模型的基础:主要介绍内存模型相关的基本概念 Java内存模型中的顺序一致性:主要介绍 重排序 与 顺序一致性内存模型 同步原语:主要介绍3个同步原语 (synchronized、volatile、final) 的内存语义及重排序规则在处理器中的实现 Java内存模型的设计:主要介绍Java内存模型的设计原理,及其余处理器内存模型和顺序一致性内存模型的关系 1、并发编程模型的两个关键 2019-05-22 多线程 #JAVA #多线程 #JMM
Java并发机制的底层实现原理(原子操作) 原子操作:不可被中断的一个或一系列操作。 一、处理器如何实现原子操作使用总线锁保证原子性第一个机制是通过总线锁保证原子性。如果多个处理器同时对共享变量进行读改写操作(i++就是经典的读改写操作),那么共享变量就会被多个处理器同时进行操作,这样的操作就不是原子的。 要想保证读改写共享变量的操作是原子的,就必须保证CPU1读改写共享变量的时候,CPU2不能操作缓存了该共享变量内存地址的缓存。 处理器使 2019-04-01 多线程 #JAVA #多线程
Java并发机制的底层实现原理(synchronized) synchronized 一般称之为重量级锁,在Java1.6中对 synchronized 进行了各种优化,在有些情况下它并不那么重了。 利用synchronized实现同步的基础在Java中每一个对象都可以作为锁。具体有以下3中形式: 对于普通同步方法,锁是当前实例对象。 对于静态同步方法,锁是当前类的 Class 对象。 对于同步方法块,锁是 synchronized 括号里配置的对象。 2019-03-21 多线程 #JAVA #多线程
Java对象头详解 由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。 1.对象头形式JVM中对象头的方式有以下两种(以32位JVM为例): 1.1.普通对象 |--------------------------------------------| | Object Header (64 2019-03-15 JVM #JAVA #JVM
Java并发机制的底层实现原理(volatile) Java中所使用的并发机制依赖于JVM的实现和CPU的指令。在多线程并发编程中 synchronized 和 volatile 都扮演着重要的角色。 volatile的应用volatile 是轻量级的 synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 如果volatile变量修饰符使用适当的话,它比 2019-03-05 多线程 #JAVA #多线程
Java并发解决方案 Java并发编程的缺陷 上下文切换带来的CPU开销 死锁 物理硬件的限制 软件资源的限制 为什么需要并发?并发其实是一种解耦合的策略,这种策略帮助我们把做什么(目标)和什么时候做(时机)分开。优点是可以明显改进应用程序的吞吐量(获得更多的CPU调度时间)和结构(程序有多个部分在协同工作)。Servlet容器就是采用单实例多线程的工作模式,来处理并发问题。 2019-03-04 多线程 #JAVA #多线程
二、随机事件间的运算律 基本定律:幂等律:A∪A = A,A∩A = A交换律:A∪B = B∪A,A∩B = B∩A结合律:(A∪B)∪C = A∪(B∪C),(A∩B)∩C = A∩(B∩C)分配律:A∩(B∪C) = (A∩B)∪(A∩C),A∪(B∩C) = (A∪B)∩(A∪C) De·Morgan(德·摩根)定律:非(A 且 B) 2019-01-09 数学 #概率论
一、概率与随机事件 随机试验(Experiment)定义:对事物的某一特征的观察。 其典型的例子有: **E1**:抛一枚硬币,观察正面 H(Heads)、反面 T(Tails)出现的情况。 **E2**:抛一颗骰子,观察出现的点数。 **E3**:观察某一时间段通过某一路口的车辆数。 **E4**:观察某一电子元件的寿命。 **E5**:观察某地区一昼夜的最低温度和最高温度。 2019-01-07 数学 #概率论
Nginx高级 一、Nginx 的反向代理 优势 隔离内部服务器,提高安全性。 可以在代理服务器上增加缓存,减少后端服务器的压力,提高性能。 方便横向扩展。 AIO(异步非阻塞)动静分离,提高性能。 2018-11-12 Nginx #Nginx
Nginx基础 一、什么是 Nginx?Nginx 是一款性能极高的 HTTP 反向代理服务器,Nginx 官方发布的测试数据显示,支持 10000 非活动的连接只需 2.5M 内存的性能消耗。同时也是一个邮件服务器。 2018-11-11 Nginx #Nginx