哈哈,技术含量也不过如此,输入被除数和除数,求商和余数,我们要知道,除号在c++中是用/来代替的,但是余数咋求呢?我们要用取模运算来求,模在c++中是用%来代替的,知道了这些知识点,问题就迎刃而解了!#includeusingnamespacestd;inta,b,c,d;intmain(){cin>>a>>b;c=a/b;d=a%b;cout<
LeeCode题库第四十一题
苦学LCP的小猪
LeeCode题库算法数据结构leetcode
41.缺失的第一个整数项目场景:给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。示例1:输入:nums=[1,2,0]输出:3解释:范围[1,2]中的数字都在数组中。示例2:输入:nums=[3,4,-1,1]输出:2解释:1在数组中,但2没有。示例3:输入:nums=[7,8,9,11,12]输出:1解释:最
PTA刷题记录:l1 002 时间沙漏
Alex_God 苑心
PTA刷题记录c++
PTAl1–002时间沙漏首先分析题目需要的变量:一共用了多少字符(这里用(number*2-1)来表示),不难发现这个沙漏是对称的,所以我们只需要记录一半个数然后通过number*2-1来计算出口即可斜体样式第一行的字符个数(方便输出)空格的个数(详细见代码)巧妙计算输出可以采用对称输出,先输出上半部分,在输出下半部分c++代码(加注释)#includeusingnamespacestd;int
计算机毕业设计:基于python房产数据分析可视化大屏 可视化 Django框架 安居客二手房数据 商品房✅
源码之家
bysjbysjbiyesheji0005biyesheji0001python课程设计数据分析django商品房毕业设计可视化
博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战6年之久,选择我们就是选择放心、选择安心毕业✌>想要获取完整文章或者源码,或者代做,拉到文章底部即可与我联系了。点击查看作者主页,了解更多项目!感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助同学们顺利毕业。1、毕业设计:2025年
Django ORM 的常用字段类型、外键关联的跨表引用技巧,以及 `_` 和 `__` 的使用场景
南瓜啊
djangopython
一、DjangoORM常用字段类型1.基础字段类型字段类型说明示例CharField字符串字段,必须指定max_lengthname=models.CharField(max_length=50)IntegerField整数字段age=models.IntegerField()BooleanField布尔值字段is_active=models.BooleanField()DateField/Dat
TCP的四次挥⼿为什么是四次?为什么不能是三 次
冰糖心书房
2025Java面试系列tcp/ip网络协议
TCP四次挥手(Four-wayHandshake)用于终止一个已经建立的TCP连接。之所以是四次挥手,而不是三次,是因为TCP是全双工的(full-duplex),这意味着数据可以在两个方向上同时传输。因此,关闭连接需要双方分别确认关闭请求。四次挥手的过程:FIN(Client->Server):客户端想要关闭连接(假设客户端主动关闭)。客户端发送一个FIN报文段(FIN=1,seq=u)到服务
Spring Cloud LoadBalancer详解
10年JAVA大数据技术研究者
微服务springcloudjavaspringLoadBalancer源码解析
一、介绍SpringCloudLoadBalancer是SpringCloud官方自己提供的客户端负载均衡器,抽象和实现,用来替代Ribbon(已经停更),二、Ribbon和Loadbalance对比组件组件提供的负载策略支持负载的客户端Ribbon随机RandomRule轮询RoundRobinRule重试RetryRule最低并发BestAvailableRule可用过滤Availabilit
基于Flask实现的多语言Hello World
老大白菜
pythonflaskpython后端
简介在这篇文章中,我们将探讨如何使用Flask框架创建一个智能的多语言HelloWorld服务器。这个服务器能够自动检测访问者的浏览器语言设置,并返回相应语言版本的"HelloWorld"问候语,支持超过20种世界主要语言。技术栈Python3.xFlask框架HTTP请求头处理Unicode字符串处理核心功能自动语言检测多语言支持(支持20种主要语言)优雅的降级处理(默认使用英语)支持区域特定的
嵌入式学习笔记-卡尔曼滤波,PID,MicroPython
tt555555555555
面经嵌入式学习笔记学习笔记嵌入式
文章目录卡尔曼滤波卡尔曼滤波的核心思想卡尔曼滤波的数学模型1.状态转移模型(预测系统状态)2.观测模型(预测测量值)卡尔曼滤波的五个关键步骤1.预测状态2.预测误差协方差3.计算卡尔曼增益4.更新状态5.更新误差协方差卡尔曼滤波算法步骤总结代码实现(Python示例)PID调节总结MicroPython示例代码:控制LED灯并连接WiFi1.硬件准备2.连接方式3.示例代码代码说明开发环境搭建今天
规控算法工程师的技术图谱和学习路径
执于代码
开发者职业加速服务算法学习
规控算法工程师技术图谱与学习路径规控算法工程师(规划与控制算法工程师)是自动驾驶领域的核心岗位之一,涉及路径规划、行为决策、运动控制等多个技术模块。以下为技术图谱与学习路径的整合,结合行业需求和技术发展趋势。一、技术图谱核心模块数学基础线性代数:矩阵运算、向量空间、特征值分解(用于控制系统建模与优化)。微积分:梯度下降、泰勒展开、动态系统建模(支持控制算法推导)。概率论与统计学:贝叶斯理论、马尔可
大模型算法工程师的技术图谱和学习路径
执于代码
开发者职业加速服务算法学习
介绍:大模型算法工程师是指在开发和部署复杂的机器学习模型、深度学习模型或其他大规模模型的专业人员。他们的主要职责和技能要求包括:职责:设计、开发和优化大规模机器学习或深度学习模型,解决复杂的业务问题。负责整个模型开发生命周期,包括数据清洗、特征工程、模型选择、训练和部署。与数据科学家、工程团队和产品团队合作,理解业务需求并将算法转化为实际产品。对模型性能进行评估和优化,确保模型的准确性、效率和可扩
图像算法工程师的技术图谱和学习路径
执于代码
开发者职业加速服务算法学习
01.图像算法图像算法工程师的技术图谱和学习路径涵盖了多个技术领域,从基础知识到高级算法,涉及计算机视觉、深度学习、图像处理、数学和编程等多个方面。以下是图像算法工程师的技术图谱和学习路径的详细总结。1.基础数学与编程数学基础:线性代数:矩阵运算、特征值、特征向量、奇异值分解(SVD)等概率论与统计:概率分布、贝叶斯定理、最大似然估计(MLE)、假设检验等微积分:导数、梯度、最优化方法(梯度下降、
【期刊】【Engineering Applications of Artificial Intelligence】【人工智能的工程应用】
资源存储库
期刊人工智能
https://www.sciencedirect.com/search?qs=train%20energy&pub=Engineering%20Applications%20of%20Artificial%20Intelligence&cid=2710951Aimsandscope目标和范围TheInternationalJournalofIntelligentReal-TimeAutomati
ERR_FAILED 200 解决方案
执于代码
#【01.Bugs异常解决方法】前端chromejavascript
项目场景:提示:这里简述项目相关背景:ERR_FAILED200解决方案问题描述提示:这里描述项目中遇到的问题:在chrome的网络调试器中,我可以读到文件大小估计为10.0MB(而文件实际大小为14MB)。这就是为什么我认为这是由于一些Chrome或AngularHTTPClient的限制。原因分析:提示:这里填写问题的分析:我的NodeRESTAPI正确返回了状态为200的文件。失败来自Chr
机器学习——KNN算法实战—手写数字识别
巷955
机器学习算法人工智能
原理简述:KNN算法是机器学习中的一种基础的分类回归算法,选择距离自己最近的几条数据,依据最邻近的数据性质来估测自身的性质。下面我们开始实战,制作手写数字识别模型:一、cv2创建模型1、导入相关的库,这里我们用numpy和cv2两个库importnumpyasnpimportcv22、导入数据,并转化灰度图像img=cv2.imread('digits.png')gray=cv2.cvtColor
Github 仓库 git clone 速度过慢解决方案
事业运财运爆棚
github
很多时候想从GitHub上clone一个仓库,都会遇到速度慢的问题,而且经常连接失败,这里给出有效解决方案。一、背景应该是很多小伙伴碰到过的问题:想从GitHub上面clone项目,很多情况下会慢的离谱,等待好久后报错:代码语言:javascript代码运行次数:0复制CloudStudio代码运行fatal:earlyEOFfatal:theremoteendhungupunexpectedly
hive-staging文件问题——DataX同步数据重复
Aldebaran α
Hivesqlhive大数据hdfsspark
1.产生原因1.使用Hue的界面工具执行Hive-sql。Hue会自动保存sql执行结果方便用户能够查看历史执行记录,所以会在相应目录下生成hive-staging文件;2.Hive-sql任务执行过程中出现异常,导致hive-staging文件未删除,未出现异常时,hive会自行删除hive-staging文件;3.使用spark-sqlonyarn跑sql程序生成的hive-staging文件
LLC半桥谐振电路原理(二)
空间机器人
LLCPFCOBC专栏5G
在LLC半桥谐振电路中,两个主要的谐振频率(由不同的电感和电容决定)对电路的性能和效率有着重要影响。下面是对这些频率的介绍和公式分析。1.谐振频率LLC谐振变换器的工作依赖于两个谐振频率:第一个谐振频率(fr1):这个频率由串联谐振腔的电感Lr和电容Cr决定。通常在设计中,为了确保高效率,工作频率应尽量靠近这个谐振频率。第二个谐振频率(fr2):这个频率由电感Lm(变压器的漏感),电容Cr和负载条
数据挖掘的建模流程
慢跑的Liam
算法数据挖掘算法流程模型构建
1、定义数据挖掘目标任务理解指标确定2、数据取样建模抽样(大数据是用过滤后的全量数据)抽样之前需要衡量数据质量衡量的标准主要有以下几点:资料完整无缺,各类指标齐全数据准确无误,反映的都是正常状态下的数据数据抽样的方式:随机抽样等距抽样分层抽样从起始位置开始抽样分类抽样实时采集3、数据探索数据质量分析1.数据质量分析是数据挖掘分析结论有效性的基础2.缺失值分析3.异常值分析是用来检测数据是否有录入错
android app安装的过程,Pm install App流程
益盟操盘手
androidapp安装的过程
adb安装应用应用安装涉及目录:system/app---------------系统自带的应用程序,获得adbroot权限才能删除data/app---------------用户程序安装的目录。安装时把apk文件复制到此目录data/data---------------存放应用程序的数据data/dalvik-cache--------将apk中的dex文件安装到dalvik-cache目录
android工具am的用法,Android中AM、PM、dumpsys命令使用总结
喵杀
android工具am的用法
在平时开发中,通过命令行有时候能够快速的帮我们实现一些功能,这里对常用的命令做一些总结。1、AM命令用法1.1、简单介绍am指令是activitymanager的缩写,可以启动Service、Broadcast,杀进程,监控等功能,这些功能都非常便捷调试程序。可以通过adbshell进入Android的Linux命令界面,输入am-help查看详细命令,先介绍几个简单用法,//使用Action方式
Java必知必会系列:RESTful API与Web服务
AI天才研究院
AI实战DeepSeekR1&大数据AI人工智能大模型Python实战大数据人工智能语言模型JavaPython架构设计
文章目录1.背景介绍RESTfulAPI与Web服务什么是RESTful?为什么要用RESTfulAPI?Web服务架构1.客户端–服务器体系结构2.无状态3.明确的角色4.使用合适的HTTP方法5.支持缓存6.使用链接关系代替非自描述信息7.异步处理RESTfulAPI框架SpringMVCRubyonRailsDjangoRestFramework如何利用框架开发RESTfulAPI创建项目创
红蓝对抗-HW红蓝队基本知识
立志成为网安大牛
web安全网络安全网络协议
第一章什么是蓝队蓝队,一般是指网络实战攻防演习中的攻击一方。蓝队一般会采用针对目标单位的从业人员,以及目标系统所在网络内的软件、硬件设备同时执行多角度、全方位、对抗性的混合式模拟攻击手段;通过技术手段实现系统提权、控制业务、获取数据等渗透目标,来发现系统、技术、人员、管理和基础架构等方面存在的网络安全隐患或薄弱环节。蓝队人员并不是一般意义上的电脑黑客。因为黑客往往以攻破系统,获取利益为目标;而蓝队
使用aspose-words word转pdf,并解决部署centos服务器后转换pdf中文变成小方块乱码问题
Beyond
LinuxJava乱码javaasposeaspose-wordcentos
一、前言需要做一个word转pdf功能就找到了aspose,代码是真的简单,三两句代码的就生成了,本来没打算写这个,没想到上线之后噩梦来咯。centos服务器中文全变成小方块了。把百度上能找的都找了个遍,问题大部分是复制的,有几个不复制的也没解决问题,竟然还忽悠我重启服务器,真***的,幸亏我没信,着重说一下解决乱码不用重启、不用重启、不用重启,一点点说吧,尽量把解决过程说详细一点。二、word转
Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
[宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
[介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_