- PVE固定网卡名称防止增减PCIE设备失联
牧子与羊
运维服务器虚拟机pve
【关键词】:新PCIE网卡改变、新PCIE管理页面无法登录、新PCIE网口灯不亮在ProxmoxVE(PVE)环境中,新增PCIe设备可能导致网卡PCIID变化,进而引发网卡名称改变(如enp5s0→enp6s0),最终导致PVE管理界面无法访问。本文提供两种一劳永逸的解决方案:MAC地址绑定法(推荐):仅需在/etc/network/interfaces中添加hwaddress行,无需重命名网卡
- binwalk
白天的我最菜
错题本开发语言
windows使用这个命令时候发现要shift一直按住,右击打开cmd管理员运行才行pythonsetup.pyinstall否则没有作用自己安装python目录的Scripts文件夹里,参考如下https://www.cnblogs.com/0yst3r-2046/p/12218770.html
- django parler 使用教程
1.什么是DjangoParler?DjangoParler是一个强大的Django插件,用于实现多语言模型字段。它允许你在Django模型中定义可翻译的字段,使得每个语言版本的数据能够独立存储和管理。2.安装与配置首先,使用pip安装DjangoParler:pipinstalldjango-parler然后,在你的Django项目的settings.py中添加parler到INSTALLED_
- nodeJs笔记(一)
a_xiaotaotao
nodeJs笔记前端
nodeJs笔记(一)基础知识什么是nodejs?nodejs的生态系统结构nodejs的工作原理V8JavaScript引擎:libuv:异步I/O与事件循环引擎:事件循环(EventLoop)的详细阶段:非阻塞I/O的工作流程(以fs.readFile为例):单线程与高并发:核心依赖库:工作原理全景图关键点:node.js的优缺点核心优势(优点)高性能与高并发(I/O密集型场景):核心原理:结
- AJAX概述
出门撞大运
ajax前端
在现代网页开发中,我们早已习惯了无需刷新页面就能获取新数据的流畅体验——浏览电商网站时的实时库存更新、社交平台的动态加载内容、表单提交后的即时验证反馈……这些都离不开一项核心技术——AJAX。今天,我们就来深入探索AJAX的奥秘,带你全面掌握这门改变网页交互方式的关键技术。一、什么是AJAX?AJAX,全称异步JavaScript和XML(AsynchronousJavaScriptandXML)
- Vue Element-UI下拉框搜索功能
逆风g
要实现这样的功能:上代码:核心:给下拉框新增加属性filterable:filter-method=dataFilter//下拉框开启搜索功能dataFilter(val){if(val){this.showEquipments=this.equipments.filter((item=>{returnitem.equipments.includes(val)}))}else{this.showE
- Py-spy:优秀的 Python 程序性能监控、分析器
py-spy是用于Python程序的性能监控、分析器。它使你可以直观地看到Python程序花费的时间,而无需重新启动程序或以任何方式修改代码。py-spy的开销非常低:为了最大化提高速度,它是用Rust编写的,并且与配置的Python程序不在同一进程中运行。这意味着py-spy可以安全地用于生产环境的Python程序。py-spy可在Linux,OSX,Windows和FreeBSD上运行,并支持
- PPP 点到点协议
太阁闫辉
一、PPP协议介绍PPP协议包含LCPPAPCHAPNCP(IPV4CPIPV6CPIPXCP)等工作在链路层支持链路级的AAA认证。Authentication认证:出示凭证主认证被认证如锁是主认证,钥匙就是被认证被认证方要向主认证方出示用户名密码,主认证方确定没有问题在把链路开启。Authorization授权:认证通过后,我需要判断你能使用多少资源Accounting审计:监控接收什么样流量
- 实用计算机网络编程作业2.doc
骑猪逛街
网络作业编程internet路由器network
1.目前Internet提供了哪几类服务?答:1、即时通讯,视频会议,电子邮件2、电子商务,网络商城,电子银行3、信息与资源共享,远程信息管理2.TCP/IP分为哪几层?每层的基本功能是什么?答:TCP/IP分为四层(也有人划分为五层)1、网络接口层两个作用:(1)负责接收从IP层交来的IP数据报并将数据报通过低层物理网络发送出去(2)从低层物理网络接收物理帧,抽出IP数据报,交给IP层。2、互联
- sbatch: error: Batch script contains DOS line breaks (\r\n)
爱听许嵩歌
编程debug问题batchmatlabslurm
问题:在使用超算时,提交脚本出现batch:error:BatchscriptcontainsDOSlinebreaks(\r\n)sbatch:error:insteadofexpectedUNIXlinebreaks(\n)原因:dos下的换行和Unix是不一样的:windows中\r\n表示换行,linux等使用\n换行。差异:Windows系统下文本文件的换行符是:回车+换行CR/LF即\
- postman请求接口时自动生成sign签名
小牛_6666
当我们使用postman测试接口时,经常会遇到接口签名,由于签名随参数而变化,导致测试起来很头疼。通过查postman的使用文档,发现可以用Pre-requestScript来生成sign。Pre-requestScript的语法和js类似,可以在发起请求之前,对参数进行处理。下边以微信H5支付签名算法为例来自动生成sign签名1,签名规则第一步设所有发送或者接收到的数据为集合M,将集合M内非空参
- Python 包管理工具pip
pip是Python的包管理工具,用于安装和管理Python包(库或模块)。它是Python生态系统中最重要的工具之一,几乎所有第三方库都可以通过pip安装。以下是关于pip的详细讲解:1.pip是什么?pip是PythonPackageInstaller的缩写。它是一个命令行工具,用于从PythonPackageIndex(PyPI)下载和安装Python包。pip可以管理Python包的安装、
- pip和conda
李星星BruceL
pipconda
目录1使用Conda?你可能不需要Docker1.1Docker在开发环境中的应用1.2Python和Conda:跨平台逻辑,跨平台依赖1.3Conda作为生产环境中Docker的替代方案1.4避免使用Docker的一些限制2PipvsConda:深入比较Python的两种包管理系统2.1起点:哪种依赖?2.1.1Pip:仅限Python库2.1.2Conda:任何依赖都可以是Conda包(几乎)
- 探索Python性能优化的新里程:py-spy
施刚爽
探索Python性能优化的新里程:py-spy项目介绍py-spy是一个为Python程序设计的轻量级采样剖析器,它无需重启或修改你的代码就能让你看到程序运行时的时间分配情况。由于其采用Rust编写,因此在不影响目标程序运行的情况下,py-spy能安全地对生产环境中的Python代码进行剖析。该项目支持Linux、macOS、Windows和FreeBSD上的所有现代CPython解释器版本(从2
- 【基础】Python包及环境管理工具大盘点:pip、pipx、poetry、conda、pipenv、Pixi、uv、venv、virtualenv、pyenv 、Mamba、Hatch、PDM等
正经教主
程序基础pythonpython开发语言包工具环境工具
前言工欲善其事,必先利其器,如今兵器各式各样,咱就盘点一下有哪些兵器,都有啥特点,供各位侠客参考,希望大家都能找到自己喜欢的。正经开始以下是针对Python环境中常用工具的特点、易用性对比及使用建议的详细总结:一、工具分类与核心功能根据功能定位,可将工具分为以下几类:虚拟环境管理:venv、virtualenv包管理与依赖解析:pip、pipx综合项目管理:poetry、pipenv、Hatch、
- Python 依赖管理的新动向:pip、Poetry 和 Conda 谁是未来的标准?
```htmlPython依赖管理的新动向:pip、Poetry和Conda谁是未来的标准?Python依赖管理的新动向:pip、Poetry和Conda谁是未来的标准?在Python生态系统中,依赖管理是一个至关重要的环节。无论是小型脚本还是大型企业级项目,依赖管理的好坏直接影响到项目的开发效率和稳定性。近年来,随着Python社区的快速发展,依赖管理工具也经历了显著的变化。本文将探讨三种主流的
- SCP命令传输文件
惟余惟余
运维
SCP进行文件传输一、基本语法:二、具体用法1.从本地将文件传输到服务器2.从本地将文件夹传输到服务器3.将服务器上的文件传输到本地4.将服务器上的文件夹传输到本地一、基本语法:Linuxscp命令用于Linux之间复制文件和目录。scp概述:scp是securecopy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp与rcp的区别:scp是加密的,rcp是不加密的
- 第七弹:C语言基础--标准IO编程详解
三玖诶
CC语言标准IO编程
目录文章目录知识点1文件的概述1文件的定义2Linux系统中的文件定义3Linux系统中文件的访问3.1文件缓冲区概述3.2文件缓冲区具体形式4磁盘文件分类4.1磁盘文件分类说明4.2文本文件和二进制文件的区别知识点2标准IO库1FILE文件指针1.1FILE指针的概述1.2FILE结构体数据类型的定义1.3FILE指针的管理1.4FILE指针的分配2文件的IO操作2.1打开文件流-fopen2.
- 【linux安装git+配置gitlab+推送】
hi+
gitlinuxgitlab
【安装】$sudoaptupdate$sudoaptinstallgit$git--version【配置】A:安装Git之后,您需要做的第一件事就是配置您的git用户名和电子邮件地址。Git将您的身份与您所做的每次提交相关联。要设置全局提交名称和电子邮件地址,请运行以下命令:zly@ubuntu:~$gitconfig--globaluser.name"git用户名"zly@ubuntu:~$gi
- Linux C语言中的IO--标准IO
ぃ未来可期
Cc语言linux
文章目录1.IO概述系统调用和库函数有什么区别?2.标准IO2.1缓冲区/缓存区行缓冲区刷新方法全缓冲区刷新方法2.2文件指针2.3标准IO常用函数fopen()fclose()perror()errnofgetc()fputc()feof()/ferror()判断返回值EOF类型ungetc()将字符放回输入流fgets()fputs()fprintf()/sprintf()/dprintf/s
- c语言标准io库,IO之标准C库buffer
抬杠小天才
c语言标准io库
在论述这个主题之前,先介绍一下标准C库和linux系统调用以及windowsAPI之间的关系。拿写文件来举个例子linux下写文件用write()windows下写文件用WriteFile()这说明不同操作系统实现同样的系统功能的接口应该是不一样的。造成这种现状是操作系统发展的历史原因造成的,无法在操作系统的层面统一系统函数接口。同样功能的程序在linux上写一套,windows上又得写另外一套,
- Linux--标准IO库
Ao_Richard
应用编程Linux算法
一、标准IO简介所谓标准I/O库则是标准C库中用于文件I/O操作(譬如读文件、写文件等)相关的一系列库函数的集合,通常标准I/O库函数相关的函数定义都在头文件中,所以我们需要在程序源码中包含头文件。标准I/O库函数是构建于文件I/O(open()、read()、write()、lseek()、close()等)这些系统调用之上的,譬如标准I/O库函数fopen()就利用系统调用open()来执行打
- vant框架,实现checkbox的处理
l996ily
vantvue
全选importcarApifrom"@/api/car/index"importVuefrom"vue";import{SwipeCell,Card,Checkbox,SubmitBar,}from"vant";Vue.use(SwipeCell).use(Card).use(Checkbox).use(SubmitBar);exportdefault{name:"car",data(){ret
- JavaScript实现按键精灵(附完整源码)
源代码大师
JavaScript实战教程javascript开发语言ecmascript
JavaScript实现按键精灵以下是使用JavaScript实现按键精灵游戏的完整源代码:按键精灵
- 4 How to talk about doctors?
MrWisdom
1.internist:nAgeneralphysician.Also,aspecialistininternalmedicine.internus:Latinrootinsideinternal:adjinsideintern:nwhoisamedicalgraduateservinganapprenticeshipinsideahospital.2.gynecologist:nadoctorf
- MAC 版 sublime text 2 安装插件管理器
刘晓倩
sublimemac
第1步:打开Sublime,按下Control+`(Mac)或者Ctrl+`(Windows),然后粘贴上下面的代码:importurllib.request,os;pf='PackageControl.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.reques
- k8s包管理器helm_K8S集群 Helm 包管理
weixin_39872893
k8s包管理器helm
Helm是一个Kubernetes的包管理工具,就像Linux下的包管理器,如yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。k8s之前部署要写很多的yaml文件,大型应用部署起来比较麻烦,于是helm就出现了。Helm有两个重要概念:helm:一个命令行客户端工具,主要用于Kubernetes应用chart的创建、打包、发布和管理。Chart:应用描述,一系
- centos linux lvm分区,linux CentOS/redhat 6.5 LVM分区使用详解
文韬菌
centoslinuxlvm分区
1,介绍LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分LVM区管理的灵活性。前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(physicalvolume)物理卷就是指硬盘分区
- JavaScript:冒泡排序
爱学习的小丫
什么是冒泡排序?经常看到这个名字,但是并不是什么了解,到底什么是冒泡排序。其实很简单,就是在一个数组中,分别让每一位与自己的下一位做对比,如果比后面的数小,则不变位置,如果比后面的数大,则调换两个数的位置,直至把最大的那个数调到最后一个,就好像冒泡一样,最大的数冒出来了。这样我们就可以通过这个方法,循环冒泡,直至这个数组的数进行升序或降序排列。举个例子说明升序冒泡://如果有这样一个数组,里面有一
- linux /unix/centos/ubuntu/redhat命令详解
UNIX概述•UNIX历史•UNIX特点•UNIX原则UNIX历史•UNIX操作系统诞生于60年代末期的Bell实验室•美国电话电报公司(AT&T)在70年代中期开始发行UNIX的非商业许可证•从70年代末开始在市场上出现了不同的UNIX商品化版本UNIX特点•可靠性高•伸缩性强•开放性好•植根于网络•面向数据库使用UNIX基本原则•所有对象,包括硬件都是文件•配置数据以文本形式保存•由短小的单目
- PHP如何实现二维数组排序?
IT独行者
二维数组PHP排序
二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:
代码:
functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_arr
- 【Hadoop十七】HDFS HA配置
bit1129
hadoop
基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
- 由wsdl生成的java vo类不适合做普通java vo
darrenzhu
VOwsdlwebservicerpc
开发java webservice项目时,如果我们通过SOAP协议来输入输出,我们会利用工具从wsdl文件生成webservice的client端类,但是这里面生成的java data model类却不适合做为项目中的普通java vo类来使用,当然有一中情况例外,如果这个自动生成的类里面的properties都是基本数据类型,就没问题,但是如果有集合类,就不行。原因如下:
1)使用了集合如Li
- JAVA海量数据处理之二(BitMap)
周凡杨
java算法bitmapbitset数据
路漫漫其修远兮,吾将上下而求索。想要更快,就要深入挖掘 JAVA 基础的数据结构,从来分析出所编写的 JAVA 代码为什么把内存耗尽,思考有什么办法可以节省内存呢? 啊哈!算法。这里采用了 BitMap 思想。
首先来看一个实验:
指定 VM 参数大小: -Xms256m -Xmx540m
- java类型与数据库类型
g21121
java
很多时候我们用hibernate的时候往往并不是十分关心数据库类型和java类型的对应关心,因为大多数hbm文件是自动生成的,但有些时候诸如:数据库设计、没有生成工具、使用原始JDBC、使用mybatis(ibatIS)等等情况,就会手动的去对应数据库与java的数据类型关心,当然比较简单的数据类型即使配置错了也会很快发现问题,但有些数据类型却并不是十分常见,这就给程序员带来了很多麻烦。
&nb
- Linux命令
510888780
linux命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示C
- java常用JVM参数
墙头上一根草
javajvm参数
-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制
-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2
- 我的spring学习笔记9-Spring使用工厂方法实例化Bean的注意点
aijuans
Spring 3
方法一:
<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory"
factory-method="createMusicBoxStatic"></bean>
方法二:
- mysql查询性能优化之二
annan211
UNIONmysql查询优化索引优化
1 union的限制
有时mysql无法将限制条件从外层下推到内层,这使得原本能够限制部分返回结果的条件无法应用到内层
查询的优化上。
如果希望union的各个子句能够根据limit只取部分结果集,或者希望能够先排好序在
合并结果集的话,就需要在union的各个子句中分别使用这些子句。
例如 想将两个子查询结果联合起来,然后再取前20条记录,那么mys
- 数据的备份与恢复
百合不是茶
oraclesql数据恢复数据备份
数据的备份与恢复的方式有: 表,方案 ,数据库;
数据的备份:
导出到的常见命令;
参数 说明
USERID 确定执行导出实用程序的用户名和口令
BUFFER 确定导出数据时所使用的缓冲区大小,其大小用字节表示
FILE 指定导出的二进制文
- 线程组
bijian1013
java多线程threadjava多线程线程组
有些程序包含了相当数量的线程。这时,如果按照线程的功能将他们分成不同的类别将很有用。
线程组可以用来同时对一组线程进行操作。
创建线程组:ThreadGroup g = new ThreadGroup(groupName);
&nbs
- top命令找到占用CPU最高的java线程
bijian1013
javalinuxtop
上次分析系统中占用CPU高的问题,得到一些使用Java自身调试工具的经验,与大家分享。 (1)使用top命令找出占用cpu最高的JAVA进程PID:28174 (2)如下命令找出占用cpu最高的线程
top -Hp 28174 -d 1 -n 1
32694 root 20 0 3249m 2.0g 11m S 2 6.4 3:31.12 java
- 【持久化框架MyBatis3四】MyBatis3一对一关联查询
bit1129
Mybatis3
当两个实体具有1对1的对应关系时,可以使用One-To-One的进行映射关联查询
One-To-One示例数据
以学生表Student和地址信息表为例,每个学生都有都有1个唯一的地址(现实中,这种对应关系是不合适的,因为人和地址是多对一的关系),这里只是演示目的
学生表
CREATE TABLE STUDENTS
(
- C/C++图片或文件的读写
bitcarter
写图片
先看代码:
/*strTmpResult是文件或图片字符串
* filePath文件需要写入的地址或路径
*/
int writeFile(std::string &strTmpResult,std::string &filePath)
{
int i,len = strTmpResult.length();
unsigned cha
- nginx自定义指定加载配置
ronin47
进入 /usr/local/nginx/conf/include 目录,创建 nginx.node.conf 文件,在里面输入如下代码:
upstream nodejs {
server 127.0.0.1:3000;
#server 127.0.0.1:3001;
keepalive 64;
}
server {
liste
- java-71-数值的整数次方.实现函数double Power(double base, int exponent),求base的exponent次方
bylijinnan
double
public class Power {
/**
*Q71-数值的整数次方
*实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。
*/
private static boolean InvalidInput=false;
public static void main(
- Android四大组件的理解
Cb123456
android四大组件的理解
分享一下,今天在Android开发文档-开发者指南中看到的:
App components are the essential building blocks of an Android
- [宇宙与计算]涡旋场计算与拓扑分析
comsci
计算
怎么阐述我这个理论呢? 。。。。。。。。。
首先: 宇宙是一个非线性的拓扑结构与涡旋轨道时空的统一体。。。。
我们要在宇宙中寻找到一个适合人类居住的行星,时间非常重要,早一个刻度和晚一个刻度,这颗行星的
- 同一个Tomcat不同Web应用之间共享会话Session
cwqcwqmax9
session
实现两个WEB之间通过session 共享数据
查看tomcat 关于 HTTP Connector 中有个emptySessionPath 其解释如下:
If set to true, all paths for session cookies will be set to /. This can be useful for portlet specification impleme
- springmvc Spring3 MVC,ajax,乱码
dashuaifu
springjquerymvcAjax
springmvc Spring3 MVC @ResponseBody返回,jquery ajax调用中文乱码问题解决
Spring3.0 MVC @ResponseBody 的作用是把返回值直接写到HTTP response body里。具体实现AnnotationMethodHandlerAdapter类handleResponseBody方法,具体实
- 搭建WAMP环境
dcj3sjt126com
wamp
这里先解释一下WAMP是什么意思。W:windows,A:Apache,M:MYSQL,P:PHP。也就是说本文说明的是在windows系统下搭建以apache做服务器、MYSQL为数据库的PHP开发环境。
工欲善其事,必须先利其器。因为笔者的系统是WinXP,所以下文指的系统均为此系统。笔者所使用的Apache版本为apache_2.2.11-
- yii2 使用raw http request
dcj3sjt126com
http
Parses a raw HTTP request using yii\helpers\Json::decode()
To enable parsing for JSON requests you can configure yii\web\Request::$parsers using this class:
'request' =&g
- Quartz-1.8.6 理论部分
eksliang
quartz
转载请出自出处:http://eksliang.iteye.com/blog/2207691 一.概述
基于Quartz-1.8.6进行学习,因为Quartz2.0以后的API发生的非常大的变化,统一采用了build模式进行构建;
什么是quartz?
答:简单的说他是一个开源的java作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。并且还能和Sp
- 什么是POJO?
gupeng_ie
javaPOJO框架Hibernate
POJO--Plain Old Java Objects(简单的java对象)
POJO是一个简单的、正规Java对象,它不包含业务逻辑处理或持久化逻辑等,也不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。如果项目中使用了Hiber
- jQuery网站顶部定时折叠广告
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/4.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>网页顶部定时收起广告jQuery特效 - HoverTree<
- Spring boot内嵌的tomcat启动失败
kane_xie
spring boot
根据这篇guide创建了一个简单的spring boot应用,能运行且成功的访问。但移植到现有项目(基于hbase)中的时候,却报出以下错误:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.Lif
- leetcode: sort list
michelle_0916
Algorithmlinked listsort
Sort a linked list in O(n log n) time using constant space complexity.
====analysis=======
mergeSort for singly-linked list
====code======= /**
* Definition for sin
- nginx的安装与配置,中途遇到问题的解决
qifeifei
nginx
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装
wget http://nginx.org/download/nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
./configure
make
make install
安装的时候出现
- 用枚举来处理java自定义异常
tcrct
javaenumexception
在系统开发过程中,总少不免要自己处理一些异常信息,然后将异常信息变成友好的提示返回到客户端的这样一个过程,之前都是new一个自定义的异常,当然这个所谓的自定义异常也是继承RuntimeException的,但这样往往会造成异常信息说明不一致的情况,所以就想到了用枚举来解决的办法。
1,先创建一个接口,里面有两个方法,一个是getCode, 一个是getMessage
public
- erlang supervisor分析
wudixiaotie
erlang
当我们给supervisor指定需要创建的子进程的时候,会指定M,F,A,如果是simple_one_for_one的策略的话,启动子进程的方式是supervisor:start_child(SupName, OtherArgs),这种方式可以根据调用者的需求传不同的参数给需要启动的子进程的方法。和最初的参数合并成一个数组,A ++ OtherArgs。那么这个时候就有个问题了,既然参数不一致,那