
解决方案
文章平均质量分 58
GodTheTang
做一个爱程序的程序员
展开
-
导入SQL时出现 Invalid default value for ‘XXX‘ 报错解决方法
问题如上图,在进行建表时,报错Invalid default value for 'XXX'原因:MySQL的版本不同,5.6及其以下版本不支持因为给了时间字段的列默认值一个 CURRENT_TIMESTAMP 默认值,而这个默认值在低版本的 MySQL 中是不支持的,因此就出现了图中的这个报错`reg_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',解决方案:一:重装 MySQL 数据库,版本选...原创 2021-11-24 20:13:59 · 21708 阅读 · 0 评论 -
高并发下接口幂等性解决方案
转载:高并发下接口幂等性解决方案_Gandoph的博客-优快云博客_接口幂等性解决方案一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问...原创 2021-11-22 21:49:56 · 155 阅读 · 0 评论 -
【实例详解】创建线程的四种方式
创建线程有四种方式: 继承 Thread 类; 实现 Runnable 接口; 实现 Callable 接口; 使用 Executors 工具类创建线程池 1、继承 Thread 类步骤 定义一个Thread类的子类,重写run方法,将相关逻辑实现,run()方法就是线程要执行的业务逻辑方法 创建自定义的线程子类对象 调用子类实例的star()方法来启动线程 public class MyThread extends T原创 2021-11-22 19:15:01 · 548 阅读 · 0 评论 -
MySQL中rank函数的使用
题目来源:牛客sql练习题对所有员工的薪水按照salary降序进行1-N的排名_牛客题霸_牛客网题目描述:有一个薪水表salaries简况如下:对所有员工的薪水按照salary降序进行1-N的排名,要求相同salary并列,且按照emp_no升序排列:分析:这道题目考察的是SQL窗口函数(OLAP函数)中用于排序的专用窗口函数用法下面介绍三种用于进行排序的专用窗口函数:1、RANK() 在计算排序时,若存在相同位次,会跳过之后的位次。 例如,有...原创 2021-11-16 09:39:35 · 10399 阅读 · 0 评论 -
volatile如何保证可见性
Java语言规范第3版中对volatile的定义如下:Java编程语言允许线程访问共享变量,为了 确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言 提供了volatile,在某些情况下比锁要更加方便。如果一个字段被声明成volatile,Java线程内存模型确保所有线程看到这个变量的值是一致的。在了解volatile实现原理之前,我们先来看下与其实现原理相关的CPU术语与说明volatile是如何来保证可见性的呢?在X86处理器下通过工具..原创 2021-11-15 18:37:57 · 427 阅读 · 0 评论 -
【图文详解】常用的限流算法—漏桶、令牌桶
令牌桶算法 对于很多应用场景来说,除了要求能够限制数据的平均传输速率外,还要求允许某种程度的突发传输。这时候漏桶算法可能就不合适了,令牌桶算法更为适合初始化限流器时,会初始化一定量的令牌,假设初始化10个令牌,每隔一段时间生成令牌,客户端发请求,被限流器拦截,查询是否有令牌为什么采用令牌桶,因为秒杀的那一刻,希望处理比较多的请求,短期处理突发一大波流量,并不会长期处理一大波请求在“令牌桶算法”中,只要令牌桶中存在令牌,那么就允许突发地传输数据直到达到用户配置的门限,所以它适合.原创 2021-11-12 18:33:26 · 1661 阅读 · 0 评论 -
本地缓存Guava Cache使用及场景
官方文档介绍:https://github.com/google/guava/wiki/CachesExplained1、导包<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.0.1-jre</version> </dependency&g原创 2021-11-09 19:21:22 · 610 阅读 · 0 评论 -
java.math.BigDecimal类multiply用法
java.math.BigDecimal.multiply(BigInteger val)返回一个BigInteger,其值是 (this * val)查阅java8API手册public class BigDecimal extends Number implements Comparable<BigDecimal>构造方法:BigDecimal(BigIntegerval) 将BigInteger转换成BigDecimal。 BigDecim...原创 2021-11-06 18:05:27 · 5811 阅读 · 0 评论 -
出现incompatible types: possible lossy conversion from double to int错误
【力扣357题】计算各个位数不同的数字个数 原题链接:力扣给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10^n。输入: 2输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。思路:动态规划class Solution { public int countNumbersWithUniqueDigits(int n) { int[] ..原创 2021-10-29 10:03:03 · 7191 阅读 · 1 评论 -
Description:Web server failed to start. Port 8080 was already in use.
这是在做项目过程中经常遇到的问题啦!描述:Web 服务器无法启动。 端口 8080 已被使用。很明显是端口号被占用啦,主要有两种办法解决解决方案一:将端口号设置为 8081,一般8081不会被占用此时运行项目运行成功在浏览器上输入相应地址访问,这样就可以拿到我们想要的数据啦解决方案二:...原创 2021-10-30 14:15:52 · 2030 阅读 · 0 评论 -
org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
Linux环境下部署rocketmq,进行发送和接受消息时出错、错误如下:解决方案:(亲测有效)可能是端口导致的RocketMQ除了要开放9876端口外,还需要开放10909和10911端口所以在云服务器安全组添加这两个端口号即可结果:sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producersh bin/tools.sh org.apache.rocketmq.example.quic...原创 2021-11-04 10:21:14 · 778 阅读 · 1 评论