- python3+TensorFlow 2.x 基础学习(一)
刀客123
python学习tensorflow学习人工智能
目录TensorFlow2.x基础1、安装TensorFlow2.x2、TensorFlow2.x基础概念2、1EagerExecution2、2TensorFlow张量(Tensor)3、使用Keras构建神经网络模型3、1构建Sequential模型3、2编译模型1、Optimizer(优化器)2、Loss(损失函数)3、Metrics(评估指标)3、3训练模型3、4评估模型3、5预测4、使用
- kong框架的插件(一)
Wolfswood
kongkong
一、什么时kong的插件在kong官方定义:KongGatewayisaLuaapplicationdesignedtoloadandexecutemodules,whichwecommonlyrefertoasplugins.PluginsprovideadvancedfunctionalityandextendtheuseoftheKongGateway,allowingyoutoaddmor
- 【Java】已解决:java.util.concurrent.ExecutionException
HoRain云小助手
java开发语言
HoRain云小助手:个人主页个人专栏:《Linux系列教程》《c语言教程》⛺️生活的理想,就是为了理想的生活!⛳️推荐前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。专栏介绍专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网
- 57.有两个参数的Command C#例子 WPF例子
军训猫猫头
c#wpfui
SaveCommand=newRelayCommand(param=>SaveUser((ViewModel)param),param=>true);两个Param都是object类型两个param都是object类型。第一个param被传递的同时,并用于SaveUser方法。第二个param在这个特定的例子中没有被实际使用,只是作为CanExecute方法的一个形式参数,而lambda表达式总是
- 56.命令绑定 C#例子 WPF例子
军训猫猫头
c#wpf开发语言
一共是两个控件,绑定了属性和命令。用的是最简做法创建依赖:publicclassRelayCommand:ICommand{privatereadonlyAction_execute;publiceventEventHandlerCanExecuteChanged;publicRelayCommand(Actionexecute)=>_execute=execute;publicboolCanEx
- 【skynet源码阅读系列】03_skynet_context_new
程序员杨小哥
skynet
上一节看了skynet_start()的一部分代码,那部分代码主要做了下面几件事。如果当前进程收到SIGHUP信号,则调用handle_hup函数,将SIG设为1检查配置文件内的deamon配置,这个配置对应一个文件路径,文件内的记录进程的pid号,防止重复启动skynet进程,第一次启动将自动将进程号写入文件。重定向了文件描述符,把文件描述符0,1,2重定向到了/dev/null,相当于当前进程
- python execjs库_python3调用js的库之execjs
一盏Online
pythonexecjs库
针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句执行JS的类库:execjs,PyV8,selenium,node这里主要讲一下execjs,一个比较好用且容易上手的类库(支持py2,与py3),支持JSruntime。(一)安装:pipinstallPyExecJSoreasy_installPyExecJS(二)运行时环境exe
- Python 执行 javascript PyExecJS 模块
weixin_30376083
pythonjavascriptjsonViewUI
PyExecJS安装pipinstallPyExecJSPyExecJS的基本使用:>>>importexecjs>>>execjs.eval("'redyellowblue'.split('')")['red','yellow','blue']>>>ctx=execjs.compile("""...functionadd(x,y){...returnx+y;...}...""")>>>ctx.c
- 在Python中运行JavaScript代码(使用execjs模块)
飞起来fly呀
Pythonpython开发语言
使用execjs模块可以在Python中运行JavaScript代码。以下是使用execjs模块的基本步骤:1.安装execjs模块:可以使用pip命令进行安装:pipinstall execjs2.导入execjs模块:import execjs3.使用compile方法可以将JavaScript代码编译为可执行的函数compiled_func = execjs.compile(code)#执行
- Python快速使用js接口
程序媛小本
pythonjavascriptudp
在跨语言编程和Web开发中,Python和JavaScript是两种常用的编程语言。有时候,我们可能需要在Python环境中执行JavaScript代码。这就是execjs库发挥作用的地方。一、安装ExecJS在命令行中输入以下命令:pipinstallPyExecJS二、ExecJS的基本使用ExecJS支持多种JavaScript运行时环境,包括Node.js、SpiderMonkey、Web
- avr定时中断_中断及其使用 AVR
cumubi7552
java多线程物联网单片机epoll
avr定时中断Interruptsarebasicallyeventsthatrequireintermediateattentionbythemicrocontroller.Whenaninterrupteventoccursthemicrocontrollerpausesitscurrenttaskandattendtotheinterruptbyexecutinganinterruptser
- 基于Langchain框架,采用Qwen2.5大模型,搭建自己的Agent,ReACT效果比RAG好
张登杰踩
langchainpython人工智能语言模型
最近在做RAG,调研后发现ReACT好像更具有说服力,对最终结果的解释也更加合理。举个例子,我扔给大模型这样一个问题:15的平方是多少?另外,法国的首都是哪里?采用ReACT的运行结果如下:>EnteringnewAgentExecutorchain...我需要先计算15的平方,然后搜索法国的首都。Action:平方计算器ActionInput:"15"Observation:15的平方等于225
- Windows10环境vagrant+VirtualBox虚拟机无法创建私有网络的解决方案。
XiaoYu_3328
运维操作系统
报错信息==>default:Clearinganypreviouslysetnetworkinterfaces...Therewasanerrorwhileexecuting`VBoxManage`,aCLIusedbyVagrantforcontrollingVirtualBox.Thecommandandstderrisshownbelow.Command:["hostonlyif","cr
- 第04章 05 VTK中两个处理管道相关类的说明
捕鲸叉
VTK编程学习VTK信息可视化
在VTK(VisualizationToolkit)中,vtkPipeline和vtkExecutive是两个关键的类,用于管理和执行数据处理管道。下面将详细论述这两个类的功能、特点,并结合源代码进行说明。vtkPipeline类1.设计目的vtkPipeline类的主要目的是管理和组织数据处理管道。它负责协调管道中各个处理对象(如过滤器、映射器等)之间的数据流动和执行顺序。通过vtkPipeli
- Junit5 单元测试框架的使用
qq_40815999
单元测试
Junit5简单使用总结作为一款测试框架,一般我们需要从以下几个方面去考虑TestCase:测试用例的管理Assertions:用例断言的管理TestExecution:测试执行,以何种顺序执行TestFixtures:测试装置,测试用例运行的前后动作,用来管理测试用例的执行TestSuites:测试套,控制用例批量运行TestRunner:测试用例的运行器TestResultReport:测试报
- 【CUDA-BEVFusion】tool/build_trt_engine.sh 文件解读
old_power
计算机视觉计算机视觉深度学习
build_trt_engine.sh#configuretheenvironment.tool/environment.shif["$ConfigurationStatus"!="Success"];thenecho"Exitduetoconfigurefailure."exitfi#tensorrtversion#version=`trtexec|grep-m1TensorRT|sed-n"s
- 分布式-服务通信
飘飘渺渺渺红尘
JavaWebService分布式
目录一、RestTemplate1、简介2、使用2.1、GET2.2、POST2.3、exchange2.4、execute2.5、总结二、Feign1、简介2、使用2.1、OpenFeignServer2.2、OpenFeignClient3、@FeignClient4、参数三、Dubbo一、RestTemplate1、简介我们在访问http服务时,直接使用jdk的HttpURLConnecti
- @RabbitListener 每次重启抛出异常
木秀林
神奇的javabugrabbitmqspringboot线上问题
发现测试环境,每次重启都会抛出这个异常这个异常很明显是序列化异常,但是我的消息都是程序发出来的,不可能有错啊!!2022-03-2910:56:49[ERROR][dealer-content-platform][-1][default][10.140.1.74:8080][sky:N/A;][SimpleAsyncTaskExecutor-1][AbstractMessageListenerCo
- 【YashanDB知识库】Yasldr错误处理
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7281306.html?templateId=171...问题1.YAS-04113bracketexpected[YASLDR]executefailed**原因:导入数据的用户没有dba权限解决方法:为导入数据的用户赋dba权限:grantdbatousername;问题2.YA
- (已解决)Failed to execute goal on project ...: Could not resolve dependencies for projec
qq_40711092
问题记录java
这样的错误,最后发现原来是自己没有首先对父项目也就是interface-test项目进行clean和install.https://blog.csdn.net/qq_43493747/article/details/120866443
- 深入解析Spring ConcurrentTaskExecutor
2501_90323865
springjava后端个人开发
java复制在Spring框架中,ConcurrentTaskExecutor是一个非常实用的组件,它为java.util.concurrent.Executor对象提供了一个适配器。通过使用ConcurrentTaskExecutor,我们可以方便地对任务执行进行装饰,从而实现任务执行的监控和统计等功能。下面,我们将通过一个具体的实例来深入解析ConcurrentTaskExecutor的使用方
- java 流水线模式_流水线设计模式实现
珠玉琳琅
java流水线模式
这是关于管道实现的设计问题。以下是我的天真实施。流水线设计模式实现接口在管道的各个步骤/阶段:在流水线的步骤/阶段的publicinterfaceStep{publicUexecute(Tinput);}具体实现:publicclassStepOneimplementsStep{@OverridepublicIntegerexecute(Integerinput){returninput+100;
- 阿里TTL异步执行上下文对象传递
boonya
Java#开源观察java线程池异步对象传递
Github地址:https://github.com/alibaba/transmittable-thread-local验证对象异步传递示例:packagecom.alibaba.ttl.threadpool.agent.demo;importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.Executor
- python cursor游标重置位置scroll_Python中使用MySQLdb连接MySQL ...
贺开
python
‘’‘#选择数据库conn.select_db('python');提交操作:conn.commit()回滚操作:conn.rollback()获取最近查询表的字段个数:conn.field_count上次查询或更新所发生行数:cursor.rowcountexcute(sql,单挑数据元组)、executemany(sql,序列)插入一条记录:executevalue=[1,"inserted?
- docker中gitlab迁移
凌冽暖阳
dockerdockergitlab容器
一、备份1、首先查看docker中运行的容器,找到运行gitlab的容器idlinuxshell窗口中执行如下命令:dockerps2、进入docker容器dockerexec-i-t4d5e099d20af/bin/bash3、创建备份执行命令:gitlab-rakegitlab:backup:create备份完成后生成的文件:1669876030_2022_12_01_11.1.4_gitla
- Databend 特性系列(1)|Databend 数据生命周期
Databend
数据库java开发语言
Databend是一个使用Rust研发、开源、完全面向云架构的新式数仓,提供极速的弹性扩展能力,致力于打造按需、按量的DataCloud产品体验。具备以下特点:开源CloudDataWarehouse明星项目VectorizedExecution和Pull&Push-BasedProcessorModel真正的存储、计算分离架构,高性能、低成本,按需按量使用完整的数据库支持,兼容MySQL,Cli
- 从0到1搭建SpringBoot整合Quartz定时任务框架(保姆级教学+Gitee源码)
黄团团
SpringBootJavaSpringspringboot后端java
前言:这边我自己从0到1搭建了一套简化版的Quartz定时任务纯后端框架,把搭建的整个过程中的逻辑都在这篇博客写下来了,用于开源分享,干货满满!目录一、Quartz简介二、项目整体结构图三、代码实现3.1、导入pom.xml依赖3.2、ScheduleConstants常量类3.3、SysJob实体类3.4、SpringUtils工具类3.5、核心配置类3.5.1、JobExecuteUtils执
- Python学习——装饰器(一):两个简单例子
爬虫俗手小马达
python学习开发语言
例一计时器#创建一个装饰器,用于计算函数执行时间importtimedeftime_this(func):defwrapper(*args,**kwargs):start_time=time.time()result=func(*args,**kwargs)end_time=time.time()execution_time=end_time-start_timeprint(f"Execution
- python selenium安装步骤_Python:Selenium+Webdriver安装
weixin_39619893
pythonselenium安装步骤
本人小白一枚,今天在使用selenium+webdriver的时候遇到了一个小问题:WebDriverException:'chromedriver'executableneedstobeinPATH.Pleaseseehttps://sites.google.com/a/chromium.org/chromedriver/home在debug过程中,也去baidu上查询了,很多说法,但是有些是行
- azkaban的概况
北京小峻
大数据azkabanmysql数据库
Azkaban的性质azkaban是一个任务调度,管理系统,可以帮用户管理,调度各种运算任务的一个web服务器可以调度任何任务,只要你的任务能用脚本启动azkaban的类似的产品还有很多,例如hadoop生态中原生的:oozie,areflow局限性目前azkaban只支持mysql作为元数据管理系统,必须安装mysql服务器角色executorserver有好几个是真正执行的程序,调度用户的任务
- 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记录版本库中版本