- docker怎么端口映射
Lance_mu
docker容器运维
1、默认固定的端口#Web服务器:WebApache或Nginx通常使用80端口HTTP:80HTTPS:443#数据库服务器MySQL:3306PostgreSQL:5432MongoDB:27017Redis:6379#邮件服务器SMTP:25POP3:110IMAP:143#其他服务SSH:22FTP:21DNS(域名解析):53代理服务器Squid:3128版本控制系统Git:9418(S
- 计算机常用端口号
王依硕
linux服务器ssh
ftp:(20端口)用于ftp服务,用于数据传输。ftp:(21端口)用于文件上传和下载。ssh:(22端口)用于安全Shell访问和文件传输。telnet:(23端口)用于远程命令行计算机管理。smtp:(25端口)用于发送电子邮件。dns:(53端口)用于域名解析。dhcp:(67和68端口)用于动态分配IP地址和配置网络参数。tftp:(69端口)使用udp连接。finger:(79端口)是
- 用shell脚本连接远程虚拟机判断远程虚拟机上的应用服务在不在返回状态
qq_33192454
linux
为了编写一个Shell脚本,用于连接远程虚拟机并检查其上的应用服务状态,你可以使用SSH连接到远程虚拟机并执行相关的命令。以下是一个简单的Shell脚本示例:#!/bin/bash#远程虚拟机信息REMOTE_USER="your_username"REMOTE_IP="remote_ip_address"REMOTE_COMMAND="systemctlstatusyour_service_na
- 【设计模式】单例模式详解
略知java的景初
JAVA设计模式java设计模式
单例模式:定义:确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。为了防止出现重复的创建。单例模式是JAVA中最简单的设计模式之一。属于创建型设计模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有一个对象被创建。这个类提供了访问唯一对象的方法,可以直接访问,不需要new。饿汉式:程序起始就初始化对象。publicclassHungr
- Linux .bashrc .bash_profile 和 .profile之间的区别
zoutao98
Linuxbashlinux开发语言
1概述bashshell使用一些启动文件去设置环境变量,这些启动文件为shell本身和系统用户确定某些bashshell配置,在本文中,我们将了解.bashrc.bash-profile和.profile之间的区别。2交互式和非交互式shellBash在交互式shell中提供了两种模式选项,登录和非登录(loginandnon-login)。当我们使用ssh登录到系统时,我们得到一个交互式登录的s
- 如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
君兮_
cpolar商业文windows
文章目录1.安装配置GoLand2.服务器开启SSH服务3.GoLand本地服务器远程连接测试4.安装cpolar内网穿透远程访问服务器端4.1服务器端安装cpolar4.2创建远程连接公网地址5.使用固定TCP地址远程开发本文主要介绍使用GoLand通过SSH远程连接服务器,并结合cpolar内网穿透工具实现远程办公。GoLand是由JetBrains推出的一款专为Go语言开发设计的集成开发环境
- hadoop配置免密登录
我干开发那十年
ssh服务器linux
1.生成密钥ssh-keygen-trsa所有节点都要执行2.所有节点执行ssh-copy-id-i~/.ssh/id_rsa.pub用户名1@主机名1ssh-copy-id-i~/.ssh/id_rsa.pub用户名2@主机名2ssh-copy-id-i~/.ssh/id_rsa.pub用户名3@主机名33.目录授权chmod700~/.sshchmod600~/.ssh/authorized_
- 凌鲨微应用API大全
凌鲨
前端
@linksaas-minapp/api获取微应用信息exportinterfaceMinAppInfo{userId:string;//用户ID(未登录为空字符串)userDisplayName:string;crossHttp:boolean;//打开redis代理时会设置redisProxyToken?:string;redisProxyAddr?:string;//打开mongo代理时会设
- CentOS 7 基于官方源码制作openssh 9.7p1版本rpm包(含ssh-copy-id和显示openssl版本信息)—— 筑梦之路
筑梦之路
linux系统运维centossshlinux
制作过程参考之前的文章,CentOS7基于官方源码和openssl制作openssh9.6rpm包(含ssh-copy-id)——筑梦之路_openssh9.6-CSDN博客几乎没啥差别2023年3月12日,已经制作好的二进制rpm包和src包见我的资源。
- centos开启ssh服务命令
kolaseen
centossshlinux
1.检查centos是否安装了openssh-serveryumlistinstalled|grepopenssh-server如果没有则输入下面的命令进行安装(输入su进入管理员模式)yuminstallopenssh-server2.进入/etc/ssh/目录下的sshd服务配置文件sshd_configvim/etc/ssh/sshd_config按下键盘的o键或i进入编辑模式找到如下行将注
- After a petition called Gandhi 'racist,' his statue was removed from the University of Ghana
流星雨吧
Anothermarkerhasbeenfelledintheintenseargumentoverwhetherhistoricfigureswithracisthistoriesshouldbehonored.TheUniversityofGhanainAccranolongerhasastatueofIndiaindependenceleaderMohandasK.Gandhi.Gandhi
- 水痘风波
金奕彤
小小的水痘,竟然引起我们班的轩然大波!在星期二早上,我们发现胡旭辉没来上学,我们十分奇怪但又不怎么在意了,可是在早读课上了一半的时候,吴旭辉和他妈妈走了进来,我们立刻停止了早读声,吴旭辉妈妈和MissHu说了几句话后,就帮胡旭辉整理好作业回家了!我们看了以后惊奇,这中间到底发生了什么?但早读课还没下课,我们继续读起了英语。第二节课上课了,数学王老师走了进来,可第一句话并不是关于数学的,而是告诉我们
- 【C#】【SAP2000】读取SAP2000中所有Frame对象的应力比到Grasshopper中
hmywillstronger
服务器linux数据库
if(build==true){//连接到正在运行的SAP2000//使用System.Runtime.InteropServices.Marshal.GetActiveObject方法获取正在运行的SAP2000实例cOAPImySapObject=(cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000
- C#游戏开发
举目沧桑
c#
1.基础1.基本结构usingSystem;namespaceHelloWorldApplication{classHelloWorld{staticvoidMain(string[]args){/*我的第一个C#程序*/Console.WriteLine("HelloWorld");Console.ReadKey();}}}1.C#程序主要包括以下部分1.命名空间声明(Namespacedecl
- Linux 制作 OpenSSH RPM 包
dongsong1117
linux运维服务器OpenSSH
文章目录1.安装依赖2.建立编译目录3.下载源码包并解压4.复制编译配置5.修改编译配置6.编译制作RPM包本文适用系统:RockyLinux9、AWSAmazonLinux20231.安装依赖RockyLinux:dnf-yinstallepel-releasegccinitscriptskrb5-develmakeopensslopenssl-develpam-develperlrpm-bui
- 海外旅游险
wendy_bao
假期出去玩没有旅游险怎么行呢?史带的这个境外游性价比很好,海外就医直付,而且某些高风险运动别的保险不能保,这个可以承保图片发自Apphttps://www.700du.cn/m/index.html?from=singlemessage&isappinstalled=0#/product/34b5d48cf1634359b23233bb5bf5ff68?isShowHead=1&isShowPri
- linux安全配置规范
十年人间~
linux安全服务器
一、概述1.1适用范围本配置规范适用于凝思操作系统,主要涉及LINUX操作系统安全配置方面的基本要求,用于指导LINUX操作系统安全加固工作,落实信息安全等级保护等保三级系统操作系统安全配置,为主机安全配置核查提供依据。1.2实施策略序号配置类别配置项名称实施策略1身份鉴别口令复杂度策略合规2身份鉴别登录失败账户锁定策略合规3身份鉴别口令最长生存期策略合规4身份鉴别SSH登录配置合规5访问控制多余
- 如何在unity中实现倒计时
老朱佩琪!
unityunity游戏引擎c#
publicclassshowtime:MonoBehaviour{publicTextMeshProUGUICountdown;voidUpdate(){if(Input.GetKeyDown(KeyCode.Space))//如果按下空格后开始倒计时{StartCoroutine(hahaha());}}IEnumeratorhahaha()//声明了一个协程函数hahaha{inttime=
- windows/linux 自动登录ssh的脚本
howe8888
服务器运维
1、如果是cmd环境下,则要编写vbs脚本来实现。Setws=CreateObject("WScript.Shell")ws.run"
[email protected]"wscript.sleep1000ws.sendkeys("123456")ws.sendkeys("{ENTER}")wscript.sleep1000ws.SendKeys"%n"wscript.quit然后保存为ssh
- 集群启动脚本
西风凋丶碧树
linux
使用SSH服务,要首先确保Linux主机间ssh相互免密,配置免密可看下面:Linux主机间ssh相互免密创建kafka启动脚本vimkafka-cluster.shforiin192.168.8.105192.168.8.106192.168.8.107doecho--------------------------------$ikafka启动-------------------------
- CentOS 7升级openssh9.6p1
lakeside1
运维centoslinux运维升级openssh
一、环境情况[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)[root@localhost~]#ssh-VOpenSSH_7.4p1,OpenSSL1.0.2k-fips26Jan2017二、准备1.开启telnet主要是在安装过程中,需要卸载老版本openssh,临时启用telnet,方便操作。其中还
- Java list排序的几种方式
lingFei_y
解决问题java工具javalist开发语言
使用流进行排序/***@description:排序对象*@datetime2023年05月08日16:51*@version:1.0*/publicclassHuman{privateStringname;privateintage;publicHuman(){}publicHuman(Stringname,intage){this.name=name;this.age=age;}publicS
- Git基本用法教程
dllmayday
Gitgitelasticsearch大数据
1.Git安装Git(官网:https://git-scm.com/download/)安装之后鼠标右键会自动多出两个选项,这时就代表了安装成功2.git初始化及提交第一次clone使用ssh-keygen-o生成ssh密钥Gitglobalsetupgitconfig--globaluser.name"username"gitconfig--globaluser.email"email@123.
- Git配置(Mac版本)
七七r
gitmacos
要使用SSH密钥进行Git认证,你需要按照以下步骤进行设置:1.生成SSH密钥对首先,你需要在本地机器上生成一个SSH密钥对。打开终端(Windows用户可以使用PowerShell或GitBash),然后运行以下命令:ssh-keygen-trsa-b4096-C"
[email protected]"这个命令会生成两个文件:id_rsa(私钥)和id_rsa.pub(公钥)。私钥应该保
- linux随记
likemebee
linuxlinux服务器运维
1.linux服务器防骚扰,拉黑网络试图暴力破解ssh密码ip(可关闭ssh登录权限,启用秘钥登录)#!/bin/bashcat/var/log/secure|awk'/Failed/{print$(NF-3)}'|sort|uniq-c|awk'{print$2"="$1}'>/root/likeme/script/black.txtMAXCOUNT="8"foriin`cat/root/lik
- xadmin
黑夜的眸
github上搜索xadmin安装XadminisbestinstalledviaPyPI.Toinstallthelatestversion,run:pipinstallxadminorInstallfromgithubsource:pipinstallgit+git://github.com/sshwsfc/xadmin.gitInstallfromgithubsourceforDjango2
- 【Linux】frp内网穿透详细教程(简单易懂)
科研达人
Linuxlinux运维服务器
frp内网穿透详细教程(简单易懂)文章目录frp内网穿透详细教程(简单易懂)frp是什么?工作原理准备工作frp工具的使用第一步:下载安装包第二步:公网部署frps第三步:内网部署frpc第四步:启动frps和frpc第五步:通过ssh访问内网服务器使用systemd安装systemd(一般都有,可忽略)创建服务端frps.service文件创建客户端frpc.service文件使用systemd
- SSH教程
Qpeterqiufengyi
windows
ssh是远程连接的利器,可以说凡是涉及到linux服务器,ssh就是一个绕不开的话题.本文作为一个教程,尽可能详细的帮助读者设置ssh,并给出一些常用的ssh配置方法(主要用于linux系统的远程登录和文件传输).1.简介ssh分为两个部分,sshd服务端和ssh客户端.sshd通常在服务器上已经建好并处于可用状态,因此本文只讨论ssh客户端,即用户通过ssh客户端远程连接到服务器上进行操作.ss
- Nginx常用配置--正向代理服务器
ststcheung
nginx运维
server{resolver8.8.8.8;listen80;location/{proxy_passhttp://$http_host$request_uri;}}在客户端配置http_proxy环境变量,exporthttp_proxy=http://你的正向代理服务器地址:代理端口,即可使用代理服务器上网。
- 班级:L3-C 姓名:罗佩莹 学号:20193000501日期:2020/4/16 作业序号(Writing Assignment No):005
罗佩莹
题目:Somepeoplebelievethatsomeinternetwebsitesshouldberestrictedtopreventpeoplefromaccessingsexorviolentsites.Towhatextentdoyouagreewiththisopinion?Mypintisneutrality.Ontheonehand,ifaccesstosexorviolent
- 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_