<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>jonson</title>
    <description></description>
    <link>http://jonson.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>题库贴</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/190913" style="color:red;">http://jonson.javaeye.com/blog/190913</a>&nbsp;
          发表时间: 2008年05月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: large"><span style="color: red">大家如果有好的题目可以贴出来，以后大家练练手，我会定时整理的。</span></span><br /><br />1。［java］java实现，计算 100 的阶乘的值。打印出结果<br />2。有两个人 从一个框里面拿球，总共有500 个球，A每次可以拿1－5个球，B可以拿1－5个球。现在A、B两人轮流拿球。A第一次拿多少个球 才能保证最后一次是A拿球。说明理由。<br />3。［SQL］<br />有一个表 ：table(SID,PCLASS,PSCORE),有三个字段分别是学生ID，班级，分数。如果当前表内数据状态为：<br />1   1  60<br />2   1  60<br />3  1   90<br />4  2   100<br />5  3   80<br />6  3   95<br />7  4   50<br /><br />写一个SQL语句，求  班级人数>1的每个班级最大分数。 只需要求得两个字段：班级，分数 <br />结果：<br />1  90<br />3  95<br />END<br /><br />4。［SQL］有个数据表记录每日消费额度，刚开始某人有 100块前。从第一天开始 如果他消费了一些钱，那么数据库会增加一条记录，记录下 余额。  当100天以后。 写一条SQL语句打印出他每天的消费额。
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/190913#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 08 May 2008 09:54:32 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/190913</link>
        <guid>http://jonson.javaeye.com/blog/190913</guid>
      </item>
      <item>
        <title>javascript closure</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/186561" style="color:red;">http://jonson.javaeye.com/blog/186561</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          学习javascript闭抱特性已经有段时间了。将自己理解的与大家分享以下。<br />  首先，介绍下闭包的定义吧。闭包：对环境对象的引用。闭包可以是一个表达式，主要是函数。比如：<br />例子1：函数。函数test对环境变量 paramA,b引用，形成闭包。<br /><pre name="code" class="js">
function test(paramA){
        var b="haha"; 
        return function(){
        alert(paramA);// 对环境变量  paramA,b的引用。closure
        alert(b);
        }
}
var func=test("test");
func();
</pre><br />在上面这个js例子当中，，闭包的形成是在 执行 <span style="color: red">var func=test("test");</span> 这句代码的时候形成的。当运行test函数的时候，会产生一个函数运行的作用域链，运行环境将创建一个 活动对象。这个函数的执行环境就由 该活动对象 后面上 全局作用域构成。 当test函数运行到 定义函数的时候，会把 当前的运行时环境作用域链加在 新定义函数的[[scope]] 属性中。这个test函数就通过它的[[scope]] 属性保留了对 test函数和全局作用域的引用。 <br />这里我觉得要分清一个概念，其实closure确切的说跟对环境变量的引用并没有关系，而是作用域链的引用。其实代码完全可以改成：<br /><pre name="code" class="js">
function test(paramA){
        return function(){
        alert("hello,world");// 没有对环境变量引用 。closure
        }
}
var func=test("test");
func();
</pre><br />在这段代码中，由于当定义并返回新的方法对象的时候，保留了对test函数运行时环境的作用域链的引用。所以闭包还是存在的。<br />  下面说下闭包的使用吧。<br />1。当函数需要延迟运行的时候，比如页面设置某个DOM对象5秒中后自动隐藏。<br /><pre name="code" class="js">
function callLater(paramA, paramB, paramC){
    /* 返回一个由函数表达式创建的匿名内部函数的引用:- */

    return (function(){
        /* 这个内部函数将通过 - setTimeout - 执行，
         而且当它执行时它会读取并按照传递给
         外部函数的参数行事：
        */
        paramA[paramB] = paramC;
    });
}

...

/* 调用这个函数将返回一个在其执行环境中创建的内部函数对象的引用。
 传递的参数最终将作为外部函数的参数被内部函数使用。
 返回的对内部函数的引用被赋给一个全局变量:-
*/

var functRef = callLater(elStyle, "display", "none");
/* 调用 setTimeout 函数，将赋给变量 - functRef - 
的内部函数的引用作为传递的第一个参数:- */ 

hideMenu=setTimeout(functRef, 500);
</pre><br />这是网上的一个例子，该应用虽然并不是真实实现（可以直接将该例子中的参数写在函数内部），但是这只是一个例子，当要 延时运行呆有参数的时候，可以通过闭包来保留参数。<br />其实closure是比较实用的一个工具。但是使用closure容易产生循环引用链，导致内存泄露。使用的时候需要小心。
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/186561#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 22:49:34 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/186561</link>
        <guid>http://jonson.javaeye.com/blog/186561</guid>
      </item>
      <item>
        <title>丑陋的继承</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/173745" style="color:red;">http://jonson.javaeye.com/blog/173745</a>&nbsp;
          发表时间: 2008年03月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在web项目中，经常会出现  有不同的场合 但是 需求是一致，比如说 是评论，在平台的很多web的子应用中都会用到。 现在为了重复 利用重复的这部分，不得不生成许多 空的class，只是继承父类。 映射到不同的 数据表中。<br />看到这些空的类，感觉好丑陋阿。不知道 各位达人有处理过类似的问题吗
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/173745#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 19 Mar 2008 14:22:18 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/173745</link>
        <guid>http://jonson.javaeye.com/blog/173745</guid>
      </item>
      <item>
        <title>reddit.com</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/163903" style="color:red;">http://jonson.javaeye.com/blog/163903</a>&nbsp;
          发表时间: 2008年02月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <img src="/images/smiles/icon_cry.gif"/><img src="/images/smiles/icon_sad.gif"/>比较喜欢的一个网站  reddit.com。过了个年，现在突然变成中文版本了，而且许多板块都已经不在了，晕阿。<br />为什么 访问不了呢。是否由于某些 不可抗拒 力量。<br />是否有人知道那，路过的话，解释下。
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/163903#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 21 Feb 2008 14:39:57 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/163903</link>
        <guid>http://jonson.javaeye.com/blog/163903</guid>
      </item>
      <item>
        <title>js 函数的定义、运行 顺序。</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/140842" style="color:red;">http://jonson.javaeye.com/blog/140842</a>&nbsp;
          发表时间: 2007年11月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          js 执行的一些疑问。<br />js是顺序加载，解释执行的。函数定义顺序 对函数的执行 并没有影响。<br /><br />对于下面一种测试的js调用情况。<br />－－－－－－－－－－－－－－－－test.html---start-----------------<br />&lt;HTML> &lt;HEAD>  <br />&lt;SCRIPT  LANGUAGE="JavaScript">  <br />function <span style="color: red">callBack()</span>{<br />	alert('run callback!');<br />}<br />&lt;/SCRIPT>  <br /><span style="color: red">&lt;script type="text/javascript" src="test.js">&lt;/script></span><br />&lt;/HEAD>  &lt;BODY>  <br />&lt;button onclick="test(callBack);">click me&lt;/button><br />&lt;/BODY>  <br />&lt;/HTML>  <br />----------------------------test.html---end--------------------<br />----------------------------test.js--start-----------------<br />function test(callback){<br />alert("run test function");<br />callback();<br />}<br />-----------------------------test.js----end----------------------<br /><br /><strong><span style="font-size: 18pt"><span style="color: blue">对于 callBack函数的定义位置，如果在 test.js 引入之后，则会报  函数未定义错误；如果在test.js引入之前，则函数触发运行正常正常。    对于这个现象 不是很明白，大家讨论下。</span></span></strong><br /><br />在实际的编程中，还有有用的，因为，如果我们可以在任意位置 定义 callBack 函数。对于很多功能我们 可以定义成一个模块， 调用时传入一个 回掉函数，完成相应的功能就 调用它，这样，整个程序的 耦合性比较小。
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/140842#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 15 Nov 2007 13:00:15 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/140842</link>
        <guid>http://jonson.javaeye.com/blog/140842</guid>
      </item>
      <item>
        <title>JAXB data binding .boolean type</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/128517" style="color:red;">http://jonson.javaeye.com/blog/128517</a>&nbsp;
          发表时间: 2007年09月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 18pt">i try to use JAXB to binding the XML data to class. and i met some question that really boring.<img src="/images/smiles/icon_twisted.gif"/><br /><br />the key of the question is : when i use the JAXB to get the xml data. the boolean data which  in the in the created object is not correct.<br />here are my dtd file and xml file.</span><br /><span style="font-size: 18pt"><span style="color: yellow">conditions.dtd  :</span></span><br />&lt;!ELEMENT conditions (condition*)><br />&lt;!ELEMENT condition    (entrytype,type,leastNum,auto,unit,originate,last)  ><br />&lt;!ELEMENT entrytype (#PCDATA)><br />&lt;!ELEMENT type (#PCDATA)><br />&lt;!ELEMENT originate (#PCDATA)><br />&lt;!ELEMENT auto (#PCDATA)><br />&lt;!ELEMENT unit (#PCDATA)><br />&lt;!ELEMENT leastNum (#PCDATA)><br />&lt;!ELEMENT last (#PCDATA)><br />&lt;!ATTLIST condition isInfoComplete CDATA "true"><br /><br /><span style="font-size: 24pt"><span style="color: yellow">conditions.xml  :</span></span><br />&lt;?xml version="1.0" encoding="UTF-8" ?><br />&lt;!DOCTYPE conditions SYSTEM "conditions.dtd">&lt;conditions> <br />	&lt;condition isInfoComplete="true"><br />		&lt;entrytype>blogentry&lt;/entrytype> <br />		&lt;type>apply&lt;/type><br />		&lt;leastNum>3&lt;/leastNum><br />		&lt;auto>true&lt;/auto><br />		&lt;unit>week&lt;/unit><br />		&lt;originate>true&lt;/originate><br />		&lt;last>y&lt;/last><br />	&lt;/condition><br />	&lt;condition isInfoComplete="true'"><br />		&lt;entrytype>blogentry&lt;/entrytype> <br />		&lt;type>keep&lt;/type><br />		&lt;leastNum>20&lt;/leastNum><br />		&lt;auto>true&lt;/auto><br />		&lt;unit>month&lt;/unit><br />		&lt;originate>false&lt;/originate><br />		&lt;last>m&lt;/last><br />	&lt;/condition><br />&lt;/conditions><br /><br /><br /><br /><br />the class file is generated by the JAXB tool. and follow is my test class. notice the pakage path.<br />CollectionTest.java:public class ConditionTest {<br />	public static void main(String[] args) {<br />		try {<br />			JAXBContext jc = JAXBContext.newInstance("test.xmlparse");<br />			Unmarshaller u = jc.createUnmarshaller();<br />			Conditions conds = (Conditions) u.unmarshal(new FileInputStream(<br />					new File("conditions.xml")));<br />			List cond=conds.getCondition();<br />			int size = cond.size();<br />			for(int i=0;i&lt;size;i++) {<br />				Condition con=(Condition) cond.get(i);<br />				print(con);<br />			}<br />			System.out.println(conds.getCondition().size());<br />		} catch (Exception ex) {<br />			System.out.println(ex.getMessage());<br />			System.out.println(ex.getCause());<br />		}<br />	}<br /><br />	private static void print(Condition con) {<br />		System.out.println("auto:"+con.getAuto()+"\nlast:"+con.getLast()+"\nentrytype:"+con.getEntrytype()+"\ntype:"+<br />				con.getType()+"\nunit:"+con.getUnit()+"\nisInfoComplete:"+con.getisInfoComplete()+<br />				"\nleastNum:"+con.getLeastNum()+"\noriginate:"+con.getOriginate()+"\n\n\n");<br />	}<br />}<br /><br /><br /><br /><br />here is my result:<br />auto:true<br />last:y<br />entrytype:blogentry<br />type:apply<br />unit:week<br />isInfoComplete:<span style="color: red">false</span><br />leastNum:3<br />originate:true<br /><br /><br />auto:true<br />last:m<br />entrytype:blogentry<br />type:keep<br />unit:month<br />isInfoComplete:<span style="color: red">false</span><br />leastNum:20<br />originate:false<br />-----------------------------------------------------------------------<br /><span style="color: blue"><span style="font-size: 18pt">i tracked the program.  the value of isInfoComplete have get when the object created.but the value is not correct.</span></span>:twisted:  <img src="/images/smiles/icon_arrow.gif"/>
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/128517#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 30 Sep 2007 18:32:33 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/128517</link>
        <guid>http://jonson.javaeye.com/blog/128517</guid>
      </item>
      <item>
        <title>ajax 跨域访问</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/124603" style="color:red;">http://jonson.javaeye.com/blog/124603</a>&nbsp;
          发表时间: 2007年09月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          应用中希望提供一个通用的JS，可以被 其他网站引用。<br />当用户打开引用这段代码页面时候，这段js访问 服务，取回数据，并在页面显示数据。<br />这里碰到了一个  ajax跨域访问的问题。<br />就是  比如引用这段js的网站是www.sina.com。   js要访问www.google.com  取得数据。<br />大家有没有碰到类似的。给个建议。
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/124603#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 17 Sep 2007 00:07:05 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/124603</link>
        <guid>http://jonson.javaeye.com/blog/124603</guid>
      </item>
      <item>
        <title>closure and callback</title>
        <author>jonson</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://jonson.javaeye.com">jonson</a>&nbsp;
          链接：<a href="http://jonson.javaeye.com/blog/115160" style="color:red;">http://jonson.javaeye.com/blog/115160</a>&nbsp;
          发表时间: 2007年08月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近看了一些闭包和回调的知识。<br /><br />先在碰到一个问题。对于下面 这个函数，外面的环境我们不考虑。<br /><span style="color: red"><span style="font-size: 18pt">public List convertStringToInteger(List strings) {<br />return Collections.convert(strings, new Converter() {<br />public Integer invoke(String orignal) {<br />return Integer.parseInt(orginal) ;<br />}<br />});<br />} </span></span><br /><br />闭包应该是 程序块对他外部资源的调用，那么这个函数 是否也是 一个Anonimous实现的 假闭包呢。<br />在我看来这个 和回调 函数的形式也是类似的。不知道各位怎么看<br /><br />对于closure和callback的应用，还是比较复杂的感觉。
          <br/>
          <span style="color:red;">
            <a href="http://jonson.javaeye.com/blog/115160#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 22 Aug 2007 09:39:46 +0800</pubDate>
        <link>http://jonson.javaeye.com/blog/115160</link>
        <guid>http://jonson.javaeye.com/blog/115160</guid>
      </item>
  </channel>
</rss>