
CAS 原理新讲
一、什么是 CAS {#一、什么是-CAS} ---------------------- **CAS** 全程 Compare-And-Swap,它的功能是判断内存中某个位置的值是否为预期值,如果是则更改为新值,这个过程是原子性的。 二、CAS 作用 {#二、CAS-作用} -------------------- **CAS** 是另一个无锁解决方案,更准确的是采用乐...
一、什么是 CAS {#一、什么是-CAS} ---------------------- **CAS** 全程 Compare-And-Swap,它的功能是判断内存中某个位置的值是否为预期值,如果是则更改为新值,这个过程是原子性的。 二、CAS 作用 {#二、CAS-作用} -------------------- **CAS** 是另一个无锁解决方案,更准确的是采用乐...
一、前言 {#一、前言} ------------ **AQS** 是抽象的队列同步器,是用来构建锁或其他同步组件的重量级基础框架及整个 **JUC** 体系的基石。 二、相关组件 {#二、相关组件} ---------------- 下边的组件都是基于 **AQS** 框架扩展实现的: * **ReentrantLock**:可重入锁,避免多线程竞争资源的安全问题 *...
一、前言 {#一、前言} ------------ flex 是 flexible Box 的缩写,意为**弹性布局**,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定 flex 布局。 二、布局原理 {#二、布局原理} ---------------- 采用 flex 布局的元素成为 flex 容器。其所有子元素会自动成为容器成员,成为 flex 项目。 通过...
一、前言 {#一、前言} ------------ 在N年前整理过 **Spring Boot** 的入门教程,当时还是 1.x 的内容。如今 **Spring Boot** 已经升级到 3.x 版本,不过版本之间的使用差距不大,此次发布文章仅当作常规知识以及新版本功能的补充。 如果你已经掌握 **Spring** 和 **SpringMVC** 知识,但还不熟 **Spr...
一、前言 {#一、前言} ------------ 要搭建传统 Spring MVC 项目,我们除了需要配置相应的配置文件,还需要在文件中声明包扫描路径,注解驱动,处理器映射器、适配器和视图解析器等相关配置,搭建步骤非常繁琐。 而 **Spring Boot** 则是通过 JavaConfig 的方式将以前繁琐的配置封装起来,我们只需要引入依赖即可完成相应组件的整合。 二...
一、前言 {#一、前言} ------------ 在N年前整理过 **Spring Boot** 的入门教程,当时还是 1.x 的内容。如今 **Spring Boot** 已经升级到 3.x 版本,不过版本之间的使用差距不大,此次发布文章仅当作常规知识以及新版本功能的补充。 如果你已经掌握 **Spring** 和 **SpringMVC** 知识,但还不熟 **Spr...
一、前言 {#一、前言} ------------ 要搭建传统 Spring MVC 项目,我们除了需要配置相应的配置文件,还需要在文件中声明包扫描路径,注解驱动,处理器映射器、适配器和视图解析器等相关配置,搭建步骤非常繁琐。 而 **Spring Boot** 则是通过 JavaConfig 的方式将以前繁琐的配置封装起来,我们只需要引入依赖即可完成相应组件的整合。 二...
一、前言 {#一、前言} ------------ 要搭建传统 Spring MVC 项目,我们除了需要配置相应的配置文件,还需要在文件中声明包扫描路径,注解驱动,处理器映射器、适配器和视图解析器等相关配置,搭建步骤非常繁琐。 而 **Spring Boot** 则是通过 JavaConfig 的方式将以前繁琐的配置封装起来,我们只需要引入依赖即可完成相应组件的整合。 二...
一、前言 {#一、前言} ------------ 在N年前整理过 **Spring Boot** 的入门教程,当时还是 1.x 的内容。如今 **Spring Boot** 已经升级到 3.x 版本,不过版本之间的使用差距不大,此次发布文章仅当作常规知识以及新版本功能的补充。 如果你已经掌握 **Spring** 和 **SpringMVC** 知识,但还不熟 **Spr...
编程语言使用技巧与案例分析 ============= 编程语言是我们与计算机交流的桥梁,随着技术的进步,许多编程语言应运而生,各自有着不同的使用场景和优势。本文将通过一个具体的故事来分析C#、Java、Python、Go和Ruby在实际开发中的应用技巧,带你一起了解这些编程语言如何影响实际开发的过程。 背景 --- 故事的主角是一个开发团队,他们在开发一个跨平台的电子商...