Java中的Html解析:使用jsoup

时间:2022-11-01 08:35:17

包:jsoup-1.10.2.jar

import java.io.File;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class TestHtml {
public static void main(String[] args) throws IOException {
getElement();
}

public static void getElement() throws IOException {
File file
= new File("D:/CSDN.NET.html");

String str标题
= "";
String strURL
= "";
String str阅读次数_全
= "";
String str阅读次数
= "";
String str评论数_全
= "";
String str评论数
= "";
Document doc
= Jsoup.parse(file, "UTF-8");
Document docSub;
// 博客每一项
Elements elmPerLink;// 列表中的每一个博客超链接
// ---------------------------------------------
Elements content = doc.getElementsByClass("list_item article_item");
for (int i = 0; i < content.size(); i++) {
docSub
= Jsoup.parse(content.get(i).toString());
// 标题+链接
elmPerLink = content.get(i).getElementsByTag("a");
str标题
= elmPerLink.get(0).text();
strURL
= elmPerLink.get(0).attr("href");

str阅读次数_全
= docSub.getElementsByClass("link_view").text();
str阅读次数
= getNum(str阅读次数_全);

str评论数_全
= docSub.getElementsByClass("link_comments").text();
str评论数
= getNum(str评论数_全);

System.out.println(
"标题: " + str标题);
System.out.println(
"URL: " + strURL);
System.out.println(
"阅读次数(原文字): " + str阅读次数_全);
System.out.println(
"阅读次数: " + str阅读次数);
System.out.println(
"评论数: " + str评论数);
}
}

/**
* 提取数字
*
* @param阅读(100)
*
@return 100
*/
public static String getNum(String str) {
int start = str.indexOf("(");
return str.substring(start + 1, str.length() - 1);
}
}

测试:

Java中的Html解析:使用jsoup

格式说明:

<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="/quinnnorris/article/details/57428399">
java深入浅出解析异常机制
</a
></span>
</h1>
</div>

<div class="article_description">
三月份啦,月初第一篇写一份异常机制的完全解析,表明这个月努力学习的决心!
以下长文预警!!!
java中的异常处理的目的在于通过使用少量的代码,使得程序有着强大的鲁棒性,并且这种异常处理机制会让你变得非常自信:你的应用中没有你没处理过的错误。处理异常的相关手法看起来是这么的难懂,但是如果掌握的话,会让你的项目收益明显,效果也会是立竿见影。
如果我们不使用异常处理,那么我们在程序中必须检查特定...
</div>
<div class="article_manage">
<span class="link_postdate">2017-03-02 19:38</span>


<span class="link_view" title="阅读次数"><a href="/quinnnorris/article/details/57428399" title="阅读次数">阅读</a>(233)</span>
<span class="link_comments" title="评论次数"><a href="/quinnnorris/article/details/57428399#comments" title="评论次数" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>

测试结果:

标题: java深入浅出解析异常机制
URL: http://blog.csdn.net/quinnnorris/article/details/57428399
阅读次数(原文字): 阅读(233)
阅读次数: 233
评论数: 0
标题: java深入理解动态绑定
URL: http://blog.csdn.net/quinnnorris/article/details/57413811
阅读次数(原文字): 阅读(270)
阅读次数: 270
评论数: 0
标题: java对象导论
URL: http://blog.csdn.net/quinnnorris/article/details/56496514
阅读次数(原文字): 阅读(264)
阅读次数: 264
评论数: 0
标题: java算法(一)——初级排序算法
URL: http://blog.csdn.net/quinnnorris/article/details/56292133
阅读次数(原文字): 阅读(312)
阅读次数: 312
评论数: 0
标题: java图形化Swing教程(二)
URL: http://blog.csdn.net/quinnnorris/article/details/55802648
阅读次数(原文字): 阅读(101)
阅读次数: 101
评论数: 0
标题: java图形化Swing教程(一)
URL: http://blog.csdn.net/quinnnorris/article/details/55667020
阅读次数(原文字): 阅读(406)
阅读次数: 406
评论数: 0
标题: java线程(二)——线程同步详解
URL: http://blog.csdn.net/quinnnorris/article/details/55522555
阅读次数(原文字): 阅读(79)
阅读次数: 79
评论数: 0
标题: java——用泛型参数类型构造数组
URL: http://blog.csdn.net/quinnnorris/article/details/55520353
阅读次数(原文字): 阅读(31)
阅读次数: 31
评论数: 0
标题: java线程(一)——线程状态及属性详解
URL: http://blog.csdn.net/quinnnorris/article/details/55106626
阅读次数(原文字): 阅读(72)
阅读次数: 72
评论数: 0
标题: java拷贝机制详解
URL: http://blog.csdn.net/quinnnorris/article/details/55057418
阅读次数(原文字): 阅读(72)
阅读次数: 72
评论数: 0
标题: java集合(二)——集合框架与算法详解
URL: http://blog.csdn.net/quinnnorris/article/details/54969126
阅读次数(原文字): 阅读(60)
阅读次数: 60
评论数: 0
标题: java集合(一)——数据结构详解
URL: http://blog.csdn.net/quinnnorris/article/details/54895024
阅读次数(原文字): 阅读(491)
阅读次数: 491
评论数: 1
标题: java内部类详解
URL: http://blog.csdn.net/quinnnorris/article/details/54864491
阅读次数(原文字): 阅读(106)
阅读次数: 106
评论数: 0
标题: java糖衣语法(Syntactic Sugar)详解
URL: http://blog.csdn.net/quinnnorris/article/details/54849155
阅读次数(原文字): 阅读(48)
阅读次数: 48
评论数: 0
标题: java反射机制详解
URL: http://blog.csdn.net/quinnnorris/article/details/54809297
阅读次数(原文字): 阅读(51)
阅读次数: 51
评论数: 2

被测试源文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0032)http://blog.csdn.net/QuinnNorris -->
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script src="./CSDN.NET_files/hm.js"></script><script type="text/javascript" src="./CSDN.NET_files/tracking.js" charset="utf-8"></script>

<script type="text/javascript">
var protocol = window.location.protocol;
document.write(
'<script type="text/javascript" src="' + protocol + '//csdnimg.cn/pubfooter/js/repoAddr2.js?v=' + Math.random() + '"></' + 'script>');
</script><script type="text/javascript" src="./CSDN.NET_files/repoAddr2.js"></script>


<meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" media="handheld" href="http://blog.csdn.net/QuinnNorris#">

<title>QuinnNorris的博客
- 博客频道 - CSDN.NET
</title>

<meta name="description" content="">
<script src="./CSDN.NET_files/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="./CSDN.NET_files/jquery-version.js"></script>
<script type="text/javascript" src="./CSDN.NET_files/ad.js"></script>
<!--new top-->

<link rel="stylesheet" href="./CSDN.NET_files/index.css">
<!--new top-->

<!-- ad begin -->
<script language="javascript" type="text/javascript" src="./CSDN.NET_files/tracking(1).js"></script>
<!-- ad end-->

<link rel="Stylesheet" type="text/css" href="./CSDN.NET_files/style.css">
<link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="http://blog.csdn.net/QuinnNorris/rss/list">
<link rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico">
<link type="text/css" rel="stylesheet" href="./CSDN.NET_files/blue.css">



<script>
var _hmt = _hmt || [];
(
function () {
var hm = document.createElement("script");
hm.src
= "//hm.baidu.com/hm.js?6bcd52f51e9b3dce32bec4a3997715ac";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>

<script src="./CSDN.NET_files/wxLogin.js"></script><link type="text/css" rel="stylesheet" href="./CSDN.NET_files/style(1).css"><link rel="stylesheet" type="text/css" href="./CSDN.NET_files/style(2).css"></head>
<body>


<!-- 广告位开始 -->
<ins data-revive-zoneid="149" data-revive-id="8c38e720de1c90a6f6ff52f3f89c4d57"></ins>
<!-- 广告位结束 -->



<!--new top-->
<script id="toolbar-tpl-scriptId" fixed="true" prod="blog" skin="black" src="./CSDN.NET_files/html.js" type="text/javascript"></script><div class="csdn-toolbar csdn-toolbar-skin-black "> <div class="container row center-block "> <div class="col-md-3 pull-left logo clearfix"><a href="http://www.csdn.net/?ref=toolbar" title="CSDN首页" target="_blank" class="icon"></a><a title="频道首页" href="http://blog.csdn.net/?ref=toolbar_logo" class="img blog-icon"></a></div> <div class="pull-right login-wrap unlogin"> <ul class="btns"> <li class="loginlink"><a href="https://passport.csdn.net/account/login?ref=toolbar" target="_top">登录&nbsp;</a>|<a target="_top" href="http://passport.csdn.net/account/mobileregister?ref=toolbar&action=mobileRegister">&nbsp;注册</a></li> <li class="search"> <div class="icon on-search-icon"> <div class="wrap"> <div class="curr-icon-wrap"> <div class="curr-icon"></div> </div> <form action="http://so.csdn.net/search" method="get" target="_blank"> <input type="hidden" value="toolbar" name="ref" accesskey="2"> <div class="border"> <input placeholder="搜索" type="text" value="" name="q" accesskey="2"><span class="icon-enter-sm"></span> </div> </form> </div> </div> </li> <li class="favor"> <div class="icon on-favor-icon"> <div class="wrap"> <div class="curr-icon-wrap"> <div class="curr-icon"></div> </div> <div style="display:none;" class="favor-success"><span class="msg">收藏成功</span> <div class="btns"><span class="btn btn-primary ok">确定</span></div> </div> <div style="display:none;" class="favor-failed"><span class="icon-danger-lg"></span><span class="msg">收藏失败,请重新收藏</span> <div class="btns"><span class="btn btn-primary ok">确定</span></div> </div> <form role="form" class="form-horizontal favor-form"> <div class="form-group"> <div class="clearfix"> <label for="input-title" class="col-sm-2 control-label"><span class="red_txt">*</span>标题</label> <div class="col-sm-10"> <input id="inputTitle" type="text" placeholder="" class="title form-control"> </div> </div> <div class="alert alert-danger"><strong></strong>标题不能为空</div> </div> <div class="form-group" style="display:none;"> <label for="input-url" class="col-sm-2 control-label">网址</label> <div class="col-sm-10"> <input id="input-url" type="text" placeholder="" class="url form-control"> </div> </div> <div class="form-group"> <label for="input-tag" class="col-sm-2 tag control-label">标签</label> <div class="col-sm-10"> <input id="input-tag" type="text" class="form-control tag"> </div> </div> <div class="form-group"> <label for="input-description" class="description col-sm-2 control-label">位置</label> <div class="col-sm-10"> <div class="my_lib_box"> 个人主页&nbsp;-&nbsp;<a href="http://my.csdn.net/" target="_blank">我的知识</a> </div> <div class="checkbox"> <div class="pull-left"> <label> <input type="checkbox" name="share" class="save_lib_map" checked="checked">同时保存至: </label> </div> <div class="pull-left"> <div class="dropdown"> <button id="toolbar_sele_map" type="button"> 选择知识图谱 <i class="fa fa-chevron-down"></i> </button> <div class="top_arr"></div> <div class="outside"> <ul class="dropdown-menu" id="toolbar_Design_knowledge"> </ul> </div> </div> </div> <div class="pull-left new_txt"> <a href="http://lib.csdn.net/my/create/structure" target="_blank">新建?</a> </div> </div> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10 ft"> <div class="col-sm-4 pull-left" style="display:none"> <div class="checkbox"> <label> <input type="checkbox" name="share" checked="checked" class="share">公开 </label> </div> </div> <div class="col-sm-8 pull-right favor-btns"> <button type="button" class="cancel btn btn-default">取消</button> <button type="submit" class="submit btn btn-primary">收藏</button> </div> </div> </div> </form> </div> </div> </li> <li class="notify"> <div style="display:none" class="number"></div> <div style="display:none" class="icon-hasnotes-sm"></div> <div id="header_notice_num"></div> <div class="icon on-notify-icon"> <div class="wrap"> <div class="curr-icon-wrap"> <div class="curr-icon"></div> </div> <div id="note1" class="csdn_note"> <div class="box"></div> <iframe src="about:block" frameborder="0" allowtransparency="true" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"></iframe></div> </div> </div> </li> <li class="ugc"> <div class="icon on-ugc-icon"> <div class="wrap clearfix"> <div class="curr-icon-wrap"> <div class="curr-icon"></div> </div> <dl> <dt><a href="http://geek.csdn.net/news/expert?ref=toolbar" target="_blank" class="p-news clearfix" style="display:none;"><em class="icon"></em><span>分享资讯</span></a></dt> <dt style="border: none;"><a href="http://u.download.csdn.net/upload?ref=toolbar" target="_blank" class="p-doc clearfix"><em class="icon"></em><span>传PPT/文档</span></a></dt> <dt><a href="http://bbs.csdn.net/topics/new?ref=toolbar" target="_blank" class="p-ask clearfix"><em class="icon"></em><span>提问题</span></a></dt> <dt><a href="http://write.blog.csdn.net/postedit?ref=toolbar" target="_blank" class="p-blog clearfix"><em class="icon"></em><span>写博客</span></a></dt> <dt><a href="http://u.download.csdn.net/upload?ref=toolbar" target="_blank" class="p-src clearfix"><em class="icon"></em><span>传资源</span></a></dt> <dt><a href="https://code.csdn.net/projects/new?ref=toolbar" target="_blank" class="c-obj clearfix"><em class="icon"></em><span>创建项目</span></a></dt> <dt><a href="https://code.csdn.net/snippets/new?ref=toolbar" target="_blank" class="c-code clearfix"><em class="icon"></em><span>创建代码片</span></a></dt> </dl> </div> </div> </li> <li class="profile"> <div class="icon on-profile-icon"><img src="./CSDN.NET_files/100x100.jpg" class="curr-icon-img"> <div class="wrap clearfix"> <div class="curr-icon-wrap"> <div class="curr-icon"></div> </div> <div class="bd"> <dl class="clearfix"> <dt class="pull-left img"><a target="_blank" href="http://my.csdn.net/?ref=toolbar" class="avatar"><img src="./CSDN.NET_files/100x100.jpg"></a></dt> <dd class="info" style="border: none;"><a target="_blank" href="http://my.csdn.net/?ref=toolbar" class="nickname"></a><a class="set-nick" href="https://passport.csdn.net/account/profile">设置昵称<span class="write-icon"></span></a><span class="dec"><a class="fill-dec" href="http://my.csdn.net/" target="_blank">编辑自我介绍,让更多人了解你<span class="write-icon"></span></a></span></dd> </dl> </div> <div class="ft clearfix"><a target="_blank" href="http://my.csdn.net/my/account/changepwd?ref=toolbar" class="pull-left"><span class="icon-cog"></span>帐号设置</a><a href="https://passport.csdn.net/account/logout?ref=toolbar" target="_top" class="pull-left" style="margin-left:132px; width:18px; height:27px; white-space:nowrap; overflow:hidden;"><span class="icon-signout"></span><span class="out">退出</span></a></div> </div> </div> </li> <li class="apps"> <div id="chasnew123" class="hasnew" style="display: none;"></div> <div id="cappsarea123" class="icon on-apps-icon"> <div class="wrap clearfix"> <div class="curr-icon-wrap"> <div class="curr-icon"></div> </div> <div class="detail"> <dl> <dt> <h5>社区</h5> </dt> <dd> <a href="http://blog.csdn.net/?ref=toolbar" target="_blank">博客</a></dd> <dd> <a href="http://bbs.csdn.net/?ref=toolbar" target="_blank">论坛</a></dd> <dd> <a href="http://download.csdn.net/?ref=toolbar" target="_blank">下载</a></dd> <dd> <a href="http://lib.csdn.net/?ref=toolbar" target="_blank">知识库</a></dd> <dd><a href="http://ask.csdn.net/?ref=toolbar" target="_blank">技术问答</a></dd> <dd><a href="http://geek.csdn.net/?ref=toolbar" target="_blank">极客头条</a></dd> <dd style="display:none"> <a href="http://hero.csdn.net/?ref=toolbar" target="_blank">英雄会</a></dd> </dl> </div> <div class="detail"> <dl> <dt> <h5>服务</h5> </dt> <dd style="display:none"> <a href="http://job.csdn.net/?ref=toolbar" target="_blank">JOB<img src="./CSDN.NET_files/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd> <dd> <a href="http://edu.csdn.net/?ref=toolbar" target="_blank">学院<img src="./CSDN.NET_files/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd> <dd> <a href="https://code.csdn.net/?ref=toolbar" target="_blank">CODE</a></dd> <dd> <a href="http://huiyi.csdn.net/?ref=toolbar" target="_blank">活动</a></dd> <dd> <a href="http://www.csto.com/?ref=toolbar" target="_blank">CSTO</a></dd> <dd> <a href="http://mall.csdn.net/?ref=toolbar" target="_blank">C币兑换<img src="./CSDN.NET_files/new.gif" style="display: none; margin-top: -26px; width: 23px;"></a></dd> </dl> </div> <div class="detail last"> <dl> <dt> <h5>俱乐部</h5> </dt> <dd> <a href="http://cto.csdn.net/?ref=toolbar" target="_blank">CTO俱乐部</a></dd> <dd> <a href="http://student.csdn.net/?ref=toolbar" target="_blank">高校俱乐部</a></dd> </dl> </div> </div> </div> </li> </ul> </div> </div> </div>
<!--new top-->
<div id="container">
<div id="header">
<div class="header">
<div id="blog_title">
<h2>
<a href="http://blog.csdn.net/quinnnorris">QuinnNorris的博客</a></h2>
<h3></h3>
<div class="clear">
</div>
</div>
<div class="clear">
</div>


</div>
</div>
<div id="navigator">
<div class="navigator_bg">
</div>
<div class="navigator">
<ul>
<li id="btnContents"><a href="http://blog.csdn.net/quinnnorris?viewmode=contents"><span onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_mulu&#39;])">
<img src="./CSDN.NET_files/ico_list.gif">目录视图</span></a></li>
<li id="btnView"><a href="http://blog.csdn.net/quinnnorris?viewmode=list"><span onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_zhaiyao&#39;])">
<img src="./CSDN.NET_files/ico_summary.gif">摘要视图</span></a></li>
<li id="btnRss"><a href="http://blog.csdn.net/quinnnorris/rss/list"><span onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_RSS&#39;])">
<img src="./CSDN.NET_files/ico_rss.gif">订阅</span></a></li>


</ul>
</div>
</div>
<script type="text/javascript">
var username = "QuinnNorris";
var _blogger = username;
var blog_address = "http://blog.csdn.net/quinnnorris";
var static_host = "http://static.blog.csdn.net";
var currentUserName = "";
</script>

<div id="body">
<div id="main">
<div class="main">
<div class="ad_class">
<div class="notice tracking-ad" data-mod="popu_3">


<a href="http://blog.csdn.net/blogdevteam/article/details/59647046" target="_blank">
<font color="red"> 技术人的充电时刻,24个精彩研发案例在等你
</font></a>

&nbsp;&nbsp;&nbsp;&nbsp;

<a href="http://blog.csdn.net/turingbooks/article/details/58072986" target="_blank">
<font color="blue">程序员2月书讯
</font></a>

&nbsp;&nbsp;&nbsp;

<a href="http://bbs.csdn.net/topics/392092888" target="_blank">
<font color="red">社区有奖问答--一起舞动酷炫的iOS动画
</font></a>


</div> </div>

<div class="list_item_new">

<div id="article_toplist" class="list">

</div>

<div id="article_list" class="list">

<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/57428399">
java深入浅出解析异常机制
</a></span>
</h1>
</div>

<div class="article_description">
三月份啦,月初第一篇写一份异常机制的完全解析,表明这个月努力学习的决心!
以下长文预警!!!
java中的异常处理的目的在于通过使用少量的代码,使得程序有着强大的鲁棒性,并且这种异常处理机制会让你变得非常自信:你的应用中没有你没处理过的错误。处理异常的相关手法看起来是这么的难懂,但是如果掌握的话,会让你的项目收益明显,效果也会是立竿见影。
如果我们不使用异常处理,那么我们在程序中必须检查特定...
</div>
<div class="article_manage">
<span class="link_postdate">2017-03-02 19:38</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/57428399" title="阅读次数">阅读</a>(233)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/57428399#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/57413811">
java深入理解动态绑定
</a></span>
</h1>
</div>

<div class="article_description">
在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特性。多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。在一开始接触多态这个词的时候,我们或许会因为这个词本身而感到困惑,如果我们把多态改称作“动态绑定”,相信很多人就能理解他的深层含义。通常的,我们把动态绑定也叫做后期绑定,运行时绑定。(一)方法调用绑定1.绑定概念通常,我们将一个方法调用同一个方法主体关联起来称作绑定。...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-26 15:38</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/57413811" title="阅读次数">阅读</a>(270)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/57413811#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/56496514">
java对象导论
</a></span>
</h1>
</div>

<div class="article_description">
(一)事物的抽象过程
人们所能解决的问题的复杂性,取决于能将事物抽象到什么程度。
高等的数学和物理就是对事物高度的抽象。它们在那种极度抽象的层次来研究,一旦获得大的进展,就会对我们日常生活造成极大的影响,比如爱因斯坦的相对论,它的发现对世界的影响就是巨大的。编程也是这样,我们将一些日常事物进行抽象,抽象的水平越高,我们就越可以用简洁的代码去描述它。Alan Kay曾经总结了第一个成功的面向对象语...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-22 21:31</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/56496514" title="阅读次数">阅读</a>(264)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/56496514#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/56292133">
java算法(一)——初级排序算法
</a></span>
</h1>
</div>

<div class="article_description">
程序=数据结构+算法。对于那些构建项目的框架不是由我们来编写的,真正能判断一个项目的水平高低的是我们在其中自定义的数据结构是否方便、简洁、耦合度低;我们实现这些方法的算法是否快速、有效、不易出错。如果你想做的不是那种每天从早干到晚的搬砖工作,学会算法、品析数据结构绝对是你增长水平的必经之路。(一)排序算法算法和编程语言关系是紧密的,但又不仅仅只依赖于某种语言。在不考虑实现语言的情况下,我们通常有以下...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-21 20:58</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/56292133" title="阅读次数">阅读</a>(312)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/56292133#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/55802648">
java图形化Swing教程(二)
</a></span>
</h1>
</div>

<div class="article_description">
与多线程、泛型等不同,Swing主要在于使用。
下面主要放代码和注释,少说话。...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-19 15:42</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55802648" title="阅读次数">阅读</a>(101)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55802648#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/55667020">
java图形化Swing教程(一)
</a></span>
</h1>
</div>

<div class="article_description">
与多线程、泛型等不同,Swing主要在于使用。
下面主要放代码和注释,少说话。...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-18 17:04</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55667020" title="阅读次数">阅读</a>(406)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55667020#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/55522555">
java线程(二)——线程同步详解
</a></span>
</h1>
</div>

<div class="article_description">
为了加快代码的运行速度,我们采用了多线程的方法。并行的执行确实让代码变得更加高效,但随之而来的问题是,有很多个线程在程序中同时运行,如果它们同时的去修改一个对象,很可能会造成讹误的情况,这个时候我们需要用一种同步的机制来管理这些线程。(一)竞争条件记得操作系统中,让我印象很深的有一张图。上面画的是一块块进程,在这些进程里面分了几个线程,所有这些线程齐刷刷统一的指向进程的资源。java中也是如此,资源...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-18 14:11</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55522555" title="阅读次数">阅读</a>(79)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55522555#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/55520353">
java——用泛型参数类型构造数组
</a></span>
</h1>
</div>

<div class="article_description">
前一阵子打代码的时候突然想到一个问题。平时我们的数组都是作为一个参数传入方法中的,如果我们要想在方法中创建一个数组怎么样呢?在类型明确的情况下,这是没什么难度的。如果我们传入的参数是泛型类型的参数呢?public static T[] creArray (T obj){
T[] arr = new T[10];
}像上面这种用T来直接new数组的方法是错误的,会编译时出现一...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-17 19:50</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55520353" title="阅读次数">阅读</a>(31)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55520353#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/55106626">
java线程(一)——线程状态及属性详解
</a></span>
</h1>
</div>

<div class="article_description">
在操作系统中,我们通过分时的方法在CPU上不断地切换处理多个进程任务,给人并行处理的感觉,这种方法在操作系统中叫做多任务。多任务在较低层次上扩展出多线程的概念,也就是指一个程序同时执行多个线程。这种可以同时运行一个以上的线程的程序,我们叫做多线程程序。(一)创建线程1.创建线程实例百闻不如一见,与其先说线程的各种状态,不如我们先直接演示如何创建一个新的线程。package Thread;/**
*...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-15 21:50</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55106626" title="阅读次数">阅读</a>(72)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55106626#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/55057418">
java拷贝机制详解
</a></span>
</h1>
</div>

<div class="article_description">
在java中,拷贝分为深拷贝和浅拷贝两种。java在公共超类Object中实现了一种叫做clone的方法,这种方法clone出来的新对象为浅拷贝,而通过自己定义的clone方法为深拷贝。(一)Object中clone方法如果我们new出一个新对象,用一个声明去引用它,之后又用另一个声明去引用前一个声明,那么最后的结果是:这两个声明的变量将指向同一个对象,一处被改全部被改。如果我们想创建一个对象的co...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-14 13:16</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55057418" title="阅读次数">阅读</a>(72)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/55057418#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/54969126">
java集合(二)——集合框架与算法详解
</a></span>
</h1>
</div>

<div class="article_description">
框架是指一个类的集,在集中有很多超类和接口,这些超类中实现了很多高级的机制、功能和策略。框架的使用者可以创建子类来实现和扩展超类,而不用来重新创建这些基本的机制。在日常工作中,我们用到的技术基本都是框架,我们去使用那些包,去调用那些函数时都会用到这种框架的思想。在集合(一)中分析完集合的数据结构,今天我们就一起来继续讨论一下集合的框架。

(一)集合数据结构回顾



基本...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-10 17:00</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54969126" title="阅读次数">阅读</a>(60)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54969126#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/54895024">
java集合(一)——数据结构详解
</a></span>
</h1>
</div>

<div class="article_description">
当我们要处理一串数据的时候,相比较c++和c中的数组和指针,在Java中我们更为常用的是ArrayList、HashMap等集合数据结构。c语言对指针的支持成就了他的深度,而Java中多种多样的包装类成就了他的广度。在java中,我们一般将List、Map、Set等数据结构通归为集合数据结构,这些类都存在于集合类库中。



(一) 集合接口

1.集合的接口和实现分离

与其他的数据结构类库相...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-08 14:55</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54895024" title="阅读次数">阅读</a>(491)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54895024#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(1)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/54864491">
java内部类详解
</a></span>
</h1>
</div>

<div class="article_description">
java内部类是指一个类定义在另一个类的内部,其中的方法可以访问包含他们外部类的域。这是一种比较复杂的技术,内部类的主要用于设计那些有协作性关系的类之间。特别是在java处理GUI事件中得到了广泛的应用。除此之外,内部类最常用的原因有以下几点:

内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据
内部类可以对同一个包中的其他类隐藏起来
用匿名内部类来定义回调函数会方便很...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-06 14:30</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54864491" title="阅读次数">阅读</a>(106)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54864491#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/54849155">
java糖衣语法(Syntactic Sugar)详解
</a></span>
</h1>
</div>

<div class="article_description">
糖衣语法,也叫做语法糖。最开始是英国计算机学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语。语法糖是指某一类语法,这类语法通过一些简单的包装,让代码变得简洁、可读性好,并在编译时通过“解语法糖”的方式,在功能不变的情况下用简单语法来通过编译。
正如其名,语法糖就像是一层糖衣,通过这层糖衣让代码变得简洁。虚拟机并不支持这类语法,在虚拟机运行之前,这类语法就会被编译成更通俗的简单...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-04 12:48</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54849155" title="阅读次数">阅读</a>(48)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54849155#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(0)</span>

</div>

<div class="clear"></div>
</div>
<div class="list_item article_item">
<div class="article_title">
<span class="ico ico_type_Original"></span>


<h1>
<span class="link_title"><a href="http://blog.csdn.net/quinnnorris/article/details/54809297">
java反射机制详解
</a></span>
</h1>
</div>

<div class="article_description">
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
在java中尤其是J2ee中经常会使用到反射,究其原因是反射机制有很多好处,动态的反射来创建对象和调用方法可以帮助我们减少每个类之间的耦合度,也就是解耦合。


不使用反射机制:直接在代码中...
</div>
<div class="article_manage">
<span class="link_postdate">2017-02-03 13:56</span>


<span class="link_view" title="阅读次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54809297" title="阅读次数">阅读</a>(51)</span>
<span class="link_comments" title="评论次数"><a href="http://blog.csdn.net/quinnnorris/article/details/54809297#comments" title="评论次数" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_pinglun&#39;])">评论</a>(2)</span>

</div>

<div class="clear"></div>
</div>
</div>

<!--显示分页-->

<div id="papelist" class="pagelist">
<span> 32条 共3页</span><strong>1</strong> <a href="http://blog.csdn.net/QuinnNorris/article/list/2">2</a> <a href="http://blog.csdn.net/QuinnNorris/article/list/3">3</a> <a href="http://blog.csdn.net/QuinnNorris/article/list/2">下一页</a> <a href="http://blog.csdn.net/QuinnNorris/article/list/3">尾页</a>
</div>

</div>
<script type="text/ecmascript">
$(
function () {
setTimeout(
function () {
$(
"a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({ "position": "absolute", "left": "50%" });
},
300);
});
</script>

<div class="clear">
</div>
</div>

</div>

<div id="side">

<div class="side">
<div id="panel_Profile" class="panel">
<ul class="panel_head"><span>个人资料</span></ul>
<ul class="panel_body profile">
<div id="blog_userface">
<a href="http://my.csdn.net/QuinnNorris" target="_blank">
<img src="./CSDN.NET_files/1_quinnnorris.jpg" title="访问我的空间" style="max-width:90%">
</a>
<br>
<span><a href="http://my.csdn.net/QuinnNorris" class="user_name" target="_blank">QuinnNorris</a></span>
</div>
<div class="interact">

<a href="javascript:void(0);" class="attent" id="span_add_follow" title="[加关注]"></a>

<a href="javascript:void(0);" class="letter" title="[发私信]" onclick="window.open(&#39;http://msg.csdn.net/letters/model?receiver=QuinnNorris&#39;,&#39;_blank&#39;,&#39;height=350,width=700&#39;);_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_sixin&#39;])"></a>
</div>
<div id="blog_medal">
<div id="bms_box">
<a target="_blank">
<img src="./CSDN.NET_files/zhuanlandaren.png" onmouseover="m_over_m(this,2)" onmouseout="m_out_m()" alt="2">
</a>
<a target="_blank">
<img src="./CSDN.NET_files/chizhiyiheng.png" onmouseover="m_over_m(this,4)" onmouseout="m_out_m()" alt="1">
</a>
</div>
</div>
<ul id="blog_rank">
<li>访问:<span>3660次</span></li>
<li>积分:<span>338</span> </li>
<li>等级: <span style="position:relative;display:inline-block;z-index:1">
<img src="./CSDN.NET_files/blog2.png" alt="" style="vertical-align: middle;" id="leveImg">
<div id="smallTittle" style=" position: absolute; left: -24px; top: 25px; text-align: center; width: 101px; height: 32px; background-color: #fff; line-height: 32px; border: 2px #DDDDDD solid; box-shadow: 0px 2px 2px rgba (0,0,0,0.1); display: none; z-index: 999;">
<div style="left: 42%; top: -8px; position: absolute; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 8px solid #EAEAEA;"></div>
积分:338
</div>
</span> </li>
<li>排名:<span>千里之外</span></li>
</ul>
<ul id="blog_statistics">
<li>原创:<span>31篇</span></li>
<li>转载:<span>1篇</span></li>
<li>译文:<span>0篇</span></li>
<li>评论:<span>6条</span></li>
</ul>
</ul>
</div>


<div class="panel" id="panel_Search">
<ul class="panel_head"><span>文章搜索</span></ul>
<ul class="panel_body">
<form id="frmSearch" action="http://so.csdn.net/search" class="form_search" target="_blank">
<span><input id="inputSearch" type="text" class="blogsearch" title="请输入关键字"></span>
<input id="btnSubmit" type="button" value="搜索" title="search in blog">
<input type="hidden" name="q" id="inputQ">
<input type="hidden" name="t" value="blog">
<a id="btnSearchBlog" target="_blank"></a>
</form>
</ul>
</div>

<script type="text/javascript">
$(
function () {
$(
"#btnSubmit").click(function () {
search();
});

$(
"#frmSearch").submit(function () {
search();
return false;
});

function search()
{
var url = "http://so.csdn.net/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog";
window.location.href
= url;
}
});
</script><div id="panel_Category" class="panel">
<ul class="panel_head"><span>博客专栏</span></ul>
<ul class="panel_body" id="sp_column">
<table cellpadding="0" cellspacing="0"><tbody><tr>
<td style="padding:10px 10px 0 0;">
<a href="http://blog.csdn.net/column/details/14390.html" target="_blank"><img src="./CSDN.NET_files/20170205192932664" style="width:75px;height:75px;"></a>
</td>
<td style="padding:10px 0; vertical-align:top;">
<a href="http://blog.csdn.net/column/details/14390.html" target="_blank">一周一篇Java概念</a>
<p>文章:19篇</p>
<span>阅读:2889</span>
</td>
</tr></tbody></table>
</ul>
</div><div id="panel_Category" class="panel">
<ul class="panel_head"><span>文章分类</span></ul>
<ul class="panel_body">
<li>
<a href="http://blog.csdn.net/QuinnNorris/article/category/6667087" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_wenzhangfenlei&#39;]); ">java</a><span>(19)</span>
</li>
<li>
<a href="http://blog.csdn.net/QuinnNorris/article/category/6738719" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_wenzhangfenlei&#39;]); ">Algorithm</a><span>(1)</span>
</li>
<li>
<a href="http://blog.csdn.net/QuinnNorris/article/category/6732732" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_wenzhangfenlei&#39;]); ">java小技巧</a><span>(1)</span>
</li>
<li>
<a href="http://blog.csdn.net/QuinnNorris/article/category/6665977" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_wenzhangfenlei&#39;]); ">networks</a><span>(5)</span>
</li>
<li>
<a href="http://blog.csdn.net/QuinnNorris/article/category/6666962" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_wenzhangfenlei&#39;]); ">UI</a><span>(4)</span>
</li>
<li>
<a href="http://blog.csdn.net/QuinnNorris/article/category/6667121" onclick="_gaq.push([&#39;_trackEvent&#39;,&#39;function&#39;, &#39;onclick&#39;, &#39;blog_articles_wenzhangfenlei&#39;]); ">SSH</a><span>(2)</span>
</li>
</ul>
</div><div id="panel_Archive" class="panel">
<ul class="panel_head"><span>文章存档</span></ul>
<ul class="panel_body">
<div id="archive_list">
<!--归档统计-->
<li><a href="http://blog.csdn.net/QuinnNorris/article/month/2017/03">2017年03月</a><span>(1)</span></li><li><a href="http://blog.csdn.net/QuinnNorris/article/month/2017/02">2017年02月</a><span>(15)</span></li><li><a href="http://blog.csdn.net/QuinnNorris/article/month/2017/01">2017年01月</a><span>(16)</span></li>
</div>
</ul>
</div>
<div id="hotarticls" class="panel">
<ul class="panel_head">
<span>
阅读排行
</span>
</ul>

<ul class="panel_body itemlist">
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54895024" title="java集合(一)——数据结构详解">java集合(一)——数据结构详解</a><span>(489)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/55667020" title="java图形化Swing教程(一)">java图形化Swing教程(一)</a><span>(403)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/56292133" title="java算法(一)——初级排序算法">java算法(一)——初级排序算法</a><span>(306)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/57413811" title="java深入理解动态绑定">java深入理解动态绑定</a><span>(265)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/56496514" title="java对象导论">java对象导论</a><span>(260)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54024079" title="docx4j基本操作">docx4j基本操作</a><span>(131)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54348774" title="java时间----java.util.Calendar">java时间----java.util.Calendar</a><span>(105)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54864491" title="java内部类详解">java内部类详解</a><span>(100)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/55802648" title="java图形化Swing教程(二)">java图形化Swing教程(二)</a><span>(97)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/57428399" title="java深入浅出解析异常机制">java深入浅出解析异常机制</a><span>(95)</span>
</li>
</ul>
</div>
<div id="hotarticls2" class="panel">
<ul class="panel_head"><span>评论排行</span></ul>
<ul class="panel_body itemlist">
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54173039" title="computer networks outline (2)">computer networks outline (2)</a><span>(2)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54809297" title="java反射机制详解">java反射机制详解</a><span>(2)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54024079" title="docx4j基本操作">docx4j基本操作</a><span>(1)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54895024" title="java集合(一)——数据结构详解">java集合(一)——数据结构详解</a><span>(1)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54100089" title="javascript基本介绍">javascript基本介绍</a><span>(0)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/57428399" title="java深入浅出解析异常机制">java深入浅出解析异常机制</a><span>(0)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54100050" title="hibernate基础认知">hibernate基础认知</a><span>(0)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54100037" title="struts1配置">struts1配置</a><span>(0)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54099604" title="java基础文件操作">java基础文件操作</a><span>(0)</span>
</li>
<li>
<a href="http://blog.csdn.net/quinnnorris/article/details/54092847" title="IPv4各类地址的分类">IPv4各类地址的分类</a><span>(0)</span>
</li>
</ul>
</div>
<div id="homepageArticles" class="panel tracking-ad" data-mod="popu_4">
<ul class="panel_head"><span>推荐文章</span></ul>
<ul class="panel_body" id="ad_commend">
<ul>
<li><a href="http://blog.csdn.net/blogdevteam/article/details/57134599" target="_blank">* CSDN日报20170225——《六年程序生涯》</a></li>
<li><a href="http://blog.csdn.net/jiangwei0910410003/article/details/54645085" target="_blank">* Android"挂逼"修炼之行---解析公众号文章消息和链接文章消息如何自动打开原理</a></li>
<li><a href="http://blog.csdn.net/mindfloating/article/details/57616620" target="_blank">* 技术晋升的评定与博弈</a></li>
<li><a href="http://blog.csdn.net/baron_leizhang/article/details/58071773" target="_blank">* 安居客Android项目架构演进</a></li>
<li><a href="http://blog.csdn.net/jiangwei0910410003/article/details/54409957" target="_blank">* Apk脱壳圣战之---如何脱掉“梆梆加固”的保护壳</a></li>


</ul></ul>
</div>


<div id="newcomments" class="panel">
<ul class="panel_head"><span>最新评论</span></ul>
<ul class="panel_body itemlist">
<li>

<a href="http://blog.csdn.net/quinnnorris/article/details/54024079#comments">docx4j基本操作</a>
<p style="margin:0px;"><a href="http://blog.csdn.net/cww97" class="user_name">伟大的蚊子</a>:

</p>
</li>
<li>

<a href="http://blog.csdn.net/quinnnorris/article/details/54809297#comments">java反射机制详解</a>
<p style="margin:0px;"><a href="http://blog.csdn.net/dh306204261" class="user_name">数据火枪手</a>:
6666
</p>
</li>
<li>

<a href="http://blog.csdn.net/quinnnorris/article/details/54809297#comments">java反射机制详解</a>
<p style="margin:0px;"><a href="http://blog.csdn.net/dh306204261" class="user_name">数据火枪手</a>:
6666
</p>
</li>
<li>

<a href="http://blog.csdn.net/quinnnorris/article/details/54895024#comments">java集合(一)——数据结构详解</a>
<p style="margin:0px;"><a href="http://blog.csdn.net/lindexi_gd" class="user_name">lindexi_gd</a>:
多谢博主
</p>
</li>
<li>

<a href="http://blog.csdn.net/quinnnorris/article/details/54173039#comments">computer networks outline (2)</a>
<p style="margin:0px;"><a href="./CSDN.NET_files/CSDN.NET.html" class="user_name">QuinnNorris</a>:
@qq_34106714:有的,可以继续向后看
</p>
</li>
<li>

<a href="http://blog.csdn.net/quinnnorris/article/details/54173039#comments">computer networks outline (2)</a>
<p style="margin:0px;"><a href="http://blog.csdn.net/qq_34106714" class="user_name">qq_34106714</a>:
博主有没有接下来的outline
</p>
</li>
</ul>
</div>
</div>
<div class="clear">
</div>


<!-- 广告位开始 -->
<ins data-revive-zoneid="189" data-revive-id="8c38e720de1c90a6f6ff52f3f89c4d57"></ins>
<!-- 广告位结束 -->

</div>

<div class="clear">
</div>
</div>



<script type="text/javascript" src="./CSDN.NET_files/cnick.js"></script>
<script type="text/javascript" src="./CSDN.NET_files/newblog.min.js"></script>


<script type="text/javascript" src="./CSDN.NET_files/showblogmedal.ashx"></script>
<script type="text/javascript" src="./CSDN.NET_files/JavaScript1.js"></script><link rel="stylesheet" type="text/css" href="./CSDN.NET_files/pub_footer_2014.css"><div class="pub_fo"><div id="pub_footerall" class="pub_footer_new"><dl><dt></dt> <dd class="foot_sub_menu"><a href="http://www.csdn.net/company/about.html" target="_blank">公司简介</a><span>|</span><a href="http://www.csdn.net/company/recruit.html" target="_blank">招贤纳士</a><span>|</span><a href="http://www.csdn.net/company/marketing.html" target="_blank">广告服务</a><span>|</span><a href="http://www.csdn.net/company/contact.html" target="_blank">联系方式</a><span>|</span><a href="http://www.csdn.net/company/statement.html" target="_blank">版权声明</a><span>|</span><a href="http://www.csdn.net/company/layer.html" target="_blank">法律顾问</a><span>|</span><a href="mailto:webmaster@csdn.net">问题报告</a><span>|</span><a target="_blank" href="http://www.csdn.net/friendlink.html">合作伙伴</a><span>|</span><a href="http://bbs.csdn.net/forums/Service" target="_blank">论坛反馈</a></dd><dd class="foot_contact"><a href="javascript:void(0);" target="_blank" class="qq">网站客服</a><a href="http://wpa.qq.com/msgrd?v=3&uin=2251809102&site=qq&menu=yes" target="_blank" class="qq">杂志客服</a><a href="http://e.weibo.com/csdnsupport/profile" target="_blank" class="weibo">微博客服</a><a href="mailto:webmaster@csdn.net" class="email" title="联系邮箱">webmaster@csdn.net</a><span class="phone" title="服务热线">400-600-2320</span><span class="interval">|</span><span>北京创新乐知信息技术有限公司 版权所有</span><span class="interval">|</span><span>江苏知之为计算机有限公司</span><span class="interval">|</span><span>江苏乐知网络技术有限公司</span></dd><dd class="foot_copyright"><span>&nbsp;ICP&nbsp;&nbsp;09002463&nbsp;</span><span class="interval">|</span><span>Copyright © 1999-2016, CSDN.NET, All Rights Reserved&nbsp;</span><a href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010" target="_blank"><img src="./CSDN.NET_files/gongshang_logos.gif" alt="GongshangLogo" title=""></a></dd></dl></div></div><div id="note1" class="csdn_note" style="display:none; position:absolute; z-index:9999; width:440px"> <span class="notice_top_arrow"><span class="inner"></span></span> <div class="box"></div></div><div class="csdn_notice_tip" style="display:none; position:absolute; z-index:9990; width:170px"> <iframe src="about:blank" frameborder="0" scrolling="no" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"></iframe> <div class="tip_text">您有<strong>0</strong>条新通知</div> <a href="javascript:void 0" class="close2"></a></div><script id="noticeScript" type="text/javascript" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" src="./CSDN.NET_files/notify.js"></script>

<script type="text/javascript" src="./CSDN.NET_files/login.js"></script>
<script type="text/javascript">document.write("<img src=http://counter.csdn.net/pv.aspx?id=26 border=0 width=0 height=0>");</script><img src="./CSDN.NET_files/pv.aspx" border="0" width="0" height="0">
<script type="text/javascript" src="./CSDN.NET_files/counter.js"></script><script type="text/javascript" charset="UTF-8" src="./CSDN.NET_files/msg.popup.js"></script>
<script type="text/javascript" src="./CSDN.NET_files/ad-blog.js"></script>
<script type="text/javascript">
$(
function () {
function __get_code_toolbar(snippet_id) {
return $("<span class='tracking-ad' data-mod='popu_167'><a href='https://code.csdn.net/snippets/"
+ snippet_id
+ "' target='_blank' title='在CODE上查看代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/CODE_ico.png' width=12 height=12 alt='在CODE上查看代码片' style='position:relative;top:1px;left:2px;'/></a></span>"
+ "<span class='tracking-ad' data-mod='popu_170'><a href='https://code.csdn.net/snippets/"
+ snippet_id
+ "/fork' target='_blank' title='派生到我的代码片' style='text-indent:0;'><img src='https://code.csdn.net/assets/ico_fork.svg' width=12 height=12 alt='派生到我的代码片' style='position:relative;top:2px;left:2px;'/></a></span>");
}

$(
"[code_snippet_id]").each(function () {
__s_id
= $(this).attr("code_snippet_id");
if (__s_id != null && __s_id != "" && __s_id != 0 && parseInt(__s_id) > 70020) {
__code_tool
= __get_code_toolbar(__s_id);
$(
this).prev().find(".tools").append(__code_tool);
}
});

$(
".bar").show();
});
</script>





</div><input type="hidden" id="aa_g_data_ids">
<!--new top-->

<script id="csdn-toolbar-id" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" type="text/javascript" src="./CSDN.NET_files/toolbar.js"></script>
<!--new top-->

<link href="./CSDN.NET_files/ask_float_block.css" type="text/css" rel="stylesheet">
<script language="JavaScript" type="text/javascript" src="./CSDN.NET_files/wmd.js"></script>
<script language="JavaScript" type="text/javascript" src="./CSDN.NET_files/showdown.js"></script>
<script language="JavaScript" type="text/javascript" src="./CSDN.NET_files/prettify.js"></script>
<script language="JavaScript" type="text/javascript" src="./CSDN.NET_files/ask_float_block.js"></script>




<div id="a52b5334d" style="width: 1px; height: 1px; display: none;">
<script id="adJs52b5334" src="./CSDN.NET_files/52b5334.js"></script>
<script>document.getElementById("adJs52b5334").src = "http://ads.csdn.net/js/opt/52b5334.js?t=" + Math.random();</script>
</div>

<link rel="stylesheet" href="./CSDN.NET_files/blog_code.css">
<script type="text/javascript" src="./CSDN.NET_files/saveToCode.js"></script>
<script type="text/javascript" src="./CSDN.NET_files/main.js"></script>

<link rel="stylesheet" href="./CSDN.NET_files/fa.css">

<div class="pop_CA_cover" style="display:none"></div>
<div class="pop pop_CA" style="display:none">
<div class="CA_header">
收藏助手
<span class="cancel_icon" id="fapancle" onclick="$(&#39;.pop_CA&#39;).hide();$(&#39;.pop_CA_cover&#39;).hide();"></span>
</div>
<iframe src="" id="fa" frameborder="0" width="100%" height="360" scrolling="no">
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</iframe></div><link rel="stylesheet" type="text/css" media="screen" href="./CSDN.NET_files/ask_float_fonts_css-6b30a53970eb5c3a2a045e3df585b475.css"><div data-mod="popu_64" class="csdn-tracking-statistics" chg-blk="0"><a id="com-d-top-a" style="top: 323px; display: none;" title="返回顶部" onclick=""></a></div><div class="pop_edit ask_second comm_ask_second"><h3>提问</h3><span class="ask_float_span">您的问题将会被发布在“<a class="ask_float_channel" href="http://ask.csdn.net/" target="_blank" style="cursor:pointer">技术问答</a>”频道</span><a href="http://blog.csdn.net/QuinnNorris#" nodetype="close" class="close">×</a><div class="context"><div class="err_div"><span class="err_ico"></span><span class="err_txt">该问题已存在,请勿重复提问</span></div><div class="input_div"><input id="askInputSecond" type="text" style="font-size:14px;" placeholder="问题标题"></div><div class="cm_box"><div class="cm_dialog"></div> <div class="pop_cm cm_add_link"><input type="text" placeholder="链接内容" id="af_cm_link_txt"><input type="text" placeholder="链接地址" id="af_cm_link_url"><input type="text" placeholder="链接提示" id="af_cm_link_tit"><div class="text-right"><span class="btn btn-default btn-sm" id="add_link_btn">插入链接</span> </div> </div><div class="pop_cm cm_add_img"><div class="nav-tabs"><a class="img_tab active" href="http://blog.csdn.net/QuinnNorris#tab_upload">本地上传</a><a class="img_tab" href="http://blog.csdn.net/QuinnNorris#tab_weburl">网络图片</a></div><div class="tab_panel active" id="tab_upload"><div class="set_img"><iframe src="./CSDN.NET_files/upload.html"></iframe></div></div><div class="tab_panel" id="tab_weburl"><input type="text" placeholder="图片地址" id="af_cm_img_url"><input type="text" placeholder="图片说明" id="af_cm_img_alt"><div class="text-right"><span class="btn btn-default btn-sm" id="add_img_btn">插入图片</span> </div></div> </div></div> <textarea id="editor_all" rows="8" style="display: none;"></textarea><div class="editor-toolbar"><i class="separator">|</i><a class="icon-headline" title="标题一(Ctrl+Alt+1)"></a><a class="icon-heading" title="标题二(Ctrl+Alt+2)"></a><a class="icon-bold" title="粗体(Ctrl+B)"></a><a class="icon-italic" title="斜体(Ctrl+I)"></a><i class="separator">|</i><a class="icon-quote-left" title="引用(Ctrl+’)"></a><a class="icon-code" title="插入代码片(Ctrl+,)"></a><a class="icon-list-ul" title="无序列表(Ctrl+L)"></a><a class="icon-list-ol" title="有序列表(Ctrl+Alt+L)"></a><i class="separator">|</i><a class="icon-link" title="添加链接(Ctrl+K)"></a><a class="icon-picture" title="添加图片(Ctrl+Alt+I)"></a><i class="separator">|</i><a class="icon-reply" title="撤退(Ctrl+Z)"></a><a class="icon-share-alt" title="前进(Ctrl+Shift+Z)"></a><i class="separator">|</i><a class="icon-info" href="http://ask.csdn.net/pages/markdown" target="_blank" title="markdown语法参考"></a><a class="icon-preview" title="预览"></a><i class="separator">|</i></div><div class="CodeMirror cm-s-paper CodeMirror-focused"><div style="overflow: hidden; position: relative; width: 3px; height: 0px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" style="position: absolute; padding: 0px; width: 1000px; height: 1em; outline: none; font-size: 4px;" tabindex="0"></textarea></div><div class="CodeMirror-hscrollbar"><div style="height: 1px;"></div></div><div class="CodeMirror-vscrollbar"><div style="width: 1px;"></div></div><div class="CodeMirror-scrollbar-filler"></div><div class="CodeMirror-gutter-filler"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="min-width: 33px;"><div style="position: relative;"><div class="CodeMirror-lines"><div style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre>&nbsp;<span style="display: inline-block; width: 1px; margin-right: -1px;">&nbsp;</span></pre></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code"></div><div class="CodeMirror-cursor" style="visibility: hidden;">&nbsp;</div><div class="CodeMirror-cursor CodeMirror-secondarycursor" style="visibility: hidden;">&nbsp;</div></div></div></div></div><div style="position: absolute; height: 30px; width: 1px;"></div><div class="CodeMirror-gutters" style="display: none;"></div></div></div><div class="editor-statusbar"><span class="lines">0</span><span class="words">0</span><span class="cursor">0:0</span></div><div class="div_tags clearfix"><div id="divSearchTags" class="tags_con"><input type="text"></div><input type="hidden" name="txtSearchTags"></div><div id="ask2_tagRecomm_div" class="drt_tagRecomm tracking-ad" data-mod="popu_73"><span class="drt_tit">推荐标签:</span></div></div><div class="success"><div class="left_area"><input id="chk_cb" type="checkbox"><span class="wyxs">我要悬赏</span><input id="cb_num" class="cb_num" readonly="true"><span class="phib_rii"><span></span></span></div><a href="http://blog.csdn.net/QuinnNorris#" nodetype="cancel" class="cancel">取消</a><a href="http://blog.csdn.net/QuinnNorris#" nodetype="ok" class="ok">发布</a></div></div><div id="common_ask_div_sc" class="searchContainer"><div class="sTitle">可能存在类似的问题:</div><div class="sFooter"><a class="sFirstNewAsk">我想提一个新问题</a></div></div><div id="mask_code"></div><div class="gist_edit"><div class="save_snippets clearfix"><div class="tit"><h3>保存代码片</h3><span>整理和分享保存的代码片,请访问<a href="https://code.csdn.net/snippets_manage" target="_blank">代码笔记</a></span></div><div class="con_form"><ul class="gist_edit_list clearfix"><li><span class="red">*</span><span class="txt">标题</span><input id="form_title" class="form-input" placeholder="java深入浅出解析异常机制

java深入理解动态绑定

java对象导论

java算法(一)——初级排序算法

java图形化Swing教程(二)

java图形化Swing教程(一)

java线程(二)——线程同步详解

java——用泛型参数类型构造数组

java线程(一)——线程状态及属性详解

java拷贝机制详解

java集合(二)——集合框架与算法详解

java集合(一)——数据结构详解

java内部类详解

java糖衣语法(Syntactic Sugar)详解

java反射机制详解"
type="text"></li><li><span class="red">*</span><span class="txt">描述</span><textarea id="form-textarea" class="form-textarea" placeholder="java深入浅出解析异常机制

java深入理解动态绑定

java对象导论

java算法(一)——初级排序算法

java图形化Swing教程(二)

java图形化Swing教程(一)

java线程(二)——线程同步详解

java——用泛型参数类型构造数组

java线程(一)——线程状态及属性详解

java拷贝机制详解

java集合(二)——集合框架与算法详解

java集合(一)——数据结构详解

java内部类详解

java糖衣语法(Syntactic Sugar)详解

java反射机制详解: http://blog.csdn.net/QuinnNorris"
></textarea></li><li><span class="red">&nbsp;</span><span class="txt">标签</span><div id="divSearchTags"><input id="insertTag" class="insertTag" placeholder="请输入标签,按Enter生成(最多5项)" type="text" value="" name="insertTag" maxlength="21" style="color: rgb(51, 51, 51);"><input id="OrganTag" class="OrganTag" type="hidden" name="OrganTag" value=""><input id="OldOrganTag" class="OldOrganTag" type="hidden" name="OldOrganTag" value=""><input type="hidden" name="txtSearchTags"></div></li></ul></div><div class="bottom-bar"><a href="javascript:;" class="btn-submit btn-cancel">取消</a><span class="tracking-ad" data-mod="popu_250"><a class="btn-submit btn-confirm" href="javascript:;" target="_blank">确定</a></span></div></div></div><div id="tag-suggest-pop">
<div class="relative">
<div class="close"></div>
<div class="content"></div>
</div>
</div></body></html>