自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 【微服务】--分布式 ID

分布式下如何解决多个数据中重复的主键ID分布式下带来的数据库ID问题解决方案分布式下带来的数据库ID问题在分布式下每个服务可能有至少大于 1 的台的部署,这些服务如果都拥有独立的数据库,或者N个微服务拥有N-1个数据库(有两个微服务使用了同一个数据库)。大多数公司都是使用 MySql 数据库, 在分库分表后,由于数据库 ID 的唯一性且自增,会发生 ID 冲突的情况。因此需要某个服务在多台部署后每台的 ID 与其他服务中的 ID 不重复,即使用全局 ID。解决方案UUID在插入新的行时不使用主键

2022-02-08 17:50:00 791

原创 【微服务】--接口幂等性

如何解决微服务中的接口幂等性

2022-02-08 11:36:37 1098

原创 事务的隔离级别

事务

2021-12-25 23:54:40 2335 5

原创 Redis--简单的缓存

什么是分布式缓存?在原始的应用中,通常将缓存存储在本地应用程序的 JVM 中,但是随着项目微服务化的趋势,在项目以微服务的方式重构后,缓存应是由单独的服务器进行管理和存储,分布在不同的物理区域进行部署,已达到高可用效果。Mybatis原始的缓存存储方式在未使用分布式缓存时,Mybatis 是自带缓存的 mybatis将每次查询到到的结果存放在一个类的 HashMap 属性中,MyBatis 的缓存处理接口为 org.apache.ibatis.cache Cache 操作的缓存的实现类为 org.ap

2021-10-13 17:23:05 295

原创 【框架整合】--- Spring与MyBatis

Spring与MyBatis整合前言依赖准备整合注解方式整合XML文件方式整合事务注解方式管理事务XML方式管理事务关于纯事务和纯XML纯注解纯XML方式前言本章将Mybatis与Spring整合分为了: 整合 事务 两个方面,只是简单的列举了一些例子作为说明,创建本章的目的是备忘。更多技术内幕请参阅:MyBatis-Spring 官方文档依赖准备Spring核心依赖 <!--spring核心--> <dependency> <group

2021-07-28 16:36:40 98

原创 【框架】--- Spring

Spring概述Spring概述Spring优点Spring组成部分使用Spring框架IOC 功能概述本文章意在于尽量完整详细的对 Spring 进行整理、总结,为以后备忘。也尽力让新来者读懂 Spring ,内容不尽详细处还望补充。Spring概述Spring 是由 Rod Johnson 发起,于2004年3月24日,发布了1.0正式版,是一款开源免费的轻量级框架。致力于解决企业级编程开发中的复杂性,实现敏捷开发的应用框架,其本质是一种容器(对象容器和框架容器)。Spring由七大模块组成,

2021-07-25 23:13:35 80

原创 【数据库】--- Redis

Redis概述Redis 简介下载与安装基本使用基本知识数据结构常用指令数据操作配置文件持久化策略事务主从复制客户端连接工具概述Redis 简介Redis 是一款NoSQL型开源的数据库。Redis支持数据持久化硬盘和数据备份和多种数据结构,Redis具有很高的读写速度,非常适合作为应用缓存使用。下载与安装基本使用基本知识Redis 有一些常用的基本命令和功能。以下列举一些:一些命令:模拟性能测试:redis-benchmark通信测试:ping查看服务器统计及信息:info切换当前

2021-07-18 23:21:52 625

原创 【框架】--- MyBatis

MyBatis前言基本使用1.导入jar包2.创建MyBatis配置文件3.创建实体类4.创建Mapper映射文件5.书写SQL语句5.0 SQL元素的属性5.1 select语句5.2 delete语句5.3 update语句5.4 insert语句6.创建Mapper接口7.创建Service类8.使用SQL语句前言本文章仅仅记录阐述MyBatis的基本使用和注解式使用,不涉与任何其他框架的整合,使用的MyBatis版本为 3.5.6 。基本使用1.导入jar包使用MyBatis 首先需要在项

2021-07-10 14:06:16 59

原创 【其他模式】--- 代理模式

代理模式一、什么是代理模式二、代理模式有什么用三、代理模式如何使用静态代理动态代理JDK动态代理概述JDK动态代理使用的类JDK动态代理示例一、什么是代理模式代理模式是设计模式的一种,如果非要举个例子,那就好比房东(被代理者),中介(代理者),代理模式存在三种关系:代理者,被代理者,增强方法(代理者执行的额外代码),代理模式是在代理者内执行被代理者的方法,在此之外在代理者中添加一些其他的额外方法进行执行,这些被额外执行的代码被称为被视为对被代理者的增强。二、代理模式有什么用在开发中有时候会遇到在使用

2021-07-08 04:02:51 110

原创 【数据库】--- JDBC

JDBC概述JDBC-MySQL使用Java操作MySQL数据库注册驱动取得连接获取数据库操作对象执行SQL语句处理查询结果集释放资源完整示例事务概述Java Database Connectivity(Java语言连接数据库),是一套由SUN公司开发的,操作数据库的API,专用于操作数据库。此套API存在于java.sql. *, 这套API是由SUN公司制定,各大数据库厂家根据自己产品的实现原理进行实现(即为驱动)。在使用时我们仅仅需要使用SUN公司制定的接口书写代码,就可以实现对数据库的操作。J

2021-07-01 17:17:32 59

原创 XML语言

XMLXML定义XML的组成文档声明XML定义XML, Extensible Markup Language(可扩展标记语言),由SGML语言发展而来,允许用户自定义标签,可以将标签和内容有效分离。它逐渐演变为—种跨平台的数据交换格式(一种在不同平台、不同系统之间的数据交换格式),一种轻量级的持久化方案(保存简单数据,无需使用数据库)。XML只是纯文本而已,只是一种独立于软件、硬件的数据存储和传输工具。它可对外提供一下信息,但于C、Java这些编程语言不同,XML无法提供任何“动态行为”。和HTML提供

2021-07-01 00:29:33 831 1

原创 【语言新特性】--Java 8

java8新特性概述速度更快代码更少强大的Stream API便于并行最大化减少空指针异Lambda表达式什么是Lambda表达式?函数式接口Lambda表达式的语法格式Lambda表达式的使用无参数,无返回值。无参数,有返回值。有一个参数,无返回值有一个参数,有返回值有两个及以上的参数,并且有返回值。方法引用对象引用实例构造器引用概述java8 在java语言方面为我们带来了许多新的特性:速度更快,代码更少(增加了新的语法 Lambda表达式),强大的 Stream API,便于并行,最大化减少空指

2021-06-26 04:46:14 298

原创 【源码解析】-- ArrayList

ArrayList 源码解析前言ArrayList类的继承和实现继承的实现的Array的基本实现ArrayList类的属性ArrayList类的构造方法无参数构造方法第一个有参数的构造方法第二个有参数的构造方法小小总结ArrayList 的方法解析add()方法addAll()方法clear()方法contains() 方法ensureCapacity() 方法get()方法set()方法retainAll() 方法前言解析 ArrayList 的前提肯定是在我们已经熟悉了 ArrayList 的方法,

2021-06-20 23:59:30 76

原创 【设计模式】--单例模式

这里写目录标题一、 什么是单例模式二、单例模式解决了什么问题三、单例模式思维图四、单例模式示例五、单例模式的设计原则六、关键字一、 什么是单例模式二、单例模式解决了什么问题很多时候我们只希望程序中某个对象的示例只出现一个, 比如线程池、缓存等。这时单例模式就排上用场了。三、单例模式思维图四、单例模式示例五、单例模式的设计原则六、关键字...

2021-06-20 02:33:14 54

原创 【设计模式】--装饰者模式

一、装饰者模式概述装饰者模式使用组合的方法,可以在不修改底层代码的情况下为对象添加新的功能,二、装饰者模式解决了什么问题三、装饰者模式思维图四、装饰者模式的示例五、装饰者模式的设计原则类应该对扩展开放,对修改关闭...

2021-06-19 16:20:25 50

原创 【设计模式】- 观察者模式

观察者模式一、什么是观察者模式二、观察者模式解决了什么问题三、观察者模式思图四、观察者模式使用示例定义主题接口实现一个主题定义观察者接口实现一个观察者五、观察者模式的设计原则六、关键词一、什么是观察者模式观察者模式体现了一对多的对象关系,即主题(一)和观察者(多),当主题发生改变时,会通知每一个观察者,主题负责消息的发送,观察者默默的接收消息。观察者和主题是松耦合的,移除任何一个观察者都不会对主题产生影响。java.uitl.Observer(观察者)和 Observable(主题)实现了此模式。每一个

2021-06-18 18:41:23 260

原创 【设计模式】--策略者模式

策略者模式一、什么是策略者模式二 、策略者模式解决了什么问题三、策略者模式思维图四、策略者模式的示例不变可变实现一个鸭子类测试五、策略者模式中的设计原则六 、关键词一、什么是策略者模式策略者模式是一种解决 改变 的方案,其核心是将问题剥离,把不会改变的和可变的内容区分开来。在发生改变时只需修改可变的类,即可在改动程序时产生最小的影响。并使用组合将 不变的与可变的组合起来。使程序易扩展和可维护。二 、策略者模式解决了什么问题在软件开发中最常见的问题就是改变,策略者模式可以解决“改变”的问题。在开发中

2021-06-17 19:07:10 1048

原创 JAVA-IO流篇

IO流一、什么是IO流二、IO流的分类按照家族分类:按照功能分类三、IO流的使用**文件专属流示例:**一、什么是IO流IO流(InputOutput )即文件的输入输出流,负责对文件的读和写。IO流在 java.io.*包下二、IO流的分类所有流都实现了 java.io.Closeable 的colse()方法皆为可关闭的。所有流都实现了 java.io.Flushable 的 fiush()方法皆为可刷新的记忆小窍门:以Straem 结尾的均为字节流,以 Reader 或 Wirter

2021-06-17 05:08:40 147

原创 JAVA-多线程篇

JAVA-多线程一、什么是多线程?二、多线程有什么用?三、多线程常见的问题?四、Java中多线程怎么用?1.创建线程的三种方式1.11.21.3五、保证Java中的线程安全一、什么是多线程?粗略的讲,多线程通常是指在程序运行时,使用CPU的多个线程,由多个线程同时共同完成某些任务,这样的行为叫做多线程处理,这样的方式就是多线程。二、多线程有什么用?在java应用中,最常见的莫过于WEB应用了,而如今的WEB应用大多都有着高并发的需求,需要在很短的事件处理大量的用户请求,因此使用多线程尤为重要。并发可

2021-06-15 02:05:27 1477

原创 JAVA-反射篇

反射一、反射是什么?二、反射的用处?三、如何使用反射1. 反射相关类2.获取反射的三种方式3.通过反射得到的Class对象操作字节码文件3.1 获取类的修饰符3.2获取类名四、反射的注意事项五、反射的源码分析一、反射是什么?反射 (reflect)、在javav的java.lang.reflect包下,反射是java为我们提供的一种操作字节码文件的类库。二、反射的用处?通过反射机制可以动态的在程序运行时获取字节码文件(.class文件),并且针对字节码文件进行读取、修改等操作,实现动态的操作类,大多

2021-06-12 20:37:02 1201 1

原创 JAVA-注解篇

JAVA-注解篇一、什么是注解?二、注解有什么用?三、注解的语法?四 、注解可以使用在那些位置?五、java中常用的注解?六、注解中的元注解?六、自定义注解的示例?七、如何使用自定义注解?八、如何使用自定义注解?九、如何使用反射获取注解?一、什么是注解?注解 Annotation也一种引用类型数据,在编译后同样会生成.class文件,注解可以述程序所需要的信息,二、注解有什么用?注解可以减轻眼样板“代码”的负担,使用注解可以使代码干净易懂,可以在编译期对数据进行检查、验证和测试。三、注解的语法?

2021-06-11 17:12:41 77

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除