自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Redisson分布式锁应用

当启用集群模式时,例如:多个乘客在同一个地方下单,刚好搜索周边车辆时,他们访问到了不同的服务器,然而,每个服务器都使用的同步锁。他们搜索到了同一个车辆跟司机,造成司机同时接到多单的问题。使用redisson分布式锁,相当于一个中间件,采用redis的setNx方法。在获取周边车辆和司机的时候先经过redis上锁,使他们访问到的是同一把锁。driverId是Long类型,采用(driverId+"").intern() 上锁,使每个线程获取的是String常量池。

2023-04-05 13:54:12 236 1

原创 IDEA 2022新版本启动多个服务实例

,添加参数-Dserver.port=端口号。点击修改选项,快捷键Alt+M。选中多实例的服务,点击复制。勾选允许多个实例,Alt+U。选择添加VM模块,Alt+V。application.yml配置多实例。修改服务名称,区分端口号。

2023-04-05 10:48:56 796

原创 MybatisPlus使用Left Join...on...一对多多表联查和Ipage分页返回数据问题

MybatisPlus一对多关联表分页查询,bug点

2023-04-04 16:59:53 4255

原创 阿里云OSS应用

直接通过阿里云提供的API操作相对的复杂一些,这时我们可以通过SpringCloudAlibaba OSS服务来简化开发,添加对应的依赖。前端--------------------------------------------upload地址阿里OSS地址,上传并回调。也可以直接拖拽,图片url可以复制到网页查看,现在的版本默认浏览器直接下载文件,无法查看。浏览器----》》服务端(获取签名)--》》浏览器(拿到签名)-》》阿里OSS通过验证存储图片。进入创建的Bucket, 可点击上传文件进行上传。

2023-04-01 09:45:53 176

原创 openFeign【GET】转【Post】解决

【代码】openFeign【GET】转【Post】解决。

2023-03-28 20:02:06 153

原创 redis命令整理

假设网站有1亿用户,每天独立访问的用户有5千万,如果每天用集合类型和 Bitmaps分别存储活跃用户,很明显,假如用户id是Long型,64位,则集合类型占据的空间为64位x50 000 000= 400MB,而Bitmaps则需要1位×100 000 000=12.5MB,可见Bitmaps能节省很多的内存空间。如果100个组同时进行抛硬币实验,受运气影响的概率就很低了,每组分别进行多次抛硬币实验,并上报各自实验过程中抛到正面的抛掷次数的最大值,就能根据100组的平均值预估整体的实验次数了。

2023-03-13 11:12:00 889

原创 OpenFeign远程调用Json转换异常

OpenFeign远程调用返回List接收失败,这是提取响应类型报错,项目有全局的Result封装对象,然后这里调用feign接口返回值类型只写了Data的类型。这里使用@JsonCompont注解,解决响应问题,调用成功在进行一次转json再转list的方式解决报错,因为调用成功后会出现无法解析响应结果的问题。

2022-11-16 11:54:51 2035

原创 反射机制的运用实例:

实例一:使用反射机制绕过类型检查(泛型)//创建集合对象,指定元素类型ArrayList<String>al=newArrayList<String>();al.add("hello");//获取Class类对象Class<?extend...

2022-03-08 14:20:31 102

原创 Map + Java8 函数式接口(解决大量if方法)

@Servicepublic class QueryGrantTypeService { @Autowired private GrantTypeSerive grantTypeSerive; private final Map<String, Function<String, String>> grantTypeMap = new HashMap<>(); /** * 初始化业务分派逻辑,代替了if-else部分 ...

2022-03-08 14:19:50 718 1

原创 git 解决提交冲突 笔记

git stash git pull git stash pop上面命令执行后代码已经拉取了最新版本,接下来本地合并代码,解决冲突,然后提交推送

2022-02-18 14:02:26 118

原创 BigDecimal计算

BigDecimal的运算——加减乘除首先是bigdecimal的初始化这里对比了两种形式,第一种直接value写数字的值,第二种用string来表示 BigDecimal num1 = new BigDecimal(0.005); BigDecimal num2 = new BigDecimal(1000000); BigDecimal num3 = new BigDecimal(-1000000); //尽量用字符串的形式初始化 ...

2022-02-18 14:00:04 577

原创 swagger2 注解说明

@Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置"@ApiOperation:用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" notes="方法的备注说明"@ApiImplicitParams:用在请求的方法上,表示一组参数说明 @ApiImplicitParam:用在@ApiImplicitPara...

2022-01-20 15:06:57 77

原创 rabbitmq分发机制

主要有两种模式:1、轮询模式的分发:一个消费者一条,按均分配;2、公平分发:根据消费者的消费能力进行公平分发,处理快的处理的多,处理慢的处理的少;按劳分配;一、轮询 (默认)一个生产者,两个及以上消费者(同一队列)接收消息即可// 定义指标 qos=1finalChannel.basicQos(1);// 改成手动应答finalChannel.basicAck(message.getEnvelope().getDeliveryTag(),false);二、公平分发需要设置指标

2022-01-17 14:35:42 2177

原创 rabbitmq常用交换机入门案例

fanout“无路由交换机”,说白了就是,使用这个交换机不需要routingkey绑定,和路由没有关系,它是直接绑定到队列的。生产者package com.test.rabbitmq.routing;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;/** * fanout 发布与订阅模式 .

2022-01-14 16:58:26 594

原创 docker常用命令

Docker常用命令 - DeepInThought - 博客园

2022-01-14 16:51:49 45

转载 select * from dual

T-SQL是SQLServer的语言引擎,而Oracle的语言引擎却是PLSQL。这两种查询语言都对ANSISQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何对这些扩展进行转化以用在SQLServer环境下。列的选择用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQLServer的要求是一样的。SELECT语句必须选择针对的数据表。在Oracle数据库内有...

2022-01-13 11:24:35 1818

原创 Spring5

优点:Spring是一个开源的免费的框架(容器)! Spring是一个轻量级的,非入侵式的框架! 控制反转(IOC),面向切面编程(AOP)! 支持事务的处理,对框架整合的支持!总结一句话:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架!SpringBoot一个快速开发的脚手架 基于SpringBoot可以快速的开发带个微服务 约定大于配置SpringCloudSpringCloud是基于SpringBoot实现的。因为现在大多数公司都在使用Sp

2021-12-16 17:06:14 513

原创 JavaWeb

Java Web1.基本概念1.1前言web开发: web,网页的意思,www.baidu.com 静态webhtml,css 提供给所有人看的数据,始终不会发生变化!动态web淘宝,几乎是所有的网站; 提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同 技术栈:Servlet/JSP,ASP,PHP在Java中,动态web资源开发的技术统称为JavaWeb;1.2、web应用程序web应用程序: 可以提供浏览器访问的程序;a.ht

2021-12-15 15:12:02 115

原创 JDK 1.8 开发文档分享

JDK 1.8 开发文档免费分享在线中文版链接:Java Platform SE 8官方英文版链接:Java Platform SE 8下载链接:链接:百度网盘 请输入提取码提取码:0406

2021-12-03 11:26:17 340 1

原创 Kibana配置ES集群

es与kibana版本要一致

2021-12-01 13:55:16 927

原创 Elasticsearch京东搜索实例

创建一个springboot项目选择依赖FinishPOM文件添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.78</version></dependency>application.properties文...

2021-12-01 13:17:41 219

原创 Elaticsearch笔记

概述Elaticsearch,简称es,es是一个开源的高扩展的分布式全文检索引擎,他可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也是用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成为排名第一的搜索

2021-11-22 17:05:47 1316

原创 mybatis-plus入手(初始化一个项目)

新建springboot项目勾选lombokpom添加依赖(mysql连接,mybatis-plus依赖)<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version></dependency><depe.

2021-11-18 10:54:19 83

原创 Redis缓存穿透和雪崩

服务的高可用问题缓存穿透(查不到)概念缓存穿透的概念很简单,用户想要查询一个数据,发现Redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。还会给持久层数据库造成很大的压力,这时候就相当于出现了缓存穿透。解决方案布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数一hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;.

2021-11-17 14:00:25 557

原创 Redis哨兵模式

(自动选举老大的模式)概述主从切换技术的方法是:当主机服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费时费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更对时候,我们优先考虑哨兵模式。Redis从2.8开始正式提供了Sentinel(哨兵)架构来解决这个问题。谋朝篡位的自动版,能够从后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行,其原.

2021-11-17 10:48:53 560

原创 Redis主从复制

概念环境配置层级链路

2021-11-17 09:34:50 639

原创 Redis持久化

Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所有Redis提供了持久化功能!RDB(Redis Database)在主从复制中,rdb就备用了!从机上面!AOF(APPEND ONLY FILE)...

2021-11-16 14:34:05 194

原创 Redis笔记2

事务Redis 事务本质:一组命令的集合! 一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行! 一次性、顺序性、排他性!执行一些列的命令!监控! Watch悲观锁:很悲观,认为什么时候都会出问题,无论做什么都会加锁!乐观锁: 很乐观,认为什么时候都不会出问题,所有不会上锁! 更新数据的时候去判断一下,在此期间是否有人修改过这个数据 获取version 更新的时候比较versionRedis监控测试Jedis...

2021-11-16 13:38:44 492

原创 REDIS笔记

步骤nosql数据模型nosql四大分类CAPBASERedis 入门 安装 五大基本数据类型 String,List,Set,Hash,Zset 三种特殊数据类型 geo,hyperloglog,bitmap Redis配置 Redis持久化 RDB,AOF Redis事务操作...

2021-11-11 15:38:27 974

原创 EXCEl使用函数判断两列值是否相等

一、选中判断的两列数据二、三、四、五、选择格式——选择图案——选取颜色——一路确定六、结果

2021-11-11 09:43:17 1687

空空如也

空空如也

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

TA关注的人

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