- Kafka 基础与架构理解
StaticKing
KAFKAkafka
目录前言Kafka基础概念消息队列简介:Kafka与传统消息队列(如RabbitMQ、ActiveMQ)的对比Kafka的组件Kafka的工作原理:消息的生产、分发、消费流程Kafka系统架构Kafka的分布式架构设计Leader-Follower机制与数据复制Log-basedStorage和持久化Broker间通信协议Zookeeper在Kafka中的角色总结前言Kafka是一个分布式的消息系
- 老生常谈:MySQL高可用架构
我有一头小花驴
mysql架构数据库
引言“高可用”是互联网一个永恒的话题,先避开MySQL不谈,为了保证各种服务的高可用有几种常用的解决方案。服务冗余:把服务部署多份,当某个节点不可用时,切换到其他节点。服务冗余对于无状态的服务是相对容易的。服务备份:有些服务是无法同时存在多个运行时的,比如说:Nginx的反向代理,一些集群的leader节点。这时可以存在一个备份服务,处于随时待命状态。自动切换:服务冗余之后,当某个节点不可用时,要
- [bzoj1139]Wie
weixin_30437481
1139:[POI2009]WieTimeLimit:10SecMemoryLimit:259MBDescriptionByteasarhasbecomeahexer-aconquerorofmonsters.CurrentlyheistoreturntohishometownByteburg.Thewayhome,alas,leadsthroughalandfullofbeasts.Fortun
- 2020-04-09奋进的周四
深山含笑空凝峡谷
从小就特别希望和别人不一样。瞪着一双很乖的眼睛目不转睛看老师,嘴上不说心里没放下过独特眼光和taste也是从幼年就形成了。要视角不同,创新,玩点别的花样和审美有些概念让自己想起来就会有点兴奋比如life-hacker/量化自我/digitalnormad/自由编舞师/读书社群leader/coach/创作者自我的形成/个体的觉醒/作为创作者,一定要有信心——我做的创作的,即使有人做过类似的了,我做
- 「经济学人」Streaming-video wars
英语学习社
GameofphonesHBOwillleadAT&T’schallengetoNetflixTimeWarner’scrownjewelmustscaleupwhilemaintainingqualityINLATE2012,justbeforethereleaseof“HouseofCards”,TedSarandos,chiefcontentofficerofNetflix,declared
- Redis Sentinel(哨兵)详解
dlwlrma ⥳
Java八股框架redissentinel数据库
目录一:什么是Sentinel(哨兵)二:Sentinel有什么用1.监控2.故障转移3通知4.配置提供三:Sentinel如何检测master节点宕机1.主观下线2.客观下线四:Sentinel是如何选举出新的master1.slave的优先级2.复制进度3.runid五:如何在sentinel集群中选择出Leader前言:有关Redis的基础知识可以参照我之前写的文章Redis必知必会的知识在
- go-etcd实战
小书go
golang实战演练golangetcd服务发现服务注册微服务
etcd简介etcdisastronglyconsistent,distributedkey-valuestorethatprovidesareliablewaytostoredatathatneedstobeaccessedbyadistributedsystemorclusterofmachines.Itgracefullyhandlesleaderelectionsduringnetwork
- iframe 双向实时通信
徐同保
javascript前端vue.js
父:handleAdd()">按钮{{count}}import{onMounted,ref}from"vue";constcount=ref(0);consthandleAdd=()=>{count.value++;letiframe:any=document.getElementById('m-iframe')letmessage={target:'iframe',data:'Hello,Ia
- Kafka的ack机制
香山上的麻雀
ack=0/1/-1的不同情况:0:producer不等待broker的ack,broker一接收到还没有写入磁盘就已经返回,当broker故障时有可能丢失数据;1:producer等待broker的ack,partition的leader落盘成功后返回ack,如果在follower同步成功之前leader故障,那么将会丢失数据;-1:producer等待broker的ack,partition的
- 【AIGC半月报】AIGC大模型启元:2024.06(下)
LeeZhao@
AIGC人工智能AIAgent
AIGC大模型启元:2024.06(下)(1)Gen-3(2)Open-Sora1.2(Open-Sora再升级)(3)Claude3.5Sonnet(Claude升级)(4)ChatTTSv3(ChatTTS升级)(5)盘古大模型5.0(6)Falcon2(7)Glyph-ByT5-v2(清华、北大+微软)(8)LLMLeaderboardv2(大语言模型评估框架)(9)豆包MarsCode(字
- MySQL 中的 `TRIM()` 函数:优雅去除字符串两侧的空格
夜雪一千
mysql数据库
在数据库管理中,数据的准确性和整洁性至关重要。有时,从外部源导入的数据或用户输入的数据可能包含不必要的空格,尤其是在字符串的开头或结尾。这些空格虽然看似微小,但在数据查询、比较或展示时可能会引发问题。幸运的是,MySQL提供了一个非常实用的函数TRIM(),用于去除字符串两侧的空格,确保数据的干净和准确。TRIM()函数的基本用法TRIM()函数的基本语法如下:TRIM([BOTH|LEADING
- 多进程android webview,Android Pie(9.0)WebView在多进程中
weixin_39983993
多进程androidwebview
解决了.我的项目托管了AdMob广告,我在Application类onCreate()中调用了MobileAds.initialize()方法.广告初始值设定项会加载一个WebView,在调用WebView.setDataDirectorySuffix(“dir_name_no_separator”)方法之前,该WebView现在禁止在新进程中执行.当创建第二个进程时,它也会通过相同的应用程序创建
- git添加子模块,更新子模块和更新到主工程
980205
笔记git
#git添加子模块:进入主工程目录,拉取并且添加子模块gitsubmoduleaddhttps://github.mysubmodule.gitmysubmodule初始化和更新子模块gitsubmoduleinitgitsubmoduleupdate#子模块提交进入子模块目录:gitadd.gitcommit-m""gitpushoriginmaster#提交子模块,此步骤需要,不然不会同步更新
- 正式包打包上传混淆
程序猿峰岑
今天算是比较倒霉的一天,近视的我上班的时候眼镜没找到,看到要迟到了,也没找眼镜就直接飞奔到公司,看不到屏幕只能抱着屏幕撸码,我相信你们也能想到这画面,这不算什么,重点来了,在上班的时候改动了bean类中不管是上传的数据类还是从服务器中返回的数据都被我无意的混淆了。导致我在获取数据的时候出现找不到这些数据,直接导致登录失败。这可要命了,知道导致的后果就是今天算白忙了。还好我的leader是个对我们还
- 商务英语level3 unit2 part4 Non speaking.
Alexandear
WherewillanEMAILbemovedtoafteritisdeleted?Whichdepartmenthandlesemployeeissuesandproblems?Whomanagesacompany'sfinancialactivities.Whatcanyoudotoleadadish?AndallpeopleknowaboutanEMAIL.WhatistheCTOrespo
- Kafka 如何保证数据不丢失?不重复
优秀后端工程师
Java程序员kafkalinq分布式
1.高可用型配置:acks=all,retries>0retry.backoff.ms=100(毫秒)(并根据实际情况设置retry可能恢复的间隔时间)优点:这样保证了producer端每发送一条消息都要成功,如果不成功并将消息缓存起来,等异常恢复后再次发送。缺点:这样保证了高可用,但是这会导致集群的吞吐量不是很高,因为数据发送到broker之后,leader要将数据同步到fllower上,如果网
- Kafka-设计原理
姜希成
Kafkakafka
ControllerLeader-PartitionRebalance消息发布机制HW与LEO日志分段ControllerKafka核心总控制器Controller:在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(KafkaController),它负责管理整个集群中所有分区和副本的状态当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的le
- Chiplead奇力LED驱动芯片线性车用AEC-Q100
Modest1y
单片机嵌入式硬件硬件工程pcb工艺
VAS1085Q是一款高性能、可编程的恒流调节器,专为汽车照明和LED照明应用设计。该产品由奇力科技开发,具备宽输入电压范围、精确的LED电流调节能力,并支持多种汽车级功能,如过温保护、PWM调光以及高电流输出,满足严苛的汽车行业要求。主要特点VAS1085Q拥有多项先进功能,使其成为对高要求应用(尤其是汽车领域)的理想选择:1.宽输入电压范围(1.35V至40V):该调节器在低电压环境下依然表现
- IROS2021投稿说明
计算机视觉-Archer
IROSIntro,VenueandThemeTheIEEE/RSJInternationalConferenceonIntelligentRobotsandSystems(IROS)isapremierflagshipacademicconferenceinrobotics.Forover30-years,IROShasshowcasedleading-edgeresearch.Inhindsi
- 英语流利说懂你英语 Level4 Unit2 Part2 Listening-Point of View 2
wxl_dl
Peopleseethingsfromdifferentpointsofview.Thisoftenleadstoargumentsbetweenpeople.Here'resomeexamples.Fromthisman'spointofview,heisrelaxing.Heneedstorelaxbecausehehasbeenworkingtoohard.Hehasn'tbeengetti
- Kafka ACK机制详解笔记
modelsetget
kafkakafka分布式ACK机制
1.ACK机制简介目的:确保生产者发送的消息可靠地写入Kafka集群。核心:生产者发送消息后需等待Kafka集群的确认。2.ACK级别acks=0:不等待确认,效率最高,但可能丢数据。acks=1:等待Leader分区确认,可靠性较高,但Leader故障可能丢数据(Kafka2.0默认值)。acks=all(或-1):等待所有ISR分区确认,最可靠,但性能较低。3.ISR(In-SyncRepli
- wordpress跨境电商外贸独立站 常见获取流量方式
podoor
wordpress
在建立跨境电商外贸独立站时,获取流量的方法有很多种,以下是一些常见的方法:社交媒体营销:通过发布有吸引力的内容在Facebook、Instagram、Twitter等平台上。电子邮件营销:通过向潜在客户发送定制的电子邮件,包含特别优惠或新产品信息。搜索引擎优化(SEO):提高网站在搜索引擎中的排名,以吸引更多的访问者。付费广告:在GoogleAdWords、FacebookAds或其他广告平台上投
- 字节跳动项目管理面经
Naught_One
面试面试
目前已经通过了一面(mentor)和二面(leader),今天进行了三面(hr面)。一二面主要都是自我介绍+围绕简历的内容问的问题,大概50分钟左右。三面自我介绍,但是没有问简历上的问题,大概35分钟左右。稍微把问题列一列,记得并不是完全清楚。1你现在的学校是你当时考研报考的吗?2你为什么会被调剂?3部门的hc很少,你不准备秋招吗?4部门的实习生很多,应聘这个岗位的人也很多,竞争很激烈,你认为你比
- 消息中间件:深入理解 Kafka 的核心架构与组件解析
upgrador
#消息中间件kafka架构linq
消息中间件:深入理解Kafka的核心架构与组件解析Kafka是一种流行的分布式流处理平台,广泛应用于实时数据处理和消息队列场景。本文将深入解析Kafka的核心架构及其各个组成部分,包括Broker、主题、分区、生产者、消费者、消费者组、Zookeeper、日志、偏移量,以及Leader-Follower机制。通过清晰的关系图和详细的解释,帮助读者更好地理解Kafka各个组件之间的相互关系。文章目录
- Top200排行榜
LIHAORAN99
linuxredis数据库mysqlsql面试
选用MySQL数据库为了在MySQL数据库中有效地实现一个在线游戏的Top200排行榜,我们需要注意数据表的设计、索引优化以及查询效率。以下是一个推荐的实现方案:数据表设计你可以创建一个专门用于排行榜的表,这个表存储玩家的ID、玩家的昵称、得分以及可能的其他相关信息(如玩家的等级、加入时间等)。这里是一个基本的表结构示例:CREATETABLEleaderboard(player_idINTPRI
- 【实践】 使用k8s的leader-election来实现多副本应用的选举
JYCJ_
Golanggolang后端k8s
背景假设你有这样一个应用部署在k8s中,该应用有以下功能模块:它是一个web服务,接受HTTP服务请求并处理它同时还是需要提供一个任务监控的模块,用来监控数据库中的任务进程并执行相应的逻辑如果该应用需要提高HTTP的处理能力,不可避免会想到通过部署多副本的方案来实现但是,任务监控模块在多副本的情况下,每个副本都会执行,可能造成一些不必要的麻烦和资源的浪费。当然,要实现在多副本的部署下,任务监控模块
- 数学基础 -- 线性代数之行阶梯形
sz66cm
线性代数机器学习人工智能
行阶梯形行阶梯形(RowEchelonForm,REF)是线性代数中用于简化矩阵形式的一种方法,常用于求解线性方程组。矩阵经过行变换(如高斯消元法)后可以转换为行阶梯形,它具有以下特点:行阶梯形的定义零行在矩阵的底部:矩阵中如果存在一行全为零的行,这些行必须在矩阵的最下方。每一非零行的首个非零元素为1:这一元素称为该行的主元(leadingentry)。主元是从左到右的第一个非零元素,并且主元必须
- 1003 Emergency (25 分)
W杂货铺W
Asanemergencyrescueteamleaderofacity,youaregivenaspecialmapofyourcountry.Themapshowsseveralscatteredcitiesconnectedbysomeroads.Amountofrescueteamsineachcityandthelengthofeachroadbetweenanypairofcities
- Python+tkinter实现俄罗斯方块游戏
千里澄江
小游戏pythonpython游戏开发语言前端
游戏界面:一个方块区域(游戏板),显示当前分数和最高分的标签,以及控制按钮(重启、暂停、显示排行榜)。玩家可以通过点击“Restart”按钮重启游戏,点击“Pause”按钮暂停游戏,点击“ShowLeaderboard”按钮查看排行榜(最高的十个分数)。游戏规则玩家需要通过移动和旋转从屏幕顶部掉落的方块,使它们在屏幕底部堆积成完整的行。游戏中有7种不同形状的方块:I形、O形、T形、S形、Z形、L形
- 2020-12-07
3af3c965f780
心碎!在团建面前,我成为了下属的乙方……又到了公司放假前一天。作为部门的leader,我的心已经起飞,但依然要稳住。我是部门的定海神针,是BOSS最信任的得力助手,也是员工们的大佬。(正经脸)像往常一样,我将头发梳成大人模样,换上一身帅气西装。事务基本安排妥当,项目也逐渐走到尾声。小伙伴们也都快要放假了。但是想想总感觉,好像缺了点什么……BOSS冷不丁地发来消息:“工作嘛,当然要劳逸结合!我们组织
- 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。那么这个时候就有个问题了,既然参数不一致,那