java xpath 解析字符串_Python网络爬虫的三种数据解析方式

一.正解解析

常用正则表达式回顾:

  单字符:        . : 除换行以外所有字符        [] :[aoe] [a-w] 匹配集合中任意一个字符        \d :数字  [0-9]        \D : 非数字        \w :数字、字母、下划线、中文        \W : 非\w        \s :所有的空白字符包,括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。        \S : 非空白    数量修饰:        * : 任意多次  >=0        + : 至少1次   >=1        ? : 可有可无  0次或者1次        {m} :固定m次 hello{3,}        {m,} :至少m次        {m,n} :m-n次    边界:        $ : 以某某结尾        ^ : 以某某开头    分组:        (ab)      贪婪模式: .*    非贪婪(惰性)模式: .*?    re.I : 忽略大小写    re.M :多行匹配    re.S :单行匹配    re.sub(正则表达式, 替换内容, 字符串)

回顾练习:

import re#提取出pythonkey="javapythonc++php"re.findall('python',key)[0]######################################################################提取出hello worldkey="

hello world

"

re.findall('

(.*)

'

,key)[0]######################################################################提取170string = '我喜欢身高为170的女孩're.findall('\d+',string)######################################################################提取出http://和https://key='http://www.baidu.com and https://boob.com're.findall('https?://',key)######################################################################提取出hellokey='lalalahellohahah' #输出hellore.findall('(.*)[Hh][Tt][mM][lL]>',key)######################################################################提取出hit. key='[email protected]'#想要匹配到hit.re.findall('h.*?\.',key)######################################################################匹配sas和saaskey='saas and sas and saaas're.findall('sa{1,2}s',key)######################################################################匹配出i开头的行string = '''fall in love with youi love you very muchi love shei love her'''re.findall('^.*',string,re.M)######################################################################匹配全部行string1 = """
静夜思窗前明月光疑是地上霜举头望明月低头思故乡
"""re.findall('.*',string1,re.S)

项目需求:爬取糗事百科指定页面的糗图,并将其保存到指定文件夹中

#!/usr/bin/env python# -*- coding:utf-8 -*-'''遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料'''import requestsimport reimport osif __name__ == "__main__":     url = 'https://www.qiushibaike.com/pic/%s/'     headers={         'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',     }     #指定起始也结束页码     page_start = int(input('enter start page:'))     page_end = int(input('enter end page:'))     #创建文件夹     if not os.path.exists('images'):         os.mkdir('images')     #循环解析且下载指定页码中的图片数据     for page in range(page_start,page_end+1):         print('正在下载第%d页图片'%page)         new_url = format(url % page)         response = requests.get(url=new_url,headers=headers)         #解析response中的图片链接         e = '
.*?.*?
' pa = re.compile(e,re.S) image_urls = pa.findall(response.text) #循环下载该页码下所有的图片数据 for image_url in image_urls: image_url = 'https:' + image_url image_name = image_url.split('/')[-1] image_path = 'images/'+image_name image_data = requests.get(url=image_url,headers=headers).content with open(image_path,'wb') as fp: fp.write(image_data)

二.Xpath解析

测试页面数据

    测试bs4title>head><body>  <div>    <p>百里守约p>  div>  <div class="song">    <p>李清照p>    <p>王安石p>    <p>苏轼p>    <p>柳宗元p>    <a href="http://www.song.com/" title="赵匡胤" target="_self">      <span>this is spanspan>    宋朝是最强大的王朝,不是军队的强大,而是经济很强大,国民都很有钱a>    <a href="" class="du">总为浮云能蔽日,长安不见使人愁a>    <img src="http://www.baidu.com/meinv.jpg" alt="" />  div>  <div class="tang">    <ul>      <li><a href="http://www.baidu.com" title="qing">清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村a>li>      <li><a href="http://www.163.com" title="qin">秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山a>li>      <li><a href="http://www.126.com" alt="qi">岐王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君a>li>      <li><a href="http://www.sina.com" class="du">杜甫a>li>      <li><a href="http://www.dudu.com" class="du">杜牧a>li>      <li><b>杜小月b>li>      <li><i>度蜜月i>li>      <li><a href="http://www.haha.com" id="feng">凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘a>li>    ul>  div>body>html></code></pre> 
    <p><strong>常用xpath表达式回顾</strong></p> 
    <p><strong>属性定位:    #找到class属性值为song的div标签    //div[@class="song"] 层级&索引定位:    #找到class属性值为tang的div的直系子标签ul下的第二个子标签li下的直系子标签a    //div[@class="tang"]/ul/li[2]/a逻辑运算:    #找到href属性值为空且class属性值为du的a标签    //a[@href="" and @class="du"] 模糊匹配:    //div[contains(@class, "ng")]    //div[starts-with(@class, "ta")] 取文本:    # /表示获取某个标签下的文本内容    # //表示获取某个标签下的文本内容和所有子标签下的文本内容    //div[@class="song"]/p[1]/text()    //div[@class="tang"]//text()取属性:    //div[@class="tang"]//li[2]/a/@href</strong></p> 
    <p>代码中使用xpath表达式进行数据解析:</p> 
    <p>1.下载:pip install lxml2.导包:from lxml import etree3.将html文档或者xml文档转换成一个etree对象,然后调用对象中的方法查找指定的节点   2.1 本地文件:tree = etree.parse(文件名)                tree.xpath("xpath表达式")   2.2 网络数据:tree = etree.HTML(网页内容字符串)                tree.xpath("xpath表达式")</p> 
    <p>安装xpath插件在浏览器中对xpath表达式进行验证:可以在插件中直接执行xpath表达式</p> 
    <p>将xpath插件拖动到谷歌浏览器拓展程序(更多工具)中,安装成功</p> 
    <p>启动和关闭插件 ctrl + shift + x</p> 
    <p>项目需求:获取好段子中段子的内容和作者   http://www.haoduanzi.com</p> 
    <pre class="has"><code>'''遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料'''from lxml import etreeimport requestsurl='http://www.haoduanzi.com/category-10_2.html'headers = {        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',    }url_content=requests.get(url,headers=headers).text#使用xpath对url_conten进行解析#使用xpath解析从网络上获取的数据tree=etree.HTML(url_content)#解析获取当页所有段子的标题title_list=tree.xpath('//div[@]/h3/a/text()')ele_div_list=tree.xpath('//div[@]')text_list=[] #最终会存储12个段子的文本内容for ele in ele_div_list:    #段子的文本内容(是存放在list列表中)    text_list=ele.xpath('./div[@]//text()')    #list列表中的文本内容全部提取到一个字符串中    text_str=str(text_list)    #字符串形式的文本内容防止到all_text列表中    text_list.append(text_str)print(title_list)print(text_list)</code></pre> 
    <h3>【重点】下载煎蛋网中的图片数据:http://jandan.net/ooxx</h3> 
    <pre class="has"><code>import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport base64import urllib.requesturl = 'http://jandan.net/ooxx'ua = UserAgent(verify_ssl=False,use_cache_server=False).randomheaders = {    'User-Agent':ua}page_text = requests.get(url=url,headers=headers).text#查看页面源码:发现所有图片的src值都是一样的。#简单观察会发现每张图片加载都是通过jandan_load_img(this)这个js函数实现的。#在该函数后面还有一个class值为img-hash的标签,里面存储的是一组hash值,该值就是加密后的img地址#加密就是通过js函数实现的,所以分析js函数,获知加密方式,然后进行解密。#通过抓包工具抓取起始url的数据包,在数据包中全局搜索js函数名(jandan_load_img),然后分析该函数实现加密的方式。#在该js函数中发现有一个方法调用,该方法就是加密方式,对该方法进行搜索#搜索到的方法中会发现base64和md5等字样,md5是不可逆的所以优先考虑使用base64解密#print(page_text)tree = etree.HTML(page_text)#在抓包工具的数据包响应对象对应的页面中进行xpath的编写,而不是在浏览器页面中。#获取了加密的图片url数据imgCode_list = tree.xpath('//span[@]/text()')imgUrl_list = []for url in imgCode_list:    #base64.b64decode(url)为byte类型,需要转成str    img_url = 'http:'+base64.b64decode(url).decode()    imgUrl_list.append(img_url)for url in imgUrl_list:    filePath = url.split('/')[-1]    urllib.request.urlretrieve(url=url,filename=filePath)    print(filePath+'下载成功')</code></pre> 
    <h3><span style="font-weight:bold;">三.BeautifulSoup解析</span></h3> 
    <ul> 
     <li><p>环境安装</p></li> 
    </ul> 
    <p>- 需要将pip源设置为国内源,阿里源、豆瓣源、网易源等   - windows    (1)打开文件资源管理器(文件夹地址栏中)    (2)地址栏上面输入 %appdata%    (3)在这里面新建一个文件夹  pip    (4)在pip文件夹里面新建一个文件叫做  pip.ini ,内容写如下即可        [global]        timeout = 6000        index-url = https://mirrors.aliyun.com/pypi/simple/        trusted-host = mirrors.aliyun.com   - linux    (1)cd ~    (2)mkdir ~/.pip    (3)vi ~/.pip/pip.conf    (4)编辑内容,和windows一模一样 - 需要安装:pip install bs4     bs4在使用时候需要一个第三方库,把这个库也安装一下     pip install lxml</p> 
    <p>基础使用</p> 
    <p>使用流程:          - 导包:from bs4 import BeautifulSoup    - 使用方式:可以将一个html文档,转化为BeautifulSoup对象,然后通过对象的方法或者属性去查找指定的节点内容        (1)转化本地文件:             - soup = BeautifulSoup(open('本地文件'), 'lxml')        (2)转化网络文件:             - soup = BeautifulSoup('字符串类型或者字节类型', 'lxml')        (3)打印soup对象显示内容为html文件中的内容 基础巩固:    (1)根据标签名查找        - soup.a   只能找到第一个符合要求的标签    (2)获取属性        - soup.a.attrs  获取a所有的属性和属性值,返回一个字典        - soup.a.attrs['href']   获取href属性        - soup.a['href']   也可简写为这种形式    (3)获取内容        - soup.a.string        - soup.a.text        - soup.a.get_text()       【注意】如果标签还有标签,那么string获取到的结果为None,而其它两个,可以获取文本内容    (4)find:找到第一个符合要求的标签        - soup.find('a')  找到第一个符合要求的        - soup.find('a', title="xxx")        - soup.find('a', alt="xxx")        - soup.find('a', class_="xxx")        - soup.find('a', id="xxx")    (5)find_all:找到所有符合要求的标签        - soup.find_all('a')        - soup.find_all(['a','b']) 找到所有的a和b标签        - soup.find_all('a', limit=2)  限制前两个    (6)根据选择器选择指定的内容               select:soup.select('#feng')        - 常见的选择器:标签选择器(a)、类选择器(.)、id选择器(#)、层级选择器            - 层级选择器:                div .dudu #lala .meme .xixi  下面好多级                div > p > a > .lala          只能是下面一级        【注意】select选择器返回永远是列表,需要通过下标提取指定的对象</p> 
    <p>需求:使用bs4实现将诗词名句网站中三国演义小说的每一章的内容爬去到本地磁盘进行存储   http://www.shicimingju.com/book/sanguoyanyi.html</p> 
    <pre class="has"><code>import requestsfrom bs4 import BeautifulSoupheaders={         'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',     }def parse_content(url):    #获取标题正文页数据    page_text = requests.get(url,headers=headers).text    soup = BeautifulSoup(page_text,'lxml')    #解析获得标签    ele = soup.find('div',class_='chapter_content')    content = ele.text #获取标签中的数据值    return contentif __name__ == "__main__":     url = 'http://www.shicimingju.com/book/sanguoyanyi.html'     reponse = requests.get(url=url,headers=headers)     page_text = reponse.text     #创建soup对象     soup = BeautifulSoup(page_text,'lxml')     #解析数据     a_eles = soup.select('.book-mulu > ul > li > a')     print(a_eles)     cap = 1     for ele in a_eles:         print('开始下载第%d章节'%cap)         cap+=1         title = ele.string         content_url = 'http://www.shicimingju.com'+ele['href']         content = parse_content(content_url)         with open('./sanguo.txt','w') as fp:             fp.write(title+":"+content+'\n\n\n\n\n')             print('结束下载第%d章节'%cap)</code></pre> 
   </div> 
  </div> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1646739452225216512"></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">你可能感兴趣的:(java,xpath,解析字符串)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892412295414345728.htm"
                           title="html+css+javascript实用详解,HTML+CSS+JavaScript 课程标准" target="_blank">html+css+javascript实用详解,HTML+CSS+JavaScript 课程标准</a>
                        <span class="text-muted">vvv666s</span>

                        <div>②学会运用HTML语言中的标记设置颜色、文本格式和列表;熟练掌握颜色值的配置和背景图案的设置方法,熟练掌握字符、链接颜色的设置方法;③掌握在网页中添加CSS、嵌入图像、声音、多媒体信息的方法;④熟练掌握表格的使用方法,学会利用表格设布局网页;掌握框架制作网页的方法,会使用框架设计网页;掌握制作表单的方法,会利用表单建立交互式页面;⑤掌握JavaScript语言的语法;⑥掌握在HTML语言代码中嵌入</div>
                    </li>
                    <li><a href="/article/1892411162377646080.htm"
                           title="Android Gradle使用总结" target="_blank">Android Gradle使用总结</a>
                        <span class="text-muted">Wei_Leng</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/studio/1.htm">studio</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/gradle/1.htm">gradle</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                        <div>其他Groovy入门学习http://blog.csdn.net/zhaoyanjun6/article/details/70313790AndroidGradleAndroid项目使用Gradle作为构建框架,Gradle又是以Groovy为脚本语言。所以学习Gradle之前需要先熟悉Groovy脚本语言。Groovy是基于Java语言的脚本语言,所以它的语法和Java非常相似,但是具有比jav</div>
                    </li>
                    <li><a href="/article/1892410529520087040.htm"
                           title="JavaScript的魔法世界:巧妙之处与实战技巧" target="_blank">JavaScript的魔法世界:巧妙之处与实战技巧</a>
                        <span class="text-muted">skyksksksksks</span>
<a class="tag" taget="_blank" href="/search/%E7%BB%BC%E5%90%88%E4%B8%AA%E4%BA%BA%E6%9D%82%E8%AE%B0/1.htm">综合个人杂记</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、从浏览器玩具到全栈利器的蜕变之路JavaScript诞生于1995年,原本只是网景公司为浏览器设计的"小脚本"。谁能想到这个曾被戏称为"玩具语言"的家伙,如今已蜕变成支撑现代Web开发的擎天柱?就像一只破茧成蝶的幼虫,JavaScript经历了ECMAScript标准的持续进化,在Node.js的加持下突破了浏览器的桎梏,实现了从客户端到服务端的华丽转身。V8引擎的涡轮增压让它跑得比猎豹还快,</div>
                    </li>
                    <li><a href="/article/1892409395581612032.htm"
                           title="深入解析 Flutter Riverpod:从原理到实战" target="_blank">深入解析 Flutter Riverpod:从原理到实战</a>
                        <span class="text-muted">陈皮话梅糖@</span>
<a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/Riverpod/1.htm">Riverpod</a>
                        <div>深入解析FlutterRiverpod:从原理到实战Riverpod是Flutter社区中一个强大且灵活的状态管理工具,被称为Provider的升级版。它解决了Provider的一些局限性,比如类型安全、全局状态管理的灵活性、不依赖BuildContext等。Riverpod的设计理念是简洁、灵活和高性能,适合从小型到大型项目的状态管理需求。本篇博客将详细分析Riverpod的核心原理、常见用法,</div>
                    </li>
                    <li><a href="/article/1892408765760729088.htm"
                           title="XML的介绍及使用DOM,DOM4J解析xml文件" target="_blank">XML的介绍及使用DOM,DOM4J解析xml文件</a>
                        <span class="text-muted">late summer182</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>1XML简介XML(可扩展标记语言,ExtensibleMarkupLanguage)是一种用于定义文档结构和数据存储的标记语言。它主要用于在不同的系统之间传输和存储数据。作用:数据交互配置应用程序和网站Ajax基石特点XML与操作系统、编程语言的开发平台无关实现不同系统之间的数据交换2XML文档结构王珊.NET高级编程包含C#框架和网络编程等李明明XML基础编程包含XML基础概念和基本作用2.1</div>
                    </li>
                    <li><a href="/article/1892408764976394240.htm"
                           title="Redis 全方位解析:从入门到实战" target="_blank">Redis 全方位解析:从入门到实战</a>
                        <span class="text-muted">kiss strong</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a>
                        <div>引言在当今互联网快速发展的时代,高并发、低延迟的应用场景越来越普遍。Redis,作为一款高性能的开源数据库,以其卓越的性能和灵活的功能,成为了许多开发者的首选工具。无论是在缓存、消息队列,还是在实时数据分析等领域,Redis都展现出了强大的能力。本文将从Redis的基本介绍、官网、安装、特性,到具体的存储类型、Java代码实例、SpringBoot整合,以及Redis的主要作用和应用场景,进行全面</div>
                    </li>
                    <li><a href="/article/1892407376435277824.htm"
                           title="前端开发入门指南:HTML、CSS和JavaScript基础知识" target="_blank">前端开发入门指南:HTML、CSS和JavaScript基础知识</a>
                        <span class="text-muted">方向感超强的</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>引言:大家好,我是一名简单的前端开发爱好者,对于网页设计和用户体验的追求让我深深着迷。在本篇文章中,我将带领大家探索前端开发的基础知识,涵盖HTML、CSS和JavaScript。如果你对这个领域感兴趣,或者想要了解如何开始学习前端开发,那么这篇文章将为你提供一个良好的起点。1.前端开发概述在我们深入了解前端开发的细节之前,让我们先了解一下前端开发的定义和作用。简而言之,前端开发涉及构建用户直接与</div>
                    </li>
                    <li><a href="/article/1892406744987004928.htm"
                           title="《Java高级-Xml:利用DOM4j解析XML》" target="_blank">《Java高级-Xml:利用DOM4j解析XML》</a>
                        <span class="text-muted">大大大钢琴</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Java%EF%BC%9A%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/1.htm">Java:经验总结</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>利用DOM4j解析XMLdom4j是一个简单的开源库,用于处理XML、XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。dom4j是目前在xml解析方面是最优秀的(Hibernate、Sun的JAXM也都使用dom4j来解析XML),它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XMLSchema支持以及用于大文档或流化文档</div>
                    </li>
                    <li><a href="/article/1892402708804071424.htm"
                           title="LQB---基础练习---十六进制转八进制" target="_blank">LQB---基础练习---十六进制转八进制</a>
                        <span class="text-muted">「已注销」</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/LQB/1.htm">LQB</a><a class="tag" taget="_blank" href="/search/LQB/1.htm">LQB</a>
                        <div>试题基础练习十六进制转八进制资源限制内存限制:512.0MBC/C++时间限制:1.0sJava时间限制:3.0sPython时间限制:5.0s问题描述给定n个十六进制正整数,输出它们对应的八进制数。输入格式输入的第一行为一个正整数n(1<=n<=10)。接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式输出n行,每行为</div>
                    </li>
                    <li><a href="/article/1892400189780586496.htm"
                           title="js如何直接下载文件流" target="_blank">js如何直接下载文件流</a>
                        <span class="text-muted">涔溪</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在JavaScript中直接处理文件下载,尤其是在处理文件流的情况下,通常涉及到使用fetchAPI或者XMLHttpRequest来获取文件流,并通过创建一个临时的标签(锚点元素)触发下载。以下是使用fetchAPI的一个示例:fetch('你的文件URL',{method:'GET',headers:{//如果需要的话,可以在这里添加请求头}}).then(response=>response</div>
                    </li>
                    <li><a href="/article/1892399811307565056.htm"
                           title="无人机挂载5G通信基站网络恢复技术详解" target="_blank">无人机挂载5G通信基站网络恢复技术详解</a>
                        <span class="text-muted">无人机技术圈</span>
<a class="tag" taget="_blank" href="/search/%E6%97%A0%E4%BA%BA%E6%9C%BA%E6%8A%80%E6%9C%AF/1.htm">无人机技术</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E4%BA%BA%E6%9C%BA/1.htm">无人机</a>
                        <div>无人机挂载5G通信基站网络恢复技术是一种创新的应急通信解决方案,特别适用于自然灾害等突发情况下快速恢复通信服务。以下是对该技术的详细解析:一、技术背景与意义在自然灾害如地震、洪水等发生后,通信基础设施往往受到严重破坏,导致灾区与外界的通信中断。无人机挂载5G通信基站技术能够迅速搭建临时通信网络,为灾区提供应急通信服务,保障抢险救灾工作的顺利开展。二、技术原理与组成1.技术原理:无人机作为空中平台,</div>
                    </li>
                    <li><a href="/article/1892398803407925248.htm"
                           title="部署前端项目2" target="_blank">部署前端项目2</a>
                        <span class="text-muted">augenstern416</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>前端项目的部署是将开发完成的前端代码发布到服务器或云平台,使其能够通过互联网访问。以下是前端项目部署的常见步骤和工具:1.准备工作在部署之前,确保项目已经完成以下步骤:代码优化:压缩JavaScript、CSS和图片文件,减少文件体积。环境配置:区分开发环境和生产环境(如API地址、环境变量等)。测试:确保项目在本地测试通过,没有明显Bug。2.部署流程1.构建项目大多数前端项目(如React、V</div>
                    </li>
                    <li><a href="/article/1892398677004185600.htm"
                           title="对象的操作" target="_blank">对象的操作</a>
                        <span class="text-muted">augenstern416</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a>
                        <div>在前端开发中,JavaScript提供了许多内置对象和方法,用于处理数据、操作DOM、处理事件等。以下是一些常用对象及其方法和扩展技巧:1.Object对象Object是JavaScript中最基础的对象,几乎所有对象都继承自Object。常用方法Object.keys(obj):返回对象的所有可枚举属性的键名数组。constobj={a:1,b:2};console.log(Object.key</div>
                    </li>
                    <li><a href="/article/1892392628524216320.htm"
                           title="【Linux系统】线程安全与可重入性:深入探讨两者的关系" target="_blank">【Linux系统】线程安全与可重入性:深入探讨两者的关系</a>
                        <span class="text-muted">时差freebright</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Linux%E7%BA%BF%E7%A8%8B/1.htm">Linux线程</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>在多线程编程中,线程安全和可重入性是两个非常重要的概念。虽然它们有一定的关联,但并不完全等同。本文将详细解析这两个概念的定义、区别以及它们之间的关系,并通过具体的例子帮助读者更好地理解。0.核心的两句话可重入函数是线程安全函数的⼀种线程安全不一定是可重入的,而可重入函数则⼀定是线程安全的。1.线程安全(ThreadSafety)线程安全是指一个函数或一段代码在多线程环境下被调用时,能够正确地处理多</div>
                    </li>
                    <li><a href="/article/1892392376316522496.htm"
                           title="机器学习·文本数据读写处理" target="_blank">机器学习·文本数据读写处理</a>
                        <span class="text-muted">AAA顶置摸鱼</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/1.htm">数据处理</a>
                        <div>前言在自然语言处理的第一步,需要面对的是各种各样以不同形式表现的文本数据,比如,txt、Excel中的表格数据,还有无法直接打开的pkl文件等。针对这些不同类型的数据,可以基于Python中的基本功能函数或者调用某些库进行读写以及作一些基本的处理。一、文本数据读写方法1.读写TXT文件读取方法:read():读取整个文件,返回字符串。readline():逐行读取,返回字符串。readlines(</div>
                    </li>
                    <li><a href="/article/1892390738520502272.htm"
                           title="前端基础入门:HTML、CSS 和 JavaScript" target="_blank">前端基础入门:HTML、CSS 和 JavaScript</a>
                        <span class="text-muted">阿绵</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
                        <div>在现代网页开发中,前端技术扮演着至关重要的角色。无论是个人网站、企业官网,还是复杂的Web应用程序,前端开发的基础技术HTML、CSS和JavaScript都是每个开发者必须掌握的核心技能。本文将详细介绍这三者的基本概念及其应用一、HTML——网页的骨架HTML(HyperTextMarkupLanguage)是构建网页的基础语言。它是网页的结构和内容的标记语言,决定了网页上的文本、图像、表单等元</div>
                    </li>
                    <li><a href="/article/1892389477767245824.htm"
                           title="网页制作03-html,css,javascript初认识のhtml的图像设置" target="_blank">网页制作03-html,css,javascript初认识のhtml的图像设置</a>
                        <span class="text-muted">Ama_tor</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E5%88%B6%E4%BD%9C%E4%B8%93%E6%A0%8F/1.htm">网页制作专栏</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、图像格式网页中图像的格式有三种,Gif,Jpeg,PngGif:Graphicinterchangeformat图像交换格式,文件最多可使用256种颜色,最适合显示色调不连续或具有大面积单一颜色的图像,例如导航条、按钮、图标、徽标或其他具有统一色彩和色调的图像;还可以制作动态图像Jpeg:Giantphotographicexpectgroup,它是一种图像压缩格式,可包含数百万种颜色,不支持</div>
                    </li>
                    <li><a href="/article/1892387965171200000.htm"
                           title="java进阶篇--生产环境如何排查bug和优化 JVM?" target="_blank">java进阶篇--生产环境如何排查bug和优化 JVM?</a>
                        <span class="text-muted">爱分享的淘金达人</span>
<a class="tag" taget="_blank" href="/search/Java%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90%2830%E8%AE%B2%29/1.htm">Java源码剖析(30讲)</a><a class="tag" taget="_blank" href="/search/jvm%E4%BC%98%E5%8C%96/1.htm">jvm优化</a><a class="tag" taget="_blank" href="/search/jvm%E8%B0%83%E4%BC%98/1.htm">jvm调优</a><a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96jvm/1.htm">优化jvm</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%BC%98%E5%8C%96jvm/1.htm">生产环境优化jvm</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83jvm%E4%BC%98%E5%8C%96/1.htm">生产环境jvm优化</a>
                        <div>通过前面几个课时的学习,相信你对JVM的理论及实践等相关知识有了一个大体的印象。而本课时将重点讲解JVM的排查与优化,这样就会对JVM的知识点有一个完整的认识,从而可以更好地应用于实际工作或者面试了。我们本课时的面试题是,生产环境如何排查问题?回答:如果是在生产环境中直接排查JVM的话,最简单的做法就是使用JDK自带的6个非常实用的命令行工具来排查。它们分别是:jps、jstat、jinfo、jm</div>
                    </li>
                    <li><a href="/article/1892386200312934400.htm"
                           title="JavaScript——操作浏览器窗口" target="_blank">JavaScript——操作浏览器窗口</a>
                        <span class="text-muted">yiqi_perss</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                        <div>学习内容:今天学习了alert提示框,提示框中的内容,就是alert后边小括号中的内容例如:alert('我要学JavaScript!');alert('我要学习!');学习总结:日常小总结例如:后面的分号;可以随便去掉,不影响运行效果。不能去掉小括号,否则会报错,不信你可以试试。必须是英文引号,否则会报错。课外扩展:历史渊源例如:ECMAScript是一种语言标准,而JavaScript是网景公</div>
                    </li>
                    <li><a href="/article/1892385948155572224.htm"
                           title="JVM内存模型分区" target="_blank">JVM内存模型分区</a>
                        <span class="text-muted">Lionel·</span>
<a class="tag" taget="_blank" href="/search/java%E5%9F%BA%E7%A1%80/1.htm">java基础</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a>
                        <div>JVM内存模型划分根据JVM规范,JVM内存共分为Java虚拟机栈,本地方法栈,堆,方法区,程序计数器,五个部分。1.Java堆(线程共享)Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及数组都要在堆上分配。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。从内存回收的角度看,由于现在收集器基本都采用分代</div>
                    </li>
                    <li><a href="/article/1892385065640456192.htm"
                           title="MapReduce 读取 Hive ORC ArrayIndexOutOfBoundsException: 1024 异常解决" target="_blank">MapReduce 读取 Hive ORC ArrayIndexOutOfBoundsException: 1024 异常解决</a>
                        <span class="text-muted">一张假钞</span>
<a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>个人博客地址:MapReduce读取HiveORCArrayIndexOutOfBoundsException:1024异常解决|一张假钞的真实世界在MR处理ORC的时候遇到如下异常:Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:1024atorg.apache.orc.impl.RunLengthIntegerRe</div>
                    </li>
                    <li><a href="/article/1892381274820112384.htm"
                           title="AI编剧系统深度解析:从算法架构到影视工业化应用实战" target="_blank">AI编剧系统深度解析:从算法架构到影视工业化应用实战</a>
                        <span class="text-muted">Coderabo</span>
<a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8/1.htm">R1模型企业级应用</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>媒体娱乐行业革命:AI编剧创意辅助系统架构解析与实战应用一、行业背景与技术架构在流媒体内容需求激增的当下,传统编剧模式面临产能瓶颈。AI编剧创意辅助系统通过自然语言处理(NLP)、生成对抗网络(GAN)和知识图谱技术,构建了包含剧本生成、情节优化、角色塑造等模块的智能创作平台。核心架构分为:知识图谱层:整合影视剧本数据库(IMSDb)、维基百科等结构化数据NLP处理层:基于Transformer的</div>
                    </li>
                    <li><a href="/article/1892378626968580096.htm"
                           title="C# 语法 vs. C++ 语法:全面对比与核心区别解析" target="_blank">C# 语法 vs. C++ 语法:全面对比与核心区别解析</a>
                        <span class="text-muted">不会编程的程序猿ᅟ</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>引言C#和C++是两种广泛使用的编程语言,分别由微软和BjarneStroustrup开发。尽管它们都属于C语言家族,但在语法、特性和应用场景上存在显著差异。本文将从多个角度详细对比C#和C++的语法区别,帮助你更好地理解这两种语言的特点。一、语言设计目标1.C#设计目标:C#是一种现代化的、面向对象的编程语言,旨在简化开发过程,提高开发效率。主要应用:Windows应用、Web开发、游戏开发(U</div>
                    </li>
                    <li><a href="/article/1892378374161100800.htm"
                           title="记录一次进程被操作系统强制终止(OOM Killer)" target="_blank">记录一次进程被操作系统强制终止(OOM Killer)</a>
                        <span class="text-muted">别告诉我有BUG</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>问题背景场景:在一次系统迁移中,团队将原本运行在16G内存物理机的Java服务迁移到8G内存虚拟机,直接复用了原有的JVM参数(如-Xmx12g)。服务启动后运行正常,但几小时后突然宕机,日志中无明确错误,仅显示进程终止。影响:服务不可用持续30分钟部分业务数据丢失,用户投诉激增分析过程1.初步排查现象确认:进程消失,无Java堆栈或异常日志。系统日志/var/log/messages中发现OOM</div>
                    </li>
                    <li><a href="/article/1892370553935818752.htm"
                           title="Flink CDC报错ArrayIndexOutOfBoundsException解决思路" target="_blank">Flink CDC报错ArrayIndexOutOfBoundsException解决思路</a>
                        <span class="text-muted">学亮编程手记</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/doris/1.htm">doris</a>
                        <div>FlinkCDC用两个并行度会报错。一个并行度就不会报错。不知道是什么原因?同步java.lang.ArrayIndexOutOfBoundsException?解决思路看日志,应该是mysql文本字段中有换行符之类的,应该会有一个url的报错提示,然后curl那个url看具体报错。这个问题可能是由于FlinkCDC的并行度设置不正确导致的。当您尝试使用两个并行度时,可能会遇到数组越界异常(jav</div>
                    </li>
                    <li><a href="/article/1892370554577547264.htm"
                           title="【python】懒人福利,通过Python的JIRA库操作JIRA,自动批量提交关闭bug,提高效率" target="_blank">【python】懒人福利,通过Python的JIRA库操作JIRA,自动批量提交关闭bug,提高效率</a>
                        <span class="text-muted">bulabula2022</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/CI%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/1.htm">CI持续集成</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a>
                        <div>简介:Jira是目前比较流行的基于Java架构的管理系统(Atlassian公司支持),有开源代码,方便做二次开发(可扩展性)。Jira是一款功能非常强大的管理工具,广泛的用来缺陷跟踪、用例管理、需求收集、任务跟踪、工时管理、项目计划管理等工作领域。python有支持操作Jira的第三方包,方便自定义一些自动化操作。需要安装jira库:pipinstalljiraJira认证fromjiraimp</div>
                    </li>
                    <li><a href="/article/1892368915095416832.htm"
                           title="JVM调优 从Full GC报警到性能提升90%的调优实录" target="_blank">JVM调优 从Full GC报警到性能提升90%的调优实录</a>
                        <span class="text-muted">C_V_Better</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">java性能优化</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>背景事故现场:某社交APP晚高峰突发服务卡顿,用户消息延迟飙升监控大屏:GC时间从50ms/次→5秒/次堆内存锯齿状波动(配Prometheus图表)“FullGC每分钟触发3次,但堆内存却越回收越少?”一、GC日志分析——JVM的“心电图”解读1.日志结构全解析[GC(AllocationFailure)[PSYoungGen:614400K->24064K(614400K)]614400K-></div>
                    </li>
                    <li><a href="/article/1892368445526306816.htm"
                           title="百万架构师第四十课:RabbitMq:RabbitMq-工作模型与JAVA编程|JavaGuide" target="_blank">百万架构师第四十课:RabbitMq:RabbitMq-工作模型与JAVA编程|JavaGuide</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>来源:https://javaguide.netRabbitMQ1-工作模型与Java编程课前准备预习资料Windows安装步骤Linux安装步骤官网文章中文翻译系列环境说明操作系统:CentOS7JDK:1.8Erlang:19.0.4或最新版RabbitMQ:3.6.12或最新版版本对应关系典型应用场景跨系统的异步通信。人民银行二代支付系统,使用重量级消息队列IBMMQ,异步,解耦,削峰都有体</div>
                    </li>
                    <li><a href="/article/1892367403426312192.htm"
                           title="Java面试题中高级进阶(JVM篇Java内存)" target="_blank">Java面试题中高级进阶(JVM篇Java内存)</a>
                        <span class="text-muted">李老头探索</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说Java内存结构?说说对象分配规则?描述一下JVM加载class文件的原理机制?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理***Java内存结构方法区和堆是所有线程共享的内存区域;而java栈、本地方法栈和程序员计数器是运行是线程私有的内存区域。Java堆(Heap),是Java虚拟机所</div>
                    </li>
                    <li><a href="/article/1892366269613666304.htm"
                           title="【JavaSE】GUI编程(图形界面)" target="_blank">【JavaSE】GUI编程(图形界面)</a>
                        <span class="text-muted">lil_侯昊</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>GUI(GraphicalUserInterface)图形用户界面-àjava提供的图形用户界面UI–用户界面Swing概述Javax.swing包此包中包含了java主要的图形界面的实现类●swing是一个为Java设计的GUI工具包javax.swing,该包中包括了图形用户界面的各种组件支持。●一个Java的图形界面,由各种不同类型的“元素”组成,这些“元素”被称为组件(Component)</div>
                    </li>
                                <li><a href="/article/34.htm"
                                       title="Java 并发包之线程池和原子计数" target="_blank">Java 并发包之线程池和原子计数</a>
                                    <span class="text-muted">lijingyao8206</span>
<a class="tag" taget="_blank" href="/search/Java%E8%AE%A1%E6%95%B0/1.htm">Java计数</a><a class="tag" taget="_blank" href="/search/ThreadPool/1.htm">ThreadPool</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91%E5%8C%85/1.htm">并发包</a><a class="tag" taget="_blank" href="/search/java%E7%BA%BF%E7%A8%8B%E6%B1%A0/1.htm">java线程池</a>
                                    <div>对于大数据量关联的业务处理逻辑,比较直接的想法就是用JDK提供的并发包去解决多线程情况下的业务数据处理。线程池可以提供很好的管理线程的方式,并且可以提高线程利用率,并发包中的原子计数在多线程的情况下可以让我们避免去写一些同步代码。 
    这里就先把jdk并发包中的线程池处理器ThreadPoolExecutor 以原子计数类AomicInteger 和倒数计时锁C</div>
                                </li>
                                <li><a href="/article/161.htm"
                                       title="java编程思想 抽象类和接口" target="_blank">java编程思想 抽象类和接口</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E7%B1%BB/1.htm">抽象类</a><a class="tag" taget="_blank" href="/search/%E6%8E%A5%E5%8F%A3/1.htm">接口</a>
                                    <div>接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持 
  
1 ,抽象类 :  如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错) 
  
抽象方法 : 在方法中仅有声明而没有方法体  
  
 
package com.wj.Interface;

</div>
                                </li>
                                <li><a href="/article/288.htm"
                                       title="[房地产与大数据]房地产数据挖掘系统" target="_blank">[房地产与大数据]房地产数据挖掘系统</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a>
                                    <div> 
       随着一个关键核心技术的突破,我们已经是独立自主的开发某些先进模块,但是要完全实现,还需要一定的时间... 
 
       所以,除了代码工作以外,我们还需要关心一下非技术领域的事件..比如说房地产 
 
    &nb</div>
                                </li>
                                <li><a href="/article/415.htm"
                                       title="数组队列总结" target="_blank">数组队列总结</a>
                                    <span class="text-muted">沐刃青蛟</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84%E9%98%9F%E5%88%97/1.htm">数组队列</a>
                                    <div>  
    数组队列是一种大小可以改变,类型没有定死的类似数组的工具。不过与数组相比,它更具有灵活性。因为它不但不用担心越界问题,而且因为泛型(类似c++中模板的东西)的存在而支持各种类型。 
  
   以下是数组队列的功能实现代码: 
  
import List.Student;

public class</div>
                                </li>
                                <li><a href="/article/542.htm"
                                       title="Oracle存储过程无法编译的解决方法" target="_blank">Oracle存储过程无法编译的解决方法</a>
                                    <span class="text-muted">IT独行者</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B%E3%80%80/1.htm">存储过程 </a>
                                    <div>今天同事修改Oracle存储过程又导致2个过程无法被编译,流程规范上的东西,Dave 这里不多说,看看怎么解决问题。 
   


1.     查看无效对象  
XEZF@xezf(qs-xezf-db1)> select object_name,object_type,status from all_objects where status='IN</div>
                                </li>
                                <li><a href="/article/669.htm"
                                       title="重装系统之后oracle恢复" target="_blank">重装系统之后oracle恢复</a>
                                    <span class="text-muted">文强chu</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>前几天正在使用电脑,没有暂停oracle的各种服务。 
突然win8.1系统奔溃,无法修复,开机时系统 提示正在搜集错误信息,然后再开机,再提示的无限循环中。 
无耐我拿出系统u盘 准备重装系统,没想到竟然无法从u盘引导成功。 
晚上到外面早了一家修电脑店,让人家给装了个系统,并且那哥们在我没反应过来的时候, 
直接把我的c盘给格式化了 并且清理了注册表,再装系统。 
然后的结果就是我的oracl</div>
                                </li>
                                <li><a href="/article/796.htm"
                                       title="python学习二( 一些基础语法)" target="_blank">python学习二( 一些基础语法)</a>
                                    <span class="text-muted">小桔子</span>
<a class="tag" taget="_blank" href="/search/pthon/1.htm">pthon</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/1.htm">基础语法</a>
                                    <div>紧接着把!昨天没看继续看django 官方教程,学了下python的基本语法 与c类语言还是有些小差别: 
1.ptyhon的源文件以UTF-8编码格式 
2. 
 /   除 结果浮点型 
 //  除 结果整形 
 %   除 取余数 
 *   乘 
 **  乘方 eg 5**2 结果是5的2次方25 
 _&</div>
                                </li>
                                <li><a href="/article/923.htm"
                                       title="svn 常用命令" target="_blank">svn 常用命令</a>
                                    <span class="text-muted">aichenglong</span>
<a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/%E7%89%88%E6%9C%AC%E5%9B%9E%E9%80%80/1.htm">版本回退</a>
                                    <div>1 svn回退版本 
  1)在window中选择log,根据想要回退的内容,选择revert this version或revert chanages from this version 
 两者的区别: 
  revert this version:表示回退到当前版本(该版本后的版本全部作废) 
  revert chanages from this versio</div>
                                </li>
                                <li><a href="/article/1050.htm"
                                       title="某小公司面试归来" target="_blank">某小公司面试归来</a>
                                    <span class="text-muted">alafqq</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                                    <div>先填单子,还要写笔试题,我以时间为急,拒绝了它。。时间宝贵。 
老拿这些对付毕业生的东东来吓唬我。。 
 
面试官很刁难,问了几个问题,记录下; 
 
1,包的范围。。。public,private,protect. --悲剧了 
2,hashcode方法和equals方法的区别。谁覆盖谁.结果,他说我说反了。 
3,最恶心的一道题,抽象类继承抽象类吗?(察,一般它都是被继承的啊) 
4,stru</div>
                                </li>
                                <li><a href="/article/1177.htm"
                                       title="动态数组的存储速度比较 集合框架" target="_blank">动态数组的存储速度比较 集合框架</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E9%9B%86%E5%90%88%E6%A1%86%E6%9E%B6/1.htm">集合框架</a>
                                    <div>集合框架: 
自定义数据结构(增删改查等) 
package 数组;

/**
 * 创建动态数组
 * @author 百合
 *
 */

public class ArrayDemo{
	
	//定义一个数组来存放数据
	
	String[] src = new String[0];
	
	/**
	 * 增加元素加入容器 
	 * @param s要加入容器</div>
                                </li>
                                <li><a href="/article/1304.htm"
                                       title="用JS实现一个JS对象,对象里有两个属性一个方法" target="_blank">用JS实现一个JS对象,对象里有两个属性一个方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/js%E5%AF%B9%E8%B1%A1/1.htm">js对象</a>
                                    <div><html> 
  <head> 
  </head> 
  <body> 
    用js代码实现一个js对象,对象里有两个属性,一个方法 
  </body> 
  <script> 
        var obj={a:'1234567',b:'bbbbbbbbbb',c:function(x){ 
 </div>
                                </li>
                                <li><a href="/article/1431.htm"
                                       title="探索JUnit4扩展:使用Rule" target="_blank">探索JUnit4扩展:使用Rule</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/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a><a class="tag" taget="_blank" href="/search/Rule/1.htm">Rule</a>
                                    <div>        在上一篇文章中,讨论了使用Runner扩展JUnit4的方式,即直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。下面将使用JUnit4.7才开始引入的扩展方式——Rule来实现相同的扩展功能。 
1. Rule 
      &n</div>
                                </li>
                                <li><a href="/article/1558.htm"
                                       title="[Gson一]非泛型POJO对象的反序列化" target="_blank">[Gson一]非泛型POJO对象的反序列化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a>
                                    <div>当要将JSON数据串反序列化自身为非泛型的POJO时,使用Gson.fromJson(String, Class)方法。自身为非泛型的POJO的包括两种: 
1. POJO对象不包含任何泛型的字段 
2. POJO对象包含泛型字段,例如泛型集合或者泛型类 
 Data类 a.不是泛型类, b.Data中的集合List和Map都是泛型的 c.Data中不包含其它的POJO   
 </div>
                                </li>
                                <li><a href="/article/1685.htm"
                                       title="【Kakfa五】Kafka Producer和Consumer基本使用" target="_blank">【Kakfa五】Kafka Producer和Consumer基本使用</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a>
                                    <div>0.Kafka服务器的配置 
一个Broker, 
一个Topic 
Topic中只有一个Partition()   1. Producer: 
package kafka.examples.producers;


import kafka.producer.KeyedMessage;
import kafka.javaapi.producer.Producer;
impor</div>
                                </li>
                                <li><a href="/article/1812.htm"
                                       title="lsyncd实时同步搭建指南——取代rsync+inotify" target="_blank">lsyncd实时同步搭建指南——取代rsync+inotify</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>1. 几大实时同步工具比较 1.1 inotify + rsync 
最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是 inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的带宽的使用效率以及同步效率;更为要紧的是,加入inotify</div>
                                </li>
                                <li><a href="/article/1939.htm"
                                       title="java-9. 判断整数序列是不是二元查找树的后序遍历结果" target="_blank">java-9. 判断整数序列是不是二元查找树的后序遍历结果</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class IsBinTreePostTraverse{
	
	static boolean isBSTPostOrder(int[] a){
		if(a==null){
			return false;
		}
		/*1.只有一个结点时,肯定是查找树
		 *2.只有两个结点时,肯定是查找树。例如{5,6}对应的BST是   6		{6,5}对应的BST是</div>
                                </li>
                                <li><a href="/article/2066.htm"
                                       title="MySQL的sum函数返回的类型" target="_blank">MySQL的sum函数返回的类型</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/jdbc/1.htm">jdbc</a>
                                    <div>今天项目切换数据库时,出错 
 
访问数据库的代码大概是这样: 
 

String sql =  "select sum(number) as sumNumberOfOneDay from tableName";
List<Map> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows</div>
                                </li>
                                <li><a href="/article/2193.htm"
                                       title="java设计模式之单例模式" target="_blank">java设计模式之单例模式</a>
                                    <span class="text-muted">chicony</span>
<a class="tag" taget="_blank" href="/search/java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">java设计模式</a>
                                    <div>  
在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的: 
  作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。  单例模式的结构
  
  单例模式的特点: 
 
 单例类只能有一个实例。 
 单例类必须自己创建自己的唯一实例。 
 单例类必须给所有其他对象提供这一实例。 
   饿汉式单例类 
  
publ</div>
                                </li>
                                <li><a href="/article/2320.htm"
                                       title="javascript取当月最后一天" target="_blank">javascript取当月最后一天</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>
<!--javascript取当月最后一天-->
<script   language=javascript>  
  var current = new Date();
  var year = current.getYear();
  var month = current.getMonth();
  showMonthLastDay(year, mont</div>
                                </li>
                                <li><a href="/article/2447.htm"
                                       title="linux tune2fs命令详解" target="_blank">linux tune2fs命令详解</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/tune2fs/1.htm">tune2fs</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E7%9C%8B%E7%B3%BB%E7%BB%9F%E6%96%87%E4%BB%B6%E5%9D%97%E4%BF%A1%E6%81%AF/1.htm">查看系统文件块信息</a>
                                    <div>一.简介: 
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。 
二.用法: 
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g grou</div>
                                </li>
                                <li><a href="/article/2574.htm"
                                       title="做有中国特色的程序员" target="_blank">做有中国特色的程序员</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a>
                                    <div>  
从出版业说起  网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。   许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有</div>
                                </li>
                                <li><a href="/article/2701.htm"
                                       title="Android:TextView属性大全" target="_blank">Android:TextView属性大全</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/textview/1.htm">textview</a>
                                    <div>android:autoLink    设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)  android:autoText    如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输</div>
                                </li>
                                <li><a href="/article/2828.htm"
                                       title="tomcat虚拟目录安装及其配置" target="_blank">tomcat虚拟目录安装及其配置</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/tomcat%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E/1.htm">tomcat配置说明</a><a class="tag" taget="_blank" href="/search/tomca%E9%83%A8%E7%BD%B2web%E5%BA%94%E7%94%A8/1.htm">tomca部署web应用</a><a class="tag" taget="_blank" href="/search/tomcat%E8%99%9A%E6%8B%9F%E7%9B%AE%E5%BD%95%E5%AE%89%E8%A3%85/1.htm">tomcat虚拟目录安装</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2097184 
1.-------------------------------------------tomcat  目录结构 
 
 config:存放tomcat的配置文件 
 temp  :存放tomcat跑起来后存放临时文件用的 
 work   : 当第一次访问应用中的jsp</div>
                                </li>
                                <li><a href="/article/2955.htm"
                                       title="浅谈:APP有哪些常被黑客利用的安全漏洞" target="_blank">浅谈:APP有哪些常被黑客利用的安全漏洞</a>
                                    <span class="text-muted">gg163</span>
<a class="tag" taget="_blank" href="/search/APP/1.htm">APP</a>
                                    <div>首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生;如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的。但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因。由国内移动应用安全检测团队爱内测(ineice.com)的CTO给我们浅谈关于Android 系统的开源设计以及生态环境。 
1. 应用反编译漏洞:APK 包非常容易被反编译成可读</div>
                                </li>
                                <li><a href="/article/3082.htm"
                                       title="C#根据网址生成静态页面" target="_blank">C#根据网址生成静态页面</a>
                                    <span class="text-muted">hvt</span>
<a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a>
                                    <div>HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件是后台管理的首页。包含生成留言板首页,以及显示用户名,退出等功能。根据网址生成页面的方法: 
  
bool CreateHtmlFile(string url, string path)
{ 
//http://keleyi.com/a/bjae/3d10wfax.htm

stri</div>
                                </li>
                                <li><a href="/article/3209.htm"
                                       title="SVG 教程 (一)" target="_blank">SVG 教程 (一)</a>
                                    <span class="text-muted">天梯梦</span>
<a class="tag" taget="_blank" href="/search/svg/1.htm">svg</a>
                                    <div>SVG 简介   
SVG 是使用 XML 来描述二维图形和绘图程序的语言。  学习之前应具备的基础知识: 
继续学习之前,你应该对以下内容有基本的了解: 
 
 HTML 
 XML 基础 
 
如果希望首先学习这些内容,请在本站的首页选择相应的教程。  什么是SVG? 
 
 SVG 指可伸缩矢量图形 (Scalable Vector Graphics) 
 SVG 用来定义用于网络的基于矢量</div>
                                </li>
                                <li><a href="/article/3336.htm"
                                       title="一个简单的java栈" target="_blank">一个简单的java栈</a>
                                    <span class="text-muted">luyulong</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E6%A0%88/1.htm">栈</a>
                                    <div>
public class MyStack {
	private long[] arr;

	private int top;

	public MyStack() {
		arr = new long[10];
		top = -1;
	}

	public MyStack(int maxsize) {
		arr = new long[maxsize];
		top </div>
                                </li>
                                <li><a href="/article/3463.htm"
                                       title="基础数据结构和算法八:Binary search" target="_blank">基础数据结构和算法八:Binary search</a>
                                    <span class="text-muted">sunwinner</span>
<a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/Binary+search/1.htm">Binary search</a>
                                    <div>Binary search needs an ordered array so that it can use array indexing to dramatically reduce the number of compares required for each search, using the classic and venerable binary search algori</div>
                                </li>
                                <li><a href="/article/3590.htm"
                                       title="12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!" target="_blank">12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!</a>
                                    <span class="text-muted">刘星宇</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                                    <div>12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个! 
1.gets()函数 
问:请找出下面代码里的问题: 
#include<stdio.h> 
int main(void) 
{ 
    char buff[10]; 
    memset(buff,0,sizeof(buff)); 
 
</div>
                                </li>
                                <li><a href="/article/3717.htm"
                                       title="ITeye 7月技术图书有奖试读获奖名单公布" target="_blank">ITeye 7月技术图书有奖试读获奖名单公布</a>
                                    <span class="text-muted">ITeye管理员</span>
<a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a><a class="tag" taget="_blank" href="/search/ITeye/1.htm">ITeye</a><a class="tag" taget="_blank" href="/search/%E8%AF%95%E8%AF%BB/1.htm">试读</a>
                                    <div>ITeye携手人民邮电出版社图灵教育共同举办的7月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 
 
 
7月试读活动回顾: 
http://webmaster.iteye.com/blog/2092746 
 
 
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀): 
 
 
《Java性能优化权威指南》 
 
 </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><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>