目录一、业务背景二、Seata架构1、核心组件2、AT模式三、案例分析1、流程分析2、写隔离3、读隔离四、对比XA模式五、参考源码 单个掉队,导致集体被动摆烂; 一、业务背景 在分布式架构中,事务管理是个无法避开的复杂问题,虽然有多种解决方案,但是需要根据业务去选择合适的; 从个人最近几年的实
本篇为同程艺龙旅行网 Apache Dubbo 的实践案例总结。感兴趣的朋友可以访问官网了解更多详情,或搜索关注官方微信公众号 Apache Dubbo 跟进最新动态。 作者信息: 严浩:同程艺龙高级开发,负责服务治理相关工作, Apache Dubbo Committer。 胥皓:同程艺
File类和IO流 File类 概述 public class File 文件和目录路径名的抽象表示 文件和目录是可以通过File封装成对象的 封装的不是文件,而是一个路径(可以存在,也可以不存在);要通过具体的操作将这个路径转化为具体存在 public class FileDemo {
1.可以从现有的类派生出新类。这称为类的继承。新类称为次类、子类或派生类。现有的类称为超类、父类或基类。 2.构造方法用来构造类的实例。不同于属性和方法,子类不继承父类的构造方法。它们只能用关键字super从子类的构造方法中调用。 3.构造方法可以调用重载的构造方法或它的父类的构造方法。这种调用必
Java 程序员在日常工作中经常会听到 SPI,而且很多框架都使用了 SPI 的技术,那么问题来了,到底什么是 SPI 呢?今天阿粉就带大家好好了解一下 SPI。 SPI 概念 SPI 全称是 Service Provider Interface,是一种 JDK 内置的动态加载实现扩展点的机制,通
一、引言 在上一篇文章中《这么简单,还不会使用java8 stream流的map()方法吗?》分享了使用stream的map()方法,不知道小伙伴还有印象吗,先来回顾下要点,map()方法是把一个流中的元素T转换为另外一个新流中的元素R,转换完成后两个流的元素个数不发生改变,具体怎么使用,请小伙伴
idea提交git时过滤掉不必要的文件 进入Preferences->plugins 中下载一个(.ignore)插件   在项目本地new一个(.gitignore)的文件 新增需要过滤文件的后缀及文件夹 使用git 命令git本地缓存 使用git add . 推送到远程服务器      
什么是缓存? 为什么使用缓存? 什么场景下使用缓存? 缓存(Cache)就是数据交换的缓冲区,一个临时存储数据的地方,当我们读取数据时会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话再从内存中找。 在实际开发中,我们会经常对数据库进行数据查询,而从数据库读取数据的效率是非常低下的,并
一、前言   最近在阅读HashMap的源码,已经将代码基本过了一遍,对它的实现已经有了一个较为全面的认识。今天就来分享一下HashMap中比较重要的一个方法——resize方法。我将对resize方法的源代码进行逐句的分析。   若想要看懂这个方法的源代码,首先得对HashMap的底层结构和实现
 本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作,如有错误之处忘不吝批评指正!   絮叨絮叨   首先呢,明白一点 LinkedHashMap是HashMap的子类,也就是说它就是一个HashMap(所以还是要对HashMap源码有一定了解),至于它可
调用和回调机制 在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种: 1.同步调用 同步调用是最基本并且最简单的一种调用方式, 类A的方法a()调用类B的方法b(), 一直等待b()方法执行完毕, a()方法继续往下走. 这种调用方式适用于方法b()执行时间不
一、前言   Java的容器是面试中的必考点,最近为了准备春招,我开始阅读容器的源码。今天研究了一下HashMap的源码,颇有心得,所以写篇博客分享一下HashMap的实现原理。内容主要包括HashMap的底层结构,hash函数的原理,以及HashMap的容量机制等内容。内容很多,但是这些内容彼此
jQuery01 参考文档1:jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm (cuishifeng.cn) 参考文档2:jQuery 教程 (w3school.com.cn),jQuery 教程 | 菜鸟教
这篇文章主要是想针对多进程的创建和一些通信手段来进行一下记录 创建子进程 关于创建子进程的原型一般都是用的这个,直接fork,这个函数在父进程中调用,在父子进程中各有一个pid_t类型的返回值,父进程中得到的是子进程的ID,子进程中得到的是0值。当然调用失败就是-1。 //创建进程,然后复制出另
缘起 StoneDB 在列式存储引擎 Tianmu 的加持下,在大多数场景下相对 MySQL 都会有大幅性能提升。当然,这是需要工程师不断优化代码才能做到的,而且,性能好也需要通过基准测试才有说服力,所以我们也会针对 TPC-H 的测试语句进行测试排查,争取不断提升 StoneDB 的性能。本文主
摘要:为实现不同的功能,GaussDB(DWS)提供了不同的数据对象类型,包括索引、行存表、列存表及其辅助表等。这些数据对象在特定的条件下实现不同的功能,为数据库的快速高效提供了保证,本文对部分数据对象进行介绍。 本文分享自华为云社区《GaussDB(DWS)之数据对象及相互关系总结》,作者:我的
  1.JDBC概述 1.1 基本概念 JDBC(Java Database Connectivity)就是Java数据库连接,是一种用于执行SQL语句的Java技术,提供了访问多种关系数据库的统一方式,主要借助Java语言编写的类和接口。  1.2 JDBC 原理 JDBC是由SUN公司