PHP正则表达式preg_match_all修饰符

模式修饰符

下面列出了当前可用的 PCRE 修饰符。括号中提到的名字是 PCRE 内部这些修饰符的名称。 模式修饰符中的空格,换行符会被忽略,其他字符会导致错误。i (PCRE_CASELESS)如果设置了这个修饰符,模式中的字母会进行大小写不敏感匹配。

m (PCRE_MULTILINE)默认情况下,PCRE 认为目标字符串是由单行字符组成的(然而实际上它可能会包含多行), “行首”元字符 (^) 仅匹配字符串的开始位置, 而”行末”元字符 ($) 仅匹配字符串末尾, 或者最后的换行符(除非设置了 D 修饰符)。这个行为和 perl 相同。 当这个修饰符设置之后,“行首”和“行末”就会匹配目标字符串中任意换行符之前或之后,另外, 还分别匹配目标字符串的最开始和最末尾位置。这等同于 perl 的 /m 修饰符。如果目标字符串 中没有 “\n” 字符,或者模式中没有出现 ^ 或 $,设置这个修饰符不产生任何影响。

s (PCRE_DOTALL)如果设置了这个修饰符,模式中的点号元字符匹配所有字符,包含换行符。如果没有这个 修饰符,点号不匹配换行符。这个修饰符等同于 perl 中的/s修饰符。 一个取反字符类比如 [^a] 总是匹配换行符,而不依赖于这个修饰符的设置。

x (PCRE_EXTENDED)如果设置了这个修饰符,模式中的没有经过转义的或不在字符类中的空白数据字符总会被忽略, 并且位于一个未转义的字符类外部的#字符和下一个换行符之间的字符也被忽略。 这个修饰符 等同于 perl 中的 /x 修饰符,使被编译模式中可以包含注释。 注意:这仅用于数据字符。 空白字符 还是不能在模式的特殊字符序列中出现,比如序列 (?( 引入了一个条件子组(译注: 这种语法定义的 特殊字符序列中如果出现空白字符会导致编译错误。 比如(?(就会导致错误)。e (PREG_REPLACE_EVAL)

Warning
This feature was DEPRECATED in PHP 5.5.0, and REMOVED as of PHP 7.0.0.如果设置了这个被弃用的修饰符, preg_replace() 在进行了对替换字符串的 后向引用替换之后, 将替换后的字符串作为php 代码评估执行(eval 函数方式),并使用执行结果 作为实际参与替换的字符串。单引号、双引号、反斜线(\)和 NULL 字符在 后向引用替换时会被用反斜线转义.

This feature was DEPRECATED in PHP 5.5.0, and REMOVED as of PHP 7.0.0.如果设置了这个被弃用的修饰符, preg_replace() 在进行了对替换字符串的 后向引用替换之后, 将替换后的字符串作为php 代码评估执行(eval 函数方式),并使用执行结果 作为实际参与替换的字符串。单引号、双引号、反斜线(\)和 NULL 字符在 后向引用替换时会被用反斜线转义.

Note:

仅 preg_replace() 使用此修饰符,其他 PCRE 函数忽略此修饰符。

A (PCRE_ANCHORED)如果设置了这个修饰符,模式被强制为”锚定”模式,也就是说约束匹配使其仅从 目标字符串的开始位置搜索。这个效果同样可以使用适当的模式构造出来,并且 这也是 perl 种实现这种模式的唯一途径。

D (PCRE_DOLLAR_ENDONLY)如果这个修饰符被设置,模式中的元字符美元符号仅仅匹配目标字符串的末尾。如果这个修饰符 没有设置,当字符串以一个换行符结尾时, 美元符号还会匹配该换行符(但不会匹配之前的任何换行符)。 如果设置了修饰符m,这个修饰符被忽略. 在 perl 中没有与此修饰符等同的修饰符。S当一个模式需要多次使用的时候,为了得到匹配速度的提升,值得花费一些时间 对其进行一些额外的分析。如果设置了这个修饰符,这个额外的分析就会执行。当前, 这种对一个模式的分析仅仅适用于非锚定模式的匹配(即没有单独的固定开始字符)。

U (PCRE_UNGREEDY)这个修饰符逆转了量词的”贪婪”模式。 使量词默认为非贪婪的,通过量词后紧跟? 的方式可以使其成为贪婪的。这和 perl 是不兼容的。 它同样可以使用 模式内修饰符设置 (?U)进行设置, 或者在量词后以问号标记其非贪婪(比如.*?)。

Note:

在非贪婪模式,通常不能匹配超过 pcre.backtrack_limit 的字符。

X (PCRE_EXTRA)这个修饰符打开了 PCRE 与 perl 不兼容的附件功能。模式中的任意反斜线后就 ingen 一个 没有特殊含义的字符都会导致一个错误,以此保留这些字符以保证向后兼容性。 默认情况下,在 perl 中,反斜线紧跟一个没有特殊含义的字符被认为是该字符的原文。 当前没有其他特性由这个修饰符控制。

J (PCRE_INFO_JCHANGED)内部选项设置(?J)修改本地的PCRE_DUPNAMES选项。允许子组重名, (译注:只能通过内部选项设置,外部的 /J 设置会产生错误。)

u (PCRE_UTF8)此修正符打开一个与 perl 不兼容的附加功能。 模式和目标字符串都被认为是 utf-8 的。 无效的目标字符串会导致 preg_* 函数什么都匹配不到; 无效的模式字符串会导致 E_WARNING 级别的错误。 PHP 5.3.4 后,5字节和6字节的 UTF-8 字符序列被考虑为无效(resp. PCRE 7.3 2007-08-28)。 以前就被认为是无效的 UTF-8。

 (PCRE_INFO_JCHANGED)内部选项设置(?J)修改本地的PCRE_DUPNAMES选项。允许子组重名, (译注:只能通过内部选项设置,外部的 /J 设置会产生错误。)u (PCRE_UTF8)此修正符打开一个与 perl 不兼容的附加功能。 模式和目标字符串都被认为是 utf-8 的。 无效的目标字符串会导致 preg_* 函数什么都匹配不到; 无效的模式字符串会导致 E_WARNING 级别的错误。 PHP 5.3.4 后,5字节和6字节的 UTF-8 字符序列被考虑为无效(resp. PCRE 7.3 2007-08-28)。 以前就被认为是无效的 UTF-8。

u (PCRE_UTF8)此修正符打开一个与 perl 不兼容的附加功能。 模式和目标字符串都被认为是 utf-8 的。 无效的目标字符串会导致 preg_* 函数什么都匹配不到; 无效的模式字符串会导致 E_WARNING 级别的错误。 PHP 5.3.4 后,5字节和6字节的 UTF-8 字符序列被考虑为无效(resp. PCRE 7.3 2007-08-28)。 以前就被认为是无效的 UTF-8。

修饰符意义

/ regexp / i
不区分大小写的匹配

/ regexp / s
使句点( . )匹配任何字符,包括换行符( )

/ regexp / x
从模式中删除空白符和注释

/ regexp / m
使 ^ 匹配换行符 ( )之后的内容,美元符号($)匹配换行符 ( )之前的内容

/ regexp / e
如果替换字符串是PHP代码,使用eval()执行该代码来得到实际的替换字符串。

PHP的Perl兼容正则表达式函数也支持在Perl中不支持的其他修饰符

/ regexp / U
颠倒子模式的贪婪性; * 和 + 尽可能少地匹配而不是尽可能多。

/ regexp / u
把模式字符串当作UTF – 8编码对待

/ regexp / X
如果一个反斜杠之后跟着没有特殊意义的字符,将产生一个错误

/ regexp / A
把锚定位在字符串的开头就像模式中有 ^ 一样

/ regexp / D
使 $字符仅匹配一行的末尾

/ regexp / S
使表达式解析器更加小心地检查模式的结构,使得第二次运行时(如在一个循环中)加快速度

拉菲酒标上的五支箭,原来隐藏着这个含义

提到拉菲,除了它高昂的价格和传奇的故事,令我们印象深刻的还有它酒标上的五支箭,这些箭头代表着什么意思呢?

早在 16 世纪,拉菲古堡(Château Lafite Rothschild)就已经开始了葡萄种植。1868 年,詹姆斯·罗斯柴尔德男爵(Baron James de Rothschild)在公开拍卖会上以约 440 万法郎中标购得拉菲古堡。自此,罗斯柴尔德家族一直拥有并经营着拉菲古堡。而拉菲 logo 上的五支箭正是来自罗斯柴尔德家族的族徽。

罗斯柴尔德家族的族徽来源于《圣经》里的一个故事:生命垂危的父亲要5个儿子折断捆在一起的5支箭,正当他们一筹莫展时,这位父亲拆开这捆箭并把其中一支折断,他说,家族的力量来自团结,一支箭容易被折断,5支箭抱成一团就不容易折断。

这个故事听起来是不是很熟悉?跟中国的十根筷子的故事很相似,说的也是同样的道理。但有些不同的是,《圣经》的故事里是先拿出捆在一起的五支箭,然后从里面抽出一支折断,不仅寓意团结就是力量,也提醒着人们,最坚固的堡垒往往是从内部被攻破的,无论是社会还是家族,内乱永远是它们从强大走向衰败的转折点。

人皆以利合,又以利分,兄弟分家为了两头牛而起争斗的都有,更何况巨额财富。豪门自古多恩怨,为了争夺巨额的财富以及显赫的地位,同室操戈的惨剧在豪门贵族里时有发生。

家族创始人梅耶·罗斯柴尔德意识到内部斗争只会让家族走向衰亡。为了让家族紧紧地团结在一起,老罗斯柴尔德在去世前立下一份森严的遗嘱,规定了“所有家族银行中的要职必须由家族内部人员担任,绝不用外人。家族通婚只能在表亲之间进行,防止财富稀释和外流”等严格的条款,老罗斯柴尔德还在这份遗嘱中特别声明“任何违反遗嘱的人,将失去一切财产继承权”。

这些规定客观上约束了家族成员,保证了家族的稳定性,也是将庞大的家族体系凝聚在一起的有效方式。但小编觉得更重要的其实是对后代的教育,为什么中国有句老话讲“富不过三代”,其实更多的是因为对后代的教育不达标。

“只要团结一致,你们就所向无敌;你们分手的那天,将是你们失去繁荣的开始。”这句在罗斯柴尔德家族中代代相传的训诫似乎是对《圣经》故事最好的诠释,也是罗斯柴尔德家族兴旺的重要原因。

注:当然,只要你力气够大,或是练了什么拈花手、金刚指之类的绝学,别说五支箭,就是十支、二十支都照样折得断!

来源:http://wap.lookvin.com/news/35740.html

邓丽君花心中日双语歌词

有一首歌,对于我们来说可能有点陌生,但是对于70后来说,那就是青春,这首歌就是1993年周华健演唱的《花心》,其中酒井法子刘欢等也合唱过日文版《花心》

  川は流れて どこどこ行くの  河水在流 你要流向哪里

  人も流れて どこどこ行くの  人也在流 你要流向何方

  そんな流れが着くころには   在那流淌停止的地方

  花として 花として          有鲜花 作为鲜花

咲かせてあげたい           为你开放

  泣けなさい 笑いなさい      哭吧 笑吧

  いつの日か いつの日か      哪一天 会有一天

  花を咲かそうよ             你会鲜花怒放

  花心日语版歌词下半部:

  なみだ流れて どこどこ行くの 泪水在流 你要流向那里

  爱も流れて どこどこ行くの  爱也在流 你要流向何方

  そんな流れも このうちに    在爱流淌的旅途中

  花として 花として          是鲜花 作为花儿

  迎えてあげたい             迎接你的到来

  なきなさい 笑いなさい      哭吧 笑吧

  いつの日か いつの日か      哪一天 会有一天

  花を咲かそうよ             你会鲜花怒放

  花は花として 笑いもできる  花儿有花儿的微笑

  人は人として 涙もながす    人也有人的眼泪

  それが自然の歌なのさ       那是大自然的歌声

  心の中に 心の中に花を咲かそうよ  花儿在你的心中 在你的心里盛开吧

  泣きなさい 笑いなさい       哭吧 笑吧

何时何时までも 何时何时までも  永远 永远

邓丽君

我辈岂是蓬篙人

南陵别儿童入京

作者:李白
白酒新熟山中归,黄鸡啄黍秋正肥。
呼童烹鸡酌白酒,儿女嬉笑牵人衣。
高歌取醉欲自慰,起舞落日争光辉。
游说万乘苦不早,著鞭跨马涉远道。
会稽愚妇轻买臣,余亦辞家西入秦。
仰天大笑出门去,我辈岂是蓬蒿人。

Bank Identification Number

卡BIN指的是发卡行识别码,英文全称是 Bank Identification Number,缩写为 BIN。
通常,银行卡卡号的前六位是用来表示发卡银行或机构的,这就是发卡行识别码。根据ISO/IEC7812文件的规定,9字头BIN号由一国国内的标准组织分配,不适用于全球通用。2002年10月底,中国银联代表各家发卡机构向ISO申请了800个国际和国内通用的6字头BIN号。
下面是国内各行的银行卡卡BIN信息
发卡行 发卡行代码 卡种名称 银行卡类型 卡号长度 BIN号
广东发展银行 3060000 广发理财通 18 102033
农业银行 1030000 金穗借记卡 借记卡 19 103000
昆明农联社 14097310 金碧卡 借记卡 16 185720
中国光大银行 3030000 阳光爱心卡 贷记卡 16 303781
上海银行 4012902 双币种申卡贷记卡个人金卡 贷记卡 16 356827
上海银行 4012902 双币种申卡贷记卡个人普卡 贷记卡 16 356828
中国银行 1040000 中银JCB卡金卡 贷记卡 16 356833
中国银行 1040000 中银JCB卡普卡 贷记卡 16 356835
中国光大银行 3030000 阳光商旅信用卡 贷记卡 16 356837
中国光大银行 3030000 阳光商旅信用卡 贷记卡 16 356838
中国光大银行 3030000 阳光商旅信用卡 贷记卡 16 356839
中国光大银行 3030000 阳光商旅信用卡 贷记卡 16 356840
招商银行 3080000 招商银行银行信用卡 贷记卡 16 356885
招商银行 3080000 招商银行银行信用卡 贷记卡 16 356886
招商银行 3080000 招商银行银行信用卡 贷记卡 16 356887
招商银行 3080000 招商银行银行信用卡 贷记卡 16 356888
招商银行 3080000 招商银行银行信用卡 贷记卡 16 356889
招商银行 3080000 招商银行银行信用卡 贷记卡 16 356890
工商银行 1020000 牡丹运通卡金卡 信用卡 15 370246
工商银行 1020000 牡丹运通卡普通卡 信用卡 15 370247
中国工商银行 1020000 牡丹运通卡金卡 贷记卡 15 370248
中国工商银行 1020000 牡丹运通卡金卡 贷记卡 15 370249
中信实业银行 3020000 中信贷记卡 贷记卡 16 400360
中国银行 1040000 长城国际卡(美元卡)-商务普卡 贷记卡 16 400937
中国银行 1040000 长城国际卡(美元卡)-商务金卡 贷记卡 16 400938
中国银行 1040000 长城国际卡(港币卡)-商务普卡 贷记卡 16 400939
中国银行 1040000 长城国际卡(港币卡)-商务金卡 贷记卡 16 400940
中国银行 1040000 长城国际卡(美元卡)-个人普卡 贷记卡 16 400941
中国银行 1040000 长城国际卡(美元卡)-个人金卡 贷记卡 16 400942
招商银行 3080000 两地一卡通 借记卡 16 402658
上海银行 4012902 申卡贷记卡 贷记卡 16 402673
工商银行 1020000 国际借记卡 信用卡 16 402791
农业银行 1030000 金穗贷记卡 信用卡 16 403361
中信实业银行 3020000 中信贷记卡 贷记卡 16 403391
农业银行 1030000 金穗贷记卡 信用卡 16 404117
中信实业银行 3020000 中信贷记卡 贷记卡 16 404157
中信实业银行 3020000 中信贷记卡 贷记卡 16 404171
中信实业银行 3020000 中信贷记卡 贷记卡 16 404172
中信实业银行 3020000 中信贷记卡 贷记卡 16 404173
中信实业银行 3020000 中信贷记卡 贷记卡 16 404174
上海浦东发展银行 3100000 上海浦东发展银行信用卡VISA普通卡 贷记卡 16 404738
上海浦东发展银行 3100000 上海浦东发展银行信用卡VISA金卡 贷记卡 16 404739
交通银行 3010000 太平洋互连卡 借记卡 17 405512
交通银行 3010000 太平洋互连卡 借记卡 17 405512
中国光大银行 3030000 阳光信用卡 贷记卡 16 406252
中国光大银行 3030000 阳光信用卡 贷记卡 16 406254
广东发展银行 3060000 广发VISA信用卡 信用卡 16 406365
民生银行 3050001 民生贷记卡 贷记卡 16 407405

中国银行 1040000 中银威士信用卡员工普卡 贷记卡 16 409665
中国银行 1040000 中银威士信用卡个人普卡 贷记卡 16 409666
中国银行 1040000 中银威士信用卡员工金卡 贷记卡 16 409667
中国银行 1040000 中银威士信用卡个人金卡 贷记卡 16 409668
中国银行 1040000 中银威士信用卡员工白金卡 贷记卡 16 409669
中国银行 1040000 中银威士信用卡个人白金卡 贷记卡 16 409670
中国银行 1040000 中银威士信用卡商务白金卡 贷记卡 16 409671
中国银行 1040000 长城公务卡 贷记卡 16 409672
招商银行银行 3080000 招商银行银行国际卡 借记卡 16 410062
深圳发展银行 3070010 发展借记卡 借记卡 16 412962
深圳发展银行 3070010 发展借记卡 借记卡 16 412963
民生银行 3050000 民生借记卡 借记卡 16 415599
北京银行 4031000 京卡双币种国际借记卡 借记卡 16 421317
建设银行 1050000 乐当家银卡VISA 借记卡 16 421349
民生银行 3050000 民生国际卡 借记卡 16 421393
中信实业银行 3020000 中信国际借记卡 借记卡 16 421437
民生银行 3050000 民生国际卡 借记卡 16 421865
民生银行 3050001 民生贷记卡 贷记卡 16 421869
民生银行 3050001 民生贷记卡 贷记卡 16 421870
民生银行 3050001 民生贷记卡 贷记卡 16 421871
北京银行 4031000 京卡贵宾金卡 借记卡 16 422160
北京银行 4031000 京卡贵宾白金卡 借记卡 16 422161
中国银行 1040000 长城人民币信用卡-个人金卡 准贷记卡 16 424106
中国银行 1040000 长城人民币信用卡-员工金卡 准贷记卡 16 424107
中国银行 1040000 长城人民币信用卡-个人普卡 准贷记卡 16 424108
中国银行 1040000 长城人民币信用卡-员工普卡 准贷记卡 16 424109
中国银行 1040000 长城人民币信用卡-单位普卡 准贷记卡 16 424110
中国银行 1040000 长城人民币信用卡-单位金卡 准贷记卡 16 424111
中国银行 1040000 长城国际卡(美元卡)-白金卡 贷记卡 16 424902
中国光大银行 3030000 阳光商旅信用卡 贷记卡 16 425862
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427010
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427018
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427019
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427020
工商银行 1020000 国际借记卡 信用卡 16 427028
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427029
工商银行 1020000 国际借记卡 信用卡 16 427038
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427039
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427062
工商银行 1020000 牡丹VISA信用卡 信用卡 16 427064
中国民生银行 3050000 民生国际借记卡 借 (双币) 16 427570
中国民生银行 3050000 民生国际借记卡 借(双币) 16 427571
广东发展银行 3060000 广发信用卡 信用卡 16 428911
华夏 3040000 华夏卡 借记卡 16 431502
华夏 3040000 华夏卡 借记卡 16 431502
中信实业银行 3020000 中信贷记卡 贷记卡 16 433666
中信实业银行 3020000 中信借记卡 借记卡 16 433670
中信实业银行 3020000 中信借记卡 借记卡 16 433680
建设银行 1050000 乐当家金卡VISA 借记卡 16 434061
建设银行 1050000 乐当家白金卡VISA 借记卡 16 434062
深圳发展银行 3070000 沃尔玛百分卡 贷记卡 16 435744
深圳发展银行 3070000 沃尔玛百分卡 贷记卡 16 435745
建设银行 1050000 龙卡贷记卡公司卡金卡VISA 贷记卡 16 436718
建设银行 1050000 龙卡普通卡VISA 准贷记卡 16 436728

建设银行 1050000 龙卡贷记卡公司卡普通卡VISA 贷记卡 16 436738
建设银行 1050000 龙卡储蓄卡 储蓄卡 19 436742
建设银行 1050000 龙卡国际普通卡VISA 贷记卡 16 436745
建设银行 1050000 龙卡国际金卡 VISA 贷记卡 16 436748
广东发展银行 3060000 广发信用卡 信用卡 16 436768
中国银行 1040000 中银奥运信用卡个人卡 贷记卡 16 438088
工商银行 1020000 牡丹VISA信用卡 信用卡 16 438125
中国工商银行 1020000 牡丹VISA白金卡 信用卡 16 438126
兴业银行 3090000 兴业智能卡 借记卡 18 438588
兴业银行 3090000 兴业智能卡 借记卡 18 438589
上海银行 4012902 上海申卡IC 借记卡 16 438600
招商银行 3080000 招商银行银行信用卡 信用卡 16 439188
招商银行 3080010 VISA信用卡 信用卡 16 439225
招商银行 3080000 VISA商务信用卡 信用卡 16 439227
中信实业银行 3020000 中信国际借记卡 借记卡 16 442729
中信实业银行 3020000 中信国际借记卡 借记卡 16 442730
兴业银行 3090010 VISA信用卡 贷记卡 16 451289
中国银行 1040000 长城国际卡(欧元卡)-个人金卡 贷记卡 16 451291
工商银行 1020000 牡丹贷记卡 信用卡 16 451804
工商银行 1020000 牡丹贷记卡 信用卡 16 451804
工商银行 1020000 牡丹贷记卡 信用卡 16 451810
工商银行 1020000 牡丹贷记卡 信用卡 16 451810
建设银行 1050000 VISA准贷记卡 准贷记卡 16 453242
中国银行 1040000 长城电子借记卡 借记卡 19 456351
上海浦东发展银行 3100000 浦发银行VISA年青卡 贷记卡 16 456418
工商银行 1020000 牡丹信用卡 信用卡 16 458060
工商银行 1020000 牡丹信用卡 信用卡 16 458060
工商银行 1020000 牡丹贷记卡 信用卡 16 458071
工商银行 1020000 牡丹贷记卡 信用卡 16 458071
交通银行 3010000 太平洋双币贷记卡VISA 贷记卡 16 458123
交通银行 3010000 太平洋双币贷记卡VISA 贷记卡 16 458124
招商银行 3080000 招商银行银行国际卡 借记卡 16 468203
民生银行 3050000 民生国际卡 借记卡 16 472067
民生银行 3050000 民生国际卡 借记卡 16 472068
招商银行 3080000 招商银行银行信用卡 贷记卡 16 479228
招商银行 3080000 招商银行银行信用卡 贷记卡 16 479229
中国光大银行 3030000 阳光白金信用卡 贷记卡 16 481699
上海银行 4012902 申卡贷记卡 贷记卡 16 486466
兴业银行 3090010 VISA商务普卡 贷记卡 16 486493
兴业银行 3090010 VISA商务金卡 贷记卡 16 486494
中国光大银行 3030000 阳光商旅信用卡 贷记卡 16 486497
广东发展银行 3060000 广发VISA信用卡 信用卡 16 487013
中国建设银行 1050000 VISA白金/钻石信用卡 贷记卡 16 489592
中国工商银行 1020000 牡丹欧元卡 贷记卡 16 489734
中国工商银行 1020000 牡丹欧元卡 贷记卡 16 489735
中国工商银行 1020000 牡丹欧元卡 贷记卡 16 489736
农业银行 1030000 金穗信用卡 准贷记卡 16 491020
农业银行 1030000 金穗信用卡 准贷记卡 16 491020
建设银行 1050000 VISA准贷记金卡 准贷记卡 16 491031
广东发展银行 3060000 广发信用卡 信用卡 16 491032
交通银行 3010000 太平洋信用卡 信用卡 16 491040
广东发展银行 3060000 广发信用卡 信用卡 16 493427
中国银行 1040000 长城国际卡(港币卡)-个人金卡 贷记卡 16 493878
上海浦东发展银行 3100000 上海浦东发展银行信用卡VISA白金卡 贷记卡 16 498451
常州商业银行 4683040 月季卡 借记卡 16 504923

工商银行 1020000 牡丹万事达国际借记卡 信用卡 16 510529
中国银行 1040000 中银万事达信用卡员工普卡 贷记卡 16 512315
中国银行 1040000 中银万事达信用卡个人普卡 贷记卡 16 512316
中国银行 1040000 中银万事达信用卡员工金卡 贷记卡 16 512411
中国银行 1040000 中银万事达信用卡个人金卡 贷记卡 16 512412
招商银行 3080000 招商银行银行国际卡 借记卡 16 512425
宁波市商业银行 4083329 汇通国际卡 贷记卡 16 512431
民生银行 3050001 民生贷记卡 贷记卡 16 512466
中国银行 1040000 长城国际卡(英镑卡)-个人普卡 贷记卡 16 512695
中国银行 1040000 长城国际卡(英镑卡)-个人金卡 贷记卡 16 512732
中信实业银行 3020000 中信贷记卡 贷记卡 16 514906
中国银行 1040000 中银万事达信用卡员工白金卡 贷记卡 16 514957
中国银行 1040000 中银万事达信用卡个人白金卡 贷记卡 16 514958
民生银行 3050001 民生贷记卡 贷记卡 16 517636
中信实业银行 3020000 中信贷记卡 贷记卡 16 518212
广东发展银行 3060000 广发信用卡 信用卡 16 518364
中国银行 1040000 长城人民币信用卡-个人金卡 准贷记卡 16 518378
中国银行 1040000 长城人民币信用卡-员工金卡 准贷记卡 16 518379
中国银行 1040000 长城人民币信用卡-专用卡普卡 准贷记卡 16 518474
中国银行 1040000 长城人民币信用卡-员工普卡 准贷记卡 16 518475
中国银行 1040000 长城人民币信用卡-个人普卡 准贷记卡 16 518476
招商银行 3080010 MASTER信用卡 信用卡 16 518710
招商银行 3080010 MASTER信用金卡 信用卡 16 518718
农业银行 1030000 金穗贷记卡 信用卡 16 519412
上海银行 4012902 双币种申卡贷记卡普通卡 贷记卡 16 519498
农业银行 1030000 金穗贷记卡 信用卡 16 520082
中信实业银行 3020000 中信贷记卡 贷记卡 16 520108
上海银行 4012902 双币种申卡贷记卡金卡 贷记卡 16 520131
广东发展银行 3060000 广发万事达信用卡 信用卡 16 520152
交通银行 3010000 太平洋双币贷记卡MasterCard 贷记卡 16 520169
宁波市商业银行 4083329 汇通国际卡 贷记卡 16 520194
广东发展银行 3060000 广发万事达信用卡 信用卡 16 520382
交通银行 3010000 太平洋双币贷记卡MasterCard 贷记卡 16 521899
中国银行 1040000 长城国际卡(欧元卡)-个人普卡 贷记卡 16 522153
兴业银行 3090010 万事达信用卡 贷记卡 16 523036
招商银行 3080000 招商银行银行国际卡 借记卡 16 524011
工商银行 1020000 牡丹万事达白金卡 信用卡 16 524047
兴业银行 3090010 万事达信用卡 贷记卡 16 524070
中国工商银行 1020000 牡丹海航信用卡个人金卡 信用卡 16 524091
建设银行 1050000 乐当家金卡MASTER 借记卡 16 524094
中国银行 1040000 长城信用卡 准贷记卡 16 524864
中国银行 1040000 长城信用卡 准贷记卡 16 524865
中国工商银行 1020000 牡丹海航信用卡个人普卡 信用卡 16 525498
中国银行 1040000 长城信用卡 准贷记卡 16 525745
中国银行 1040000 长城信用卡 准贷记卡 16 525746
建设银行 1050000 乐当家银卡MASTER 借记卡 16 526410
深圳市商业银行 4105841 深圳市商业银行信用卡 贷记卡 16 526855
兴业银行 3090010 加菲猫信用卡 贷记卡 16 527414
深圳市商业银行 4105841 深圳市商业银行信用卡 贷记卡 16 528020
广东发展银行 3060000 广发万事达信用卡 信用卡 16 528931
民生银行 3050001 民生贷记卡 贷记卡 16 528948
工商银行 1020000 牡丹万事达信用卡 信用卡 16 530970
工商银行 1020000 牡丹信用卡 信用卡 16 530980

工商银行 1020000 牡丹信用卡 信用卡 16 530980
工商银行 1020000 牡丹万事达信用卡 信用卡 16 530990
建设银行 1050000 MASTER准贷记卡 准贷记卡 16 532420
建设银行 1050000 龙卡普通卡MASTER 准贷记卡 16 532430
建设银行 1050000 龙卡国际普通卡MASTER 贷记卡 16 532450
建设银行 1050000 龙卡国际金卡 MASTER 贷记卡 16 532458
农业银行 1030000 金穗信用卡 准贷记卡 16 535910
农业银行 1030000 金穗信用卡 准贷记卡 16 535910
农业银行 1030000 金穗信用卡 准贷记卡 16 535918
交通银行 3010000 太平洋信用卡 信用卡 16 537830
中国银行 1040000 长城国际卡(港币卡)-个人普卡 贷记卡 16 540297
中国银行 1040000 长城国际卡(美元卡)-个人普卡 贷记卡 16 540838
中国银行 1040000 长城国际卡(美元卡)-个人金卡 贷记卡 16 541068
广东发展银行 3060000 广发信用卡 信用卡 16 541709
中国光大银行 3030000 第十八届世界足球锦标赛纪念卡 贷记卡 16 543159
建设银行 1050000 MASTER准贷记金卡 准贷记卡 16 544033
招商银行 3080000 万事达信用卡 信用卡 16 545619
招商银行 3080000 万事达信用卡 信用卡 16 545623
招商银行 3080000 万事达信用卡 信用卡 16 545947
中国银行 1040000 长城国际卡(美元卡)-商务普卡 贷记卡 16 547628
中国银行 1040000 长城国际卡(港币卡)-商务普卡 贷记卡 16 547648
中国银行 1040000 长城人民币信用卡-单位普卡 准贷记卡 16 547766
中国银行 1040000 长城万事达信用卡单位普卡 准贷记卡 16 547766
工商银行 1020000 国际借记卡 信用卡 16 548259
广东发展银行 3060000 广发信用卡 信用卡 16 548844
建设银行 1050000 乐当家白金卡MASTER 借记卡 16 552245
民生银行 3050001 民生贷记卡 贷记卡 16 552288
招商银行 3080000 招商银行银行信用卡 贷记卡 16 552534
招商银行 3080000 招商银行银行信用卡 贷记卡 16 552587
农业银行 1030000 金穗贷记卡 信用卡 16 552599
中国银行 1040000 长城公务卡 双币贷 16 552742
广东发展银行 3060000 广发万事达信用卡 信用卡 16 552794
建设银行 1050000 龙卡贷记卡公司卡普通卡MASTER 贷记卡 16 552801
交通银行 3010000 太平洋双币贷记卡MasterCard 贷记卡 16 552853
中国银行 1040000 长城公务卡 双币贷卡 16 553131
建设银行 1050000 龙卡信用卡 信用卡 18 553242
民生银行 3050001 民生贷记卡 贷记卡 16 556610
中信实业银行 3020000 中信MASTERCARD人民币+美金双币贷记卡 贷记卡 16 556617
工商银行 1020000 牡丹万事达信用卡 信用卡 16 558360
农业银行 1030000 金穗贷记卡 信用卡 16 558730
中国银行 1040000 长城国际卡(港币卡)-商务金卡 贷记卡 16 558808
中国银行 1040000 长城国际卡(美元卡)-商务金卡 贷记卡 16 558809
中国银行 1040000 长城人民币信用卡-单位金卡 准贷记卡 16 558868
中国银行 1040000 中银万事达信用卡单位金卡 准贷记卡 16 558868
广东发展银行 3060000 广发万事达信用卡 信用卡 16 558894
建设银行 1050000 龙卡贷记卡公司卡金卡MASTER 贷记卡 16 558895
中信实业银行 3020000 中信MASTERCARD人民币+美金双币贷记卡 贷记卡 16 558916
沈阳市商业银行 4172210 玫瑰卡 借记卡 18 566666
深圳农联社 14045840 信通卡 借记卡 16 584016
D.F.S.I(备注1) 26290840 发现卡 贷记卡 16 601100
D.F.S.I 26290840 发现卡 贷记卡 16 601101
D.F.S.I 26290840 发现卡 贷记卡 16 601121
D.F.S.I 26290840 发现卡 贷记卡 16 601122

D.F.S.I 26290840 发现卡 贷记卡 16 601123
D.F.S.I 26290840 发现卡 贷记卡 16 601124
D.F.S.I 26290840 发现卡 贷记卡 16 601125
D.F.S.I 26290840 发现卡 贷记卡 16 601126
D.F.S.I 26290840 发现卡 贷记卡 16 601127
D.F.S.I 26290840 发现卡 贷记卡 16 601128
D.F.S.I 26290840 发现卡 贷记卡 16 601131
D.F.S.I 26290840 发现卡 贷记卡 16 601136
D.F.S.I 26290840 发现卡 贷记卡 16 601137
D.F.S.I 26290840 发现卡 贷记卡 16 601138
D.F.S.I 26290840 发现卡 贷记卡 16 601140
D.F.S.I 26290840 发现卡 贷记卡 16 601142
D.F.S.I 26290840 发现卡 贷记卡 16 601143
D.F.S.I 26290840 发现卡 贷记卡 16 601144
D.F.S.I 26290840 发现卡 贷记卡 16 601145
D.F.S.I 26290840 发现卡 贷记卡 16 601146
D.F.S.I 26290840 发现卡 贷记卡 16 601147
D.F.S.I 26290840 发现卡 贷记卡 16 601148
D.F.S.I 26290840 发现卡 贷记卡 16 601149
D.F.S.I 26290840 发现卡 贷记卡 16 601174
D.F.S.I 26290840 发现卡 贷记卡 16 601177
D.F.S.I 26290840 发现卡 贷记卡 16 601178
D.F.S.I 26290840 发现卡 贷记卡 16 601179
D.F.S.I 26290840 发现卡 贷记卡 16 601186
D.F.S.I 26290840 发现卡 贷记卡 16 601187
D.F.S.I 26290840 发现卡 贷记卡 16 601188
D.F.S.I 26290840 发现卡 贷记卡 16 601189
中国银行 1040000 长城电子借记卡 借记卡 19 601382
交通银行 3010000 太平洋万事顺卡 借记卡 17 601428
交通银行 3010000 太平洋万事顺卡 借记卡 17 601428
深圳商业银行 4105840 万事顺卡 借记卡 16 602907
北京银行 4031000 京卡 借记卡 16 602969
南京市商业银行 4243010 梅花卡 借记卡 16 603128
杭州商业银行 4233310 西湖卡 借记卡 18 603367
广州市商业银行 4135810 羊城借记卡 借记卡 19 603445
苏州市商业银行 4213050 姑苏卡 借记卡 19 603506
徽商银行合肥分行 4403610 黄山卡 借记卡 17 603601
徽商银行合肥分行 4403610 黄山卡 借记卡 17 603601
徽商银行合肥分行 4403610 黄山卡 借记卡 17 603601
绍兴商业银行 4283370 兰花卡 借记卡 18 603602
常熟农村商业银行 14033055 粒金卡 借记卡 19 603694
大连商业银行 4202220 北方明珠卡 借记卡 17 603708
河北省农村信用社 信通卡 借记卡 19 621021
韩亚银行 韩亚卡 16 621201
温州商业银行 4123330 金鹿卡 借记卡 16 621977
阜新市商业银行 4672290 金通卡 借记卡 18 622126
福建省农村信用社联合社 14173900 万通 借记卡 19 622127
厦门市农村信用合作社 14173930 万通卡 借记卡 19 622127
深圳农信社 14045840 信通卡 借记卡 16 622128
深圳市农村信用合作社联合社 14045840 信通商务卡 借记卡 16 622129
淮安市商业银行 4693080 九州借记卡 借记卡 19 622131
嘉兴市商业银行 4703350 南湖借记卡 借记卡 16 622132
贵阳市商业银行 4437010 甲秀银联借记卡 借记卡 19 622133
重庆市商业银行 4416530 长江卡 借记卡 16 622134
成都商业银行 4296510 锦程卡 借记卡 19 622135
西安市商业银行 4447910 福瑞卡 借记卡 18 622136
徽商银行芜湖分行 4403620 黄山卡 借记卡 17 622137
北京农联社 14181000 信通卡 借记卡 19 622138

兰州市商业银行 4478210 敦煌国际卡 借记卡 16 622139
廊坊市商业银行 4721460 银星卡 借记卡 16 622140
泰隆城市信用社 4733450 泰隆卡 借记卡 16 622141
乌鲁木齐市商业银行 4278810 雪莲借记卡 借记卡 19 622143
青岛商行 4504520 金桥卡 借记卡 16 622146
呼市商业银行 4741910 百灵卡 借记卡 19 622147
上海银行 4012902 人民币申卡贷记卡金卡 贷记卡 16 622148
上海银行 4012902 人民币申卡贷记卡普通卡 贷记卡 16 622149
国家邮政局 1000000 绿卡银联标准卡 借记卡 19 622150
国家邮政局 1000000 绿卡银联标准卡 借记卡 19 622151
成都市商业银行 4296510 锦程卡金卡 借记卡 19 622152
成都市商业银行 4296510 锦程卡定活一卡通金卡 借记卡 19 622153
成都市商业银行 4296510 锦程卡定活一卡通 借记卡 19 622154
深圳市商业银行 4105841 深圳市商业银行信用卡 贷记卡 16 622155
深圳市商业银行 4105841 深圳市商业银行信用卡 贷记卡 16 622156
包头市商业银行 4791921 包头市商业银行借记卡 借记卡 16 622165
中国建设银行 1050000 龙卡人民币信用卡 贷记卡 16 622166
中国建设银行 1050000 龙卡人民币信用金卡 贷记卡 16 622168
湖南省农村信用社联合社 14385500 福祥借记卡 借记卡 19 622169
吉林市商业银行 4512421 信用卡 贷记卡 16 622178
吉林市商业银行 4512421 信用卡 贷记卡 16 622179
福建省农村信用社联合社 14173900 万通 借记卡 19 622184
国家邮政局 1000000 绿卡银联标准卡 借记卡 19 622188
国家邮政局 1000000 绿卡银联标准卡 借记卡 19 622199
中国工商银行 1020000 灵通卡 借记卡 19 622200
中国工商银行 1020000 E时代卡 借记卡 19 622202
中国工商银行 1020000 E时代卡 借记卡 19 622203
中国工商银行 1020000 理财金卡 借记卡 19 622208
中国工商银行 1020000 准贷记卡 准贷记卡 16 622210
中国工商银行 1020000 准贷记卡 准贷记卡 16 622211
中国工商银行 1020000 准贷记卡 准贷记卡 16 622212
中国工商银行 1020000 准贷记卡 准贷记卡 16 622213
中国工商银行 1020000 准贷记卡 准贷记卡 16 622214
中国工商银行 1020000 准贷记卡 准贷记卡 16 622215
中国工商银行 1020000 准贷记卡 准贷记卡 16 622220
中国工商银行 1020000 准贷记卡 准贷记卡 16 622225
中国工商银行 1020000 贷记卡 贷记卡 16 622230
中国工商银行 1020000 贷记卡 贷记卡 16 622235
中国工商银行 1020000 贷记卡 贷记卡 16 622240
中国工商银行 1020000 贷记卡 贷记卡 16 622245
交行太平洋卡中心 3010000 太平洋人民币贷记卡 贷记卡 16 622250
交行太平洋卡中心 3010000 太平洋人民币贷记卡 贷记卡 16 622251
交行太平洋卡中心 3010000 太平洋人民币贷记卡 贷记卡 16 622252
交行太平洋卡中心 3010000 太平洋人民币贷记卡 贷记卡 16 622253
交通银行 3010000 太平洋人民币准贷记卡 准贷记卡 16 622254
交通银行 3010000 太平洋人民币借记卡 借记卡 17 622258
交通银行 3010000 太平洋人民币借记卡 借记卡 17 622259
交通银行 3010000 太平洋人民币借记卡 借记卡 19 622260
交通银行 3010000 太平洋人民币借记卡 借记卡 19 622261
建设银行 1050000 622280银联储蓄卡 借记卡 19 622280
柳州市商业银行 4956140 龙城卡 借记卡 18 622291
柳州市商业银行 4956140 龙城卡 借记卡 18 622292
湖州市商业银行 4753360 百合卡 借记卡 19 622301
佛山市禅城区农村信用联社 14275880 信通卡 借记卡 16 622302
南京市商业银行 4240001 梅花贷记卡 贷记卡 16 622303

南京市商业银行 4243010 梅花借记卡 借记卡 16 622305
九江市商业银行 4544240 庐山卡 借记卡 19 622307
昆明商业银行 4667310 春城卡 借记卡 17 622308
西宁市商业银行 4588510 三江银行卡 借记卡 17 622310
淄博市商业银行 3134530 金达借记卡 借记卡 17 622311
徐州市郊农村信用合作联社 14113030 信通卡 借记卡 16 622312
宁波市商业银行 4083320 汇通卡 借记卡 16 622316
宁波市商业银行 4083329 汇通卡 贷记卡 16 622318
山东农村信用联合社 14144500 信通卡 借记卡 16 622319
台州市商业银行 4593450 大唐贷记卡 贷记卡 16 622321
顺德农信社 14085883 恒通卡 借记卡 16 622322
常熟农村商业银行 14033055 粒金借记卡 借记卡 19 622323
江苏农信 14243000 圆鼎卡 借记卡 19 622324
武汉市商业银行 4145210 九通卡 借记卡 16 622325
徽商银行马鞍山分行 4403650 黄山卡 借记卡 17 622327
东莞农村信用合作社 14156020 信通卡 借记卡 19 622328
天津市农村信用社 14191100 信通借记卡 借记卡 19 622329
天津市商业银行 4341100 津卡 借记卡 18 622331
张家港市农村商业银行 14163056 一卡通 借记卡 17 622332
东莞市商业银行 4256020 万顺通卡 借记卡 16 622333
南宁市商业银行 4786110 桂花卡 借记卡 16 622335
包头市商业银行 4791920 雄鹰卡 借记卡 17 622336
连云港市商业银行 4803070 金猴神通借记卡 借记卡 16 622337
焦作市商业银行 4115010 月季借记卡 借记卡 19 622338
鄞州农村合作银行 14203320 蜜蜂借记卡 借记卡 16 622339
徽商银行淮北分行 4403660 黄山卡 借记卡 17 622340
江阴农村商业银行 14123022 合作借记卡 借记卡 16 622341
攀枝花市商业银行 4836560 攀枝花卡 借记卡 19 622342
佛山市三水区农村信用合作社 14215881 信通卡 借记卡 19 622343
成都农信社 14226510 天府借记卡 借记卡 19 622345
中国银行 香港 人民币信用卡金卡 信用卡 16 622346
中国银行 香港 人民币信用卡普通卡 信用卡 16 622347
中国银行 香港 中银卡 借记卡 16 622348
南洋商业银行 47980344 人民币信用卡金卡 信用卡 16 622349
南洋商业银行 47980344 人民币信用卡普通卡 信用卡 16 622350
南洋商业银行 47980344 中银卡 借记卡 16 622351
集友银行 47980344 人民币信用卡金卡 信用卡 16 622352
集友银行 47980344 人民币信用卡普通卡 信用卡 16 622353
集友银行 47980344 中银卡 借记卡 16 622355
沧州农信社 14231430 信通卡 借记卡 19 622358
临沂市商业银行 3134730 沂蒙卡 借记卡 19 622359
香港上海汇丰银行有限公司 25120344 人民币卡 信用卡 16 622360
香港上海汇丰银行有限公司 25120344 人民币金卡 信用卡 16 622361
中山市农村信用合作社 14326030 信通卡 借记卡 19 622362
珠海市商业银行 4375850 万事顺卡 借记卡 19 622363
东亚银行有限公司 25020344 电子网络人民币卡 借记卡 17 622365
徽商银行安庆分行 4403680 黄山卡 借记卡 17 622366
绵阳市商业银行 4856590 科技城卡 借记卡 19 622367
长沙市商业银行 4615510 芙蓉卡 借记卡 19 622368
昆明市农村信用联社 14097310 金碧一卡通 借记卡 16 622369
泉州市商业银行 4643970 海峡银联卡 借记卡 19 622370
花旗银行有限公司 25030344 花旗人民币信用卡 信用卡 16 622371
大新银行有限公司 25040344 大新人民币信用卡普通卡 信用卡 16 622373
大新银行有限公司 25040344 人民币借记卡 借记卡 17 622375
恒生银行有限公司 25050344 恒生人民币信用卡 信用卡 16 622376
恒生银行有限公司 25050344 恒生人民币金卡 信用卡 16 622377

恒生银行有限公司 25050344 恒生人民币白金卡 信用卡 16 622378
济南市商业银行 3134510 齐鲁卡 借记卡 19 622379
美国银行 亚洲 人民币卡 借记卡 16 622382
大连市商业银行 4202221 大连市商业银行贷记卡 贷记卡 16 622383
恒丰银行 3114560 九州借记卡 借记卡 17 622384
大连市商业银行 4202221 大连市商业银行贷记卡 贷记卡 16 622385
上海商业银行 25090344 人民币信用卡 信用卡 16 622386
永隆银行有限公司 25100344 永隆人民币信用卡 信用卡 16 622387
福州市商业银行 4053910 榕城卡 借记卡 16 622388
宁波鄞州农村合作银行 14203323 蜜蜂贷记卡 贷记卡 16 622389
潍坊商业银行 3134580 鸢都卡 借记卡 16 622391
泸州市商业银行 4866570 酒城卡 借记卡 19 622392
厦门市商业银行 3133930 银鹭借记卡 借记卡 16 622393
镇江市商业银行 4073140 金山灵通卡 借记卡 16 622394
大同市商业银行 4871620 云冈卡 储蓄卡 19 622395
宜昌市商业银行 4325260 三峡卡 借记卡 17 622396
宜昌市商业银行 4325261 信用卡 信用卡 16 622397
葫芦岛市商业银行 一通卡 借记卡 16 622398
辽阳市商业银行 4192310 新兴卡 借记卡 17 622399
营口市商业银行 4652280 辽河一卡通 借记卡 17 622400
香港上海汇丰银行有限公司 25130344 ATM Card 借记卡 17 622406
香港上海汇丰银行有限公司 25130344 ATM Card 借记卡 19 622407
威海市商业银行 4814650 通达卡 借记卡 16 622411
湖北农信社 14105200 信通卡 借记卡 16 622412
鞍山市商业银行 4562230 千山卡 借记卡 16 622413
丹东商行 4462260 银杏卡 借记卡 16 622415
南通市商业银行 4523060 金桥卡 借记卡 16 622418
洛阳市商业银行 4184930 都市一卡通 借记卡 17 622420
郑州商业银行 4354910 世纪一卡通 借记卡 19 622421
扬州市商业银行 4533120 绿扬卡 借记卡 16 622422
永隆银行有限公司 25100344 永隆人民币信用卡 信用卡 16 622423
哈尔滨市商业银行 4422610 丁香借记卡 借记卡 17 622425
天津市商业银行 4341100 津卡贷记卡 贷记卡 16 622426
台州市商业银行 4593451 大唐卡 借记卡 16 622427
银川市商业银行 4368710 如意卡 贷记卡 16 622428
银川市商业银行 4368710 如意借记卡 借记卡 19 622429
大西洋银行股份有限公司 26230446 澳门币卡 借记卡 19 622432
澳门国际银行 26220446 人民币卡 借记卡 19 622434
澳门国际银行 26220446 港币卡 借记卡 19 622435
澳门国际银行 26220446 澳门币卡 借记卡 19 622436
广州农村信用合作社 14055810 麒麟储蓄卡 借记卡 18 622439
吉林市商业银行 4512420 雾凇卡 借记卡 16 622440
三门峡市城市信用社 4885050 天鹅卡 借记卡 16 622441
抚顺市商业银行 4302240 绿叶卡 借记卡 17 622442
昆山农村信用合作社联合社 14023052 江通卡 借记卡 19 622443
常州商业银行 4683040 月季卡 借记卡 16 622447
湛江市商业银行 4895910 南珠卡 借记卡 16 622448
金华市商业银行 4263380 双龙借记卡 借记卡 16 622449
金华市商业银行 4263380 双龙贷记卡 贷记卡 16 622450
大新银行有限公司 25040344 大新人民币信用卡金卡 信用卡 16 622451
江苏农信社 14243000 圆鼎卡 借记卡 19 622452
中信嘉华银行有限公司 25160344 人民币信用卡金卡 信用卡 16 622453
中信嘉华银行有限公司 25160344 人民币信用卡普通卡 信用卡 16 622456
中信嘉华银行有限公司 25160344 人民币借记卡 借记卡 17 622459
常熟市农村商业银行 14030001 粒金贷记卡 贷记卡 16 622462
廖创兴银行有限公司 25170344 港币借记卡 借记卡 19 622463

沈阳市商业银行 4172211 玫瑰卡 贷记卡 16 622466
广州市商业银行 4135810 羊城借记卡 借记卡 19 622467
上海银行 4012900 申卡 借记卡 18 622468
江门市新会农信社 14255890 信通卡 借记卡 19 622470
东亚银行有限公司 25020344 人民币信用卡 信用卡 16 622471
东亚银行有限公司 25020344 人民币信用卡金卡 信用卡 16 622472
乌鲁木齐市商业银行 4270001 雪莲贷记卡 贷记卡 16 622476
高要市农村信用联社 14265930 信通卡 借记卡 19 622477
上海市农村信用合作社联社 4022900 如意卡 借记卡 16 622478
江阴市农村商业银行 14123020 合作贷记卡 贷记卡 16 622481
无锡市商业银行 4453020 太湖金保卡 借记卡 18 622485
绍兴市商业银行 4283370 兰花卡 借记卡 16 622486
星展银行 香港 银联人民币银行卡 借记卡 17 622487
星展银行 香港 银联人民币银行卡 借记卡 16 622487
吴江农村商业银行 14283050 垂虹卡 借记卡 16 622488
大新银行有限公司 25040344 借记卡 借记卡 17 622489
星展银行 香港 银联人民币银行卡 借记卡 17 622490
星展银行 香港 银联人民币银行卡 借记卡 16 622490
星展银行 香港 银联港币银行卡 借记卡 17 622491
星展银行 香港 银联银行卡 借记卡 16 622491
星展银行 香港 银联港币银行卡 借记卡 17 622492
星展银行 香港 银联银行卡 借记卡 16 622492
AEON信贷财务 亚洲 AEON JUSCO银联卡 港币贷卡 16 622493
Travelex 26040344 Travelex港币卡 借记卡 16 622495
Travelex 26040344 Travelex美元卡 借记卡 16 622496
石家庄市商业银行 4221210 如意借记卡 借记卡 19 622498
石家庄市商业银行 4221210 如意借记卡 借记卡 19 622499
上海浦东发展银行 3100000 东方卡 信用卡 16 622500
陕西省农村信用社联合社 14427900 陕西信合富泰卡 借记卡 19 622506
高要市农村信用合作社联社 14265930 信通白金卡 借记卡 19 622509
高要市农村信用合作社联社 14265930 信通金卡 借记卡 19 622510
上海浦东发展银行 3100000 东方-轻松理财卡白金卡 贷记卡 16 622516
上海浦东发展银行 3100000 东方-轻松理财卡普卡 贷记卡 16 622517
上海浦东发展银行 3100000 东方-轻松理财卡钻石卡 贷记卡 16 622518
上海浦东发展银行 3100000 东方-新标准准贷记卡 准贷记卡 16 622519
上海浦东发展银行 3100000 东方卡 借记卡 16 622521
上海浦东发展银行 3100000 东方卡 借记卡 16 622522
上海浦东发展银行 3100000 东方卡 贷记卡 16 622523
深圳发展银行 3070000 人民币信用卡金卡 贷记卡 16 622525
深圳发展银行 3070000 人民币信用卡普卡 贷记卡 16 622526
深圳发展银行 3070010 发展卡 借记卡 16 622538
大丰银行有限公司 25250446 人民币借记卡 借记卡 19 622546
大丰银行有限公司 25250446 港币借记卡 借记卡 19 622547
大丰银行有限公司 25250446 澳门币借记卡 借记卡 19 622548
哈萨克斯坦国民储蓄银行 26330398 Halykbank Classic 借记卡 16 622549
哈萨克斯坦国民储蓄银行 26330398 Halykbank Golden 借记卡 16 622550
德阳市商业银行 4986580 锦程卡定活一卡通白金卡 借记卡 19 622561
德阳市商业银行 4986580 锦程卡定活一卡通金卡 借记卡 19 622562
德阳市商业银行 4986580 锦程卡定活一卡通 借记卡 19 622563
招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622575
招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622576
招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622577
招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622578

招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622579
招商银行银行 3080000 一卡通 借记卡 16 622580
招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622581
招商银行银行 3080000 招商银行银行信用卡 贷记卡 16 622582
招商银行银行 3080000 一卡通 借记卡 16 622588
招商银行银行 3080000 公司卡 借记卡 16 622598
民生银行 3050001 民生信用卡 贷记卡 16 622600
民生银行 3050001 民生信用卡 贷记卡 16 622601
中国民生银行 3050001 民生银联白金信用卡 贷记卡 16 622602
中国民生银行 3050001 民生银联商务信用卡 贷记卡 16 622603
民生银行 3050000 民生借记卡 借记卡 16 622615
中国民生银行 3050000 民生借记卡 借记卡 16 622617
中国民生银行 3050000 民生借记卡 借记卡 16 622619
中国民生银行 3050000 民生借记卡 借记卡 16 622622
华夏银行 3040000 华夏卡 借记卡 16 622630
华夏银行 3040000 华夏至尊金卡 借记卡 16 622631
华夏银行 3040000 华夏丽人卡 借记卡 16 622632
华夏银行 3040000 华夏万通卡 借记卡 16 622633
中国光大银行 3030000 炎黄卡普卡 贷记卡 16 622650
中国光大银行 3030000 炎黄卡白金卡 贷记卡 16 622655
中国光大银行 3030000 炎黄卡金卡 贷记卡 16 622658
光大银行 3030000 阳光卡 借记卡 16 622660
中信实业银行信用卡中心 3020000 中信银联标准贷记卡 贷记卡 16 622678
中信实业银行信用卡中心 3020000 中信银联标准贷记卡 贷记卡 16 622679
中信实业银行信用卡中心 3020000 中信银联标准贷记卡 贷记卡 16 622680
江西省农村信用社联合社 14394200 百福卡 借记卡 19 622681
江西省农村信用社联合社 14394200 百福卡 借记卡 19 622682
渤海银行 3170000 渤海银行公司借记卡 借记卡 16 622684
中信实业银行信用卡中心 3020000 中信银联标准贷记卡 贷记卡 16 622688
中信实业银行信用卡中心 3020000 中信银联标准贷记卡 贷记卡 16 622689
中信实业银行 3020000 中信借记卡 借记卡 16 622690
中信实业银行 3020000 中信借记卡 借记卡 16 622691
中信实业银行 3020000 中信贵宾卡 借记卡 16 622692
中信银行 3020000 中信理财宝金卡 借记卡 16 622696
中信银行 3020000 中信理财宝白金卡 借记卡 16 622698
建设银行 1050000 龙卡储蓄卡 借记卡 19 622700
中国建设银行 1050000 龙卡准贷记卡 准贷记卡 16 622725
中国建设银行 1050000 龙卡准贷记卡金卡 准贷记卡 16 622728
中国银行澳门分行 1040446 人民币信用卡 信用卡 16 622750
中国银行澳门分行 1040446 人民币信用卡 信用卡 16 622751
中国银行 1040000 长城人民币信用卡-个人普卡 准贷记卡 16 622752
中国银行 1040000 长城人民币信用卡-个人金卡 准贷记卡 16 622753
中国银行 1040000 长城人民币信用卡-专用卡普卡 准贷记卡 16 622754
中国银行 1040000 长城人民币信用卡-员工金卡 准贷记卡 16 622755
中国银行 1040000 长城人民币信用卡-员工金卡 准贷记卡 16 622756
中国银行 1040000 长城人民币信用卡-员工金卡 准贷记卡 16 622757
中国银行 1040000 长城人民币信用卡-单位普卡 准贷记卡 16 622758
中国银行 1040000 长城人民币信用卡-单位金卡 准贷记卡 16 622759
中国银行 1040000 银联单币贷记卡 贷记卡 16 622760
中国银行 1040000 长城信用卡 准贷记卡 16 622761
中国银行 1040000 长城信用卡 准贷记卡 16 622762
中国银行 1040000 长城信用卡 准贷记卡 16 622763
中国银行澳门分行 1040446 中银卡 借记卡 19 622770
曲靖市商业银行 5027360 珠江源卡 借记卡 16 622777

农业银行 1030000 金穗校园卡 借记卡 19 622821
农业银行 1030000 金穗星座卡 借记卡 19 622822
农业银行 1030000 金穗社保卡 借记卡 19 622823
农业银行 1030000 金穗旅游卡 借记卡 19 622824
农业银行 1030000 金穗青年卡 借记卡 19 622825
农业银行 1030000 复合介质金穗通宝卡 借记卡 19 622826
农业银行 1030000 金穗贷记卡 贷记卡 16 622836
农业银行 1030000 金穗贷记卡 贷记卡 16 622837
农业银行 1030000 金穗通宝卡 借记卡 19 622840
农业银行 1030000 金穗通宝卡 借记卡 19 622844
农业银行 1030000 金穗通宝卡 借记卡 19 622845
中国农业银行 1030000 金穗通宝卡 借记卡 19 622846
农业银行 1030000 金穗通宝卡 借记卡 19 622847
农业银行 1030000 金穗通宝卡 借记卡 19 622848
江苏东吴农村商业银行 14303050 新苏卡 借记卡 19 622855
桂林市商业银行 4916170 漓江卡 借记卡 17 622856
日照市商业银行 3134732 黄海卡 借记卡 19 622857
浙江省农村信用社联社 14293300 丰收卡 借记卡 19 622858
珠海农村信用合作联社 14315850 信通卡 借记卡 19 622859
大庆市商业银行 4922690 玉兔卡 借记卡 16 622860
澳门永亨银行股份有限公司 26080446 人民币卡 借记卡 16 622861
莱芜市商业银行 4974634 金凤卡 借记卡 16 622864
长春市商业银行 4062410 君子兰一卡通 借记卡 19 622865
徐州市商业银行 4943030 彭城借记卡 借记卡 16 622866
重庆市农村信用社联合社 14136530 信合平安卡 借记卡 16 622867
太仓农村商业银行 14333051 郑和卡 借记卡 19 622869
靖江市长江城市信用社 4933120 长江卡 借记卡 16 622870
永亨银行 25060344 永亨尊贵理财卡 借记卡 16 622871
徽商银行 4403600 黄山卡 借记卡 19 622877
杭州市商业银行 4233310 西湖卡 借记卡 18 622878
徽商银行 4403600 黄山卡 借记卡 19 622879
柳州市商业银行 4956140 龙城卡 借记卡 16 622880
柳州市商业银行 4956140 龙城卡 借记卡 16 622881
尧都区农村信用合作社联社 14341770 天河卡 借记卡 19 622882
渤海银行 3170000 渤海银行借记卡 借记卡 16 622884
重庆市农村信用社联合社 14136530 信合希望卡 借记卡 16 622885
烟台市商业银行 3134560 金通卡 借记卡 16 622886
武进农村商业银行 14353041 阳湖卡 借记卡 19 622891
上海银行 4012900 申卡借记卡 借记卡 18 622892
贵州省农村信用社联合社 14367000 信合卡 借记卡 19 622893
江苏锡州农村商业银行 14373020 金阿福 借记卡 16 622895
中外合资.南充市商业银行 4966730 熊猫团团卡 借记卡 19 622897
长沙市商业银行 4615511 芙蓉贷记卡 贷记卡 16 622898
长沙市商业银行 4615511 芙蓉贷记卡 贷记卡 16 622900
兴业银行 3090010 银联信用卡 贷记卡 16 622901
兴业银行 3090000 兴业自然人生理财卡 借记卡 18 622908
兴业银行 3090002 万能卡 借记卡 16 622909
石嘴山城市信用社 麒麟卡 16 622940
张家口市商业银行 好运卡 借记卡 19 622982
交通银行 太平洋卡 公务卡 16 628218
中国工商银行 1020000 公务卡 16 628288
中国建设银行 1050000 公务卡 16 628366
大庆市商业银行 公务卡 16 628368
26290840 发现卡 贷记卡 16 650600
26290840 发现卡 贷记卡 16 650700
26290840 发现卡 贷记卡 16 650800
26290840 发现卡 贷记卡 16 650900
上海银行 4012900 上海明珠卡 借记卡 18 682900
泉州市商业银行 4643970 海峡储蓄卡 借记卡 18 683970
广东发展银行 3060000 广发VISA信用卡 信用卡 16 685800

广东发展银行 3060000 广发理财通 借记卡 18 685800
广东发展银行 3060000 广发信用卡 信用卡 16 685800
招商银行 3080000 招商银行银行一卡通 储蓄卡 15 690755
招商银行 3080000 招商银行银行一卡通 储蓄卡 18 690755
长沙市商业银行 4615510 芙蓉卡 借记卡 18 694301
南通商业银行 4523060 金桥卡 借记卡 18 695800
浦东发展银行 3100000 东方卡 借记卡 16 843010
浦东发展银行 3100000 东方卡 借记卡 16 843360
浦东发展银行 3100000 东方卡 借记卡 16 843420
浦东发展银行 3100000 东方卡 借记卡 16 843610
浦东发展银行 3100000 东方卡 借记卡 16 843730
浦东发展银行 3100000 东方卡 借记卡 16 843800
浦东发展银行 3100000 东方卡 借记卡 16 843850
浦东发展银行 3100000 东方卡 借记卡 16 843900
浦东发展银行 3100000 东方卡 借记卡 16 870000
浦东发展银行 3100000 东方卡 借记卡 16 870100
浦东发展银行 3100000 东方卡 借记卡 16 870300
浦东发展银行 3100000 东方卡 借记卡 16 870400
浦东发展银行 3100000 东方卡 借记卡 16 870500
贵阳市商业银行 4437010 甲秀卡 借记卡 16 888000
郑州市商业银行 世纪一卡通 借记卡 17 940056
工商银行 1020000 牡丹银联灵通卡-个人普卡 借记卡 16 955880
工商银行 1020000 牡丹银联灵通卡-个人普卡 借记卡 16 955881
工商银行 1020000 牡丹银联灵通卡-个人金卡 借记卡 16 955882
工商银行 1020000 牡丹银联理财金卡 借记卡 16 955888
上海浦东发展银行 3100000 东方卡 借记卡 16 984301
深圳发展银行 3070010 发展卡 借记卡 16 998800

中国银行卡号规则

银行卡的卡号是标识发卡机构和持卡人信息的号码,由以下三部分组成:发卡行标识代码(BIN号)、发卡行自定义位、校验码

银行卡号的前6位是BIN号,是bank identification number的缩写,由国际标准化组织(ISO)分配给各从事跨行转接交换的银行卡组织。一般地:

4字头——VISA;
5字头——Mastercard;
62——中国银联;
3字头——运通、JCB等。

发卡行自定义位长度可以是6-12位,一般可能会包含银行内部分行标识,比如第6-7位,01代表北京地区的卡,其余的就是随即生成了。

后卡号末位的校验码,具有一定的计算规则,用于防伪。 银联标准卡符合中国银联标准,使用中国银联分配的BIN码(目前为622126-622925,共800个),可以在中国银联支付网络范围和协议网络下使用。目前可以在国内和欧美、日韩东南亚、澳洲等国使用。

银联标识卡目前有三类,一类是人民币单币(9字冠),由各发卡机构发行,在国内和海外网络同银联标准卡使用,但明确将被银联标准卡代替。 第二类是人民币卡(6字冠为多),由中国工商银行(62字冠)、中国农业银行(63字冠)、中国银行(8字冠),中国建设银行(65字冠)和交通银行(66字冠)。以上都已经基本停止使用。当时的各地方商业银行和邮政储汇局(60字冠)在改造的基础上部分被纳入中国银联卡体系管理。将来将过渡到银联标准卡。 第三类是使用VISA、万事达、JCB、美国运通等组织BIN码(3、4、5字冠)的银行卡,一般都具有双币种账户,目前国家正在讨论有关标准,不确定未来发展。而有些使用这类BIN码的人民币卡则一定会转为银联标准卡(主要是借记卡和准贷记卡)。

根据xml生成xsd再生成 javabean

JAXB官网:http://jaxb.java.net/

API链接 :http://jaxb.java.net/nonav/2.2.5/docs/api/

文档 :http://jaxb.java.net/tutorial/

  1. 利用trang.jar将Xml 转换成xsd
    Trang 是一种命令行的可以XML生成XSD的工具,生成XML文件对应的XSD文件只需要3个简单的步骤:下载地址:https://github.com/relaxng/jing-trang/release
  2. java -jar trang.jar data.xml data.xsd (trang.jar 接受两个参数,第一个为源文件,第二个为目标文件)
  3. Jaxb将xsd转成Bean;xjc 为 JDK 自带工具
    进入到你的xsd的文件夹下:
    xjc -p 包的路径 xsd的名字.xsd -d 目标的文件夹

Linux共享内存实现机制的详解

内存共享: 两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。

效率: 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建 立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存中的内容往往是在解除映射时才写回 文件的。因此,采用共享内存的通信方式效率是非常高的。

共享内存实现机制 

共享内存是通过把同一块内存分别映射到不同的进程空间中实现进程间通信。而共享内存本身不带任何互斥与同步机制,但当多个进程同时对同一内存进行读写操作时会破坏该内存的内容,所以,在实际中,同步与互斥机制需要用户来完成。 
来看几个系统调用函数: 

(1)创建共享内存


 
参数:key为输出型参数 
size:size的大小应为1024整数倍(4k对齐) 
shmflg:权限标志

(2)将共享内存映射到自己的内存空间:shmat 

shmat是空间映射,通过创建的共享内存,在它能被进程访问之前,需要把该段内存映射到用户进程空间。shmaddr是用来指定共享内存映射到当前进程中的地址位置,要想改设置有用,shmflag必须设置为SHM_RND标志。大多情况下,应设置为空指针(void*)0,让系统自动选择地址,从而减小程序对硬件的依赖性。shmflag除了上面的设置外,还可以设置为SHM_RDONLY,使得映射过来的地址只读。 
返回值:调用成功则返回映射地址的第一个字节,失败返回-1。 
(3)解除映射:shmdt


 
参数为要解除的地址空间。 

(4)控制共享内存 
 
先来看第三个参数的结构体: 
 
 
第二个参数cmd的选项:IPC_STAT:得到共享内存的状态,把共享内存的shmid_ds结构体复制到buf里 

IPC_SET:改变共享内存的状态,把buf所指的结构体中的uid,gid,mode,复制到共享内存的shmid_ds结构体内 
IPC_RMID:删除这块共享内存 
BUF:共此内存管理结构体

代码实现: 

共享内存的特点:

(1)共享内存就是允许两个不想关的进程访问同一个内存 
(2)共享内存是两个正在运行的进程之间共享和传递数据的最有效的方式 
(3)不同进程之间共享的内存通常安排为同一段物理内存 
(4)共享内存不提供任何互斥和同步机制,一般用信号量对临界资源进行保护。 
(5)接口简单

所有进程间通信的特点: 

(1)管道 

管道分为命名管道和匿名管道。匿名管道只能单向通信,且只能在有亲缘关系的进程间使用,常用于父子进程,当一个进程创建了一个管道,并调用fork创建子进程后,父进程关闭读端,子进程关闭写端,实现单向通信。管道是面向字节流,自带互斥与同步机制,生命周期随进程。 
命名管道与匿名管道:命名管道允许毫不相干的两个进程之间

(2)信号量 

信号量是一个计数器,可以用来控制多个线程对共享资源的访问,它不是用于交换大批数据,而用于多线程之间的同步,常作为一种锁机制,防止某进程在访问资源时其他进程也来访问,因此,主要作为进程间以及同一进程的不同线程间的同步手段。

(3)消息队列 

消息队列是消息的链表,存放在内核中并由消息队列标识符标识,消息队列克服了信号传递信息少,管道只能承载无格式字节流以及缓冲区受限等特点。消息队列是UNIX下不同进程之间可以实现资源共享的 一种机制,UNIX允许不同进程将格式化的数据流以消息队列形式发送给任意进程,对消息队列具有操作权限的进程都可以使用msgget完成对消息队列的操作控制,通过使用消息类型,进程可以按顺序读信息,或为消息安排优先级顺序。

(4)共享内存 

共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问,共享内存是最快的IPC方式,它是针对其他IPC方式运行效率低而专门设计的,它往往与其他机制,如信号量,配合使用,来实现进程间的同步。

    以上就是Linux共享内存实现机制的内容详细介绍,大家可以参考下,如果有疑问的可以到本站留言,进行讨论。感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Java GC Root

GC管理的主要区域是Java堆,一般情况下只针对堆进行垃圾回收。方法区、栈和本地方法区不被GC所管理,因而选择这些区域内的对象作为GC roots,被GC roots引用的对象不被GC回收。

GC Root

常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。

一个对象可以属于多个root,GC root有几下种:

  • Class – 由系统类加载器(system class loader)加载的对象,这些类是不能够被回收的,他们可以以静态字段的方式保存持有其它对象。我们需要注意的一点就是,通过用户自定义的类加载器加载的类,除非相应的java.lang.Class实例以其它的某种(或多种)方式成为roots,否则它们并不是roots,.
  • Thread – 活着的线程
  • Stack Local – Java方法的local变量或参数
  • JNI Local – JNI方法的local变量或参数
  • JNI Global – 全局JNI引用
  • Monitor Used – 用于同步的监控对象
  • Held by JVM – 用于JVM特殊目的由GC保留的对象,但实际上这个与JVM的实现是有关的。可能已知的一些类型是:系统类加载器、一些JVM知道的重要的异常类、一些用于处理异常的预分配对象以及一些自定义的类加载器等。然而,JVM并没有为这些对象提供其它的信息,因此需要去确定哪些是属于”JVM持有”的了。

看java 代码的时候,很多人都会看见用完一个树或者链表后 head = null;这样的代码。有人说为了加快gc,这里为你揭秘为什么这么写。
代码一定要跑,别的不重要。
代码一定要跑,别的不重要。
代码一定要跑,别的不重要。

  • 首先来看看名词的含义,GC(Garbage Collection )
  • root 根,这个root是不是很熟悉,root用户,数据结构中树的顶级节点
    也叫 root。
  • roots 自然就是多个root了。
  • 从我们熟悉的root里有两个概念,一个是用户,一个是节点,
  • 在GC 里的含义和树里的含义差不多,开始或者顶级的节点。
    概念大概就这样,然后我们看看怎么去理解这个东西。
  • 不知道或者不熟悉的同学可以看这里 点这里了解树

怎么遍历这棵树这里就不阐述了。这里的每个节点你可以理解成每个类里的属性。

下面开始做理解gc roots

这里摘抄R大的一些回答

root大概有这些
所有Java线程当前活跃的栈帧里指向GC堆里的对象的引用;换句话说,当前所有正在被调用的方法的引用类型的参数/局部变量/临时值。
VM的一些静态数据结构里指向GC堆里的对象的引用,例如说HotSpot VM里的Universe里有很多这样的引用。
JNI handles,包括global handles和local handles(看情况)
所有当前被加载的Java类(看情况)
Java类的引用类型静态变量(看情况)
Java类的运行时常量池里的引用类型常量(String或Class类型)(看情况)
String常量池(StringTable)里的引用
所有Java线程当前活跃的栈帧,静态引用等指向GC堆里的对象的引用;换句话说,当前所有正在被调用的方法的引用类型的参数/局部变量/临时值。

假设hashMap 在扩容的时候,正巧发生了gc,在标记阶段,要找出所有的root,这里的 oldTab 就是root,通过这个root,然后遍历他的所有属性,如果它里面的内容不为null 我们继续遍历内容里的对象字段是否为null,标记出所有不为null的节点。继续下图,子节点

静态引用这样的代码也会成为root

private static Object objoct;
这里可以看到Node里还有Node,标记的时候就这这样,遍历每个属性的子属性,一直到遍历完,则这些被标记的为有引用的。gc标记的过程就是一棵树在遍历他所有的节点,这样应该很清楚了吧。最后没有被标记的就给清楚掉。
/**
 * @author 铁拳阿牛
 * @createTime 2018/7/14 下午3:33
 **/
public class Node {

    private Object object;
       //如果这个Node被引用他的属性又被引用,属性为对象且不为null,这样一直遍历下去,
     
    private Node node;
}

理论扯完了,接下来实践


/**
 * @author 铁拳阿牛
 * @createTime 2018/7/14 下午3:46
 *
 * 请把以下参数设置到jvm里
 * -Xmx4000M -Xms4000M -Xmn1300M  -XX:+UseParNewGC  -XX:+UseConcMarkSweepGC  -XX:+UseCMSInitiatingOccupancyOnly  -XX:CMSInitiatingOccupancyFraction=75 -XX:+PrintGCDetails
 **/
public class Test {

    private static final int _1MB = 1024 * 1024;

    private static final int LENGTH = 40000000;

    public static void main(String[] args) {
        Node next = null;
        for(int i = 0; i <= LENGTH; i++){
            Node node = new Node(i,next);
            next = node;
        }
        //如果不设置为null这里将会又大批量的遍历,打开这里和不打开这里,gc时间完全不一样,现在你直到为什么要设置为null了吗?
//        next = null;
        triggerGC();
    }

    /**
     * 不触发gc看不见效果
     * new 很多小对象。不然直接到 old区去了。
     */
    private static void triggerGC(){
//        byte[] all = new byte[2000 * _1MB]; //这里为什么没又直接new 一个大对象?它可能直接就到old区去了。
        for(int i = 0 ; i < 500 ; i++){
            byte[] bytes = new byte[2 * _1MB];
        }
    }

    //POJO 不用看这里
    static class Node {
        
        private int valuel;
        
        private Node node;
        
        public Node(int valuel, Node node) {
            this.valuel = valuel;
            this.node = node;
        }

        public int getValuel() {
            return valuel;
        }

        public void setValuel(int valuel) {
            this.valuel = valuel;
        }

        public Node getNode() {
            return node;
        }

        public void setNode(Node node) {
            this.node = node;
        }
    }

}

第一次我们要把eden 的空间尽可能的占满将这两行代码注释掉,发现eden已经用了94% 很不错。

//        next = null;
//        triggerGC();
~~~~~~~~~~~~~~~~~
Heap
 par new generation   total 1198080K, used 1001063K [0x00000006c6000000, 0x0000000717400000, 0x0000000717400000)
  eden space 1064960K,  94% used [0x00000006c6000000, 0x0000000703199e78, 0x0000000707000000)
  from space 133120K,   0% used [0x0000000707000000, 0x0000000707000000, 0x000000070f200000)
  to   space 133120K,   0% used [0x000000070f200000, 0x000000070f200000, 0x0000000717400000)
 concurrent mark-sweep generation total 2764800K, used 0K [0x0000000717400000, 0x00000007c0000000, 0x00000007c0000000)
 Metaspace       used 2674K, capacity 4486K, committed 4864K, reserved 1056768K
  class space    used 288K, capacity 386K, committed 512K, reserved 1048576K

然后我们开始测试了,发现gc时间非常的短, [Times: user=0.04 sys=0.00, real=0.01 secs] ,gc基本没有占用我们的时间。

        next = null;
        triggerGC();
~~~~~~~~~~~~~~~~~
[GC (Allocation Failure) [ParNew: 1063732K->399K(1198080K), 0.0101658 secs] 1063732K->399K(3962880K), 0.0102629 secs] [Times: user=0.04 sys=0.00, real=0.01 secs] 
Heap
 par new generation   total 1198080K, used 933048K [0x00000006c6000000, 0x0000000717400000, 0x0000000717400000)
  eden space 1064960K,  87% used [0x00000006c6000000, 0x00000006feeca630, 0x0000000707000000)
  from space 133120K,   0% used [0x000000070f200000, 0x000000070f263d38, 0x0000000717400000)
  to   space 133120K,   0% used [0x0000000707000000, 0x0000000707000000, 0x000000070f200000)
 concurrent mark-sweep generation total 2764800K, used 0K [0x0000000717400000, 0x00000007c0000000, 0x00000007c0000000)
 Metaspace       used 2674K, capacity 4486K, committed 4864K, reserved 1056768K
  class space    used 288K, capacity 386K, committed 512K, reserved 1048576K

然后我们对比测试,发现gc时间非常的短,[Times: user=145.85 sys=1.89, real=20.17 secs] ,额这个gc时间。。。

//        next = null;
        triggerGC();
~~~~~~~~~~~~~~~~~
[GC (Allocation Failure) [ParNew: 1063732K->133119K(1198080K), 20.1710025 secs] 1063732K->938404K(3962880K), 20.1710585 secs] [Times: user=145.85 sys=1.89, real=20.17 secs] 
Heap
 par new generation   total 1198080K, used 1065769K [0x00000006c6000000, 0x0000000717400000, 0x0000000717400000)
  eden space 1064960K,  87% used [0x00000006c6000000, 0x00000006feeca630, 0x0000000707000000)
  from space 133120K,  99% used [0x000000070f200000, 0x00000007173ffff8, 0x0000000717400000)
  to   space 133120K,   0% used [0x0000000707000000, 0x0000000707000000, 0x000000070f200000)
 concurrent mark-sweep generation total 2764800K, used 805284K [0x0000000717400000, 0x00000007c0000000, 0x00000007c0000000)
 Metaspace       used 2676K, capacity 4486K, committed 4864K, reserved 1056768K
  class space    used 288K, capacity 386K, committed 512K, reserved 1048576K

把这些对象标记后其他的都是要清除的,所以现在知道为什么要设置为null
了吗?就是为了加快标记阶段。如果你有个超大的map或者list的时候这样
做会有一点点帮助。(普通开发过程中基本没有必要考虑)

明白java的源码里为什么会有这些操作了吗?

程序员常用Linux命令

程序员也是半个运维了,在日常开发中经常会接触到Linux环境操作。小公司的开发人员甚至是兼了全运维的工作,下面整理了一些常用的Linux操作命令。

Linux常用指令

ls          显示文件或目录

     -l       列出文件详细信息l(list)

     -a       列出当前目录下所有文件及目录,包括隐藏的a(all)
     
mkdir         创建目录

     -p       创建目录,若无父目录,则创建p(parent)

cd            切换目录

touch         创建空文件

vim / vi      创建/编辑文件

     insert   编辑
     
     :q       退出
     
     :q!      强制退出
     
     :wq      保存并退出
     
     esc      退出编辑

echo          创建带有内容的文件

cat           查看文件内容

tar           打包压缩

     -c       建立压缩档案
     
     -x       解压缩文件
     
     -z       gzip压缩文件
     
     -j       bzip2压缩文件
     
     -v       显示所有过程
     
     -f       使用档名
    
cp            拷贝

     -r       递归拷贝目录

mv            移动或重命名

rm            删除文件

     -r       递归删除,可删除子目录及文件

     -f       强制删除
     
chmod         变更文件或目录的权限

kill          杀进程

find          在文件系统中搜索某文件

wc            统计文本中行数、字数、字符数

grep          在文本文件中查找某个字符串

rmdir         删除空目录

tree          树形结构显示目录,需要安装tree包

pwd           显示当前目录

ln            创建链接文件

date          显示系统时间

more / less   分页显示文本文件内容

head / tail   显示文件头、尾内容

sudo          用来以其他身份来执行命令,预设的身份为root

su            换当前用户身份到其他用户身份

stat          显示指定文件的详细信息,比ls更详细

who           显示在线登陆用户

whoami        显示当前操作用户

hostname      显示主机名

uname         显示系统信息

top           动态显示当前耗费资源最多进程信息

ps            显示瞬间进程状态
     
     -e       显示所有进程
     
     -f       全格式

du            查看目录大小

     -s       只显示目录大小的总合
     
     -h       带单位显示目录大小

df            查看磁盘大小df 
    
     -h       带有单位显示磁盘信息
     
free          查看内存情况

     -b       单位(bytes)
     
     -k       单位(KB)
     
     -m       单位(MB)
     
     -g       单位(GB)

ifconfig      查看网络情况

ping          测试网络连通

netstat       显示网络状态信息

     -ano     查看某个端口是否被占用
     
     -tlnp    根据端口查找PID

man           查看Linux中的指令帮助

kill          杀进程

不常用地命令

 clear         清屏
reboot 重启系统
shutdown
 -r       关机重启
 -h       关机不重启
 now      立刻关机

形意拳站桩功之养生蓄丹田之气

前言

站桩是形意拳的基础,是形意拳万法之源,万变之本。想学好形意拳,就要打好站桩这个基础。没有牢固的桩功基础,学到的形意拳套路再多,下的功夫再深,也是空中楼阁,纸上谈兵。

下面我们将详细的来学习站桩中衍生及蓄丹田之气的法门。

站桩第一式

  1. 全身放松,两手自然下垂,此时要耳不极听,目不极视,心不遐想,神不外驰,做到心静如水,并以舌上抵,两腿并立,深呼吸数次,轻吸缓呼,要求做到松、静、自然。
  2. 左脚向外横跨,使两脚与肩同宽,脚尖向正前方,既不可内扣也不可外分及一前一后,要保持平、正。然后十趾扣地,足心涵空,身体重量落在后脚跟
  3. 膝微曲,似直非直,似曲非曲,膝欲曲而委中大筋欲直,前曲后伸,使大腿后侧肌肉形成上挺之力。
  4. 提住谷道,尾骨向前翻起,两臀相抱,欲坐而未坐,大腿根部折弯处向内微敛,可调直腰椎的生理弯曲。
  5. 腰椎拔直后,背部要求平、正,脊椎直,尾骨不得左右偏斜,保证了尾闾的中正,也保证了脊椎的正直。
  6. 两肩松开,微向内扣,使两肩欲交于前方,此时背部横向拉平。
  7. 左手内侧“劳宫”按住腹部“气海”。右手内侧“劳宫”搭在左手“外劳宫”,两手都不要用力按,要求若即若离。
  8. 两肘离开两肋,肘尖向前翻,使两“曲池”欲交于正前方,两肘同时还要下沉,有落地生根之意。
  9. 下颏内收,提起耳后高骨,使“百会”上顶,额向前顶,形成向上牵拔之力,与扣肩、合肘、沉肘,共同形成横竖相济的劲力。
  10. 舌上抵,扣住牙齿,但不要用力,口微闭。
  11. 姿势调定后,重要的是调息以配合内气的运行。要求轻吸缓呼,吸气时意想气下重楼、过膻中以降丹田。
  12. 本式有利于固本培元,呼吸方法是平时所说的腹式呼吸,小腹一起一伏,状如婴儿。

站桩第二式

  1. 本式以两手为掌,掌心向上,曲臂、沉肘、两手五指相对,两中指间的距离很小,但不要互相接触,两掌的高度应与“气海”平齐。两臂成环抱式,以小指指尖外侧贴住腹部,两肘下沉,在沉的同时向前翻,离开两肋,意想两肘的“曲池”交于正前方一点。
  2. 要求两肩松开,两手十指毫不用力,自然放松并微弯,以利于气血顺利到达梢节。姿势调定自觉周身舒适自然后,调呼吸,此时呼吸方式改顺腹式呼吸为逆腹式,吸气则小腹回缩,呼气时小腹隆起,这样可以加强体内脏脏器官的活动量,使脏腑功能得到锻炼,实战技击时均以逆腹式呼吸来增加爆发力,这也正符合呼气为开、为发、为阳的道理。同时,在内功按摩技法施用时,呼则施力,吸则持力,也是逆腹式呼吸的运用。
  3. 逆腹式呼吸的方法需以意领气,当吸气时,意想气过“重楼”直降“膻中”,可稍做停顿,但不可用力憋气。在后再缓缓呼气,呼时气直降丹田,此时小腹隆起,聚气于丹田。由于呼吸是由意念是由调节而进行的,通过一定时间的练习,可以大大降低呼吸的频率,故久练能使心平气和,精力充沛。

站桩第三式

  1. 第三式两手的掌心向下,五指松开,自然弯曲,两掌下按,鱼际贴大腿根外侧的腹股沟尽头处,两肘自然向后撑并下沉,双肩内扣,两手掌心内含。按在大腿两侧的手掌轻轻上挑,但不要用力,以免使腕部僵滞不灵。
  2. 姿势调好以后,仍是以舌上抵,提住谷道,然后调整呼吸,吸气时要意想真气自百会穴缓缓下降,下重楼、过膻中、降至丹田。此时小腹隆起,稍作停留,但不可憋气,呼气时再将真气降至会阴。百会为阳,会阴为阴,引气下行,可使真气贯通冲脉,使阳交于阴,取天地交泰之义。真气降至会阴后,小腹并不回缩,这并不是憋气造成的,而是真气凝聚所致,从而达到畅其胸,实其腹,内气鼓荡,小腹常圆的目的。
  3. 如此内气的蓄积,将气在体内存而不泄,蓄而不发,不久后会出现丹田发热或会阴时有阵跳,这都属得气表现,但要注意的是以意导气时不可行气过猛,以防出现腹泻与肛。

站桩第四式

  1. 因为人与人之间禀赋不同,资质各异,强弱有别,故应根据练功者自己的体会是否可以转入第四式。
  2. 第四式以两手掌心向上,两中指间的距离大约有两倍的肩宽,直腕,两上臂内侧轻轻贴住两肋,肩部松沉,垂肘,意想两肘间透地,十指自然弯曲,放松,五指分开,若能感到指梢有麻胀感,说明并未用力,已达到放松的目的。
  3. 姿势调好后,仍如前式,舌上抵,提住谷道,然后以意导气,配合呼吸,使内气按要求的路线运行。
  4. 缓缓吸气,引内气过喉,透至两“天宗”连线与脊椎的交点上。但气不要透出体表,透至脊椎内侧即可。气到后提稍作停留,时间的长短由自己调节,以舒适为度,不要感到憋气,此时背部有横向的胀感,表皮有绷紧感。徐徐呼气,透前心到“膻中”,再下沉,直降丹田。内气运行的路线是先向后,再向前,向下的两段曲线。人以背为阳,腹为阴,调内气以使阴阳相交,然后聚于丹田。通过一段时间的练习就能打好内功的良好基础,此时神足、气充、精满,从而获得强健的体魄。

至此,以养生蓄丹田之气为目的基本桩法已介绍完毕,以上桩法适应于老、弱及初学者,意在初步领悟以意率气的要领,并使丹田之气得到蓄养,为下步练习增长功力的桩法打下良好的基础。

Java @SuppressWarnings注解用法

@SuppressWarnings注解主要用在取消一些编译器产生的警告,
在 IDE 中对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点。

@SuppressWarnings其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。建议把注解放在最近进警告发生的位置。 下面列举警告关键字:

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings

关键字注解 value 用途
allto suppress all warnings (抑制所有警告)
boxingto suppress warnings relative to boxing/unboxing operations (抑制装箱、拆箱操作时候的警告)
castto suppress warnings relative to cast operations (抑制映射相关的警告)
dep-annto suppress warnings relative to deprecated annotation (抑制启用注释的警告)
deprecationto suppress warnings relative to deprecation (抑制过期方法警告)
fallthroughto suppress warnings relative to missing breaks in switch statements (抑制确在switch中缺失breaks的警告)
finallyto suppress warnings relative to finally block that don’t return (抑制finally模块没有返回的警告)
hidingto suppress warnings relative to locals that hide variable(抑制相对于隐藏变量的局部变量的警告)
incomplete-switchto suppress warnings relative to missing entries in a switch statement (enum case)(忽略没有完整的switch语句)
nlsto suppress warnings relative to non-nls string literals( 忽略非nls格式的字符)
nullto suppress warnings relative to null analysis( 忽略对null的操作)
rawtypesto suppress warnings relative to un-specific types when using generics on class params( 使用generics时忽略没有指定相应的类型)
restrictionto suppress warnings relative to usage of discouraged or forbidden references( 抑制禁止使用劝阻或禁止引用的警告)
serialto suppress warnings relative to missing serialVersionUID field for a serializable class( 忽略在serializable类中没有声明serialVersionUID变量)
static-accessto suppress warnings relative to incorrect static access( 抑制不正确的静态访问方式警告)
synthetic-accessto suppress warnings relative to unoptimized access from inner classes( 抑制子类没有按最优方法访问内部类的警告)
uncheckedto suppress warnings relative to unchecked operations( 抑制没有进行类型检查操作的警告)
unqualified-field-accessto suppress warnings relative to field access unqualified( 抑制没有权限访问的域的警告)
unusedto suppress warnings relative to unused code( 抑制没被使用过的代码的警告)

git缩写A C D M R T U X代表的含义

git中,经常会在一些操作后,出现简写字符用于表达某些状态。

在切换分支之后的两行前面分别有两个字符,它们分别代表什么含义呢。

字符含义列表如下:

A: 工作区新增的文件.

C: 文件的一个新拷贝.

D: 你本地删除的文件,服务器上还在。

M: 文件的内容或者mode被修改。

R: 文件名被修改了。

T: 文件的类型被修改了。

U: 文件没有被合并,需要完成合并才能进行提交。

X: 未知状态。

名字的源流

古之真人,不逆寡,不雄成,不谟士。若然者,过而弗悔,当而不自得也。若然者,登高不慄,入水不濡,入火不热。是知之能登假于道者也若此。

古之真人,其寝不梦,其觉无忧,其食不甘,其息深深。真人之息以踵,众人之息以喉。屈服者,其嗌言若哇⑩。其耆欲深者,其天机浅。

古之真人,不知说生,不知恶死;其出不䜣,其入不距;翛然而往,翛然而来而已矣。

不倚众凌寡,不自恃成功雄踞他人,也不图谋琐事。像这样的人,错过了时机不后悔,赶上了机遇不得意。象这样的人,登上高处不颤慄,下到水里不会沾湿,进入火中不觉灼热。这只有智慧能通达大道境界的人方才能像这样。

睡觉时不做梦,他醒来时不忧愁,他吃东西时不求甘美,他呼吸时气息深沉。“真人”呼吸凭借的是着地的脚根,而一般人呼吸则靠的只是喉咙。被人屈服时,言语在喉前吞吐就像哇哇地曼语。那些嗜好和欲望太深的人,他们天生的智慧也就很浅。

古时候的“真人”,不贪喜悦生存,不惧厌恶死亡;出生不欣喜,入死不推辞;无拘无束地就走了,自由自在地又来了罢了。

䜣:欣喜;翛然:萧然,自由自在的样子

来源:庄子・大宗师

世界面积最大的沙漠

撒哈拉沙漠(世界面积最大的沙漠)

撒哈拉沙漠(Sahara Desert)形成于约250万年前,是世界仅次于南极洲的第2大荒漠,面积约906万平方千米,是世界最大的沙质荒漠。位于非洲北部,该地区气候条件非常恶劣,是地球上最不适合生物生存的地方之一。“撒哈拉”是阿拉伯语的音译,在阿拉伯语中“撒哈拉”为大沙漠,源自当地游牧民族图阿雷格人的语言,原意即为“大荒漠”。

“撒哈拉”这个名称来源于阿拉伯语الصحراء,是从当地游牧民族图阿雷格人的语言引入的,在其语言中就是“沙漠”的意思。这块沙漠大约形成于250万年以前。الصحراء الكبرى

在上一个冰河时期,撒哈拉还不是一个沙漠,气候类似于东非,在沙漠地带发现了大约有3万幅古代的岩画,其中有一半左右在阿尔及利亚南部的恩阿杰尔高原,描绘的都是河流中的动物,如鳄鱼等。
同时也发现过恐龙的化石。但撒哈拉自从公元前3000年起,除了尼罗河谷和分散在沙漠中的绿洲附近,已经几乎没有大面积的植被存在了。

BigDecimal.ROUND_XXX的各种用法

在银行、帐户、计费等领域,BigDecimal提供了精确的数值计算。其中8种舍入方式值得掌握。

1、ROUND_UP

舍入远离零的舍入模式。

在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。

注意,此舍入模式始终不会减少计算值的大小。

2、ROUND_DOWN

接近零的舍入模式。

在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截短)。

注意,此舍入模式始终不会增加计算值的大小。

3、ROUND_CEILING

接近正无穷大的舍入模式。

如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;

如果为负,则舍入行为与 ROUND_DOWN 相同。

注意,此舍入模式始终不会减少计算值。

4、ROUND_FLOOR

接近负无穷大的舍入模式。

如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;

如果为负,则舍入行为与 ROUND_UP 相同。

注意,此舍入模式始终不会增加计算值。

5、ROUND_HALF_UP

向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。

如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同。

注意,这是我们大多数人在小学时就学过的舍入模式(四舍五入)。

6、ROUND_HALF_DOWN

向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式。

如果舍弃部分 > 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同(五舍六入)。

7、ROUND_HALF_EVEN    银行家舍入法

向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。

如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同;

如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。

注意,在重复进行一系列计算时,此舍入模式可以将累加错误减到最小。

此舍入模式也称为“银行家舍入法”,主要在美国使用。四舍六入,五分两种情况。

如果前一位为奇数,则入位,否则舍去。

以下例子为保留小数点1位,那么这种舍入方式下的结果。

1.15>1.2 1.25>1.2

8、ROUND_UNNECESSARY

断言请求的操作具有精确的结果,因此不需要舍入。

如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException。

因为我们是属于互联网金融行业,所有在进行计算的时候尽量使用ROUND_HALF_EVEN    银行家舍入法

来源:http://www.cnblogs.com/yingchen/p/5459501.html

最好的炫富

老婆问老公:你知道最好的炫富方式是什么?

老公:买好车。老婆:错,别人以为是司机!

老公:戴好表。老婆:错,别人以为是高仿!

老公:那是什么?老婆:是把钱花在我身上,我保养的年轻漂亮,即使你穿个大裤衩子和拖鞋,只要我往你身边一站,别人就会说,这女的图他的钱!

老公:嗯,听着好有道理的样子!

Golang 在 Mac、Linux、Windows 下如何交叉编译

Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。

Mac 下编译 Linux 和 Windows 64位可执行程序

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Linux 下编译 Mac 和 Windows 64位可执行程序

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go

Windows 下编译 Mac 和 Linux 64位可执行程序

SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
GOARCH:目标平台的体系架构(386、amd64、arm)
交叉编译不支持 CGO 所以要禁用它

上面的命令编译 64 位可执行程序,你当然应该也会使用 386 编译 32 位可执行程序

很多博客都提到要先增加对其它平台的支持,但是我跳过那一步,上面所列的命令也都能成功,且得到我想要的结果,可见那一步应该是非必须的,或是我所使用的 Go 版本已默认支持所有平台。

作者:磐石区
来源:CSDN
原文:https://blog.csdn.net/panshiqu/article/details/53788067
版权声明:本文为博主原创文章,转载请附上博文链接!

阿里云物联网平台MQTT-TOPIC

物联网平台中,服务端和设备端通过 Topic 来实现消息通信。Topic是针对设备的概念,Topic类是针对产品的概念。

什么是Topic类?

为了方便海量设备基于海量 Topic 进行通信,简化授权操作,物联网平台增加了 Topic 类的概念。您创建产品后,物联网平台会为该产品自动创建默认的 Topic 类。并且,在您创建设备后,会自动将产品 Topic 类映射到设备上。您无需单独为每个设备授权 Topic。

图 1. Topic 自动生成示意图

在您创建产品后,物联网平台会自动为您的产品生成一些标准的 Topic 类。您可以在产品的消息通信页面,查看该产品的所有 Topic 类。

关于 Topic 类的说明:

  • Topic类是一类 Topic 的集合。例如,Topic 类:/${YourProductKey}/${YourDeviceName}/update是具体 Topic:/${YourProductKey}/device1/update/${YourProductKey}/device2/update的集合。
  • Topic类中必须以正斜线(/)进行分层,区分每个类目。其中,有两个类目为既定类目:${YourProductKey}表示产品的标识符 ProductKey;${YourDeviceName}表示设备名称。
  • 类目命名只能包含字母,数字和下划线(_)。每级类目不能为空。
  • 设备操作权限:发布表示设备可以往 Topic 发布消息;订阅表示设备可以从 Topic 订阅消息。
  • 基础版产品和高级版产品都支持自定义 Topic 类。您可以根据业务需求,通过自定义 Topic 类灵活地进行消息通信。
  • 系统 Topic 类是由系统预定义的 Topic 类,不支持用户自定义,不采用/${YourProductKey}开头。例如,高级版中,针对物模型所提供的 Topic 类一般以/sys/开头;固件升级相关的Topic类以/ota/开头;设备影子的 Topic 类以/shadow/开头。

什么是Topic?

产品的 Topic 类不用于通信,只是定义 Topic。用于消息通信的是具体的 Topic。

  • Topic 格式和Topic 类格式一致。区别在于 Topic 类中的变量${YourDeviceName},在 Topic 中则是具体的设备名称。
  • 设备对应的 Topic 是从产品 Topic 类映射出来,根据设备名称而动态创建的。设备的具体 Topic 中带有设备名称(即DeviceName),只能被该设备用于 Pub/Sub 通信。例如,Topic:/${YourProductKey}/device1/update归属于设备名为device1的设备,所以只能被设备 device1 用于发布、订阅消息,而不能被设备 device2 用于发布订阅消息。
  • 在配置规则引擎时,配置的 Topic 中可使用通配符,且同一个类目中只能出现一个通配符。
  • 表:Topic 通配符
通配符描述
#这个通配符必须出现在 Topic 的最后一个类目,代表本级及下级所有类目。例如, Topic:/YourProductKey/device1/#,可以代表/YourProductKey/device1/updateYourProductKey/device1/update/error
+代表本级所有类目。例如,Topic:/YourProductKey/+/update,可以代表/${YourProductKey}/device1/update/${YourProductKey}/device2/update