- UEFI学习——SMBIOS笔记
落子摘星
UEFI学习UEFISMBIOS2.1
SMBIOS是一套规范,对于符合SMBIOS规范的计算机,可以通过访问SMBIOS的结构获得系统信息,这里对其介绍不再赘述。本篇文章是将我自己对EDKII代码中SMBIOS的结构体的理解进行一个总结,并结合EDKII里的两个函数对读取SMBIOS信息的程序逻辑提供一个大概的思路。本博客介绍的SMBIOS是使用32位的EPS表(即根据SMBIOS2.1规范)1.SMBIOS结构介绍上面的图包含了几个
- iOS笔记UI--UILabel
specter_hhg
OC--UI功能UIlabelUIios不同样式
声明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨UILabel基本用法://1创建UIlabelUILabel*label=[[UILabelalloc]initWithFrame:CGRectMake(self.window.frame.size.width/5,self.window.frame.size.height/2,200,50)];//标签的大小设置//添加子视图[self.
- NT_iOS笔记—CoreText添加文字背景色(搜索的高亮显示)
NT_Tian
coretextcoretext文字背景色ios
转载请标明出处:http://blog.csdn.net/nt_tian/article/details/42458647在CoreText里进行全文搜索,搜索的结果需要高亮显示,这个已经是很普遍的做法了。在搜索结果列表中可以通过UILabel直接显示[attributedStringaddAttribute:NSBackgroundColorAttributeNamevalue:[UIColor
- 【IOS笔记】Views
weixin_30677617
runtime人工智能swift
ViewsBecauseviewobjectsarethemainwayyourapplicationinteractswiththeuser,theyhavemanyresponsibilities.Herearejustafew:通过view对象是与用户交互的主要方式,它们有很多责任,下面是其中一些:Layoutandsubviewmanagement布局Aviewdefinesitsownd
- 学习资料
iOS_沧海一笑
学习笔记转载自(https://www.cnblogs.com/GJ-ios/tag/iOS笔记/)
- iOS笔记-获取相册照片路径
MichaelJackchuang
iOS之开发笔记ios
通过PHAsset来获取相册照片路径通过已经获得的PHAsset实例来获得相册照片的路径(比如使用UIImagePickerController或者第三方TZImagePickerController获得的PHAsset对象),//asset:PHAsset//通过asset获取图片在相册中的路径urlasset.requestContentEditingInput(with:PHContentE
- iOS笔记之乱开脑洞(Objective-C)
Raywf
2018.4.3文中诸多内容属直接转载,若原作者要求删除,请联系我,立删。1.应用自杀原作者:Mr.陳原文:iOS强制退出程序APP代码1.示例代码-(void)exitApplication{AppDelegate*app=[UIApplicationsharedApplication].delegate;UIWindow*window=app.window;[UIViewanimateWith
- Axios笔记
大浪淘沙胡
VueWebAxios
1、Axios介绍Axios基于promise网络请求库,作用于node.js和浏览器中(即同一套代码可以运行在node.js和浏览器中),在服务器中他使用原生node.jshttp,在浏览器端则使用XMLHttpRequest。特性:(1)、支持PromiseAPI(2)、拦截请求和响应、转换请求和响应数据、取消请求(3)、自动转换JSON数据、客户端支持防御XSRF安装:(1)、使用npmnp
- iOS笔记-Crash
lmao94
常见的creah原因:容器越界(数组,字典,字符串等)使用未初始化的变量用户授权问题选择器方法未定义线程死锁数据类型不匹配(常见null)野指针死循环runtime可以做什么?method_swizzle,hook方法动态添加方法和属性可以获取到类中的实例变量和属性你知道哪些类簇?他们有什么优缺点?类簇:一种设计模式。在公共抽象超类下对多个私有的具体子类进行分组。是基于抽象工厂设计模式的。简化了面
- iOS笔记:根据字符串实现页面跳转
FLY_8219
利用runtime动态生成对象、属性、方法这特性,我们可以先跟服务端商量好,定义跳转规则,比如要跳转到A控制器,需要传属性id、type,那么服务端返回字典给我,里面有控制器名,两个属性名跟属性值,客户端就可以根据控制器名生成对象,再用kvc给对象赋值,这样就搞定了。参考https://www.jianshu.com/p/8b3a9155468d-(void)pushVC:(NSString*)u
- 尚硅谷axios笔记——入门学习
Root_src
学习axios
这篇笔记不包括源码分析,呜呜感觉时间不够用了还得留时间准备教资面试axios理解和使用json-server服务与搭建终端安装npmi-gjson-server启动服务json-server--watchdb.json启动在当前文档前数据去db.json找查看id为2的页面在http://localhost:3000.posts/2/2就是id认识axios是基于promise的http客户端,可
- Axios笔记(完结版)
逃逃日塔灰
前端javascript前端Axios
目录一、了解Axios(一)了解Axios(二)基本使用(三)其他使用二、基本知识三、源码(一)手动实现源码(二)一些联系一、了解Axios(一)了解Axios1.特点1)在浏览器端能发送ajax请求2)能在node.js中发送http请求3)支持promise的相关操作(API)4)请求和响应的拦截器(能在请求之前做一些准备工作,在响应回来后对响应的结果做一些处理)5)对请求和响应的数据做转换6
- iOS笔记-多线程
lmao94
同步函数&串行队列不会开启线程,在当前线程执行任务任务串行执行,任务一个接着一个会产生堵塞(死锁,崩溃)主队列(串行队列)加入同步任务堵塞的原因:NSLog(@"aaa");dispatch_sync(dispatch_get_main_queue(),^{NSLog(@"bbb");});NSLog(@"ccc");任务A内容为执行B任务串行队列,所以B任务是在A任务之后加入队列,需要等待任务A
- iPad最强笔记应用之一:Goodnotes 5体验
白白白寸
作为“买前生产力,买后爱奇艺”的平板界代表,iPad似乎一直在想如何摆脱这个帽子。于是,苹果给iPad配上了ApplePencil这柄利剑,又在今年的开发者大会上给iPad单独加持了iPadOS这颗心脏。今天,小编就带大家体验一下,在ApplePencil和iPadOS的双重加持下,iPad平台最强的笔记应用之一——Goodnotes会有怎样的体验。书写体验:最流畅的iOS笔记应用之一书写流畅性上
- iOS笔记-KVC的实现
lmao94
当一个对象调用setValue方法时,方法内部会做以下操作:检查是否存在对应key的set方法,如果存在,就调用set方法如果set方法不存在,就会查找与key相同名称并且带有下划线的成员变量_key,如果有,就直接给_key赋值如果没有找到_key,就会查找相同名称的属性key,如果有,直接赋值如果还是没有找到,则调用valueForUndefinedKey:和setValue:forUndef
- iOS文件分享
只是个少年
秒懂iOS文件分享https://blog.csdn.net/u013538542/article/details/70473728iOS笔记-预览和分享文件到其他应用https://www.jianshu.com/p/8b7a7c53d51ciOS8ShareExtensionSafariURLExample(在iOS中分享url的例子)https://blog.csdn.net/wjsxiao
- 我的ios笔记之百度地图配置调用api遇到的坑
猪都跑不过的狗
1:下载sdkhttp://lbsyun.baidu.com/index.php?title=iossdk/sdkiosdev-download2:将下载好的SDKadd到项目中3:添加依赖库左侧目录选中工程名,在TARGETS->BuildPhases->LinkBinaryWithLibaries中点击“+”按钮,在弹出的窗口中点击“AddOther”按钮,选择BaiduMapAPI_**.f
- 2.iOS内存管理
沈铮
iOSios
iOS笔记:内存管理Objective-C提供了三种内存管理方式:manualretain-release(MRR,手动管理),automaticreferencecounting(ARC,自动引用计数),garbagecollection(垃圾回收GC)。iOS不支持垃圾回收;ARC作为苹果新提供的技术,苹果推荐开发者使用ARC技术来管理内存;这篇笔记主要讲的是手动管理。内存管理的目的是:1.不
- iOS笔记-单例模式
夕颜明媚
单例模式–非ARC作用:保证在程序运行过程,一个类只有一个实例,而且该实例易于供外界访问使用场合:在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次)可以用宏判断是否为ARC环境#if__has_feature(objc_arc)//ARC#else//MRC#endif单例模式-ARC提供一个static修饰的全局变量,强引用着已经实例化的单例对象实例staticXMGTools*_i
- UINavigationController、UITabBarController之iOS笔记摘录
平安喜乐698
目录1.UINavigationController2.UITabBarController前言建议不要使用系统的导航栏。思想:创建UIViewContrller基类,在该类中创建自定义View作为导航栏。1.UINavigationController自定义UINavigationController子类以下文件(并不是最终的文件)中的功能选择性使用,仅为了说明功能YTNavBarControl
- iOS笔记( 启动时间性能优化)
苏神速
应用启动环节,我们大致分为2种启动:即冷启动(ColdLaunch)和热启动(WarmLaunch),针对优化,我们主要针对冷启动。知识点:打印启动时间通过添加环境变量可以打印出APP的启动时间分析(Editscheme->Run->Arguments)DYLD_PRINT_STATISTICS设置为1如果需要更详细的信息,那就将DYLD_PRINT_STATISTICS_DETAILS设置为1一
- 录音并将caf转换格式为mp3之iOS笔记摘录
平安喜乐698
目录长风破浪会有时,直挂云帆济沧海。项目中遇到过需要录制一段声音,然后上传到7牛(格式需要是mp3格式)。格外注意一下:AVAudioRecorder的配置参数和lame_set配置参数。配置不正确会导致转换的mp3文件长度不正确。前言音频-文件格式(后缀)1.WAV:音质最好(对应PCM编码)适用:多媒体开发,保存音乐和音效素材。2.MP3:音质好,压缩比比较高,被广泛支持(iOS、Androi
- iOS笔记- Autolayout
希尔罗斯沃德_董
配合Storyboard使用Autolayout通过Storyboard或者XIB使用进行UI开发相对来说效率会高很多,特别是使用Autolayout的时候,通过Storyboard和XIB的设置更加直观,省去了大量的代码。但是使用Storyboard和XIB不可避免会有一定的性能问题。毕竟Storyboard和XIB本身是一个文件,是一个xml文件,而且是在运行时加载,对于像启动页等这样对性能要
- iOS笔记-Runtime运行时
LSRain
创建时间:2016-12-12状态:发布简介Runtime又叫运行时,是一套底层C语言的API,是iOS核心,平时编写的OC代码,底层都是基于它实现的。[receivermessage];//底层会被编译器转换为这样再运行objc_mesgSend(receiver,selector)//如果带有参数[receivermessage:(id)arg...];//底层会被编译器转换为这样再运行obj
- iOS笔记。oc语法、runtime、runloop、多线程、内存管理、性能优化、设计模式、项目管理。
lym不解释
github链接1.OC语法iOS用什么方式实现对一个对象的KVO?(KVO的本质是什么?)简述一下KVC?KVC的赋值和取值过程是怎样的?原理是什么?Category的使用场合是什么?Category的实现原理?Category和ClassExtension的区别是什么?Category能否添加成员变量?如果可以,如何给Category添加成员变量?load、initialize方法的区别什么?
- iOS笔记:使用UIPageControl+UIScrollView实现图片自动播放及手动切换
浅墨如痕
首先新建一个类UIPageViewDatasource继承自UIView,并定义UIPageViewDelegate和UIPageViewDatasource两个协议,scrollView、pageControl、animationDuration和delegate、datasource等属性,以及reloadData方法。在UIPageViewDelegate协议中定义可选方法,实现点击某个pa
- iOS笔记-runloop
lmao94
runloop可以做什么?处理crash保持线程存活(线程保活)监测、优化卡顿线程和runloop有什么关系?一一对应的关系,是以键值对的方式来存储的简单讲一下runloop的组成?组成:可能包含多个Mode,而Mode由sources/timer/observer组成线程在运行过程中需要处理不同情境的不同事件,mode就是情境的标识,source/timer/observer则是情境下要处理的事
- 【iOS笔记】Unsigned(无符号)
CoderSimonWong
NSInteger有符号,NSUInteger无符号当NSUIntegera=-1;输出a,这时a的值其实等于18446744073709551615
- axios笔记
前端巴士
前言现在来说,axios基本是vue项目的标配了;之前大家比较常用的是vue-resource小巧又好用,后来(vue2之后)vue作者推荐大家改用axios大家都慢慢转过来了。axios确实有自己的优点:基于Promise,可以同时在浏览器和NodeJS环境下使用等,找了下文档,列到下面了:在浏览器中发送XMLHttpRequests请求在node.js中发送http请求转换请求和响应数据(拦截
- iOS笔记-哈希表
lmao94
什么是哈希表?哈希表也叫散列表,是一个根据键(key)直接访问在内存存储位置的数据结构通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这种方式加快了查找速度。而这个映射函数称作散列函数,存放记录的数组称作散列表本质上来说是个数组,实现哈希表的两种方式:数组+链表数组+二叉树一般数组里存放的是单一的数据,而哈希表中存放的是键值对数据经过散列函数计算之后,放到特定的位置ent
- 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_