- 能不能解释一下本地方法栈?思维导图 代码示例(java 架构)
用心去追梦
java架构开发语言
本地方法栈(NativeMethodStack)本地方法栈是JVM运行时数据区的一部分,类似于Java虚拟机栈,但用于支持本地方法(通常是用C/C++编写的)的调用。本地方法栈主要用于存储本地方法的信息,如局部变量、操作数栈等。特点线程私有:每个线程都有自己的本地方法栈,互不影响。生命周期:本地方法栈的生命周期与线程相同,线程启动时创建,线程结束时销毁。栈帧:每个本地方法调用时都会创建一个栈帧,方
- 【Python设计模式22】职责链模式
一碗姜汤
设计模式python设计模式
职责链模式(ChainofResponsibilityPattern)是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。这些对象被连接成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。职责链模式的结构职责链模式主要包括以下几个角色:处理者接口(Handler):定义处理请求的接口,并且在接口中声明一个设置后继处理者的方法。具体处理者(Concre
- FastApi的搭建与测试
Lucas在澳洲
PythonFastAPIfastapipython深度学习1024程序员节
一、FastAPI的安装及使用详解1-1、使用pip安装FastAPI首先,我们来安装FastAPI。由于FastAPI本身依赖于Python的一些库,最简单的安装方法就是通过pip来进行安装。在国内,我们可以使用阿里云的pip镜像源来加快安装速度。执行以下命令来安装FastAPI:pipinstallfastapi-ihttps://mirrors.aliyun.com/pypi/simpleF
- Feign
Mr_蜗牛
SpringCloud
在上个例子中,我通过1、启动eureka2、注册服务3、调用服务做了一个简单的demo,但是在最后面,我是通过这样一段代码来调用服务的提供者的@GetMapping("/movie/{id}")publicUserfindById(@PathVariableLongid){//http://localhost:7900/simple///VIPvirtualIP//HAProxyHeartbeat
- 推荐几款常用测试数据自动生成工具(适用自动化测试、性能测试)
旧游无处不堪寻
测试工具postman测试用例单元测试selenium功能测试jmeter
一、前言在软件测试中,测试数据是测试用例的基础,对测试结果的准确性和全面性有着至关重要的影响。因此,在进行软件测试时,需要生成测试数据以满足测试场景和要求。本文将介绍如何利用测试数据生成工具来快速生成大量的测试数据。二、测试数据生成工具今天给大家介绍四款常用的数据生成工具:Faker、Mockaroo、DataFactory、Jenerators。1、Faker:Faker是一个Python库,提
- 微信小程序请求接口封装
大可不必_妄
微信小程序web前端微信小程序前端
1、新建封装请求api/request.js//配置的域名constbaseUrl="xxxxxxxxxxxxxx"//请求公共接口//封装请求module.exports={/***二次封装wx.request*url:请求的接口地址*method:请求方式GET,POST....*data:要传递的参数*/request:(url,method,data)=>{returnnewPromise
- Idea 插件 Quickly-Code-Toolkit
little-jenney
java开发springbootintellij-ideajavaide
使用说明(一)全局设置PagingWrapperSetting(分页设置)功能:主要用于在方法写入时,为返回参数提供分页包装类。设置方式:需准确填写分页包装类的全限定名,例如:com...Page。返回参数示例:publicPagetestMethod(){}ViewWrapperSetting(返回前端页面参数包装设置)功能:主要用于方法写入环节,作为返回前端页面参数的包装类。设置方式:设置为返
- 【学习笔记】vue-cli中组件间传参的方式
龚箭
vue.js学习笔记
一、父子组件传参首先创建子组件,子组件的名字为component1.vue接受父组件:{{name}}打印父组件的信息exportdefault{//子组件通过props组件接收,name需要和父组件的key一致props:['name'],data(){return{}},mounted(){},methods:{Forward(){console.log(this.name);},},}然后在
- [SAP ABAP] 面向对象程序设计-构造方法
山茶花开时。
SAP#SAPABAP#ABAP面向对象开发SAPABAP开发语言
构造方法(constructor)是一类特殊的方法,在创建对象实例时,构造方法自动运行(在实例化对象时,自动完成对象的初始化)我们可以使用METHODSCONSTRUCTOR或者CLASS-METHODSCLASS_CONSTRUCTOR定义构造方法每个类只能有一个构造方法,在CREATEOBJECT语句中自动调用构造方法例1通过构造方法,创建对象实例的代码更加简洁REPORTz437_test_
- C++设计模式——Singleton单例模式
程序员与背包客_CoderZ
C/C++设计模式c++设计模式单例模式c语言开发语言
一、单例模式的定义单例模式,英文全称SingletonPattern,是一种创建型设计模式,它保证一个类在程序中仅有一个实例,并对外提供一个访问的该类实例的全局接口。单例模式通常用于需要控制对象资源的开发场景,一个类只创建一个对象的设计,既可以避免创建过多副本所造成的资源浪费现象,又可以避免引发数据一致性等问题。在数据库连接、线程池设计、日志系统设计等开发场景,经常使用单例模式来创建对象,可以有效
- LVS介绍
治愈*
lvs网络服务器
配置IP地址命令:nmclidevicestatus#查看网卡真实信息nmcliconnectionshow#查看网卡连接信息nmcliconnectionaddtypeethernet\con-name连接名ifname网卡真实名autoconnectyes#添加网卡连接nmcliconnectionmodify连接名\ipv4.method配置方法\ipv4.ip_addressesx.x.x
- 405是什么错误
ai
http网络协议网络
405是HTTP协议中的一种状态码,它表示"MethodNotAllowed",即方法不被允许。这通常意味着客户端(如浏览器)发送的请求使用了不被服务器支持的请求方法。例如,如果客户端向服务器发送一个使用"POST"方法的请求,但服务器只允许使用"GET"方法访问该资源,那么服务器可能会返回405错误。如果你收到了405错误,可以尝试更换请求方法,或者联系服务器管理员了解更多信息。
- 从0到1:ArkTS实现鸿蒙策略模式全解析
谢道韫689
鸿蒙随笔harmonyos策略模式华为
策略模式初窥策略模式(StrategyPattern)是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响到使用算法的客户端。在软件开发中,策略模式就像是一个万能的“策略工具箱”,当我们遇到一个问题有多种解决方案,并且需要在不同的场景下灵活切换这些方案时,策略模式就能派上用场。举个生活中的例子,我们日常出行,可以选择步行、骑自行车、坐公交车或者打
- Pygame从入门到精通--实现贪吃蛇小游戏
出门喝奶茶
pygamepygamepython
Pygame是一个功能强大的2D游戏开发框架,适合用来学习编程和开发小游戏。如果您想从入门到精通Pygame,以下是一个全面的学习路线和内容清单。1.入门阶段:初识Pygame目标:理解什么是pygame,学会安装和运行简单的程序。了解pygame:pygame是一个专门用于2D游戏开发的Python库,基于SDL(SimpleDirectMediaLayer)。特点:跨平台、简单易学、适合小游戏
- PIP添加永久性国内镜像源
宇雯
pip
一.临时镜像源#使用豆瓣镜像源pipinstallnumpy-ihttps://pypi.doubanio.com/simple/二.永久镜像源1.windows在C:\Users\your_name下创建pip文件夹,pip文件夹下面创建pip.ini文件,添加#镜像源网址[global]index-url=https://pypi.doubanio.com/simple/#备用extra-in
- win10 llamafactory模型微调相关① || Ollama运行微调模型
我的巨剑能轻松搅动潮汐
llamafactory语言模型
目录微调相关1.微调结果评估2.模型下载到本地导出转换,Ollama运行1.模型转换(非常好的教程!)2.Ollama加载GGUF模型文件微调相关1.微调结果评估【06】LLaMA-Factory微调大模型——微调模型评估_llamafactory评估-CSDN博客2.模型下载到本地通义千问2.5-3B-Instruct·模型库模型的下载·文档中心导出转换,Ollama运行1.模型转换(非常好的教
- 用Llama Factory单机多卡微调Qwen2.5时报torch.OutOfMemoryError: CUDA out of memory的解决办法
蛐蛐蛐
大模型科研工具Python技巧llama人工智能大模型
接着上一篇博客:在Ubuntu上用LlamaFactory命令行微调Qwen2.5的简单过程_llamafactory微调qwen2.5-CSDN博客如果需要微调比较大的模型,例如Qwen2.5-32B,那么在两个3090上可能不够用,这里我用A6000×4的服务器。但如果仿照上篇博客,直接运行:llamafactory-clitrainexamples/train_qlora/qwen_lora
- 如何使用 Spring Boot 实现异常处理?
众乐乐_2008
面试前端javapython
这些是SpringBoot处理异常的几种方式。我们来逐步拆解,看懂每种方式的用途和区别。1、@ExceptionHandler处理局部异常这是最简单的方式,在当前Controller内处理异常。@ControllerpublicclassExceptionHandlerController{@RequestMapping("/excep")publicStringexceptionMethod(M
- android输入框强制隐藏,Android输入框引起的软键盘显示与隐藏,以及窗口调整的问题研究...
霜霜很乖哦
android输入框强制隐藏
Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。那么,弹出软键盘后必然会造成原有布局高度的减少,那么系统应该如何来处理布局的减少?我们能否在应用程序中进行自定义的控制?这些是本文要讨论的重点。一、软键盘显示的原理软件盘的本质是什么?软键盘其实是一个Dialog!InputMethodService为我们的输入法创建了一个Dialog,并且
- django只允许post请求或GET请求,使用require_http_methods
大得369
djangohttpsqlite
fromdjango.shortcutsimportrenderfromdjango.httpimportHttpResponsefromdjango.shortcutsimportrenderfromdjango.httpimportJsonResponsefromdjango.views.decorators.httpimportrequire_POST,require_http_method
- Flask之重定向
Ethan^
flask
fromflaskimportFlask,redirectapp=Flask(__name__)@app.route('/login/',methods=['POST','GET'])deflogin():returnf'登录页面!!'@app.route('/info/')definfo():#returnredirect('/login/')#returnredirect('/login/',
- element ui select下拉框清空为空字符
a濯
uivue.jselementui
使用clearable清空选项此时绑定的值是“”空字符串,要使清空后值为null,需要自己写clear事件methods:{clearValue(val){this.value=null;},}
- Java期末复习速成(二)
大厂_YXS
javapython开发语言
大小写敏感:Java是对大小写敏感的语言,例如Hello与hello是不同的,这其实就是Java的字符串表示方式类名:对于所有的类来说,首字母应该大写,例如MyFirstClass包名:包名应该尽量保证小写,例如my.first.package方法名:方法名首字母需要小写,后面每个单词字母都需要大写,例如myFirstMethod()运算符运算符不只Java中有,其他语言也有运算符,运算符是一些特
- Java方法
星星(要学习版)
java学习开发语言
方法初识packagemethod;publicclassDemo01{ publicstaticvoidmain(String[]args){// 实际参数:实际用来调用的参数// intsum=add(3,4);// System.out.println(sum); test(); } //加法 //形式参数,用来定义作用的 publicstaticintadd(i
- JavaScript设计模式 -- 单例模式
鎈卟誃筅甡
javascriptjavascript设计模式单例模式
在实际开发中,我们常常需要确保某个类只有一个实例,并提供全局访问点。**单例模式(SingletonPattern)**正是为了解决这个问题而产生的。本文将详细介绍单例模式的原理、实现方式以及在JavaScript中的多种应用场景,通过多个示例代码,帮助你掌握如何在项目中使用单例模式。单例模式简介单例模式的核心思想是保证一个类只有一个实例存在,并提供一个全局访问点来获取该实例。这样可以防止重复创建
- spring自动装配bean失败报错:org.springframework.beans.factory.BeanCreationException: Could not autowire field
yanglun005
javajavaspringmybatismysql
报错:Causedby:org.springframework.beans.factory.BeanCreationException:Couldnotautowirefield:privateorg.springframework.context.support.ResourceBundleMessageSourcecom.yanglun.crm.handler.UserHandler.mess
- springcloud 启动时报org.springframework.beans.factory.BeanCreationException注入 bean 失败异常。
Gelbes Ferkel
intellij-ideamavenspring
springcloud启动时就报bean注入异常。/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java-XX:TieredStopAtLevel=1-noverify-Dspring.output.ansi.enabled=always-Dcom.sun.management.jmxremote-Dspr
- Pandas 报错:index must be monotonic increasing or decreasing
Hermosa_0803
报错:indexmustbemonotonicincreasingordecreasingdf.reindex(index=ni,columns=nc,method='ffill')把method方法写出来改为nd=df.reindex(index=ni,columns=nc).ffill()就OK了
- RegExp类型 ----正则表达式
包小志
javaScript基础知识正则表达式javascript开发语言
RegExpECMAScript通过RegExp类型支持正则表达式。正则表达式使用类似Perl的简洁语法来创建:letexpression=/pattern/flags;这个正则表达式的pattern(模式)可以是任何简单或复杂的正则表达式,包括字符类、限定符、分组、向前查找和反向引用。每个正则表达式可以带零个或者多个flags(标记),用于控制正则表达式的行为。下面给出了表示匹配模式的标记。g:
- Spring框架错误之org.springframework.beans.factory.BeanCreationException
weixin_33920401
java开发工具python
2019独角兽企业重金招聘Python工程师标准>>>警告:Exceptionencounteredduringcontextinitialization-cancellingrefreshattemptorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFactory'd
- Linux的Initrd机制
被触发
linux
Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最后通过对 Lin
- maven本地仓库路径修改
bitcarter
maven
默认maven本地仓库路径:C:\Users\Administrator\.m2
修改maven本地仓库路径方法:
1.打开E:\maven\apache-maven-2.2.1\conf\settings.xml
2.找到
- XSD和XML中的命名空间
darrenzhu
xmlxsdschemanamespace命名空间
http://www.360doc.com/content/12/0418/10/9437165_204585479.shtml
http://blog.csdn.net/wanghuan203/article/details/9203621
http://blog.csdn.net/wanghuan203/article/details/9204337
http://www.cn
- Java 求素数运算
周凡杨
java算法素数
网络上对求素数之解数不胜数,我在此总结归纳一下,同时对一些编码,加以改进,效率有成倍热提高。
第一种:
原理: 6N(+-)1法 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
- java 单例模式
g21121
java
想必单例模式大家都不会陌生,有如下两种方式来实现单例模式:
class Singleton {
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
- Linux下Mysql源码安装
510888780
mysql
1.假设已经有mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz
(1)创建mysql的安装目录及数据库存放目录
解压缩下载的源码包,目录结构,特殊指定的目录除外:
- 32位和64位操作系统
墙头上一根草
32位和64位操作系统
32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位。现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进。32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了
- 我的spring学习笔记10-轻量级_Spring框架
aijuans
Spring 3
一、问题提问:
→ 请简单介绍一下什么是轻量级?
轻量级(Leightweight)是相对于一些重量级的容器来说的,比如Spring的核心是一个轻量级的容器,Spring的核心包在文件容量上只有不到1M大小,使用Spring核心包所需要的资源也是很少的,您甚至可以在小型设备中使用Spring。
- mongodb 环境搭建及简单CURD
antlove
WebInstallcurdNoSQLmongo
一 搭建mongodb环境
1. 在mongo官网下载mongodb
2. 在本地创建目录 "D:\Program Files\mongodb-win32-i386-2.6.4\data\db"
3. 运行mongodb服务 [mongod.exe --dbpath "D:\Program Files\mongodb-win32-i386-2.6.4\data\
- 数据字典和动态视图
百合不是茶
oracle数据字典动态视图系统和对象权限
数据字典(data dictionary)是 Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。随着数据库的启动而启动,数据库关闭时数据字典也关闭 数据字典中包含
数据库中所有方案对象(schema object)的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
数据库为一
- 多线程编程一般规则
bijian1013
javathread多线程java多线程
如果两个工两个以上的线程都修改一个对象,那么把执行修改的方法定义为被同步的,如果对象更新影响到只读方法,那么只读方法也要定义成同步的。
不要滥用同步。如果在一个对象内的不同的方法访问的不是同一个数据,就不要将方法设置为synchronized的。
- 将文件或目录拷贝到另一个Linux系统的命令scp
bijian1013
linuxunixscp
一.功能说明 scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下。scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下: scp 远程用户名@IP地址:文件的绝对路径
- 【持久化框架MyBatis3五】MyBatis3一对多关联查询
bit1129
Mybatis3
以教员和课程为例介绍一对多关联关系,在这里认为一个教员可以叫多门课程,而一门课程只有1个教员教,这种关系在实际中不太常见,通过教员和课程是多对多的关系。
示例数据:
地址表:
CREATE TABLE ADDRESSES
(
ADDR_ID INT(11) NOT NULL AUTO_INCREMENT,
STREET VAR
- cookie状态判断引发的查找问题
bitcarter
formcgi
先说一下我们的业务背景:
1.前台将图片和文本通过form表单提交到后台,图片我们都做了base64的编码,并且前台图片进行了压缩
2.form中action是一个cgi服务
3.后台cgi服务同时供PC,H5,APP
4.后台cgi中调用公共的cookie状态判断方法(公共的,大家都用,几年了没有问题)
问题:(折腾两天。。。。)
1.PC端cgi服务正常调用,cookie判断没
- 通过Nginx,Tomcat访问日志(access log)记录请求耗时
ronin47
一、Nginx通过$upstream_response_time $request_time统计请求和后台服务响应时间
nginx.conf使用配置方式:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_r
- java-67- n个骰子的点数。 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
bylijinnan
java
public class ProbabilityOfDice {
/**
* Q67 n个骰子的点数
* 把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。
* 在以下求解过程中,我们把骰子看作是有序的。
* 例如当n=2时,我们认为(1,2)和(2,1)是两种不同的情况
*/
private stati
- 看别人的博客,觉得心情很好
Cb123456
博客心情
以为写博客,就是总结,就和日记一样吧,同时也在督促自己。今天看了好长时间博客:
职业规划:
http://www.iteye.com/blogs/subjects/zhiyeguihua
android学习:
1.http://byandby.i
- [JWFD开源工作流]尝试用原生代码引擎实现循环反馈拓扑分析
comsci
工作流
我们已经不满足于仅仅跳跃一次,通过对引擎的升级,今天我测试了一下循环反馈模式,大概跑了200圈,引擎报一个溢出错误
在一个流程图的结束节点中嵌入一段方程,每次引擎运行到这个节点的时候,通过实时编译器GM模块,计算这个方程,计算结果与预设值进行比较,符合条件则跳跃到开始节点,继续新一轮拓扑分析,直到遇到
- JS常用的事件及方法
cwqcwqmax9
js
事件 描述
onactivate 当对象设置为活动元素时触发。
onafterupdate 当成功更新数据源对象中的关联对象后在数据绑定对象上触发。
onbeforeactivate 对象要被设置为当前元素前立即触发。
onbeforecut 当选中区从文档中删除之前在源对象触发。
onbeforedeactivate 在 activeElement 从当前对象变为父文档其它对象之前立即
- 正则表达式验证日期格式
dashuaifu
正则表达式IT其它java其它
正则表达式验证日期格式
function isDate(d){
var v = d.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/i);
if(!v) {
this.focus();
return false;
}
}
<input value="2000-8-8" onblu
- Yii CModel.rules() 方法 、validate预定义完整列表、以及说说验证
dcj3sjt126com
yii
public array rules () {return} array 要调用 validate() 时应用的有效性规则。 返回属性的有效性规则。声明验证规则,应重写此方法。 每个规则是数组具有以下结构:array('attribute list', 'validator name', 'on'=>'scenario name', ...validation
- UITextAttributeTextColor = deprecated in iOS 7.0
dcj3sjt126com
ios
In this lesson we used the key "UITextAttributeTextColor" to change the color of the UINavigationBar appearance to white. This prompts a warning "first deprecated in iOS 7.0."
Ins
- 判断一个数是质数的几种方法
EmmaZhao
Mathpython
质数也叫素数,是只能被1和它本身整除的正整数,最小的质数是2,目前发现的最大的质数是p=2^57885161-1【注1】。
判断一个数是质数的最简单的方法如下:
def isPrime1(n):
for i in range(2, n):
if n % i == 0:
return False
return True
但是在上面的方法中有一些冗余的计算,所以
- SpringSecurity工作原理小解读
坏我一锅粥
SpringSecurity
SecurityContextPersistenceFilter
ConcurrentSessionFilter
WebAsyncManagerIntegrationFilter
HeaderWriterFilter
CsrfFilter
LogoutFilter
Use
- JS实现自适应宽度的Tag切换
ini
JavaScripthtmlWebcsshtml5
效果体验:http://hovertree.com/texiao/js/3.htm
该效果使用纯JavaScript代码,实现TAB页切换效果,TAB标签根据内容自适应宽度,点击TAB标签切换内容页。
HTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
- Hbase Rest API : 数据查询
kane_xie
RESThbase
hbase(hadoop)是用java编写的,有些语言(例如python)能够对它提供良好的支持,但也有很多语言使用起来并不是那么方便,比如c#只能通过thrift访问。Rest就能很好的解决这个问题。Hbase的org.apache.hadoop.hbase.rest包提供了rest接口,它内嵌了jetty作为servlet容器。
启动命令:./bin/hbase rest s
- JQuery实现鼠标拖动元素移动位置(源码+注释)
明子健
jqueryjs源码拖动鼠标
欢迎讨论指正!
print.html代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=utf-8">
<title>发票打印</title>
&l
- Postgresql 连表更新字段语法 update
qifeifei
PostgreSQL
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下:
UPDATE tops_visa.visa_order
SET op_audit_abort_pass_date = now()
FROM
tops_visa.visa_order as t1
INNER JOIN tops_visa.visa_visitor as t2
ON t1.
- 将redis,memcache结合使用的方案?
tcrct
rediscache
公司架构上使用了阿里云的服务,由于阿里的kvstore收费相当高,打算自建,自建后就需要自己维护,所以就有了一个想法,针对kvstore(redis)及ocs(memcache)的特点,想自己开发一个cache层,将需要用到list,set,map等redis方法的继续使用redis来完成,将整条记录放在memcache下,即findbyid,save等时就memcache,其它就对应使用redi
- 开发中遇到的诡异的bug
wudixiaotie
bug
今天我们服务器组遇到个问题:
我们的服务是从Kafka里面取出数据,然后把offset存储到ssdb中,每个topic和partition都对应ssdb中不同的key,服务启动之后,每次kafka数据更新我们这边收到消息,然后存储之后就发现ssdb的值偶尔是-2,这就奇怪了,最开始我们是在代码中打印存储的日志,发现没什么问题,后来去查看ssdb的日志,才发现里面每次set的时候都会对同一个key