转载和积累系列 - M3U8文件

1. Playlist file

    一个M3U的 Playlist 就是一个由多个独立行组成的文本文件,每行由回车/换行区分。每一行可以是一个URI  空白行或

是以”#“号开头的字符串,并且空格只能存在于一行中不同元素间的分隔。

   一个URI 表示一个媒体段或是”variant Playlist file“(最多支持一层嵌套,即一个mm3u8文件中嵌套另一个m3u8),

以”#EXT“开头的表示一个”tag“,否则表示注释,直接忽略

2. Tags

    #EXTM3U:  每个M3U文件第一行必须是这个tag。

    #EXTINF:指定每个媒体段(ts)的持续时间,这个仅对其后面的URI有效,每两个媒体段URI间被这个tag分隔开,其格式如下:

                     #EXTINF:,  :</span></p> <blockquote> <blockquote> <p><span style="font-size:14px;">  duration表示持续的时间(秒)”Durations MUST be integers if the protocol version of the Playlist file is less<br></span></p> <p><span style="font-size:14px;">than 3“,否则可以是浮点数。</span></p> </blockquote> </blockquote> <p><span style="font-size:14px;">   <span style="color:#000099;"> #EXT-X-BYTERANGE:</span>表示媒体段是一个媒体URI资源中的一段,只对其后的media URI有效,格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-BYTERANGE:<n>[@o]:</span></p> <blockquote> <blockquote> <p><span style="font-size:14px;">  其中n表示这个区间的大小,o表在URI中的offset;”The EXT-X-BYTERANGE tag appeared in version 4 of the protocol“。</span></p> </blockquote> </blockquote> <p><span style="font-size:14px;">    <span style="color:#000099;">#EXT-X-TARGETDURATION:</span>指定最大的媒体段时间长(秒)。所以#EXTINF中指定的时间长度必须小于或是等于这个最大</span></p> <p><span style="font-size:14px;">值。这个tag在整个PlayList文件中只能出现一 次(在嵌套的情况下,一般有真正ts url的m3u8才会出现<span style="font-size:14px;">该tag</span>)。格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-TARGETDURATION:<s>:s表示最大的秒数。<br></span></p> <p><span style="font-size:14px;">  <span style="color:#000099;">  #EXT-X-MEDIA-SEQUENCE:</span>每一个media URI 在 PlayList中只有唯一的序号,相邻之间序号+1。</span></p> <p><span style="font-size:14px;">                     #EXT-X-MEDIA-SEQUENCE:<number>:</span></p> <p><span style="font-size:14px;">                    一个media URI并不是必须要包含的,如果没有,默认为0<span style="font-size:14px;">。</span></span></p> <p><span style="font-size:14px;"> <span style="color:#000099;"> </span><span><span style="color:#000099;">  #EXT-X-KEY</span>:</span>表示怎么对media segments进行解码。其作用范围是下次该tag出现前的所有media URI,格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-KEY:<attribute-list>:</span></p> <p><span style="font-size:14px;"><span style="font-size:14px;">                    </span>NONE 或者 AES-128。如果是NONE,则URI以及IV属性必须不存在,如果是AES-128(Advanced Encryption<br></span></p> <p><span style="font-size:14px;"><span style="font-size:14px;">                 <span style="font-size:14px;">   </span> </span>Standard),则URI必须存在,IV可以不存在。</span></p> <p><span style="font-size:14px;">                    对于AES-128的情况,keytag和URI属性共同表示了一个key文件,通过URI可以获得这个key,如果没有</span></p> <p><span style="font-size:14px;"><span style="font-size:14px;">                    </span> IV(Initialization Vector),则使用序列号作为IV进行编解码,将序列号的高位赋到16个字节的buffer中,左边补0;如果</span></p> <p><span style="font-size:14px;"><span style="font-size:14px;">                    </span> 有IV,则将改值当成16个字节的16进制数。</span></p> <p><span style="font-size:14px;"><br></span></p> <p><span style="font-size:14px;">  <span style="color:#000099;">  #EXT-X-PROGRAM-DATE-TIME</span>:将一个绝对时间或是日期和一个媒体段中的第一个sample相关联,只对下一个meida URI有效,格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-PROGRAM-DATE-TIME:<YYYY-MM-DDThh:mm:ssZ></span></p> <p><span style="font-size:14px;">                     For example:<br>                      #EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00</span></p> <p><span style="font-size:14px;">  <span style="color:#000099;"><span> #EXT-X-ALLOW-CACHE</span></span>:是否允许做cache,这个可以在PlayList文件中任意地方出现,并且最多出现一次,作用效果是所有的媒体段。格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-ALLOW-CACHE:<YES|NO></span></p> <p><span style="font-size:14px;">  <span style="color:#000099;"> #EXT-X-PLAYLIST-TYPE</span>: 提供关于PlayList的可变性的信息, 这个对整个PlayList文件有效,是可选的,格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-PLAYLIST-TYPE:<EVENT|VOD> :如果是VOD,则服务器不能改变PlayList 文件;如果是EVENT,则</span></p> <p><span style="font-size:14px;">服务器不能改变或是删除PlayList文件中的任何部分,但是可以向该文件中增加新的一行内容。</span></p> <p><span style="font-size:14px;">   <span style="color:#000099;">#EXT-X-ENDLIST</span>:表示PlayList的末尾了,它可以在PlayList中任意位置出现,但是只能出现一个,格式如下:</span></p> <p><span style="font-size:14px;">                     #EXT-X-ENDLIST</span></p> <p><span style="font-size:14px;">  <span style="color:#000099;"> #EXT-X-MEDIA</span>:被用来在PlayList中表示相同内容的不用语种/译文的版本,比如可以通过使用3个这种tag表示3中不用语音的音</span></p> <p><span style="font-size:14px;">频,或者用2个这个tag表示不同角度的video在PlayLists中。这个标签是独立存在的,其格式如下:</span></p> <p><span style="font-size:14px;">                    #EXT-X-MEDIA:<attribute-list>:该属性列表中包含:URI、TYPE、GROUP-ID、LANGUAGE、NAME、DEFAULT、AUTOSELECT。</span></p> <p><span style="font-size:14px;">                    URI:如果没有,则表示这个tag描述的可选择版本在主PlayList的EXT-X-STREAM-INF中存在;</span></p> <p><span style="font-size:14px;">                    TYPE:AUDIO and VIDEO;</span></p> <p><span style="font-size:14px;">                    GROUP-ID:具有相同ID的MEDIAtag,组成一组样式;</span></p> <p><span style="font-size:14px;">                    LANGUAGE:identifies the primary language used in the rendition。</span></p> <p><span style="font-size:14px;">                    NAME:The value is a quoted-string containing a human-readable description of the rendition. If the LANGUAGE attribute is present then this description SHOULD be in that language。</span></p> <p><span style="font-size:14px;">                    DEFAULT: YES或是NO,默认是No,如果是YES,则客户端会以这种选项来播放,除非用户自己进行选择。</span></p> <p><span style="font-size:14px;">                    AUTOSELECT:YES或是NO,默认是No,如果是YES,则客户端会根据当前播放环境来进行选择(用户没有根据自己偏好进行选择的前提下)。</span></p> <p><span style="font-size:14px;">        The EXT-X-MEDIA tag appeared in version 4 of the protocol。</span></p> <blockquote> <p><span style="font-size:14px;">o All EXT-X-MEDIA tags in the same group MUST have the same TYPE<br> attribute.<br> o All EXT-X-MEDIA tags in the same group MUST have different NAME<br> attributes.<br> o A group MUST NOT have more than one member with a DEFAULT<br> attribute of YES.<br> o All members of a group whose AUTOSELECT attribute has a value of<br> YES MUST have LANGUAGE [RFC5646] attributes with unique values.<br> o All members of a group with TYPE=AUDIO MUST use the same audio<br> sample format.<br> o All members of a group with TYPE=VIDEO MUST use the same video<br> sample format<span style="font-size:14px;">。</span></span></p> <p><span style="font-size:14px;"><span style="font-size:14px;"><span style="color:#000099;"><br></span></span></span></p> </blockquote> <p><span style="font-size:14px;"><span style="font-size:14px;color:#000099;">  #</span><span style="color:#000099;">EXT-X-STREAM-INF:<span style="color:#000000;">指定一个包含多媒体信息的 media URI 作为PlayList,一般做<span style="font-size:14px;">M3U8<span style="font-size:14px;">的嵌套使用,它只对紧跟后面的URI有</span></span></span></span></span></p> <p><span style="font-size:14px;"><span style="color:#000099;"><span style="color:#000000;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">效<span style="font-size:14px;">,格式如下:</span></span></span></span></span></span></span></p> <p><span style="font-size:14px;"><span style="color:#000099;"><span style="color:#000000;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">#EXT-X-STREAM-INF:<attribute-list><br> <URI></span></span></span></span></span></span></span></p> <p><span style="font-size:14px;"><span style="color:#000099;"><span style="color:#000000;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">有以下属性:</span></span></span></span></span></span></span></span></p> <p><span style="font-size:14px;">BANDWIDTH:带宽,<span style="font-size:14px;">必须有。</span></span></p> <p><span style="font-size:14px;"><span style="font-size:14px;">PROGRAM-ID:该值是一个十进制整数,惟一地标识一个<span style="font-size:14px;">在PlayList<span style="font-size:14px;">文件范围内的</span></span>特定的描述<span style="font-size:14px;">。一个PlayList 文件中可</span></span></span></p> <p><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">能包含</span></span>多个有相同ID的此tag。</span></p> <p><span style="font-size:14px;">CODECS:不是必须的。</span></p> <p><span style="font-size:14px;">RESOLUTION:分辨率。</span></p> <p><span style="font-size:14px;"><span style="font-size:14px;">AUDIO:<span style="font-size:14px;">这个值必须和AUDIO类别的“EXT<span style="font-size:14px;">-X-ME<span style="font-size:14px;">DIA</span></span>”标签中“GROUP-ID”<span style="font-size:14px;">属性值相<span style="font-size:14px;">匹配。</span></span></span></span></span></p> <p><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;"><span style="font-size:14px;">VIDEO:<span style="font-size:14px;">同上</span></span></span></span></span></span></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1296123804342362112"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(转载和积累系列)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1305148943662878720.htm" title="转载和积累系列 - L4负载均衡的设计与实现" target="_blank">转载和积累系列 - L4负载均衡的设计与实现</a> <span class="text-muted">老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录简介一、LVS的局限性1.数据包转发性能问题2.HA-主备结构的浪费3.转发模式的优缺点二、googlemaglev负载均衡MaglevConsistentHashGoogle下一步是什么?三、facebookkatran第一代L4LB四、设计高性能负载均衡附录:简介负载均衡分为L4负载均衡(例如LVS)、L7负载均衡(例如nginx),L4负载均衡工作在传输层其主要功能就是转发,本文讲述的负</div> </li> <li><a href="/article/1304545316879503360.htm" title="转载和积累系列 - 技巧:java删除jdk后无法重装情况解决" target="_blank">转载和积累系列 - 技巧:java删除jdk后无法重装情况解决</a> <span class="text-muted">老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>环境:win操作:不小心暴力删除jdk文件夹情况:无法重新安装解决:下载windowinstallercleanup,打开软件,然后把里面关于java的项全删掉</div> </li> <li><a href="/article/1296123804342362112.htm" title="转载和积累系列 - M3U8文件" target="_blank">转载和积累系列 - M3U8文件</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>1.Playlistfile一个M3U的Playlist就是一个由多个独立行组成的文本文件,每行由回车/换行区分。每一行可以是一个URI空白行或是以”#“号开头的字符串,并且空格只能存在于一行中不同元素间的分隔。一个URI表示一个媒体段或是”variantPlaylistfile“(最多支持一层嵌套,即一个mm3u8文件中嵌套另一个m3u8),以”#EXT“开头的表示一个”tag“,否则表示注释,</div> </li> <li><a href="/article/1292454668198289408.htm" title="转载和积累系列 - eclispce 常用快捷键" target="_blank">转载和积累系列 - eclispce 常用快捷键</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>【Ctrl+T】搜索当前接口的实现类1.【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。2.【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有用。3.【Ctrl+/】快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的</div> </li> <li><a href="/article/1291622837789990912.htm" title="转载和积累系列 - 为什么 HashMap 加载因子是0.75?而不是0.8,0.6?" target="_blank">转载和积累系列 - 为什么 HashMap 加载因子是0.75?而不是0.8,0.6?</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录为什么HashMap需要加载因子?解决冲突有什么方法?1.开放定址法2.再哈希法3.建立一个公共溢出区4.链地址法(拉链法)为什么HashMap加载因子一定是0.75?而不是0.8,0.6?那么为什么不可以是0.8或者0.6呢?有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?本文</div> </li> <li><a href="/article/1291622837416697856.htm" title="转载和积累系列 - HTTPS原理和HTTP缓存机制" target="_blank">转载和积累系列 - HTTPS原理和HTTP缓存机制</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录HTTPS原理HTTPSHTTPS的实现原理为什么数据传输是用对称加密?为什么需要CA认证机构颁发证书?HTTP缓存机制和原理HTTP报文缓存规则解析强制缓存ExpiresCache-Control对比缓存Last-Modified/If-Modified-SinceEtag/If-None-Match(优先级高于Last-Modified/If-Modified-Since)原理总结之前转载</div> </li> <li><a href="/article/1291563061689262080.htm" title="转载和积累系列 - 深入理解HTTP协议、HTTP协议原理分析(转)" target="_blank">转载和积累系列 - 深入理解HTTP协议、HTTP协议原理分析(转)</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>http协议学习系列1.基础概念篇1.1介绍HTTP是HyperTextTransferProtocol(超文本传输协议)的缩写。它的发展是万维网协会(WorldWideWebConsortium)和Internet工作小组IETF(InternetEngineeringTaskForce)合作的结果,(他们)最终发布了一系列的RFC,RFC1945定义了HTTP/1.0版本。其中最著名的就是RF</div> </li> <li><a href="/article/1281749096696135680.htm" title="转载和积累系列 - 分析服务器日志常用命令" target="_blank">转载和积累系列 - 分析服务器日志常用命令</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>1、查看有多少个IP访问:awk'{print$1}'log_file|sort|uniq|wc-l2、查看某一个页面被访问的次数:grep"/index.php"log_file|wc-l3、查看每一个IP访问了多少个页面:awk'{++S[$1]}END{for(ainS)printa,S[a]}'log_file>log.txtsort-n-t''-k2log.txt配合sort进一步排序4</div> </li> <li><a href="/article/1280331973033738240.htm" title="转载和积累系列 - TCP粘包和拆包问题" target="_blank">转载和积累系列 - TCP粘包和拆包问题</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>问题产生一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题。下面可以看一张图,是客户端向服务端发送包:1.第一种情况,Data1和Data2都分开发送到了Server端,没有产生粘包和拆包的情况。2.第二种情况,Data1和Data2数据粘在了一起,打成了一个大的包发送到Server端,这个情况就是粘包。3.第三种情况,D</div> </li> <li><a href="/article/1280331841089323008.htm" title="转载和积累系列 - Linux 大规模请求服务器连接数相关设置" target="_blank">转载和积累系列 - Linux 大规模请求服务器连接数相关设置</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>【原创】Linux大规模请求服务器连接数相关设置作者:heiyeluren一般一个大规模Linux服务器请求数可能是几十万上百万的情况,需要足够的连接数来使用,所以务必进行相应的设置。默认的Linux服务器文件描述符等打开最大是1024,用ulimit-a查看:[viewuser@~]$ulimit-acorefilesize(blocks,-c)0#coredump文件大小datasegsize</div> </li> <li><a href="/article/1279760045222936576.htm" title="转载和积累系列 - luci框架-LUA的一个web框架使用" target="_blank">转载和积累系列 - luci框架-LUA的一个web框架使用</a> <span class="text-muted">weixin_30374009</span> <div>http://blog.csdn.net/initphp/article/details/17527639LUCI这个在百度上搜索除了一篇我的百度文库luci的介绍文章之外,前三页都是些不知所云的名词(足见百度在专业领域的搜索之烂),我却在大学毕业的大半年的大部分时间里与它纠结,由于开始的发懵到后来逐渐感觉到这家伙还很好玩的,现在就把我对luci的浅显认识介绍给大家。官网:http://luci.</div> </li> <li><a href="/article/1279091467419140096.htm" title="转载和积累系列 - LuCI简介" target="_blank">转载和积累系列 - LuCI简介</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>LuCI作为“FFLuCI”诞生于2008年3月份,目的是为OpenWrt固件从Whiterussian到Kamikaze实现快速配置接口。Lua是一个小巧的脚本语言,很容易嵌入其它语言。轻量级LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。UCI是OpenWrt中为实现所有系统配置的一个统一接口,英文名UnifiedConfigur</div> </li> <li><a href="/article/1275370912350224384.htm" title="转载和积累系列 - 秒杀系统设计思路" target="_blank">转载和积累系列 - 秒杀系统设计思路</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录前言一:秒杀应该考虑哪些问题1.1:超卖问题1.2:高并发1.3:接口防刷1.4:秒杀url1.5:数据库设计1.6:大量请求问题二:秒杀系统的设计和技术方案2.1:秒杀系统数据库设计2.2:秒杀url的设计2.3:秒杀页面静态化2.4:单体redis升级为集群redis2.5:使用nginx2.6:精简sql2.7:redis预减库存2.8:接口限流2.9:令牌桶算法限流2.10:异步下单2</div> </li> <li><a href="/article/1275370779646640128.htm" title="转载和积累系列 - 分库分表的细节讲解" target="_blank">转载和积累系列 - 分库分表的细节讲解</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录数据库瓶颈分库分表水平分库水平分表垂直分库垂直分表分库分表工具分库分表带来的问题事务一致性问题跨节点关联查询Join问题跨节点分页、排序、函数问题全局主键避重问题数据迁移、扩容问题什么时候考虑分库分表能不分就不分数据量过大,正常运维影响业务访问随着业务发展,需要对某些字段垂直拆分数据量快速增长数据库瓶颈不管是IO瓶颈还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承</div> </li> <li><a href="/article/1275370779210432512.htm" title="转载和积累系列 - 缓存穿透、缓存并发、热点缓存之最佳招式" target="_blank">转载和积累系列 - 缓存穿透、缓存并发、热点缓存之最佳招式</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录一、缓存常见问题缓存穿透缓存并发缓存失效问题汇总二、缓存穿透与并发方案三、热点缓存解决方案一、缓存常见问题我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题:缓存穿透缓存并发缓存失效缓存穿透注:上面三个图会有什么问题呢?我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果</div> </li> <li><a href="/article/1275370780053487616.htm" title="转载和积累系列 - OpenWrt常用命令" target="_blank">转载和积累系列 - OpenWrt常用命令</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>ucisetnetwork.lan.ipaddr=[lanip]使用pppoe设置Shell代码ucisetnetwork.wan.proto=pppoe//设置wan口类型为pppoeucisetnetwork.wan.username=[上网帐户]ucisetnetwork.wan.password=[上网密码]//这两行设置pppoe用户名和密码如果要挂在上级路由下面,就需要进行下面的设置S</div> </li> <li><a href="/article/1275370778786807808.htm" title="转载和积累系列 - 如何设计一个安全的对外接口" target="_blank">转载和积累系列 - 如何设计一个安全的对外接口</a> <span class="text-muted">阿里十年老码农zhuli</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>目录前言安全措施如何实现1.数据加密2.数据加签3.时间戳机制4.AppId机制5.限流机制6.黑名单机制7.数据合法性校验前言最近有个项目需要对外提供一个接口,提供公网域名进行访问,而且接口和交易订单有关,所以安全性很重要;这里整理了一下常用的一些安全措施以及具体如何去实现。安全措施个人觉得安全措施大体来看主要在两个方面:一方面就是如何保证数据在传输过程中的安全性;另一个方面是数据已经到达服务器</div> </li> <li><a href="/article/3937805.htm" title="转载和积累系列 - 八大排序算法" target="_blank">转载和积累系列 - 八大排序算法</a> <span class="text-muted">initphp</span> <div>概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;1.插入排序—直</div> </li> <li><a href="/article/4018224.htm" title="转载和积累系列 - 内存对齐" target="_blank">转载和积累系列 - 内存对齐</a> <span class="text-muted">initphp</span> <div>1.内存对齐(DataStructureAlignment)是什么内存对齐,或者说字节对齐,是一个数据类型所能存放的内存地址的属性(Alignmentisapropertyofamemoryaddress)。这个属性是一个无符号整数,并且这个整数必须是2的N次方(1、2、4、8、……、1024、……)。当我们说,一个数据类型的内存对齐为8时,意思就是指这个数据类型所定义出来的所有变量,其内存地址都</div> </li> <li><a href="/article/4120823.htm" title="转载和积累系列 - 基于JavaScript的DDoS攻击" target="_blank">转载和积累系列 - 基于JavaScript的DDoS攻击</a> <span class="text-muted">initphp</span> <div>基于JavaScript的DDoS攻击DDoS,即DistributedDenialofService,中文译为分布式拒绝服务攻击,是一种常见的网络攻击方式。它的基本思想就是像一台服务器发送大量的请求,服务器大量的服务资源被占用,导致正常用户的请求无法得到回应。近几年来,基于JavaScript的DDoS攻击事件常用发生。和其他DDoS攻击方式不同,基于JavaScript的DDoS攻击利用的工具</div> </li> <li><a href="/article/4410618.htm" title="转载和积累系列 - TCP协议详解" target="_blank">转载和积累系列 - TCP协议详解</a> <span class="text-muted">initphp</span> <div>原文地址:http://www.cnblogs.com/kzloser/articles/2582957.htmlTCP(TransmissionControlProtocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1]另一个重要的传输协议。</div> </li> <li><a href="/article/4289289.htm" title="转载和积累系列 - Linux 大规模请求服务器连接数相关设置" target="_blank">转载和积累系列 - Linux 大规模请求服务器连接数相关设置</a> <span class="text-muted">initphp</span> <div>【原创】Linux大规模请求服务器连接数相关设置作者:heiyeluren一般一个大规模Linux服务器请求数可能是几十万上百万的情况,需要足够的连接数来使用,所以务必进行相应的设置。默认的Linux服务器文件描述符等打开最大是1024,用ulimit-a查看:[viewuser@~]$ ulimit -acore file size          (blocks, -c) 0 #coredu</div> </li> <li><a href="/article/4300010.htm" title="转载和积累系列 - Redis内核之数据结构实现" target="_blank">转载和积累系列 - Redis内核之数据结构实现</a> <span class="text-muted">initphp</span> <div>redis基础数据结构简单动态字符串(SDS)Redis 没有直接使用 C 语言传统的字符串表示,而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将 SDS 用作 Redis 的默认字符串表示。定义:SDS与C字符串的区别1、 常数复杂度获取字符串长度(C 字符串不记录自身的长度信息,要获取其长度需遍历整个字符串,复杂度O(N);SDS的l</div> </li> <li><a href="/article/4120822.htm" title="转载和积累系列 - linux 内核参数调整优化网络" target="_blank">转载和积累系列 - linux 内核参数调整优化网络</a> <span class="text-muted">initphp</span> <div>Linux系统内核设置优化tcp网络,#vi/etc/sysctl.conf,添加以下内容net.ipv4.tcp_syncookies=1表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;net.ipv4.tcp_tw_reuse=1表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表</div> </li> <li><a href="/article/4113371.htm" title="转载和积累系列 - Linux tcpdump命令详解" target="_blank">转载和积累系列 - Linux tcpdump命令详解</a> <span class="text-muted">initphp</span> <div>简介用简单的话来定义tcpdump,就是:dumpthetrafficonanetwork,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tcpdump普通情况下,直接启动tcpdump将监视</div> </li> <li><a href="/article/4018222.htm" title="转载和积累系列 - HTTP application/x-www-form-urlencode和multipart/form-data" target="_blank">转载和积累系列 - HTTP application/x-www-form-urlencode和multipart/form-data</a> <span class="text-muted">initphp</span> <div>application/x-www-form-urlencode我们在提交表单的时候,form表单参数中会有一个enctype的参数。enctype指定了HTTP请求的Content-Type。默认情况下,HTML的form表单的enctype=application/x-www-form-urlencoded。application/x-www-form-urlencoded是指表单的提交,并且</div> </li> <li><a href="/article/1187895535210700800.htm" title="转载和积累系列 - linux 生成KEY的方法与使用" target="_blank">转载和积累系列 - linux 生成KEY的方法与使用</a> <span class="text-muted">initphp</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%BD%BD%E5%92%8C%E7%A7%AF%E7%B4%AF%E7%B3%BB%E5%88%97/1.htm">转载和积累系列</a> <div>服务器A:192.168.1.1服务器B:192.168.1.2服务器A:配置:ssh-keygen-b2048-trsa#这里的-b2048是密钥加密的长度,最好设大点,有消息称美国有黑客解决ssh的密钥进行破解。#http://bbs.yuloo.com/thread-860154-1-1.html直接回车3次key文件会保存在/root/.ssh目录下这时候.ssh目下会多出几个文件id_r</div> </li> <li><a href="/article/3841735.htm" title="转载和积累系列 - linux 生成KEY的方法与使用" target="_blank">转载和积累系列 - linux 生成KEY的方法与使用</a> <span class="text-muted">initphp</span> <div>服务器A:192.168.1.1服务器B:192.168.1.2 服务器A:配置:ssh-keygen-b2048-trsa                    #这里的-b2048是密钥加密的长度,最好设大点,有消息称美国有黑客解决ssh的密钥进行破解。#http://bbs.yuloo.com/thread-860154-1-1.html直接回车3次key文件会保存在/root/.ssh目录</div> </li> <li><a href="/article/3801023.htm" title="转载和积累系列 - 高性能网络库Libevent初探" target="_blank">转载和积累系列 - 高性能网络库Libevent初探</a> <span class="text-muted">initphp</span> <div>高性能网络库Libevent初探作者:zza(360电商技术组)libevent是一个基于事件触发的轻量级高性能开源网络库,很多著名的软件如Chromium、memcached、Netchat等都是基于libevent开发的。 之所以受到如此多的关注和青睐,主要是libevent具有的一些显著亮点:1) 事件驱动(event-driven),超高的性能;2) 轻量级,专注于网络,短小精干;3) 跨</div> </li> <li><a href="/article/3749614.htm" title="转载和积累系列 - 大数据时代的 9 大Key-Value存储数据库" target="_blank">转载和积累系列 - 大数据时代的 9 大Key-Value存储数据库</a> <span class="text-muted">initphp</span> <div>在过去的十年中,计算世界已经改变。现在不仅在大公司,甚至一些小公司也积累了TB量级的数据。各种规模的组织开始有了处理大数据的需求,而目前关系型数据库在可缩放方面几乎已经达到极限。 一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL(非关系型数据库)模型,其数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的</div> </li> <li><a href="/article/108.htm" title="Nginx负载均衡" target="_blank">Nginx负载均衡</a> <span class="text-muted">510888780</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a> <div>Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1)、轮询(默认)       每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2)、weight       指定轮询几率,weight和访问比率成正比</div> </li> <li><a href="/article/235.htm" title="RedHat 6.4 安装 rabbitmq" target="_blank">RedHat 6.4 安装 rabbitmq</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/erlang/1.htm">erlang</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/redhat/1.htm">redhat</a> <div>在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功 机器版本: [root@redhat1 rabbitmq]# lsb_release LSB Version: :base-4.0-amd64:base-4.0-noarch:core</div> </li> <li><a href="/article/362.htm" title="FilenameUtils工具类" target="_blank">FilenameUtils工具类</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/FilenameUtils/1.htm">FilenameUtils</a><a class="tag" taget="_blank" href="/search/common-io/1.htm">common-io</a> <div>转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述 这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。 </div> </li> <li><a href="/article/489.htm" title="xml文件解析SAX" target="_blank">xml文件解析SAX</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>xml文件解析:xml文件解析有四种方式, 1.DOM生成和解析XML文档(SAX是基于事件流的解析) 2.SAX生成和解析XML文档(基于XML文档树结构的解析) 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML 本文章用第一种方法进行解析,使用android常用的DefaultHandler import org.xml.sax.Attributes; </div> </li> <li><a href="/article/616.htm" title="通过定时任务执行mysql的定期删除和新建分区,此处是按日分区" target="_blank">通过定时任务执行mysql的定期删除和新建分区,此处是按日分区</a> <span class="text-muted">酷的飞上天空</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>使用python脚本作为命令脚本,linux的定时任务来每天定时执行 #!/usr/bin/python # -*- coding: utf8 -*- import pymysql import datetime import calendar #要分区的表 table_name = 'my_table' #连接数据库的信息 host,user,passwd,db = </div> </li> <li><a href="/article/743.htm" title="如何搭建数据湖架构?听听专家的意见" target="_blank">如何搭建数据湖架构?听听专家的意见</a> <span class="text-muted">蓝儿唯美</span> <a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据  “我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数</div> </li> <li><a href="/article/870.htm" title="spring学习——控制反转与依赖注入" target="_blank">spring学习——控制反转与依赖注入</a> <span class="text-muted">a-john</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>       控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。   </div> </li> <li><a href="/article/997.htm" title="用spool+unixshell生成文本文件的方法" target="_blank">用spool+unixshell生成文本文件的方法</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/xshell/1.htm">xshell</a> <div>例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:   set pages 50000;   set lines 200;   set trims on;   set heading off;   spool /oracle_backup/log/test/dept.lst;   select deptno||','||dname||','||loc </div> </li> <li><a href="/article/1124.htm" title="1、基础--名词解析(OOA/OOD/OOP)" target="_blank">1、基础--名词解析(OOA/OOD/OOP)</a> <span class="text-muted">asia007</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/1.htm">学习基础知识</a> <div>OOA:Object-Oriented Analysis(面向对象分析方法) 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。   OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)</div> </li> <li><a href="/article/1251.htm" title="浅谈java转成json编码格式技术" target="_blank">浅谈java转成json编码格式技术</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/json%E7%BC%96%E7%A0%81/1.htm">json编码</a><a class="tag" taget="_blank" href="/search/java%E8%BD%AC%E6%88%90json%E7%BC%96%E7%A0%81/1.htm">java转成json编码</a> <div>json编码;是一个轻量级的数据存储和传输的语言       在java中需要引入json相关的包,引包方式在工程的lib下就可以了   JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非   常适合于服务器与 JavaScript 之间的数据的交</div> </li> <li><a href="/article/1378.htm" title="web.xml之Spring配置(基于Spring+Struts+Ibatis)" target="_blank">web.xml之Spring配置(基于Spring+Struts+Ibatis)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/SSI/1.htm">SSI</a><a class="tag" taget="_blank" href="/search/spring%E9%85%8D%E7%BD%AE/1.htm">spring配置</a> <div>指定Spring配置文件位置 <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml, /WEB-INF/</div> </li> <li><a href="/article/1505.htm" title="Installing SonarQube(Fail to download libraries from server)" target="_blank">Installing SonarQube(Fail to download libraries from server)</a> <span class="text-muted">sunjing</span> <a class="tag" taget="_blank" href="/search/Install/1.htm">Install</a><a class="tag" taget="_blank" href="/search/Sonar/1.htm">Sonar</a> <div>1.  Download and unzip the SonarQube distribution 2.  Starting the Web Server The default port is "9000" and the context path is "/". These values can be changed in &l</div> </li> <li><a href="/article/1632.htm" title="【MongoDB学习笔记十一】Mongo副本集基本的增删查" target="_blank">【MongoDB学习笔记十一】Mongo副本集基本的增删查</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>一、创建复本集   假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:   mongod --port 27017 --dbpath data1 --replSet rs0 mongod --port 27018 --dbpath data2 --replSet rs0 mongod --port 27019 -</div> </li> <li><a href="/article/1759.htm" title="Anychart图表系列二之执行Flash和HTML5渲染" target="_blank">Anychart图表系列二之执行Flash和HTML5渲染</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/Flash/1.htm">Flash</a> <div>今天介绍Anychart的Flash和HTML5渲染功能   HTML5 Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。 这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于</div> </li> <li><a href="/article/1886.htm" title="Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa" target="_blank">Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa</a> <span class="text-muted">bozch</span> <a class="tag" taget="_blank" href="/search/laravel/1.htm">laravel</a> <div>昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误: ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng</div> </li> <li><a href="/article/2013.htm" title="编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜" target="_blank">编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a> <div> import java.util.Arrays; import java.util.Random; public class Nim { /**编程之美 NIM游戏分析 问题: 有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头, 能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,</div> </li> <li><a href="/article/2140.htm" title="lunce创建索引及简单查询" target="_blank">lunce创建索引及简单查询</a> <span class="text-muted">chengxuyuancsdn</span> <a class="tag" taget="_blank" href="/search/%E6%9F%A5%E8%AF%A2/1.htm">查询</a><a class="tag" taget="_blank" href="/search/%E5%88%9B%E5%BB%BA%E7%B4%A2%E5%BC%95/1.htm">创建索引</a><a class="tag" taget="_blank" href="/search/lunce/1.htm">lunce</a> <div>import java.io.File; import java.io.IOException; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Docume</div> </li> <li><a href="/article/2267.htm" title="[IT与投资]坚持独立自主的研究核心技术" target="_blank">[IT与投资]坚持独立自主的研究核心技术</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/it/1.htm">it</a> <div>        和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....        所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其</div> </li> <li><a href="/article/2394.htm" title="flashback transaction闪回事务查询" target="_blank">flashback transaction闪回事务查询</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E9%97%AA%E5%9B%9E%E4%BA%8B%E5%8A%A1/1.htm">闪回事务</a> <div>   闪回事务查询有别于闪回查询的特点有以下3个: (1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。 (2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。 (3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers</div> </li> <li><a href="/article/2521.htm" title="Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件" target="_blank">Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件</a> <span class="text-muted">游其是你</span> <a class="tag" taget="_blank" href="/search/FilenameFilter/1.htm">FilenameFilter</a> <div>这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 </div> </li> <li><a href="/article/2648.htm" title="C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题" target="_blank">C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a> <div># include <stdio.h> int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型 { return 10; //向主调函数返回10 } void g(void) //函数名前面的void表示该函数没有返回值 { //return 10; //error 与第8行行首的void相矛盾 } in</div> </li> <li><a href="/article/2775.htm" title="今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl" target="_blank">今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again   处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。 &n</div> </li> <li><a href="/article/2902.htm" title="单例模式" target="_blank">单例模式</a> <span class="text-muted">shuizhaosi888</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>单例模式      懒汉式 public class RunMain { /** * 私有构造 */ private RunMain() { } /** * 内部类,用于占位,只有 */ private static class SingletonRunMain { priv</div> </li> <li><a href="/article/3029.htm" title="Spring Security(09)——Filter" target="_blank">Spring Security(09)——Filter</a> <span class="text-muted">234390216</span> <a class="tag" taget="_blank" href="/search/Spring+Security/1.htm">Spring Security</a> <div>Filter 目录 1.1     Filter顺序 1.2     添加Filter到FilterChain 1.3     DelegatingFilterProxy 1.4     FilterChainProxy 1.5</div> </li> <li><a href="/article/3156.htm" title="公司项目NODEJS实践0.1" target="_blank">公司项目NODEJS实践0.1</a> <span class="text-muted">逐行分析JS源代码</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>  一、前言         前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。         网上有很多nod</div> </li> <li><a href="/article/3283.htm" title="java.lang.Math" target="_blank">java.lang.Math</a> <span class="text-muted">liuhaibo_ljf</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/lang/1.htm">lang</a> <div>System.out.println(Math.PI); System.out.println(Math.abs(1.2)); System.out.println(Math.abs(1.2)); System.out.println(Math.abs(1)); System.out.println(Math.abs(111111111)); System.out.println(Mat</div> </li> <li><a href="/article/3410.htm" title="linux下时间同步" target="_blank">linux下时间同步</a> <span class="text-muted">nonobaba</span> <a class="tag" taget="_blank" href="/search/ntp/1.htm">ntp</a> <div>今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误  PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方</div> </li> <li><a href="/article/3537.htm" title="ZooKeeper3.4.6的集群部署" target="_blank">ZooKeeper3.4.6的集群部署</a> <span class="text-muted">roadrunners</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a> <div>ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。   1、准备工作 我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。   数据存储目录</div> </li> <li><a href="/article/3664.htm" title="Java高效读取大文件" target="_blank">Java高效读取大文件</a> <span class="text-muted">tomcat_oracle</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>  读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法:   Files.readLines(new File(path), Charsets.UTF_8);   FileUtils.readLines(new File(path));   这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致</div> </li> <li><a href="/article/3791.htm" title="微信支付api返回的xml转换为Map的方法" target="_blank">微信支付api返回的xml转换为Map的方法</a> <span class="text-muted">xu3508620</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1api/1.htm">微信api</a> <div>举例如下: <xml>    <return_code><![CDATA[SUCCESS]]></return_code>    <return_msg><![CDATA[OK]]></return_msg>    <appid><</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>