前言距离上一篇文章发布又过去了两周,这次先填掉上一篇秒杀系统文章结尾处开的坑,介绍一下数据库中间件Canal的使用。「Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到。」举个例子:公司目前有多个开发人员正在开发一套服务,为了缩短调用延时,对部分接口数据加入了缓存。一旦这些数据在数据库中进行了更新操作,缓存就成了旧数据,必须及时删除。删除缓存的代码「理所当然可以写
分类:
数据库 时间:
2020-12-11 12:05:29
阅读次数:
4
前言微笑挖坑,努力填坑。————已经拥有黑眼圈,但还没学会小猪老师时间管理学的蛮三刀同学。本文是秒杀系统的第四篇,我们来讨论秒杀系统中「缓存热点数据」的问题,进一步延伸到数据库和缓存的双写一致性问题,并且给出了实现代码。前文回顾和文章规划零基础上手秒杀系统(一):防止超卖零基础上手秒杀系统(二):令牌桶限流+再谈超卖零基础上手秒杀系统(三):抢购接口隐藏+单用户限制频率零基础上手秒杀系统(四):缓
分类:
数据库 时间:
2020-12-11 12:05:12
阅读次数:
5
问题背景:windows 命令窗输入 adb devices -l 或者 adb devices 报error:protocol fault或error:device not found手机驱动有问题 解决方案一: windows:任务管理器, 看到adb的进程, 关闭掉, 然后重新启动 adb s ...
分类:
移动开发 时间:
2020-12-11 11:59:50
阅读次数:
6
从非常规文本文件中读取数据 以下示例演示如何使用 textscan 函数从非常规文件中导入数据。在使用 textscan 时,您的数据无需为常规的行列模式,但必须为重复模式。 创建一个名为 nonrect.dat 的文件,其中包含以下内容(复制并粘贴到文本编辑器): begin v1=12.67 v ...
分类:
其他好文 时间:
2020-12-11 11:37:26
阅读次数:
6
函数 一、函数的概念 讲一段代码一起封装起来,内部封装的一段代码为一个结构体,执行就全都一起执行(遇到return除外),不执行就都不执行 可以重复使用 二、函数的声明、参数和调用 2.1 函数声明 函数声明又叫函数定义,必须先定义才能使用 跟变量的命名要求相似 不然会报引用错误 语法 functi ...
分类:
其他好文 时间:
2020-12-10 11:37:39
阅读次数:
9
一、前言 上篇文章,我们聊到了SpringBoot得以实现的幕后推手,这次我们来用SpringBoot开始HelloWorld之旅。SpringBoot是Spring框架对“约定大于配置(ConventionoverConfiguration)”理念的最佳实践。SpringBoot应用本质上就是一个基于Spring框架的应用。我们大多数程序猿已经对Spring特别熟悉了,那随着我们的深入挖掘,会
分类:
编程语言 时间:
2020-12-10 11:07:25
阅读次数:
4
一、概述slf4j(全称是SimpleLogingFacadeForJava)是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就好像我们经常使用的JDBC一样,只是一种规则而已。因此单独的slf4j是不能工作的,它必须搭配其他具体的日志实现方案,比如apache的org.apache.log4j.Logger,jdk自带的java.util.logging.Logger等
分类:
其他好文 时间:
2020-12-10 11:04:30
阅读次数:
2
为什么要用线程池 新启线程需要新建——执行任务——销毁这个过程,我们准备一批线程放在那,当需要执行任务的时候就可以直接拿到线程来用,节约了新建和销毁的过程,提高效率。 线程资源是稀缺而昂贵的,所以我们需要利用线程池统一管理,限制线程数。 创建线程池时各个参数的含义 corepoolsize:线程池的 ...
分类:
移动开发 时间:
2020-12-10 10:41:27
阅读次数:
16
leetcode3.无重复字符的最长子串--每天刷一道leetcode系列!作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人前文回顾:leetcode1.两数之和--每天刷一道leetcode系列!leetcode2.两数相加--每天刷一道leetcode系列!题目描述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:"abcabcbb"输出
分类:
其他好文 时间:
2020-12-10 10:37:04
阅读次数:
1
想了很久没想出来,无奈之下看了题解。 如果 a[i] < a[j] ,因为要保证都是整数,所以 j - i 必须要小于 a[j] - a[i] ,才能使区间 i,j 内的所有数均可修改。 j - i < a[j] - a[i] 移项得 a[i] - i < a[j] - j。 所以 a[i] 里要存 ...
分类:
其他好文 时间:
2020-12-09 12:09:28
阅读次数:
5