78.子集力扣题目链接classSolution{List>res=newArrayListpath=newLinkedList>subsets(int[]nums){dfs(nums,0);returnres;}publicvoiddfs(int[]nums,intstart){res.add(newArrayList(path));for(inti=start;i
linux用户管理
千航@abc
linux运维服务器
用户创建:useradd(用户创建命令的详细使用:用户创建命令的详细使用与参数说明-CSDN博客)用户信息配置文件:/etc/passwdabc:x:1000:1000:abc:/home/abc:/bin/bash第一段:用户名(设置你自己的用户名)第二段:密码占位符(就是字面上的意思,一个占位符,真正的密码在配置文件/etc/shadow里)第三段:UID(用户ID:是系统用来唯一标识一个用户
蓝易云 - Git实际开发的流程
蓝易云
githttpnginx运维服务器网络协议
Git在实际开发中通常涉及以下流程:初始化项目:在项目文件夹中使用gitinit命令初始化一个Git仓库,将项目纳入版本控制。创建分支:通常会在主分支(如master)上创建一个新的开发分支,用于开发新功能或修复Bug。使用gitbranch创建新分支,然后使用gitcheckout切换到该分支。开发与提交:在开发分支上进行代码编写,完成某一功能或修复后,使用gitadd添加修改的文件到暂存区,然
判断ip是否合法+linux,Shell脚本判断IP地址是否合法的方法
我是波波老师呐
判断ip是否合法+linux
使用shell校验ip地址合法性使用方法:[root@yangpython]#bashcheck_ip.ship地址执行结果:返回值0校验合法,非0不合法。shell代码:[root@yangpython]#vicheck_ip.sh#!/usr/bin/shcheckipaddr(){echo$1|grep"^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\
【编程小白必看】MySQL 时间类型操作秘籍一文全掌握
6个q
mysql数据库mysqladb数据库
【编程小白必看】MySQL时间类型操作秘籍一文全掌握文章目录前言一、MySQL时间类型有哪些?二、时间类型详解1.DATE类型2.TIME类型3.DATETIME类型4.TIMESTAMP类型5.YEAR类型三、日期时间函数1.CURRENT_DATE()和CURRENT_TIME()2.NOW()和SYSDATE()3.DATE_ADD()和DATE_SUB()4.STR_TO_DATE()和D
Leetcode Hot 200 下
价值成长
leetcode算法职场和发展
468.验证IP地址classSolution:defvalidIPAddress(self,queryIP:str)->str:defisIPv4(ip:str)->bool:returnall(sands.isdigit()andnot(s[0]=='0'andlen(s)>1)and0bool:returnall(sandlen(s)int:s=0;res=0##哨兵,起始边界条件d=def
printk()函数分析
小黑屋关门了
Linux内核linux
在内核模块中,常用的输出函数为printk(),为了理解该函数的工作原理以及执行流程,接下来对该函数进行分析。printk()函数原型如下://以“printk("numis:%d!\n",num)”语句为例,开始分析。//在分析之前,先来了解两个宏定义,分别是:#defineva_start(v,l)__builtin_va_start(v,l)//参数v将指向(addr+sizeof(l)),
lerna使用指南
小白路过
lerna
lerna版本以下所有配置命令都是基于v8.1.9,lernav5v7版本差别较大,在使用时,注意自身的lerna版本。lerna开启缓存及缓存配置nx缓存是v5版本以后才有的,小于该版本的无法使用该功能。初始化配置缓存配置文件nx.json,如果没有该配置文件,执行lernaadd-caching命令,会自动创建该文件。{"targetDefaults":{"build":{"cache":tr
刚进公司---简单易懂的git操作
前端Hardy
第一:拉项目第二:提代码一、【新拉的项目】gitclone地址gitcheckout-b自己分支//创建自己的本地分支并切换到自己的分支然后1、gitstatus2、gitadd.3、gitcommit-m"填写提交代码的逻辑"4、gitpushorigin自己分支(不要简写否则远程看不到自己的分支)二、【提代码】1.每天在自己分支开发(如果需要拉dev分支新代码可以在自己分支gitpullori
HTML&CSS :下雪了
前端Hardy
CSShtmlcss前端javascript交互
这段代码创建了一个动态的雪花飘落加载动画,通过CSS技术实现了雪花的下落和消失效果,为页面添加了视觉吸引力和动态感。大家复制代码时,可能会因格式转换出现错乱,导致样式失效。建议先少量复制代码进行测试,若未能解决问题,私信我,我会发送完整的压缩包给你演示效果HTML&CSS公众号关注:前端Hardybody{margin:0;padding:0;height:100vh;display:flex;a
linux系统定位内存泄露方法Valgrind与AddressSanitizer
ghx_echo
linux运维服务器c语言
Valgrind工具下载:网址aValgrind:CurrentReleases网址bIndexof/pub/valgrind编译方法:tarxjvfvalgrind-3.15.0.tar.bz2cdvalgrind-3.15.0chmod775autogen.sh./autogen.sh#如果提示aclocal相关信息,则需要yuminstallautoconfautomake./configu
Python教师信息管理系统(完整代码)
Want595
Python趣味编程算法python
目录写在前面技术需求完整代码下载代码代码分析一、类的设计与功能1.__init__方法2.add方法3.delete方法4.update方法5.search方法二、程序的主要流程1.输入与输出2.异常处理3.用户操作的逻辑三、代码的优化1.输入数据的验证2.数据存储3.提示信息的增强4.功能扩展四、总结系列文章写在后面写在前面Python语言实现教师信息管理系统的完整代码。技术需求面向对象编程(O
使用node-addon-api实现从c到nodejs模块全流程
lxkj_2024
c语言linux
目录1前言2安装nodejs3安装开发工具链3.1安装node-gyp3.2安装编译工具链(C/C++编译器)4初始化Node.js项目4.1创建项目目录4.2初始化package.json4.3安装必要的库5编写代码5.1创建项目结构5.2编写动态库代码5.3编写Node.js原生模块代码5.4配置binding.gyp6编译模块7测试模块1前言我们的客户端是使用electron打包的前端程序,
修复ERR_ADDRESS_UNREACHABLE
新青年.
踩坑记录
引言今天在访问服务器地址时出现ERR_ADDRESS_UNREACHABLE,网上资料比较少.问题排查查看自己是不是副WiFi连接,辅助的wifi无法管理自己路由器排查防火墙.排查目标端口有无打开(可以在自己服务器上运行curl测试)地址输错了?是否开启了某种proxy,排查proxy的服务器问题#当然,你可以先排查一下设备的防火墙systemctlstatusfirewalld如果为inacti
MySQL 查数据转Json
大乔乔布斯
mysqljson数据库
将数据库表里的字段查询出来并且连接成json格式的实现方法SELECTCONCAT('[',GROUP_CONCAT(JSON_OBJECT('key-name',col1,'keyname2',col2,……,'key-namen',coln)),']')asjson_resultFROMtablenamewherecol1=83结果会将查询的数据一行行用{}返回,行之间","分隔,最终结果[]
MySQL(2)
memorycx
mysqlandroid数据库
DQL分组查询语法:select字段列表,聚合函数from表名[where条件]groupby分组字段名[having分组后过滤条件];where和having区别执行时机不同where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤判断条件不同判断条件不同:where不能对聚合函数进行判断,而having可以selectworkaddress,coun
解锁Zustand的潜力:轻量级状态管理的无限可能
LLlan_lan
前端javascript
安装zustandyarnaddzustand创建store使用creat来创建一个新的storeimport{create}from'zustand'import{AsyncData}from'../api/xx.js'//创建storeget()获取状态set()存储状态constuseCounterStore=create((set,get)=>({count:1,name:'岚',list
python+playwright自动化测试(八):iframe切换、多窗口切换
觅远
自动化测试python爬虫开发语言python自动化
目录浏览器上下文context对象常用操作设置默认导航时间iframe切换窗口切换浏览器上下文context对象常用操作context.pages:获取context所有page对象context.new_page():生成一个新的page对象context.add_cookies():将cookie添加到此浏览器上下文所在的所有页面中。context.clear_cookies():清除cont
蓝桥杯单片机模块练习之AD/DA
我的头绝不是面团捏的
蓝桥杯单片机单片机
蓝桥杯单片机比赛系列6AD/DA转换AD/DA原理相关电路pcf8591器件地址代码解释修改代码AD自写代码ADDAAD/DA原理相关电路通过pcf8591芯片实现ad转换。板子上ad采集主要采集滑动变阻器的电压值和与光敏电阻串联电阻的电压值。ad为8位精度,采集电压0-5V对应的值为0-255。根据需要可以对读取的值进行调整。da也通过pcf8591输出,对应引脚在外部引出,在20PIN中19位
微服务网关springcloud gateway整合nacos实现动态路由
程序猿20
nacos微服务springcloudgatewaynacos微服务
1.添加依赖com.alibaba.cloudspring-cloud-starter-alibaba-nacos-config2.添加配置spring:cloud:nacos:config:#配置中心地址server-addr:127.0.0.1:8848#配置文件格式file-extension:ymlusername:password:3.定义读取配置和监听类packagecom.demo.
带你简单认识真实场景下的Git版本控制流程
gitgithub
Git版本控制-HowieCong1.项目初始化与仓库创建gitinit命令初始化一个本地git仓库在github创建一个远程仓库,将本地仓库与远程仓库,gitremoteaddorigin[远程仓库地址]2.分支管理策略(采用常用的分支开发模式)以master或main为主分支,存放稳定可上线的代码开发新功能的代码时,从master分支创建特性分支,例如feature/[功能名称],在特性分支
CSS:跑马灯
sunly_
csscss前端
.swiper-container{width:100%;overflow:hidden;padding:0.4rem;position:relative;}.swiper-wrapper{display:flex;animation:scroll30slinearinfinite;width:fit-content;//确保容器宽度适应内容}.item{flex-shrink:0;width:2
nginx负载均衡
柠檬树723
nginx负载均衡运维
一、负载均衡负载均衡是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。二、负载均衡原理负载均衡NAT(NetworkAddressTranslation网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的InternetIP地址间进行转换。适用于解决InternetIP地址紧张、不想让网络外部知道内部网络结
Docker最新安装教程基于centos7.9
Acerola-
菜鸡上路docker
1.基本准备Docker要求内核版本3.10以上,请务必注意,安装教程基于centos7.9,内核版本3.10.0-1160.11.1.el7.x86_64#查看内核版本命令uname-r2.安装以下步骤依次进行#安装环境依赖yuminstall-yyum-utils#设置下载Docker的镜像源yum-config-manager\--add-repo\https://zfzbet67.mirr
linux内核调试
ghx_echo
linux运维服务器
1,利用printk打印,查看信息2,crash命令调试2.1先按装工具kernel-tools-libs-3.10.0-327.el7.x86_64kernel-devel-3.10.0-327.el7.x86_64kernel-debuginfo-common-x86_64-3.10.0-327.el7.x86_64abrt-addon-kerneloops-2.1.11-36.el7.cen
Yarn安装和使用
米粒宝的爸爸
前端前端
安装npminstall-gyarnYarn的官网Home|Yarn-JavaScript软件包管理器|Yarn中文文档-Yarn中文网部分命令yarninit-初始化某个项目yarninstall/link-默认安装依赖yarnaddtaco-安装某个依赖并默认保存到packageyarnremovetaco-移除某个依赖yarnaddtaco-dev-安装某个开发时的依赖yarnupgrade
YOLOv10涨点改进:特征融合创新 | 多层次特征融合(SDI),小目标涨点明显,| UNet v2,比UNet显存占用更少、参数更少
AI小怪兽
YOLOv10魔术师YOLO目标检测算法人工智能目标跟踪
本文独家改进:多层次特征融合(SDI),能够显著提升不同尺度和小目标的识别率如何引入到YOLOv10:1)替代原始的Concat;改进结构图如下:《YOLOv10魔术师专栏》将从以下各个方向进行创新:【原创自研模块】【多组合点优化】【注意力机制】【卷积魔改】【block&多尺度融合结合】【损失&IOU优化】【上下采样优化】【小目标性能提升】【前沿论文分享】【训练实战篇】订阅者通过添加WX:AI_C
YOLO11涨点优化:特征融合创新 | 多层次特征融合(SDI),小目标涨点明显| UNet v2,比UNet显存占用更少、参数更少
AI小怪兽
YOLO11魔术师深度学习目标检测计算机视觉目标跟踪神经网络python
本文独家改进:多层次特征融合(SDI),能够显著提升不同尺度和小目标的识别率如何引入到YOLO11:1)替代原始的Concat;改进结构图如下:《YOLOv11魔术师专栏》将从以下各个方向进行创新:【原创自研模块】【多组合点优化】【注意力机制】【卷积魔改】【block&多尺度融合结合】【损失&IOU优化】【上下采样优化】【小目标性能提升】【前沿论文分享】【训练实战篇】订阅者通过添加WX:AI_CV
Hadoop(一)
朱辉辉33
hadooplinux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
maven An error occurred while filtering resources
blackproof
maven报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
java 位移运算与乘法运算
周凡杨
java位移运算乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
Spring_Transactional_Propagation
布衣凌宇
springtransactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
Jqplot之折线图
antlove
jsjqueryWebtimeseriesjqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
JDBC中事务处理应用
百合不是茶
javaJDBC编程事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java多线程线程安全HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScriptAngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
Oracle基本操作
ccii
Oracle SQL总结Oracle SQL语法Oracle基本操作Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
[强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
SpringMVC and Struts2
dashuaifu
struts2springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
windows常用命令行命令
dcj3sjt126com
windowscmdcommand
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
Objective-c单例模式的正确写法
jsntghf
单例iosiPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
jquery easyui datagrid 加载成功,选中某一行
hae
jqueryeasyuidatagrid数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
jQuery用户数字打分评价效果
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
mybatis的paramType
kerryg
DAOsql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
实现一个sizeof获取Java对象大小
teasp
javaHotSpot内存对象大小sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本