- 博客(6)
- 收藏
- 关注
原创 happens-before & as-if-serial
在JMM中,如果一个操作执行的结果需要对另一个操作可见,这两个操作之间必需要存在happens-before关系,这两个操作既可以是一个线程之内,也可以是不同线程之间。4.传递性:如果A happens-before B 且B happens-before C,A happens-before C。1.程序顺序规则:对于单线程中的每个操作,前继操作happens-before于该线程中的任意后续操作。2.监视器锁规则:对于一个锁的解锁,happens-before于随后对这个锁的加锁。
2022-09-13 21:28:24 199 1
原创 重排序和数据依赖性
指编译器和处理器为了优化程序性能对指令进行重排序的一种手段。Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序可以保证最终执行的结果与程序顺序执行的结果一致。并且只会对不存在数据一致性的指令进行重排序。:如果两个操作访问同一个变量,且这两个操作有一个是写操作,此时这两个操作之间就存在数据依赖性。在重排序时,会遵循数据依赖性,编译器和处理器不会改变存在依赖关系的两个操作的执行顺序。
2022-09-13 21:06:21 360
原创 Java内存模型
JMM(Java内存模型):是一种符合内存模型规范,屏蔽了各种硬件和操作系统的访问差异,保证了Java程序在各种平台下对内存的访问都能保证效果一致机制和规范。
2022-09-12 17:24:28 218
原创 软件设计原则
1.开闭原则 /** * @ClassName: IPatient * @Description: 病人接口 * @Author: mszhou * @Date: 2021/6/4 17:05 * @Version: 1.0 **/ public interface IPatient { /** * 姓名 * @return */ public String getName(); /** * 服药费用 * @param m.
2021-06-05 16:18:37 176
原创 关于后端传入Long类型id,导致long精度丢失
问题出现如下: 可以看出cid后面几位缺失。 解决方案如下: SpringBoot加入如下代码配置: @EnableWebMvc @Configuration public class WebJsonConverterConfig extends WebMvcConfigurerAdapter { @Override public void configureMessageConverters(List<HttpMessageConverter<?>>
2021-03-10 17:44:59 240
原创 FastDfs文件系统搭建(单机版)
一、系统环境 centos7 服务器 二、软件安装包 三、安装步骤 1. 安装gcc yum -y install gcc 2. 安装解压命令unzip yum install -y unzip zip 3. 安装libevent yum -y install libevent 4. 安装libfastcommon-master 解压刚刚上传的libfastcommon-master.zip unzip libfastcommon-master.zip 进入解压..
2021-01-23 17:46:41 273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人