- 【Elasticsearch】runtime_mappings搜索请求中定义运行时字段
risc123456
Elasticsearchelasticsearch
在Elasticsearch中,在搜索请求中定义运行时字段(RuntimeFields)是一种强大的功能,允许用户在查询时动态添加和计算字段,而无需预先在索引映射中定义这些字段。这种方式提供了极大的灵活性,尤其是在处理动态数据结构或需要临时计算字段值的场景中。运行时字段的核心概念运行时字段基于“读时模式(SchemaonRead)”的概念,允许用户在查询时定义字段的映射和计算逻辑。与传统的索引字段
- Spring Boot实现各种参数校验
在SpringBoot中,参数校验是一个非常重要的功能,它帮助我们确保前端请求的数据符合预期的格式和要求。SpringBoot提供了多种方式进行参数校验,以下是几种常见的实现方式:1.使用注解进行参数校验SpringBoot内置了许多常用的校验注解,这些注解可以直接应用到Controller层的方法参数上,对参数进行基本的校验。例如:@PostMapping("/createUser")publi
- 【Elasticsearch】字符过滤器Character Filters
risc123456
Elasticsearchelasticsearch
在Elasticsearch中,字符过滤器(CharacterFilters)是文本分析器的重要组成部分,用于在分词之前对原始文本进行预处理。它们可以对字符流进行转换,例如添加、删除或更改字符。Elasticsearch提供了三种内置的字符过滤器:`html_strip`、`mapping`和`pattern_replace`。以下是它们的详细说明和使用示例:1.HTML剥离字符过滤器(HTMLS
- Feign
Mr_蜗牛
SpringCloud
在上个例子中,我通过1、启动eureka2、注册服务3、调用服务做了一个简单的demo,但是在最后面,我是通过这样一段代码来调用服务的提供者的@GetMapping("/movie/{id}")publicUserfindById(@PathVariableLongid){//http://localhost:7900/simple///VIPvirtualIP//HAProxyHeartbeat
- Collectors.mapping()
技匠而已
java8java
Collectors.mapping()Java8流的新类java.util.stream.Collectors实现了java.util.stream.Collector接口,同时又提供了大量的方法对流(stream)的元素执行mapandreduce操作,或者统计操作。Collectors.mapping()一般用于多重mapandreduce中。Java文档中描述的原型如下//第一个参数用于m
- RuoYi-Vue-Plus (系统菜单路由获取、路由生成逻辑、前端按钮控制、自定义权限角色组件)
syfjava
RuoYi-Vue-Plus学习RuoYi-Vue-Plus
一、router获取系统路由菜单1-后端生成菜单方法getRouters方法位于com.ruoyi.web.controller.system.SysLoginController类中,作用:根据角色获取菜单@GetMapping("getRouters")publicR>getRouters(){LonguserId=LoginHelper.getUserId();Listmenus=menuS
- 如何使用 Spring Boot 实现异常处理?
众乐乐_2008
面试前端javapython
这些是SpringBoot处理异常的几种方式。我们来逐步拆解,看懂每种方式的用途和区别。1、@ExceptionHandler处理局部异常这是最简单的方式,在当前Controller内处理异常。@ControllerpublicclassExceptionHandlerController{@RequestMapping("/excep")publicStringexceptionMethod(M
- flask mysql orm_Flask笔记:数据库ORM操作MySQL+pymysql/mysql-python+SQLAlchemy/Flask-SQLAlchemy...
Ruocheng Guo
flaskmysqlorm
Python中使用sqlalchemy插件可以实现ORM(ObjectRelationshipMapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqlalchemy外进行了一层封装,使得在flask中使用起来更加方便,当然sqlalchemy的原有的方法也都可以使用。也就是说sqlalchemy在普通的Python程序中也可以使用,而flask-sqla
- Django中ORM框架的使用
jyr2014
数据库django
1.ORM框架介绍ORM(ObjectRelationalMapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象--映射文件中。2.ORM框架与数据库的关系在Django中ORM框架需要通过model实现数据的crud操作,同时,需要在虚拟环境中构建pymysql或是mysqlclient来构建第三方框架,以此来达到操作数据库的目的。
- spring boot接收请求常用注解
Lzehui
springbootjava数据库
@RequestBody用于将HTTP请求体(例如JSON、XML等)中的数据绑定到控制器方法的参数上示例:@PostMapping("/status/{status}")publicResultstartOrStop(@PathVariable("status")Integerstatus,Longid){categoryService.startOrStop(status,id);return
- mistral模型+SpringAi实现FuncationCalling
捏塔
javaaispring
1.获取mistral模型的api-key和base-url2.yamlspring:ai:mistralai:chat:base-url:http://localhost:11434options:model:mistralapi-key:sk-50c1070552f249d8ad3c261b7bb3b3693.Controller@GetMapping(value="/chat/stream/
- SpringMVC前端控制器的配置理解
废柴兄弟联盟
javajavaspring后端
一、SpringMVCSpringMVC是一个基于MVC模式的web/表现层框架,是spring的的一部分。二、SpringMVC的工作流程1.前端控制器(DispacherServlet):负责转发请求,接受用户的请求,申请处理后,将响应返回给客户2.处理器映射器(HandlerMapping):前端控制器把请求转发给处理器映射器。处理器映射器根据请求中的URL,找到对应的Handler(相当于
- 【后端面试总结】ES的_template与_index_template技术详解
ThisIsClark
后端面试总结面试elasticsearchjenkins
在Elasticsearch(简称ES)中,索引模板(IndexTemplate)和组件模板(ComponentTemplate)是两种用于预定义索引配置的强大工具。它们允许用户在索引创建时自动应用预设的设置、映射(Mappings)和别名(Aliases),从而简化索引管理过程。本文将详细介绍ES中的_template和_index_template的概念、用途、创建、查询、更新及删除等操作。一
- java 日常下拉框接口字典封装
听忆.
日常开发javawindowslinux
@Operation(description="字典")@GetMapping("/dict")publicResultdict(){LonguserItemId=super.getUserItemId();PageobjectPage=newPagepage=manureService.page(objectPage,newLambdaQueryWrapper().eq(userItemId!=
- [TS] ts类型推断02 as的使用
前端typescriptas
在TS中as常用于实现类型断言,如下面的例子。letsomeValue:unknown="HelloWorld";letstrLength:number=(someValueasstring).length;//断言为字符串console.log(strLength);//11本文所讲的as是用于映射类型(MappedTypes)时的重映射键(KeyRemapping)。这是TypeScript4
- SpringMVC SpringMVC响应 一、数据处理及跳转
best_virtuoso
SpringMVCjava前端开发语言
1.结果跳转方式①.ModelAndView设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的页面对应的controller类/***返回ModelAndView对象的方式*@return*/@RequestMapping("/save3")publicModelAndViewsave3(){System.out.println("执行了...");//创建mv对象Mod
- 2. Spring MVC处理流程?相关组件(DispacherServlet、HandlerMapping、HandlerAdapter、DispatcherSerlvet)?
未禾
SpringMVCspringmvcservlet
目录SpringMVC专栏目录(点击进入…)SpringMVC处理流程?相关组件(DispacherServlet、HandlerMapping、HandlerAdapter、DispatcherSerlvet)?目录WebMVC处理流程SpringMVC处理流程各类器具(组件)(1)前端控制器(DispacherServlet)(2)处理器映射器(HandlerMapping)(3)处理器适配器
- 【Elasticsearch】学习笔记-p2(索引库操作&文档操作)
2401_84010836
程序员elasticsearch学习笔记
索引库就类似数据库表,mapping映射就类似表的结构。我们要向es中存储数据,必须先创建“库”和“表”。1.1mapping映射属性mapping是对索引库中文档的约束,常见的mapping属性包括:type:字段数据类型,常见的简单类型有:字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)数值:long、integer、short、byte、double、f
- django orm框架
twentyfour4ever
后端django
ORM框架Object:对象-类Relations:关系关系数据库中的表Mapping:映射把类和数据库中的表关联起来通过类和对象操作对应的数据库不需要写sql语言了orm也可以根据设计的类生成数据库中的表在django中内嵌了orm框架在model中设计和表对应的类模型类先在model.py中创建模型类例如classBookInfo(models.Model):btittle=models.Ch
- Django_ORM框架
Joyce Lee
Djangodjangomysql
1.ORM框架介绍对象关系映射(ObjectRelationalMapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在互不匹配的现象的技术。ORM框架是连接数据库的桥梁,只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。ORM框架:为了解决面向对象与关系数据库的互不匹配的现象的框架。当前ORM框架主要有五种:Hibernate全自动
- Redis从理论到实战:如何使用redis实现短信登录与注册?_使用redis来做一个短信验证注册账号(2)
2401_84182578
程序员redis数据库缓存
加油加油,不要过度焦虑O(∩_∩)O一、基于session实现短信登录为了方便理解,先来看看不用redis,基于session来实现登录;然后分析存在的问题缺陷,最后用redis解决存在的问题!1、实现发送验证码功能思路分析:首先验证输入的手机号格式是否正确;不正确则重新输入手机号,正确则模拟发送6位数的验证码;最后把手机号和验证码保存到session中。代码:@PostMapping("/cod
- 获取 Elasticsearch 的 token_count 类型的值(qbit)
前言本文对Elasticsearch7.17适用,官方文档Tokencountfieldtype测试新建mappingPUTmy_index{"mappings":{"properties":{"name":{"type":"keyword","doc_values":true,"fields":{"length":{"type":"token_count","analyzer":"standar
- 扩展Spring MVC框架的消息转化器
Frank_LFC
springmvcjava
扩展SpringMVC框架的消息转化器SpringMVC框架的消息转换器是用来处理请求和响应的数据格式转换的组件.在SpringMVC中,java对象转JSON对象是通Jackson实现的,涉及到SpringMVC中的消息转换器MappingJackson2HttpMessageConverter.当请求和响应的数据格式不匹配时,就需要对消息转换器功能进行拓展.步骤:1.涉及工具——对象转换器Ja
- Spring Boot 2 快速教程:WebFlux处理流程(五)
星如雨グッ!(๑•̀ㅂ•́)و✧
javaspringboot后端java
WebFlux请求处理流程下面是springmvc的请求处理流程具体步骤:第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler(可以根据xml配置、注解进行查找)匹配条件包括:请求路径、请求方法、header信息等第三步:处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMappi
- Python ORM
svygh123
python编程python开发语言
Python中的ORM(Object-RelationalMapping)框架,其中最著名和广泛使用的两个是SQLAlchemy和DjangoORM。1.SQLAlchemySQLAlchemy是Python中功能最强大的SQL工具库之一,它不仅提供了ORM功能,还提供了核心的数据库SQL工具。它允许你用Python类来表示数据库表,并且可以使用Python代码而不是直接写SQL查询语句来操作数据
- python orm框架有哪些
hakesashou
python基础知识python数据库sqlite
ORM概念ORM(ObjectRalationalMapping,对象关系映射)用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作实体对象的属性和方法。ORM技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化。Python中常用的ORMSQLO
- 自定义异常(成功和失败返回不同的类)exception
chengchong_cc
javaspring前端
@GetMapping("/sureBtn")@Operation(summary="忘记密码-确定按钮",description="传入supplier")publicObjectsureBtn(@RequestParam("account")Stringaccount,@RequestParam("code")Stringcode,@RequestParam("newPassword")Str
- 导入功能相关-下载模板
chengchong_cc
windows
后端/***导出模板*@paramresponse*/@GetMapping("export-template")@ApiOperationSupport(order=14)@ApiOperation(value="导出模板")publicvoidexportUser(HttpServletResponseresponse){Listlist=newArrayList{downloadXls(re
- SpringMVC 注解实现参数映射
姜源Jerry
Springspringjavaservlet
SpringMVC注解实现参数映射1.请求参数映射1.1RequestMapping1.2请求参数的映射1.2.1基本类型/字符串属性封装1.2.2实体类属性封装1.2.3集合属性封装1.2.4Date类型封装1.3常用注解1.4其他注解2.响应数据和结果视图2.1返回值分类3.配置不拦截静态资源参考资料:https://spring-mvc.linesh.tw/1.请求参数映射@RequestM
- SQLAlchemy 介绍与实践
cliffordl
pythonpython数据库
postgresql实践pydantic实践1.SQLAlchemy介绍SQLAlchemy是一个ORM框架。SQLAlchemy是一个用于Python的SQL工具和对象关系映射(ORM)库。它允许你通过Python代码来与关系型数据库交互,而不必直接编写SQL语句。简单介绍一下对象关系映射吧,对象关系映射(英语:ObjectRelationalMapping,简称ORM,或O/RM,或O/Rma
- 辗转相处求最大公约数
沐刃青蛟
C++漏洞
无言面对”江东父老“了,接触编程一年了,今天发现还不会辗转相除法求最大公约数。惭愧惭愧!
为此,总结一下以方便日后忘了好查找。
1.输入要比较的两个数a,b
忽略:2.比较大小(因为后面要的是大的数对小的数做%操作)
3.辗转相除(用循环不停的取余,如a%b,直至b=0)
4.最后的a为两数的最大公约数
&
- F5负载均衡会话保持技术及原理技术白皮书
bijian1013
F5负载均衡
一.什么是会话保持? 在大多数电子商务的应用系统或者需要进行用户身份认证的在线系统中,一个客户与服务器经常经过好几次的交互过程才能完成一笔交易或者是一个请求的完成。由于这几次交互过程是密切相关的,服务器在进行这些交互过程的某一个交互步骤时,往往需要了解上一次交互过程的处理结果,或者上几步的交互过程结果,服务器进行下
- Object.equals方法:重载还是覆盖
Cwind
javagenericsoverrideoverload
本文译自StackOverflow上对此问题的讨论。
原问题链接
在阅读Joshua Bloch的《Effective Java(第二版)》第8条“覆盖equals时请遵守通用约定”时对如下论述有疑问:
“不要将equals声明中的Object对象替换为其他的类型。程序员编写出下面这样的equals方法并不鲜见,这会使程序员花上数个小时都搞不清它为什么不能正常工作:”
pu
- 初始线程
15700786134
暑假学习的第一课是讲线程,任务是是界面上的一条线运动起来。
既然是在界面上,那必定得先有一个界面,所以第一步就是,自己的类继承JAVA中的JFrame,在新建的类中写一个界面,代码如下:
public class ShapeFr
- Linux的tcpdump
被触发
tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支 持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
实用命令实例
默认启动
tcpdump
普通情况下,直
- 安卓程序listview优化后还是卡顿
肆无忌惮_
ListView
最近用eclipse开发一个安卓app,listview使用baseadapter,里面有一个ImageView和两个TextView。使用了Holder内部类进行优化了还是很卡顿。后来发现是图片资源的问题。把一张分辨率高的图片放在了drawable-mdpi文件夹下,当我在每个item中显示,他都要进行缩放,导致很卡顿。解决办法是把这个高分辨率图片放到drawable-xxhdpi下。
&nb
- 扩展easyUI tab控件,添加加载遮罩效果
知了ing
jquery
(function () {
$.extend($.fn.tabs.methods, {
//显示遮罩
loading: function (jq, msg) {
return jq.each(function () {
var panel = $(this).tabs(&
- gradle上传jar到nexus
矮蛋蛋
gradle
原文地址:
https://docs.gradle.org/current/userguide/maven_plugin.html
configurations {
deployerJars
}
dependencies {
deployerJars "org.apache.maven.wagon
- 千万条数据外网导入数据库的解决方案。
alleni123
sqlmysql
从某网上爬了数千万的数据,存在文本中。
然后要导入mysql数据库。
悲剧的是数据库和我存数据的服务器不在一个内网里面。。
ping了一下, 19ms的延迟。
于是下面的代码是没用的。
ps = con.prepareStatement(sql);
ps.setString(1, info.getYear())............;
ps.exec
- JAVA IO InputStreamReader和OutputStreamReader
百合不是茶
JAVA.io操作 字符流
这是第三篇关于java.io的文章了,从开始对io的不了解-->熟悉--->模糊,是这几天来对文件操作中最大的感受,本来自己认为的熟悉了的,刚刚在回想起前面学的好像又不是很清晰了,模糊对我现在或许是最好的鼓励 我会更加的去学 加油!:
JAVA的API提供了另外一种数据保存途径,使用字符流来保存的,字符流只能保存字符形式的流
字节流和字符的难点:a,怎么将读到的数据
- MO、MT解读
bijian1013
GSM
MO= Mobile originate,上行,即用户上发给SP的信息。MT= Mobile Terminate,下行,即SP端下发给用户的信息;
上行:mo提交短信到短信中心下行:mt短信中心向特定的用户转发短信,你的短信是这样的,你所提交的短信,投递的地址是短信中心。短信中心收到你的短信后,存储转发,转发的时候就会根据你填写的接收方号码寻找路由,下发。在彩信领域是一样的道理。下行业务:由SP
- 五个JavaScript基础问题
bijian1013
JavaScriptcallapplythisHoisting
下面是五个关于前端相关的基础问题,但却很能体现JavaScript的基本功底。
问题1:Scope作用范围
考虑下面的代码:
(function() {
var a = b = 5;
})();
console.log(b);
什么会被打印在控制台上?
回答:
上面的代码会打印 5。
&nbs
- 【Thrift二】Thrift Hello World
bit1129
Hello world
本篇,不考虑细节问题和为什么,先照葫芦画瓢写一个Thrift版本的Hello World,了解Thrift RPC服务开发的基本流程
1. 在Intellij中创建一个Maven模块,加入对Thrift的依赖,同时还要加上slf4j依赖,如果不加slf4j依赖,在后面启动Thrift Server时会报错
<dependency>
- 【Avro一】Avro入门
bit1129
入门
本文的目的主要是总结下基于Avro Schema代码生成,然后进行序列化和反序列化开发的基本流程。需要指出的是,Avro并不要求一定得根据Schema文件生成代码,这对于动态类型语言很有用。
1. 添加Maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<proj
- 安装nginx+ngx_lua支持WAF防护功能
ronin47
需要的软件:LuaJIT-2.0.0.tar.gz nginx-1.4.4.tar.gz &nb
- java-5.查找最小的K个元素-使用最大堆
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
public class MinKElement {
/**
* 5.最小的K个元素
* I would like to use MaxHeap.
* using QuickSort is also OK
*/
public static void
- TCP的TIME-WAIT
bylijinnan
socket
原文连接:
http://vincent.bernat.im/en/blog/2014-tcp-time-wait-state-linux.html
以下为对原文的阅读笔记
说明:
主动关闭的一方称为local end,被动关闭的一方称为remote end
本地IP、本地端口、远端IP、远端端口这一“四元组”称为quadruplet,也称为socket
1、TIME_WA
- jquery ajax 序列化表单
coder_xpf
Jquery ajax 序列化
checkbox 如果不设定值,默认选中值为on;设定值之后,选中则为设定的值
<input type="checkbox" name="favor" id="favor" checked="checked"/>
$("#favor&quo
- Apache集群乱码和最高并发控制
cuisuqiang
apachetomcat并发集群乱码
都知道如果使用Http访问,那么在Connector中增加URIEncoding即可,其实使用AJP时也一样,增加useBodyEncodingForURI和URIEncoding即可。
最大连接数也是一样的,增加maxThreads属性即可,如下,配置如下:
<Connector maxThreads="300" port="8019" prot
- websocket
dalan_123
websocket
一、低延迟的客户端-服务器 和 服务器-客户端的连接
很多时候所谓的http的请求、响应的模式,都是客户端加载一个网页,直到用户在进行下一次点击的时候,什么都不会发生。并且所有的http的通信都是客户端控制的,这时候就需要用户的互动或定期轮训的,以便从服务器端加载新的数据。
通常采用的技术比如推送和comet(使用http长连接、无需安装浏览器安装插件的两种方式:基于ajax的长
- 菜鸟分析网络执法官
dcj3sjt126com
网络
最近在论坛上看到很多贴子在讨论网络执法官的问题。菜鸟我正好知道这回事情.人道"人之患好为人师" 手里忍不住,就写点东西吧. 我也很忙.又没有MM,又没有MONEY....晕倒有点跑题.
OK,闲话少说,切如正题. 要了解网络执法官的原理. 就要先了解局域网的通信的原理.
前面我们看到了.在以太网上传输的都是具有以太网头的数据包.
- Android相对布局属性全集
dcj3sjt126com
android
RelativeLayout布局android:layout_marginTop="25dip" //顶部距离android:gravity="left" //空间布局位置android:layout_marginLeft="15dip //距离左边距
// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的
- Tomcat内存设置详解
eksliang
jvmtomcattomcat内存设置
Java内存溢出详解
一、常见的Java内存溢出有以下三种:
1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。
可以利用JVM提
- Java6 JVM参数选项
greatwqs
javaHotSpotjvmjvm参数JVM Options
Java 6 JVM参数选项大全(中文版)
作者:Ken Wu
Email: ken.wug@gmail.com
转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm!
本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Opt
- weblogic创建JMC
i5land
weblogicjms
进入 weblogic控制太
1.创建持久化存储
--Services--Persistant Stores--new--Create FileStores--name随便起--target默认--Directory写入在本机建立的文件夹的路径--ok
2.创建JMS服务器
--Services--Messaging--JMS Servers--new--name随便起--Pers
- 基于 DHT 网络的磁力链接和BT种子的搜索引擎架构
justjavac
DHT
上周开发了一个磁力链接和 BT 种子的搜索引擎 {Magnet & Torrent},本文简单介绍一下主要的系统功能和用到的技术。
系统包括几个独立的部分:
使用 Python 的 Scrapy 框架开发的网络爬虫,用来爬取磁力链接和种子;
使用 PHP CI 框架开发的简易网站;
搜索引擎目前直接使用的 MySQL,将来可以考虑使
- sql添加、删除表中的列
macroli
sql
添加没有默认值:alter table Test add BazaarType char(1)
有默认值的添加列:alter table Test add BazaarType char(1) default(0)
删除没有默认值的列:alter table Test drop COLUMN BazaarType
删除有默认值的列:先删除约束(默认值)alter table Test DRO
- PHP中二维数组的排序方法
abc123456789cba
排序二维数组PHP
<?php/*** @package BugFree* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $*** Sort an two-dimension array by some level
- hive优化之------控制hive任务中的map数和reduce数
superlxw1234
hivehive优化
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2.
- Spring Boot 1.2.4 发布
wiselyman
spring boot
Spring Boot 1.2.4已于6.4日发布,repo.spring.io and Maven Central可以下载(推荐使用maven或者gradle构建下载)。
这是一个维护版本,包含了一些修复small number of fixes,建议所有的用户升级。
Spring Boot 1.3的第一个里程碑版本将在几天后发布,包含许多