自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 一文带你了解多租户模式

你们公司研发一套学生管理系统,现在将这套系统出售不同的学校,每个学校根据自己的需要选择需要的功能,如果每个学校都部署一套系统,那么将会浪费掉很多服务器资源,那么可不可以只部署一套,然后使用技术手段在物理或逻辑将不同的学校进行功能和数据隔离?答案当然是可行的,多租户模式就是解决这个问题,即**单个产品实例为多个用户提供服务,用户可按需购买使用产品资源,用户数据相互隔离。**多租户模式在各种应用程序中都有广泛应用,包括软件即服务(SaaS)应用程序、云计算平台、数据库系统等。

2023-11-20 22:23:16 257

原创 装饰者模式和静态代理的区别

笔者在学习装饰者模式的时候感觉其与静态代理模式有点相似,本文主要介绍了什么是装饰者模式,什么是静态代理,二者之间有什么异同。

2023-09-21 13:58:51 146

原创 @Transcation详解

一文读懂SpringBoot事务管理。

2023-09-21 11:17:36 224

原创 一文带你读懂SpringBoot 如何使用多线程

在实际开发过程中,我们可能会碰到以下情况,需要调用ABC三方法,但ABC三个方法的并没有逻辑关联,允许并行的运行,这个时候可以考虑采用异步的方式分别执行三个任务, 提升代码的运行效率。SpringBoot项目是如何使用异步线程SpringBoot是如何使用线程池SpringBoot多线程源码相关知识。

2023-09-01 14:46:15 1135

原创 一文读懂SpringBoot事务管理

什么是SpringBoot事务,SpringBoot事务和数据库的事务有什么关联?怎么使用SpringBoot事务?SpringBoot的实现原理是什么?事务是指系统进行一系列操作,一旦其中有一个操作失败,都将全部回滚,满足ACID(原子性、一致性、隔离性、持久性)特性,Mysql中Innnodb也使用了事务的概念。SpringBoot事务是指程序执行的过程中,通过代理的方式,将程序的多个业务逻辑/对数据库的多次操作包裹成一个事务,避免部分程序对数据库操作成功导致的数据不一致问题。

2023-08-17 14:29:58 277

原创 nacos安装与部署(保姆级教程)

nacos详细安装教程

2023-08-14 15:12:36 423

原创 双写一致性深究

所谓缓存,实际上就是用空间换时间,准确地说是用更高速的空间来换时间,从而整体上提升读的性能。但引入缓存后必然带来数据一致性的挑战, 因为数据同时存放在多个空间中,比如数据同时存放在MySQL和Redis中(后文的缓存无特别说明均指Redis缓存),MySQL和Redis之间是没有事务保证的,所以我们无法确保写入数据库成功后,写入 Redis 也是一定成功的;即便 Redis 写入能成功,在数据库写入成功后到 Redis 写入成功前的这段时间里,Redis 数据也肯定是和 MySQL 不一致的。

2023-07-11 15:52:43 86 1

原创 地址是否在某区域范围内--基于百度地图

判断给出点是否在区域范围内,采用的算法是做点的垂直方向的延长线,看看点与多边形有多少个交点,如果是奇数个,则在区域范围内,如果是偶数个,则在区域范围外。将地址信息进行地理编码,由实际地理位置转化为经纬度信息,百度地图每天有5000额度的免费转化,如果用户量大需要用户申请额度。如果地址信息是其他地图的经纬度,可以将其经纬度信息转化为百度地图的经纬度信息,然后再进行判断点是否在区块范围内。申请百度地图账号,获取对应的key,此流程用户自行百度,操作非常简便,就不对此进行详细说明了。

2023-06-28 10:16:15 531 1

原创 一文带你了解synchronized全貌

synchronized是Java中用来保证线程同步的关键字, 可用于修饰普通方法, 静态方法和代码块。当线程想要执行被synchronized修饰的代码时,需要先获得锁,执行完毕后(退出或抛出异常)释放锁。synchronized可以保障代码的原子性、可见性和有序性,广泛应用于并发编程中。对于普通同步方法,锁是当前实例对象。对于静态同步方法,锁是当前类的Class对象。对于同步方法块,锁是Synchronized括号里配置的对象。

2023-05-07 23:19:06 79 1

原创 volatile详解

volatile是java的一个修饰符,volatile修饰的变量能在多线程环境下被所有的线程同步获取和一致性更新, 具有可见性和禁止指令重排两个特性。可见性:当一个线程修改一个共享变量时, 另一个线程能读到这个修改的值。禁止指令重排:jvm在编译的时会自动优化,可能会将代码的顺序调整导致错误,被volatile修饰的词, 就能保证在编译的时候, 前后的顺序是不变的。

2023-05-04 11:32:52 266

原创 java缓存框架Caffeine详解

本地缓存是指将数据存储在设备的硬盘、内存或闪存中,通过空间换时间的策略来减少从远程服务器获取数据的时间和网络开销。Caffeine是一个基于Java8开发的提供了近乎最佳命中率的高性能缓存库。可以说是目前最优秀的本地缓存,性能对比可以参考链接:。实际上,Caffeine和ConcurrentMap很像——支持并发,并且支持O(1)时间复杂度的数据存取。ConcurrentMap将存储所有存入的数据,直到你将其手动移除;Caffeine将通过给定的配置,自动移除“不常用”的数据,以保持内存的合理占用。

2023-03-20 11:19:28 7017

原创 Spring进阶_按条件进行Bean装配

spring 按条件进行Bean装配

2022-01-17 14:58:14 775

原创 使用 RestTemplate 进行网络接口请求

RestTemplate是Spring框架提供的一个工具类,用于进行网络请求。通过RestTemplate,可以简化开发,提高开发效率,避免重复造轮子等。本文将介绍RestTemplate的常见用法,包括GET和POST请求、文件上传、以及常用配置。

2021-12-31 14:55:44 1119

原创 SpringBoot统一返回结果

SpringBoot统一返回结果在实际开发中,为了降低开发人员之间的沟通成本,一般返回结果会定义成一个统一格式,具体的格式根据实际开发业务不同有所区别,但至少包括三要素:code状态码:由后端统一定义各种返回结果的状态码message 描述:本次接口调用的结果描述data 数据:本次返回的数据。{ "code": 200, "msg": "操作成功", "data": "Hello World,test123",}1 基础实现方式1.1 定义状态码public enum Re

2021-12-09 09:49:22 5854 2

原创 Mybatis映射详解

在最近的工作中,碰到一个比较复杂的返回结果,发现简单映射已经解决不了这个问题了,只好去求助百度,学习mybatis复杂映射应该怎么写,将学习笔记结合工作碰到的问题写下本文,供自身查漏补缺,同时已被不时之需。

2021-11-20 15:16:49 10178

原创 SpringCloud config本地Native配置

SpringCloud config配置中心支持Git, SVN, native等方式存放配置文件, 本文主要讲解采用native的配置方式, 采用native配置方式主要是简单, 新项目上线不需要搭建git或svn, 直接将配置文件丢到服务器就可以了, 不使用集群的话可以考虑此方式,如果还有其他优点,欢迎评论区补充。

2021-09-28 10:53:25 329

原创 java之assert关键字用法案例详解

assert。在程序开发过程中使用它创建一个断言(assertion)。,它的语法形式有如下所示的两种形式:

2021-09-26 15:01:51 342

原创 Spring Aop详解(无参和带参)

AOP(Aspect Oriented Programming),即面向切面编程。利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。AOP的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来,比如权限认证、日志、事务等。

2021-09-26 08:56:43 505

原创 Grafana+Loki+Loki4j实行日志可视化管理

本文主要介绍用Grafana+Loki的方式实现日志可视化管理,采用Loki4j通过http协议直接将日志发送到Loki,不需要采用Promtail 的形式发送。

2021-08-13 17:08:32 4454 2

原创 Docker compose 使用

在使用docker-compose时,由于所有的容器都在同一个配置文件中定义,可以很方便地进行管理和部署,从而提高了开发效率和部署效率。同时,docker-compose还可以帮助我们管理容器之间的依赖关系,使得多个容器可以协同工作,从而构建一个完整的应用。需要注意的是,,因此在使用docker-compose时需要选择与已安装的docker版本相对应的docker-compose版本,否则可能会出现不兼容或无法正常工作的问题。建议使用与docker版本相匹配的最新版本的docker-compose。

2021-08-12 14:57:58 932 1

原创 Linux进程管理工具_Supervisor的安装与配置

Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。...

2021-07-05 10:22:35 1803

原创 applicationContext.xml配置详解

applicationContext.xml配置详解applicationContext.xml表头配置详解:xml版本信息:<?xml version="1.0" encoding="UTF-8"?>默认命名空间:表示未使用其他命名空间的所有标签的默认命名空间xmlns="http://www.springframework.org/schema/beans" xsi标准命名空间,用于指定自定义命名空间的schema文件,声明就可以使用schemaLocation属性。xml

2021-07-05 10:20:44 10899

原创 Mybatis-plus多数据源配置

Mybatis-plus官方提供了一种多数据源的配置方式, 通过注解的方式来切换不同的数据源, 本文提供另一种切换数据源的方式, 通过mapper的路径来切换数据源, 此方法使用简单, 配置好之后直接不需要进行什么额外的操作了。

2021-07-05 10:19:57 1891 1

原创 java_后端获取当前登录用户信息

后端获取当前登录用户信息UserDetails currentUserDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();

2021-04-01 09:18:33 13156 1

原创 Spring基础_Bean详解

Spring基础——Bean详解什么是bean?Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。Spring 容器会自动完成@bean对象的实例化。创建应用对象之间的协作关系的行为称为:装配(wiring),这就是依赖注入的本质。如何定义Spring bean?可以通过三种不同的方式定义Spring bean:使用构造型@Component注释(或其他衍生物)编写在自定义java配置类中使用@Bean注释bean工厂方法在XML配置文件中声明bean定义

2021-01-11 08:48:57 891

原创 Mybatis常用标签与动态SQL详解

mybatis通用查询条件与返回值1. mybatis查询常用标签sql标签:if标签:trim标签:prefix=”where”//给第一符合条件的语句 加上前缀whereprefixOverrides=”and” //将最后一条语句的 前缀and 覆盖suffix=”and” //给第一符合条件的语句 加上后缀 andsuffixOverrides=”and”//将最后一条语句的后缀 and 覆盖test标签:include标签:refid标签:where标签2.样例<

2020-11-13 09:16:29 1718

原创 Lodop分页打印每页显示页头页尾

Lodop分页打印页头页尾问题1. Lodop页头页尾打印标签1.1 caption标签:caption标签的内容只显示在首页1.2 thead标签: 页头标签, 此标签的内容为页头, 显示在每页的顶部1.3 tbody标签: 内容体标签, 此标签的内容为内容体1.4 tfoot标签: 页尾标签, 显示在每页的底部标签实例代码:<div id="div2"><style>table,th{border:none;height:18px} td{border: 1px

2020-11-02 10:10:18 3784 2

supervisor-4.2.4.tar

supervisor-4.2.4.tar

2022-05-05

空空如也

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

TA关注的人

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