-
Synchronized的原理及其实现
我们知道 Java内存模型为了保证多线程安全访问有三个特征:1.原子性(Atomicity):JMM保证单个变量读写操作的原子性但是在多CPU环境引入多级缓存后,写操作的原子性意义扩大了,对一个变量的写,不能实时刷新至主内存,导致别的CPU缓存内的数据是旧的,volatile修饰的变量保证多CPU下读写操作的原子性注:与synchronized的原子性不同,因为volatile...
-
微服务失败的 11 个原因
微服务是当前流行的架构。简单地说,微服务就是一种面向服务的软件架构,在这种架构中,服务器端应用程序是通过组合许多单用途、小容量的网络服务来构建的。微服务架构让边界设计良好的服务的失效互不影响成为可能。但是,微服务和所有的分布式系统一样,也会存各种各样的问题。Shekhar Gulati 给我们分享了微服务失败的 11 个原因,这些原因还算比较常见,我们相信,他总结的心得对于想要...
-
容器运行时:从Docker到Containerd
虽然Docker不是最早的容器技术,但却把容器技术推向了应用的高峰。从Docker中拆分而来的Containerd容器运行时,成为了CNCF毕业的第5个项目(前面4个分别是K8s、Prometheus、Envoy和CoreDNS)。本文将介绍容器技术从Docker到Containerd这一路的发展历程。Docker的拆分Docker 诞生于 2013 年,Docker 最开始的...
-
详解 spring data jpa,全方位总结,干货分享
谈一谈 jpa什么是 jpa ? jpa 的全称是 Java Persistence API , 中文的字面意思就是 java 的持久层 API , jpa 就是定义了一系列标准,让实体类和数据库中的表建立一个对应的关系,当我们在使用 java 操作实体类的时候能达到操作数据库中表的效果(不用写sql ,就可以达到效果),jpa 的实现思想即是 ORM (Object Rela...
-
PHP8的注解
PHP8.0增加了注解的支持, 虽然 PHP的注解没用过, 但是咱用过JAVA的注解呀.注解这玩意怎么用? 简单说就下面几步:定义注解类使用注解提取注解到了PHP中, 也基本上换汤不换药.使用定义注解类#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_FUNCTION)] class MyAttribute{ ...
-
MySQL如何加锁控制并发
目录前言一、乐观锁添加version字段二、悲观锁读锁全表锁(LOCK TABLE 表 READ)行锁(SELECT ... LOCK IN SHARE MODE)写锁全表锁(LOCK TABLE 表 WRITE)行锁(SELECT ... FOR UPDATE)前言锁总体可以分为乐观锁和悲观锁,简单说,乐观锁用版本号控制,悲观锁用锁控制。下面是待会要用来测试的数据# 添加一个...
-
「数据治理」数据质量工具和正确工具的标准「2021年更新」
数据清理是实现业务决策和操作中可能使用的最高数据质量的更大努力的一部分。它需要整个企业的组织努力和参与,如果做得正确,可以帮助提供有价值的见解和决策分析。与数据清理相关的一些其他好处包括:简化的业务实践提高生产力更快的销售周期更好的分析考虑到许多业务的数据量不断增长,数据清理需要自动化。正确的数据工具可以填补这些空白,并在一些问题有机会成为真正的问题之前自动管理它们。这最终可以...