通过Java反射调用方法


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    
<head>  
            <link rel="canonical" href="http://blog.csdn.net/ichsonx/article/details/9108173"/> 

   

  
 <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />

    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848"> 
       
    <title>通过Java反射调用方法 - ichsonx的专栏
        - CSDN博客</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="传送么:http://lavasoft.blog.51cto.com/62575/61002/这是个测试用的例子,通过反射调用对象的方法。  TestRef.javaimport java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException;/** * Creat" />

    <meta name="keywords" content="" />

   
    <script src="http://static.blog.csdn.net/scripts/blog_static_head.min.js" type="text/javascript"></script>

    
        <!--new top-->
       
       
        <!--new top-->
    
      <!-- ad begin -->
         
    <!-- ad end-->

    <link rel="Stylesheet" type="text/css" href="http://static.blog.csdn.net/skin/dark1/css/style.css?v=1.1" />

    

    <link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="/ichsonx/rss/list" />
    <link rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico" />
    <link type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/nobg.css" />
 



    <link href="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.css" type="text/css" rel="stylesheet" />
     
         <link rel="stylesheet" href="http://static.blog.csdn.net/css/csdn_blog_detail.min.css" />

  


    <!-- 请置于所有广告位代码之前 --> 
            <script src="http://dup.baidustatic.com/js/ds.js"></script>

</head>


<body>
     
        <div class="tracking-ad" data-view="true" data-mod="ad_popu_72"  data-mtp="62" data-order="40" data-con="ad_content_2072" >
                     <script id="popuLayer_js_q" src="http://ads.csdn.net/js/popuLayer.js" defer="defer"  type="text/javascript"></script>
                <div id="layerd" style="position: fixed;bottom:0px;right:0px;line-height:0px;z-index:1000">
    	                <div class="J_close layer_close" style="display:;background-color:#efefef;padding:0px;color:#333;font:12px/24px Helvetica,Tahoma,Arial,sans-serif;text-align:right;">关闭</div><!-- 广告占位容器 --><div id="cpro_u2895327"></div></div>
                <script>  document.getElementById("popuLayer_js_q").onload = function () { var styObjd = styObj = { width: "300px", "height": parseInt(250) + 28 }; window.CSDN.Layer.PopuLayer("#layerd", { storageName: "layerd", styleObj: styObjd, total: 50, expoire: 1000 * 60 }); }</script><!-- 投放代码 --><script type="text/javascript">                    /*服务器频道首页置顶Banner960*90,创建于2014-7-3*/    (window.cproArray = window.cproArray || []).push({ id: "u2895327" });  </script>  <script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript"></script>
     
        </div>

    <!-- 广告位开始 -->
        
    <!-- 广告位结束 -->

    
   
      <!--new top-->
    <script id="toolbar-tpl-scriptId" fixed="true" prod="blog" skin="black" src="http://c.csdnimg.cn/public/common/toolbar/js/html.js" type="text/javascript"></script>
     <!--new top-->
    <div id="container">
        <div id="header">
    <div class="header">
        <div id="blog_title">
            <h2>
                <a href="http://blog.csdn.net/ichsonx">ichsonx的专栏</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/ichsonx?viewmode=contents"><span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])">
                    <img src="http://static.blog.csdn.net/images/ico_list.gif">目录视图</span></a></li>
                <li id="btnView"><a href="http://blog.csdn.net/ichsonx?viewmode=list"><span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])">
                    <img src="http://static.blog.csdn.net/images/ico_summary.gif">摘要视图</span></a></li>
                <li id="btnRss"><a href="http://blog.csdn.net/ichsonx/rss/list"><span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])">
                    <img src="http://static.blog.csdn.net/images/ico_rss.gif">订阅</span></a></li>                
            

            </ul>
    </div>
</div>
<script type="text/javascript">
    var username = "ichsonx";
    var _blogger = username;
    var blog_address = "http://blog.csdn.net/ichsonx";
    var static_host = "http://static.blog.csdn.net";
    var currentUserName = "Royal_Dennis";  
</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/epubit17/article/details/77770966">
<font color=red><strong>异步赠书:Kotlin领衔10本好书</strong></font></a>

    

<a href="http://edu.csdn.net/huiyiCourse/series_detail/63">
<font color=red><strong>免费直播:AI时代,机器学习如何入门?</strong></font></a>

    

<a href="http://blog.csdn.net/turingbooks/article/details/77479427">
<font color=blue><strong>程序员8月书讯</strong></font></a>

    


<a href="https://gitee.com/enterprises?from=csdn-sqbkxq">
<font color=red><strong>项目管理+代码托管+文档协作,开发更流畅</strong></font></a>



</div>                        </div>

                        



  






<script   type="text/javascript" src="http://static.blog.csdn.net/scripts/category.js"></script>

  <script type="text/ecmascript">
      window.quickReplyflag = true;
      var isBole = false; 
      var fasrc="http://my.csdn.net/my/favorite/miniadd?t=%e9%80%9a%e8%bf%87Java%e5%8f%8d%e5%b0%84%e8%b0%83%e7%94%a8%e6%96%b9%e6%b3%95&u=http://blog.csdn.net/ichsonx/article/details/9108173"
    </script>
<div id="article_details" class="details">
    <div class="article_title">   
         <span class="ico ico_type_Repost"></span>

    <h1>
        <span class="link_title"><a href="/ichsonx/article/details/9108173">
        通过Java反射调用方法        
           
        </a>
        </span>

         
    </h1>
</div>

   

        <div class="article_manage clearfix">
        <div class="article_r">
            <span class="link_postdate">2013-06-16 21:19</span>
            <span class="link_view" title="阅读次数">93980人阅读</span>
            <span class="link_comments" title="评论次数"> <a href="#comments" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(3)</span>
            <span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" οnclick="javascript:collectArticle('%e9%80%9a%e8%bf%87Java%e5%8f%8d%e5%b0%84%e8%b0%83%e7%94%a8%e6%96%b9%e6%b3%95','9108173');return false;" title="收藏">收藏</a></span>
             <span class="link_report"> <a href="#report" οnclick="javascript:report(9108173,2);return false;" title="举报">举报</a></span>

        </div>
    </div>    <style type="text/css">        
            .embody{
                padding:10px 10px 10px;
                margin:0 -20px;
                border-bottom:solid 1px #ededed;                
            }
            .embody_b{
                margin:0 ;
                padding:10px 0;
            }
            .embody .embody_t,.embody .embody_c{
                display: inline-block;
                margin-right:10px;
            }
            .embody_t{
                font-size: 12px;
                color:#999;
            }
            .embody_c{
                font-size: 12px;
            }
            .embody_c img,.embody_c em{
                display: inline-block;
                vertical-align: middle;               
            }
             .embody_c img{               
                width:30px;
                height:30px;
            }
            .embody_c em{
                margin: 0 20px 0 10px;
                color:#333;
                font-style: normal;
            }
    </style>
    <script  type="text/javascript">
        $(function () {
            try
            {
                var lib = eval("("+$("#lib").attr("value")+")");
                var html = "";
                if (lib.err == 0) {
                    $.each(lib.data, function (i) {
                        var obj = lib.data[i];
                        //html += '<img src="' + obj.logo + '"/>' + obj.name + "  ";
                        html += ' <a href="' + obj.url + '" target="_blank">';
                        html += ' <img src="' + obj.logo + '">';
                        html += ' <em><b>' + obj.name + '</b></em>';
                        html += ' </a>';
                    });
                    if (html != "") {
                        setTimeout(function () {
                            $("#lib").html(html);                      
                            $("#embody").show();
                        }, 100);
                    }
                }      
            } catch (err)
            { }
            
        });
    </script>
      <div class="category clearfix">
        <div class="category_l">
           <img src="http://static.blog.csdn.net/images/category_icon.jpg">
            <span>分类:</span>
        </div>
        <div class="category_r">
                    <label  οnclick="GetCategoryArticles('331416','ichsonx','top','9108173');">
                        <span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">JAVA<em>(51)</em></span>
                      <img class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display:inline;">
                      <img class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display:none;">
                        <div class="subItem">
                            <div class="subItem_t"><a  href="http://blog.csdn.net/ichsonx/article/category/331416"  target="_blank">作者同类文章</a><i class="J_close">X</i></div>
                            <ul class="subItem_l" id="top_331416">                            
                            </ul>
                        </div>
                    </label>                    
        </div>
    </div>

  

  
  
     


<div id="article_content" class="article_content tracking-ad" data-mod=popu_307  data-dsm = "post" >

<div><strong><a href="http://lavasoft.blog.51cto.com/62575/61002/">传送么:http://lavasoft.blog.51cto.com/62575/61002/</a></strong><br>
这是个测试用的例子,通过反射调用对象的方法。</div>
<div> </div>
<div> </div>
<div>TestRef.java</div>
<div>
<div style="border-right:#cccccc 1px solid; padding-right:4px; border-top:#cccccc 1px solid; padding-left:4px; font-size:10pt; padding-bottom:4px; border-left:#cccccc 1px solid; width:98%; color:#000000; word-break:break-all; line-height:16px; padding-top:4px; border-bottom:#cccccc 1px solid; font-family:verdana,宋体; background-color:#eeeeee">
<span style="color:#0000ff">import</span> java.lang.reflect.Method; <br>
<span style="color:#0000ff">import</span> java.lang.reflect.InvocationTargetException;<br>
<br>
<span style="color:#008000">/** <br>
* Created by IntelliJ IDEA. <br>
* File: TestRef.java <br>
* User: leizhimin <br>
* Date: 2008-1-28 14:48:44 <br>
*/</span> <br>
<span style="color:#0000ff">public</span> <span style="color:#0000ff">class</span> TestRef {<br>
<br>
    <span style="color:#0000ff">public</span> <span style="color:#0000ff">static</span><span style="color:#0000ff">void</span> main(String args[])
<span style="color:#0000ff">throws</span> NoSuchMethodException, IllegalAccessException, InvocationTargetException {<br>
        Foo foo = <span style="color:#0000ff">new</span> Foo(<span style="color:#800000">"这个一个Foo对象!"</span>);<br>
        Class clazz = foo.getClass(); <br>
        Method m1 = clazz.getDeclaredMethod(<span style="color:#800000">"outInfo"</span>);<br>
        Method m2 = clazz.getDeclaredMethod(<span style="color:#800000">"setMsg"</span>, String.<span style="color:#0000ff">class</span>);<br>
        Method m3 = clazz.getDeclaredMethod(<span style="color:#800000">"getMsg"</span>);<br>
        m1.invoke(foo); <br>
        m2.invoke(foo, <span style="color:#800000">"重新设置msg信息!"</span>); <br>
        String msg = (String) m3.invoke(foo); <br>
        System.out.println(msg); <br>
    } <br>
} <br>
<br>
<span style="color:#0000ff">class</span> Foo { <br>
    <span style="color:#0000ff">private</span> String msg; <br>
<br>
    <span style="color:#0000ff">public</span> Foo(String msg) { <br>
        <span style="color:#0000ff">this</span>.msg = msg; <br>
    } <br>
<br>
    <span style="color:#0000ff">public</span> <span style="color:#0000ff">void</span> setMsg(String msg) {<br>
        <span style="color:#0000ff">this</span>.msg = msg; <br>
    } <br>
<br>
    <span style="color:#0000ff">public</span> String getMsg() { <br>
        <span style="color:#0000ff">return</span> msg; <br>
    } <br>
<br>
    <span style="color:#0000ff">public</span> <span style="color:#0000ff">void</span> outInfo() {<br>
        System.out.println(<span style="color:#800000">"这是测试Java反射的测试类"</span>); <br>
    } <br>
}</div>
</div>
<div> </div>
<div>控制台输出结果:</div>
<div>
<div style="border-right:#cccccc 1px solid; padding-right:4px; border-top:#cccccc 1px solid; padding-left:4px; font-size:10pt; padding-bottom:4px; border-left:#cccccc 1px solid; width:98%; color:#000000; word-break:break-all; line-height:16px; padding-top:4px; border-bottom:#cccccc 1px solid; font-family:verdana,宋体; background-color:#eeeeee">
这是测试Java反射的测试类 <br>
重新设置msg信息! <br>
<br>
Process finished with exit code 0 <br>
<br>
<br>
</div>
</div>
<div> <br>
<br>
<br>
<br>
<strong><a href="http://blog.csdn.net/hbcui1984/article/details/2719089">传送门:http://blog.csdn.net/hbcui1984/article/details/2719089</a></strong><br>
<br>
<span style="font-family:宋体; font-size:14pt"><strong style="font-size:16pt">JAVA反射使用手</strong>记</span>
<p>        本篇文章为在工作中使用JAVA反射的经验总结,也可以说是一些小技巧,以后学会新的小技巧,会不断更新。本文不准备讨论JAVA反射的机制,网上有很多,大家随便google一下就可以了。</p>
<p>        在开始之前,我先定义一个测试类Student,代码如下:</p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span class="keyword">package</span><span> chb.test.reflect;  </span></span></li><li><span>  </span></li><li class="alt"><span><span class="keyword">public</span><span> </span><span class="keyword">class</span><span> Student {  </span></span></li><li><span>    <span class="keyword">private</span><span> </span><span class="keyword">int</span><span> age;  </span></span></li><li class="alt"><span>    <span class="keyword">private</span><span> String name;  </span></span></li><li><span>    <span class="keyword">public</span><span> </span><span class="keyword">int</span><span> getAge() {  </span></span></li><li class="alt"><span>        <span class="keyword">return</span><span> age;  </span></span></li><li><span>    }  </span></li><li class="alt"><span>    <span class="keyword">public</span><span> </span><span class="keyword">void</span><span> setAge(</span><span class="keyword">int</span><span> age) {  </span></span></li><li><span>        <span class="keyword">this</span><span>.age = age;  </span></span></li><li class="alt"><span>    }  </span></li><li><span>    <span class="keyword">public</span><span> String getName() {  </span></span></li><li class="alt"><span>        <span class="keyword">return</span><span> name;  </span></span></li><li><span>    }  </span></li><li class="alt"><span>    <span class="keyword">public</span><span> </span><span class="keyword">void</span><span> setName(String name) {  </span></span></li><li><span>        <span class="keyword">this</span><span>.name = name;  </span></span></li><li class="alt"><span>    }  </span></li><li><span>      </span></li><li class="alt"><span>    <span class="keyword">public</span><span> </span><span class="keyword">static</span><span> </span><span class="keyword">void</span><span> hi(</span><span class="keyword">int</span><span> age,String name){  </span></span></li><li><span>        System.out.println(<span class="string">"大家好,我叫"</span><span>+name+</span><span class="string">",今年"</span><span>+age+</span><span class="string">"岁"</span><span>);  </span></span></li><li class="alt"><span>    }  </span></li><li><span>}<pre></pre>  </span></li></ol>
</div>
<p><strong>一、JAVA反射的常规使用步骤</strong></p>
<p dir="ltr" style="margin-right:0px">    反射调用一般分为3个步骤:</p>
<ul dir="ltr">
<li>
<div style="margin-right:0px">得到要调用类的class</div>
</li><li>
<div style="margin-right:0px">得到要调用的类中的方法(Method)</div>
</li><li>
<div style="margin-right:0px">方法调用(invoke)</div>
</li></ul>
<p dir="ltr" style="margin-right:0px">     代码示例:</p>
<div class="dp-highlighter bg_Csharp">
<div class="bar">
<div class="tools"><strong>[Csharp]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-c" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Method m = cls.getDeclaredMethod(<span class="string">"hi"</span><span>,</span><span class="keyword">new</span><span> Class[]{</span><span class="keyword">int</span><span>.</span><span class="keyword">class</span><span>,String.</span><span class="keyword">class</span><span>});  </span></span></li><li class="alt"><span>m.invoke(cls.newInstance(),20,<span class="string">"chb"</span><span>);<pre></pre>  </span></span></li></ol>
</div>
<p><strong>二、方法调用中的参数类型</strong></p>
<p>        在方法调用中,参数类型必须正确,这里需要注意的是不能使用包装类替换基本类型,比如不能使用Integer.class代替int.class。</p>
<p>       如我要调用Student的setAge方法,下面的调用是正确的:</p>
<p> </p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Method setMethod = cls.getDeclaredMethod(<span class="string">"setAge"</span><span>,</span><span class="keyword">int</span><span>.</span><span class="keyword">class</span><span>);  </span></span></li><li class="alt"><span>setMethod.invoke(cls.newInstance(), <span class="number">15</span><span>);<pre></pre>  </span></span></li></ol>
</div>
<p> </p>
<p>       而如果我们用Integer.class替代int.class就会出错,如:</p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Method setMethod = cls.getDeclaredMethod(<span class="string">"setAge"</span><span>,Integer.</span><span class="keyword">class</span><span>);  </span></span></li><li class="alt"><span>setMethod.invoke(cls.newInstance(), <span class="number">15</span><span>);<pre></pre>  </span></span></li></ol>
</div>
<p> </p>
<p>       jvm会报出如下异常:</p>
<div class="dp-highlighter bg_HTML">
<div class="bar">
<div class="tools"><strong>[HTML]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-xml" start="1">
<li class="alt"><span><span>java.lang.NoSuchMethodException: chb.test.reflect.Student.setAge(java.lang.Integer)  </span></span></li><li><span>    at java.lang.Class.getDeclaredMethod(Unknown Source)  </span></li><li class="alt"><span>    at chb.test.reflect.TestClass.testReflect(TestClass.java:23)<span class="tag"><</span><span class="tag-name">pre</span><span class="tag">></span><span class="tag"></</span><span class="tag-name">pre</span><span class="tag">></span><span>  </span></span></li></ol>
</div>
<p> </p>
<p><strong>三、static方法的反射调用</strong></p>
<p> </p>
<p>       static方法调用时,不必得到对象示例,如下:</p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Method staticMethod = cls.getDeclaredMethod(<span class="string">"hi"</span><span>,</span><span class="keyword">int</span><span>.</span><span class="keyword">class</span><span>,String.</span><span class="keyword">class</span><span>);  </span></span></li><li class="alt"><span>staticMethod.invoke(cls,<span class="number">20</span><span>,</span><span class="string">"chb"</span><span>);</span><span class="comment">//这里不需要newInstance</span><span>  </span></span></li><li><span><span class="comment">//staticMethod.invoke(cls.newInstance(),20,"chb");<pre></pre></span><span>  </span></span></li></ol>
</div>
<p><strong>四、private的成员变量赋值</strong></p>
<p>    如果直接通过反射给类的private成员变量赋值,是不允许的,这时我们可以通过setAccessible方法解决。代码示例:</p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Object student = cls.newInstance();<span class="comment">//得到一个实例</span><span>  </span></span></li><li class="alt"><span>Field field = cls.getDeclaredField(<span class="string">"age"</span><span>);  </span></span></li><li><span>field.set(student, <span class="number">10</span><span>);  </span></span></li><li class="alt"><span>System.out.println(field.get(student));<pre></pre>  </span></li></ol>
</div>
<p> </p>
<p>     运行如上代码,系统会报出如下异常:</p>
<div class="dp-highlighter bg_HTML">
<div class="bar">
<div class="tools"><strong>[HTML]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-xml" start="1">
<li class="alt"><span><span>java.lang.IllegalAccessException: Class chb.test.reflect.TestClass can not access a member of class chb.test.reflect.Student with modifiers "private"  </span></span></li><li><span>    at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)  </span></li><li class="alt"><span>    at java.lang.reflect.Field.doSecurityCheck(Unknown Source)  </span></li><li><span>    at java.lang.reflect.Field.getFieldAccessor(Unknown Source)  </span></li><li class="alt"><span>    at java.lang.reflect.Field.set(Unknown Source)  </span></li><li><span>    at chb.test.reflect.TestClass.testReflect(TestClass.java:20)<span class="tag"><</span><span class="tag-name">pre</span><span class="tag">></span><span class="tag"></</span><span class="tag-name">pre</span><span class="tag">></span><span>  </span></span></li></ol>
</div>
<p>    解决方法:</p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Object student = cls.newInstance();  </span></li><li class="alt"><span>Field field = cls.getDeclaredField(<span class="string">"age"</span><span>);  </span></span></li><li><span>field.setAccessible(<span class="keyword">true</span><span>);</span><span class="comment">//设置允许访问</span><span>  </span></span></li><li class="alt"><span>field.set(student, <span class="number">10</span><span>);  </span></span></li><li><span>System.out.println(field.get(student));<pre></pre>  </span></li></ol>
</div>
<p>    其实,在某些场合下(类中有get,set方法),可以先反射调用set方法,再反射调用get方法达到如上效果,代码示例:</p>
<div class="dp-highlighter bg_Java">
<div class="bar">
<div class="tools"><strong>[Java]</strong> <a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="ViewSource" title="view plain">
view plain</a><a href="http://blog.csdn.net/hbcui1984/article/details/2719089#" class="CopyToClipboard" title="copy">copy</a></div>
</div>
<ol class="dp-j" start="1">
<li class="alt"><span><span>Class cls = Class.forName(</span><span class="string">"chb.test.reflect.Student"</span><span>);  </span></span></li><li><span>Object student = cls.newInstance();  </span></li><li class="alt"><span>  </span></li><li><span>Method setMethod = cls.getDeclaredMethod(<span class="string">"setAge"</span><span>,Integer.</span><span class="keyword">class</span><span>);  </span></span></li><li class="alt"><span>setMethod.invoke(student, <span class="number">15</span><span>);</span><span class="comment">//调用set方法</span><span>  </span></span></li><li><span>              </span></li><li class="alt"><span>Method getMethod = cls.getDeclaredMethod(<span class="string">"getAge"</span><span>);  </span></span></li><li><span>System.out.println(getMethod.invoke(student));<span class="comment">//再调用get方法<pre></pre></span><span> 
<br>
</span></span></li></ol>
</div>
<br>
</div>
   
</div>




<!-- Baidu Button BEGIN -->




<div class="bdsharebuttonbox tracking-ad" style="float: right;" data-mod="popu_172">
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"  style="background-position:0 -52px !important"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"style="background-position:0 -104px !important"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"style="background-position:0 -260px !important"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"style="background-position:0 -208px !important"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"style="background-position:0 -1612px !important" ></a>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<!-- Baidu Button END -->

   

<!--172.16.140.15-->

<!-- Baidu Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=tools&uid=1536434" ></script>
<script type="text/javascript" id="bdshell_js"></script>
<script type="text/javascript">
    document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->



 


        <div id="digg" ArticleId="9108173" >
            <dl id="btnDigg" class="digg digg_enable"  οnclick="btndigga();">
               
                 <dt>顶</dt>
                <dd>23</dd>
            </dl>
           
              
            <dl id="btnBury" class="digg digg_enable"  οnclick="btnburya();">
              
                  <dt>踩</dt>
                <dd>0</dd>               
            </dl>
            
        </div>
     <div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" > </a>   </div>
    <div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" > </a></div>
    <script type="text/javascript">
        function btndigga() {
            $(".tracking-ad[data-mod='popu_222'] a").click();
        }
        function btnburya() {
            $(".tracking-ad[data-mod='popu_223'] a").click();
        }
            </script>

   <ul class="article_next_prev">
                <li class="prev_article"><span  οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='http://blog.csdn.net/ichsonx/article/details/9081351';">上一篇</span><a href="http://blog.csdn.net/ichsonx/article/details/9081351" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">候捷谈Java反射机制</a></li>
                <li class="next_article"><span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='http://blog.csdn.net/ichsonx/article/details/9148497';">下一篇</span><a href="http://blog.csdn.net/ichsonx/article/details/9148497" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">更改eclipse的编辑器样式风格</a></li>
    </ul>

    <div style="clear:both; height:10px;"></div>


            <div class="similar_article"   >
                    <h4></h4>
                    <div class="similar_c"style="margin:20px 0px 0px 0px">
                        <div class="similar_c_t">
                            相关文章推荐
                        </div>
                   
                        <div class="similar_wrap tracking-ad" data-mod="popu_36"  style="max-height:250px">                       
                            <ul class="similar_list fl">    
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/yjaspire/article/details/51553371" title="JAVA    反射  动态调用不同类的静态方法" strategy="BlogCommendFromBaidu_0" target="_blank">JAVA    反射  动态调用不同类的静态方法</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/huiyiCourse/series_detail/60?utm_source=blog7" title="【直播】打通Linux脉络 进程、线程和调度--宋宝华" strategy="undefined" target="_blank">【直播】打通Linux脉络 进程、线程和调度--宋宝华</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/zhangzeyuaaa/article/details/42522015" title="Java 反射调用静态方法" strategy="BlogCommendFromBaidu_1" target="_blank">Java 反射调用静态方法</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/huiyiCourse/series_detail/62?utm_source=blog7" title="【直播】系统集成工程师必过冲刺--任铄" strategy="undefined" target="_blank">【直播】系统集成工程师必过冲刺--任铄</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/qq_34566601/article/details/74990357" title="运用反射时报错java.lang.NoSuchMethodException,以解决,记录一下" strategy="BlogCommendFromBaidu_2" target="_blank">运用反射时报错java.lang.NoSuchMethodException,以解决,记录一下</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/huiyiCourse/series_detail/61?utm_source=blog7" title="【直播】机器学习30天系统掌握--唐宇迪" strategy="undefined" target="_blank">【直播】机器学习30天系统掌握--唐宇迪</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/u010037124/article/details/38469981" title="使用反射时出现java.lang.NoSuchMethodException" strategy="BlogCommendFromBaidu_3" target="_blank">使用反射时出现java.lang.NoSuchMethodException</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/458?utm_source=blog7" title="【课程】Oracle从入门到精通--文心" strategy="undefined" target="_blank">【课程】Oracle从入门到精通--文心</a>
                                   </li>
                            </ul>
                              <ul class="similar_list fr">      
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/yql44137228/article/details/38116175" title="利用反射函数实现一键清除缓存,并获取清除的缓存数目。调用反射函数类出错java.lang.NoSuchMethodException: getPackageSizeInfo." strategy="BlogCommendFromBaidu_4" target="_blank">利用反射函数实现一键清除缓存,并获取清除的缓存数目。调用反射函数类出错java.lang.NoSuchMethodException: getPackageSizeInfo.</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/545?utm_source=blog7" title="【套餐】Android入门实战教程--巫文杰" strategy="undefined" target="_blank">【套餐】Android入门实战教程--巫文杰</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/bo_hai/article/details/6054356" title="java.lang.NoSuchMethodException 解决办法" strategy="BlogCommendFromBaidu_5" target="_blank">java.lang.NoSuchMethodException 解决办法</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://edu.csdn.net/course/detail/474?utm_source=blog7" title="【课程】 C++语言基础 --贺利坚" strategy="undefined" target="_blank">【课程】 C++语言基础 --贺利坚</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/LawsonJin/article/details/52746130" title="java.lang.NoSuchMethodException异常解决" strategy="BlogCommendFromBaidu_6" target="_blank">java.lang.NoSuchMethodException异常解决</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/ichsonx/article/details/9081351" title="候捷谈Java反射机制" strategy="BlogCommendFromBaidu_7" target="_blank">候捷谈Java反射机制</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/qqJiny/article/details/52420389" title="JAVA反射调用无参构造、有参构造、普通方法、成员操作" strategy="BlogCommendFromBaidu_8" target="_blank">JAVA反射调用无参构造、有参构造、普通方法、成员操作</a>
                                   </li>
                                   <li>
                                       <em>•</em>
                                       <a href="http://blog.csdn.net/coolcoffee168/article/details/5835143" title="利用java反射机制对方法进行调用" strategy="BlogCommendFromBaidu_9" target="_blank">利用java反射机制对方法进行调用</a>
                                   </li>
                            </ul>
                        </div>
                    </div>
                </div>   
      
</div>

     <div>
           

       
                           
            <!-- 广告位:PC端-博客内容页-banner1-960*90 --> 
            <script> 
                (function() { 
                    var s = "_" + Math.random().toString(36).slice(2); 
                    document.write('<div id="' + s + '"></div>'); 
                    (window.slotbydup=window.slotbydup || []).push({ 
                        id: '4228013', 
                        container: s, 
                        size: '0,0', 
                        display: 'inlay-fix' 
                    }); 
                })(); 
            </script>
    </div>

<div id="suggest"></div>
         <script  language="javascript" type='text/javascript'>     
             $(function(){
                 $.get("/ichsonx/svc/GetSuggestContent/9108173",function(data){
                     $("#suggest").html(data);
                 });     
             });             
         </script>  



            
                                    
            
                                    

        <!-- 广告位开始 -->
        <!-- 广告位结束 -->


<div class="comment_class">
    <div id="comment_title" class="panel_head">
        <span class="see_comment">查看评论</span><a name="comments"></a></div>
    <div id="comment_list">
    </div>
    <div id="comment_bar">
    </div>
    <div id="comment_form">
    </div>
    <div class="announce">
        * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场<a name="reply"></a><a name="quote"></a></div>
</div>

<script type="text/javascript">
    var fileName = '9108173';
    var commentscount = 3;
    var islock = false
</script>

    <div id="ad_bot">
    </div>
<div id="report_dialog">
</div>

<div id="d-top"  style="bottom:60px;">

        <a id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;">
            <img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复">
        </a>    
    <a id="d-top-a" class="btn btn-top backtop"  style="display: none;" title="返回顶部" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])" style="">         
         <img src="http://static.blog.csdn.net/images/top.png" alt="TOP">
    </a>
</div>
<script type="text/javascript">
    $(function ()
    {
        $("#ad_frm_0").height("90px");
        
        setTimeout(function(){
            $("#ad_frm_2").height("200px");
        },1000);    
    });
  
</script>
<style type="text/css">
    .tag_list
    {
        background: none repeat scroll 0 0 #FFFFFF;
        border: 1px solid #D7CBC1;
        color: #000000;
        font-size: 12px;
        line-height: 20px;
        list-style: none outside none;
        margin: 10px 2% 0 1%;
        padding: 1px;
    }
    .tag_list h5
    {
        background: none repeat scroll 0 0 #E0DBD3;
        color: #47381C;
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        padding: 0 5px;
        margin: 0;
    }
    .tag_list h5 a
    {
        color: #47381C;
    }
    .classify
    {
        margin: 10px 0;
        padding: 4px 12px 8px;
    }
    .classify a
    {
        margin-right: 20px;
        white-space: nowrap;
    }
</style>





<div id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);">
    
</div>
<div id="popup_mask"></div>
<style>
    #popup_mask
    {
        position: absolute;
        width: 100%;
        height: 100%;
        background: #000;
        z-index: 9999;
        left: 0px;
        top: 0px;
        opacity: 0.3;
        filter: alpha(opacity=30);
        display: none;
    }

</style>




<script type="text/javascript">
    $(function(){        
        
        setTimeout(function(){
            $(".comment_body:contains('回复')").each(function(index,item){
                var u=$(this).text().split(':')[0].toString().replace("回复","")
                var thisComment=$(this);
                if(u)
                {
                    $.getJSON("https://passport.csdn.net/get/nick?callback=?", {users: u}, function(a) {
                        if(a!=null&&a.data!=null&&a.data.length>0)
                        {
                            nick=a.data[0].n; 
                            if(u!=nick)
                            {
                                thisComment.text(thisComment.text().replace(u,nick));  
                            }
                        }       
                    });  
                }
            });         

        },200);  

        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },5000);

        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },10000);

        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },15000);
        
        setTimeout(function(){
            $("a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({"position":"absolute","left":"50%"});
        },300);
    });

    function loginbox(){
        var $logpop=$("#pop_win");
        $logpop.html('<iframe src="https://passport.csdn.net/account/loginbox?service=http://static.blog.csdn.net/callback.htm" frameborder="0" height="600" width="400" scrolling="no"></iframe>');

        $('#popup_mask').css({
            opacity: 0.5,
            width: $( document ).width() + 'px',
            height:  $( document ).height() + 'px'
        });
        $('#popup_mask').css("display","block");
 
        $logpop.css( {
            top: ($( window ).height() - $logpop.height())/ 2  + $( window 
       ).scrollTop() + 'px',
            left:($( window ).width() - $logpop.width())/ 2
        } );
 
        setTimeout( function () {
            $logpop.show();
            $logpop.css( {
                opacity: 1
            } );
        }, 200 );
 
        $('#popup_mask').unbind("click");
        $('#popup_mask').bind("click", function(){
            $('#popup_mask').hide();
            var $clopop = $("#pop_win");
            $("#common_ask_div_sc").css("display","none");
            $clopop.css( {
                opacity: 0
            } );
            setTimeout( function () {
                $clopop.hide();
            }, 350 );
            return false;
        });
    }   

    var articletitle='通过Java反射调用方法';

</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/ichsonx" target="_blank">
    <img src="http://avatar.csdn.net/1/5/5/1_ichsonx.jpg" title="访问我的空间" style="max-width:90%"/>
    </a>
    <br />
    <span><a href="http://my.csdn.net/ichsonx" class="user_name" target="_blank">ichsonx</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="[发私信]" οnclick="window.open('http://msg.csdn.net/letters/model?receiver=ichsonx','_blank','height=350,width=700');_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_sixin'])"></a>  
</div>
<div id="blog_medal">
                <div id="bms_box">
                                            <a  target="_blank">
                                                    <img src="http://c.csdnimg.cn/jifen/images/xunzhang/xunzhang/chizhiyiheng.png" οnmοuseοver="m_over_m(this,4)" οnmοuseοut="m_out_m()" alt="1" >
                                            </a>
               </div>
</div>
<ul id="blog_rank">
    <li>访问:<span>799787次</span></li>
    <li>积分:<span>7469</span> </li>    
    <li >等级: <span style="position:relative;display:inline-block;z-index:1" >
            <img src="http://c.csdnimg.cn/jifen/images/xunzhang/jianzhang/blog6.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>
            积分:7469 </div>
        </span>  </li>
    <li>排名:<span>第2943名</span></li>
</ul>
<ul id="blog_statistics">
    <li>原创:<span>75篇</span></li>
    <li>转载:<span>232篇</span></li>
    <li>译文:<span>0篇</span></li>
    <li>评论:<span>105条</span></li>
</ul>
</ul>
</div>


<div class="panel" id="panel_Search">
    <ul class="panel_head"><span>文章搜索</span></ul>
    <ul class="panel_body" class="form_search">
        <form id="frmSearch" action="http://so.csdn.net/search" class="form_search csdn-tracking-statistics" target="_blank"  data-mod="popu_306">
        <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").unbind("click");
        $("#btnSubmit").click(function () {           
            search();
        });

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

        function search()
        {
            if ($("#inputSearch").val() == "") {               
                alert("请录入搜索关键词!");                         
                return false;
            }
            //var url = "http://so.csdn.net/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog";           
            var url = "https://www.baidu.com/s?wd=" + encodeURIComponent($("#inputSearch").val()) + "%20site%3Ablog.csdn.net"
            window.location.href = url;
        }   
    });
</script><div id="panel_Category" class="panel">
<ul class="panel_head"><span>文章分类</span></ul>
<ul class="panel_body">    
                 <li>
                    <a href="/ichsonx/article/category/331417" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">CSS</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/542592" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Hibernate</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/331416" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JAVA</a><span>(52)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/331385" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">J2ME</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/331422" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">JAVASCRIPT</a><span>(9)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/726126" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">linux</a><span>(71)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/832085" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Python</a><span>(7)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/478653" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Servers</a><span>(19)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/542593" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Spring</a><span>(19)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/465024" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">struts2.x</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/533877" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">公司每日记事</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/331420" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">喜欢乱贴</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/570998" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">模式</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/333317" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">系统技术</a><span>(8)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/922780" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">android</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/953301" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">web service</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1180889" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C++</a><span>(9)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1211036" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">MyBatis</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1344505" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">C#</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1354378" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">GIT</a><span>(12)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1359661" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">MAVEN</a><span>(14)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1374346" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">GO</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1393940" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">感兴趣新闻</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1505589" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">ubuntu</a><span>(36)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1735651" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">依赖管理/仓库</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/1735721" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">大数据</a><span>(12)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2519079" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">redis</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2519081" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">zookeeper</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2519089" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">nginx</a><span>(1)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2535307" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">dubbo</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2622719" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">centOS</a><span>(9)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2654269" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">CW_YI</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2699731" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">scala</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2699957" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">日常运用</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2704825" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">前端</a><span>(6)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2783871" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">intellij</a><span>(11)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2790363" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">log4j2</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/2889857" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">docker</a><span>(2)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/3041537" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">要FINISH的!!!</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/3041543" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Spark</a><span>(5)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/5688421" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">UML</a><span>(3)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/6335016" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">spring boot</a><span>(4)</span>
                </li>
                 <li>
                    <a href="/ichsonx/article/category/6348013" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">AKKA</a><span>(3)</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="/ichsonx/article/month/2016/10">2016年10月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2016/09">2016年09月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2016/08">2016年08月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2016/07">2016年07月</a><span>(6)</span></li><li><a href="/ichsonx/article/month/2015/11">2015年11月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2015/10">2015年10月</a><span>(13)</span></li><li><a href="/ichsonx/article/month/2015/09">2015年09月</a><span>(8)</span></li><li><a href="/ichsonx/article/month/2015/08">2015年08月</a><span>(11)</span></li><li><a href="/ichsonx/article/month/2015/07">2015年07月</a><span>(8)</span></li><li><a href="/ichsonx/article/month/2015/03">2015年03月</a><span>(5)</span></li><li><a href="/ichsonx/article/month/2015/02">2015年02月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2015/01">2015年01月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2014/12">2014年12月</a><span>(16)</span></li><li><a href="/ichsonx/article/month/2014/11">2014年11月</a><span>(17)</span></li><li><a href="/ichsonx/article/month/2014/10">2014年10月</a><span>(19)</span></li><li><a href="/ichsonx/article/month/2014/09">2014年09月</a><span>(20)</span></li><li><a href="/ichsonx/article/month/2014/08">2014年08月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2014/06">2014年06月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2014/03">2014年03月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2013/11">2013年11月</a><span>(5)</span></li><li><a href="/ichsonx/article/month/2013/07">2013年07月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2013/06">2013年06月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2013/05">2013年05月</a><span>(7)</span></li><li><a href="/ichsonx/article/month/2013/04">2013年04月</a><span>(14)</span></li><li><a href="/ichsonx/article/month/2013/03">2013年03月</a><span>(8)</span></li><li><a href="/ichsonx/article/month/2013/02">2013年02月</a><span>(5)</span></li><li><a href="/ichsonx/article/month/2013/01">2013年01月</a><span>(7)</span></li><li><a href="/ichsonx/article/month/2012/09">2012年09月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2012/08">2012年08月</a><span>(5)</span></li><li><a href="/ichsonx/article/month/2012/07">2012年07月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2012/06">2012年06月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2012/05">2012年05月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2011/12">2011年12月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2011/11">2011年11月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2011/10">2011年10月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2011/09">2011年09月</a><span>(7)</span></li><li><a href="/ichsonx/article/month/2011/08">2011年08月</a><span>(3)</span></li><li><a href="/ichsonx/article/month/2011/07">2011年07月</a><span>(3)</span></li><li><a href="/ichsonx/article/month/2011/06">2011年06月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2011/05">2011年05月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2011/04">2011年04月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2011/03">2011年03月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2010/11">2010年11月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2010/09">2010年09月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2010/08">2010年08月</a><span>(9)</span></li><li><a href="/ichsonx/article/month/2010/07">2010年07月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2010/05">2010年05月</a><span>(7)</span></li><li><a href="/ichsonx/article/month/2010/03">2010年03月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2010/01">2010年01月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2009/09">2009年09月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2009/07">2009年07月</a><span>(3)</span></li><li><a href="/ichsonx/article/month/2009/05">2009年05月</a><span>(3)</span></li><li><a href="/ichsonx/article/month/2009/04">2009年04月</a><span>(5)</span></li><li><a href="/ichsonx/article/month/2009/02">2009年02月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2008/10">2008年10月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2008/09">2008年09月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2008/07">2008年07月</a><span>(1)</span></li><li><a href="/ichsonx/article/month/2008/02">2008年02月</a><span>(4)</span></li><li><a href="/ichsonx/article/month/2007/10">2007年10月</a><span>(2)</span></li><li><a href="/ichsonx/article/month/2007/09">2007年09月</a><span>(23)</span></li><li><a href="/ichsonx/article/month/2007/08">2007年08月</a><span>(1)</span></li>
</div>
</ul>
</div>
<div id="hotarticls" class="panel tracking-ad" data-mod="popu_340">
<ul class="panel_head">
    <span>       
阅读排行    </span>
</ul>

<ul class="panel_body itemlist">
<li>
<a href="/ichsonx/article/details/9108173" title="通过Java反射调用方法">通过Java反射调用方法</a><span>(93872)</span>
</li>
<li>
<a href="/ichsonx/article/details/2954397" title="struts2核心工作流程与原理">struts2核心工作流程与原理</a><span>(48705)</span>
</li>
<li>
<a href="/ichsonx/article/details/14642897" title="Sonatype Nexus 搭建Maven 私服">Sonatype Nexus 搭建Maven 私服</a><span>(25551)</span>
</li>
<li>
<a href="/ichsonx/article/details/9148497" title="更改eclipse的编辑器样式风格">更改eclipse的编辑器样式风格</a><span>(25339)</span>
</li>
<li>
<a href="/ichsonx/article/details/39008519" title="Dubbo是什么">Dubbo是什么</a><span>(23374)</span>
</li>
<li>
<a href="/ichsonx/article/details/8518420" title="YUM更换源(1)--yum找不到安装包">YUM更换源(1)--yum找不到安装包</a><span>(20367)</span>
</li>
<li>
<a href="/ichsonx/article/details/39008541" title="dubbo(provider,consumer)点到点直连配置">dubbo(provider,consumer)点到点直连配置</a><span>(18067)</span>
</li>
<li>
<a href="/ichsonx/article/details/6911358" title="tomcat使用memcached完成集群">tomcat使用memcached完成集群</a><span>(18000)</span>
</li>
<li>
<a href="/ichsonx/article/details/40040935" title="Ubuntu Server 12.04(14.04) 静态IP简洁配置">Ubuntu Server 12.04(14.04) 静态IP简洁配置</a><span>(17033)</span>
</li>
<li>
<a href="/ichsonx/article/details/8625925" title="一步步使用GIT">一步步使用GIT</a><span>(15725)</span>
</li>
</ul>
</div>
<div id="hotarticls2" class="panel tracking-ad" data-mod="popu_341">
<ul class="panel_head"><span>评论排行</span></ul>
<ul class="panel_body itemlist">
<li>
<a href="/ichsonx/article/details/2954397" title="struts2核心工作流程与原理">struts2核心工作流程与原理</a><span>(14)</span>
</li>
<li>
<a href="/ichsonx/article/details/5598865" title="struts2.1.8+spring3.0.2+hibernate3.3">struts2.1.8+spring3.0.2+hibernate3.3</a><span>(10)</span>
</li>
<li>
<a href="/ichsonx/article/details/39008519" title="Dubbo是什么">Dubbo是什么</a><span>(9)</span>
</li>
<li>
<a href="/ichsonx/article/details/8802765" title="使用maven生成java项目">使用maven生成java项目</a><span>(6)</span>
</li>
<li>
<a href="/ichsonx/article/details/4372930" title="FLEX3+struts2.1.6+spring2.5.5+hibernate3.2整合日记(1)">FLEX3+struts2.1.6+spring2.5.5+hibernate3.2整合日记(1)</a><span>(6)</span>
</li>
<li>
<a href="/ichsonx/article/details/6911358" title="tomcat使用memcached完成集群">tomcat使用memcached完成集群</a><span>(5)</span>
</li>
<li>
<a href="/ichsonx/article/details/40385737" title="让Ubuntu 14.04“保存”屏幕亮度值">让Ubuntu 14.04“保存”屏幕亮度值</a><span>(5)</span>
</li>
<li>
<a href="/ichsonx/article/details/5337511" title="ConcurrentHashmap使用">ConcurrentHashmap使用</a><span>(4)</span>
</li>
<li>
<a href="/ichsonx/article/details/9108173" title="通过Java反射调用方法">通过Java反射调用方法</a><span>(3)</span>
</li>
<li>
<a href="/ichsonx/article/details/6405969" title="Neo4j 随笔">Neo4j 随笔</a><span>(3)</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/77651442" target="_blank">* CSDN日报20170828——《4个方法快速打造你的阅读清单》</a></li>
<li><a href="http://blog.csdn.net/blogdevteam/article/details/77647813" 
target="_blank">* CSDN博客模板调查问卷</a></li>
<li><a href="http://blog.csdn.net/yhaolpz/article/details/77366154"target="_blank">* 动手打造史上最简单的 Recycleview 侧滑菜单</a></li>
<li><a href="http://blog.csdn.net/sweettool/article/details/77018506" 
target="_blank">* TCP网络通讯如何解决分包粘包问题</a></li>
<li><a href="http://blog.csdn.net/dc_726/article/details/77728729" 
target="_blank">* 程序员的八重境界</a></li>
<li><a href="http://blog.csdn.net/pangpang123654/article/details/77720036" 
target="_blank">* 四大线程池详解
</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="/ichsonx/article/details/9108173#comments">通过Java反射调用方法</a>
    <p style="margin:0px;"><a href="/u013795543" class="user_name">u013795543</a>:
学习了
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/39008519#comments">Dubbo是什么</a>
    <p style="margin:0px;"><a href="/u012323351" class="user_name">u012323351</a>:
初学者很好的教程谢谢楼主分享
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/39008519#comments">Dubbo是什么</a>
    <p style="margin:0px;"><a href="/u013047584" class="user_name">u013047584</a>:
不错,宏观留一遍。
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/39008519#comments">Dubbo是什么</a>
    <p style="margin:0px;"><a href="/u013046597" class="user_name">u013046597</a>:
很好
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/39008519#comments">Dubbo是什么</a>
    <p style="margin:0px;"><a href="/qqxyy99" class="user_name">qqxyy99</a>:
敏捷测试团队,不再仅仅是在coding之后。而是和研发人员贯穿在需求分析、规格说明、自动化单元测试、...
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/40385737#comments">让Ubuntu 14.04“保存”屏幕亮度值</a>
    <p style="margin:0px;"><a href="/dingmlp" class="user_name">dingmlp</a>:
@ichsonx:1)在exit 0 前面添加设置;2)查看当前设置亮度:sudo cat /sys...
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/6667947#comments">Omni-NFS-X Windows与Linux间通讯的另一种方式</a>
    <p style="margin:0px;"><a href="/YIDI520206" class="user_name">YIDI520206</a>:
有人能成功吗?一直连不上用这个
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/7699093#comments">ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别</a>
    <p style="margin:0px;"><a href="/xyjincan" class="user_name">xyjincan</a>:
upup
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/2954397#comments">struts2核心工作流程与原理</a>
    <p style="margin:0px;"><a href="/cd18333612683" class="user_name">cd18333612683</a>:
学习了,最近正在学习有关知识
    </p>
    </li>
    <li>
   
         <a href="/ichsonx/article/details/2954397#comments">Dubbo是什么</a>
    <p style="margin:0px;"><a href="/chq00788" class="user_name">chq00788</a>:
不错,简单易懂,感谢楼主,学习了
    </p>
    </li>
</ul>
</div>
    </div>
    <div class="clear">
    </div>

                   <!-- 广告位开始 -->                    <!-- 广告位结束 -->
                   <div class="tracking-ad" data-view="true"  data-mtp="63" data-order="40" data-con="ad_content_1260" style="width: 200px; height: 500px;">
                         <div id="nav_show_top_stop" style="width: 200px;height: 500px;z-index:1000"><div id="cpro_u2734128"></div>
                             <div id="cpro_u3031287"></div></div>
                   </div>
                <script type="text/javascript">
                    setTimeout(function () {
                        var naviga_offsetTop = 0;
                        function naviga_stay_top() { var scrollTop = jQuery(document).scrollTop(); if (scrollTop > naviga_offsetTop) { jQuery("#nav_show_top_stop").css({ "position": "fixed" }); jQuery("#nav_show_top_stop").css({ "top": "0px" }); } else { jQuery("#nav_show_top_stop").css({ "position": "fixed" }); jQuery("#nav_show_top_stop").css({ "top": naviga_offsetTop - scrollTop + "px" }); } }
                        function onload_function() { naviga_offsetTop = jQuery("#nav_show_top_stop").position().top; jQuery(window).bind("scroll", naviga_stay_top); jQuery(window).bind("mousewheel", naviga_stay_top); jQuery(document).bind("scroll", naviga_stay_top); jQuery(document).bind("mousewheel", naviga_stay_top); } jQuery(document).ready(onload_function);

                    }, 200);
                </script>                    
<script type="text/javascript">(window.cproArray = window.cproArray || []).push({ id: "u2734128" });  </script> 
                    <script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript"></script> 
                   <script type="text/javascript">
                       /*PC端-博客内容页左侧Button2-200*200-2017/7/10*/
                       (window.cproArray = window.cproArray || []).push({ id: "u3031287" });
</script>
<script type="text/javascript" src="http://cpro.baidustatic.com/cpro/ui/c.js"></script>

           </div>   

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

        








    <script type="text/javascript" src="http://passport.csdn.net/content/loginbox/login.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>
      <!--new top-->
    

     

   
   
     <!--new top-->
   
   

    
    
    
   

   


       <script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
          <script type="text/javascript">
              //$(function () {
              //    setTimeout(function () {
              //        var searchtitletags = articletitle + ',' + $("#tags").html();
              //        searchService({
              //            index: 'blog',
              //            query: searchtitletags,
              //            from: 5,
              //            size: 5,
              //            appendTo: '#res',
              //            url: 'recommend',
              //            his: 2,
              //            client: "blog_cf_enhance",
              //            tmpl: '<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="#{ url }" title="#{ title }" strategy="#{ strategy }">#{ title }</a></dd>'
              //        });
              //    }, 1000);
              //});

         </script>
    
    <script src="http://static.blog.csdn.net/scripts/csdn_blog_detail.min.js" type="text/javascript"></script>
        
    <script type="text/javascript" src="http://c.csdnimg.cn/blog/csdn_public_blog_detail.min.js?20170719001"></script>

    <script type="text/javascript" src="http://medal.blog.csdn.net/showblogmedal.ashx?blogid=239583"></script>

     
    


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

    
    
        
     

    
          
    <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"  οnclick="$('.pop_CA').hide();$('.pop_CA_cover').hide();"></span>
          </div>
          <iframe src="" id="fa" frameborder="0" width="100%" height="360"  scrolling="no" ></iframe>
    </div>


        <script type="text/javascript">

            $(function () {
                var fromjs = $("#fromjs");
                if (fromjs.length > 0) {
                    $("#fromjs .markdown_views pre").addClass("prettyprint");
                    prettyPrint();

                    $('pre.prettyprint code').each(function () {
                        var lines = $(this).text().split('\n').length;
                        var $numbering = $('<ul/>').addClass('pre-numbering').hide();
                        $(this).addClass('has-numbering').parent().append($numbering);
                        for (i = 1; i <= lines; i++) {
                            $numbering.append($('<li/>').text(i));
                        };
                        $numbering.fadeIn(1700);
                    });

                    $('.pre-numbering li').css("color", "#999");
                }
            });

            $(".markdown_views a[target!='_blank']").attr("target", "_blank");

            //$(".toc a[target='_blank']").attr("target", "");

            setTimeout(function () {
                $(".toc a[target='_blank']").attr("target", "");
            }, 500);

        </script>

</body>
</html>   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值