<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>JavaEye论坛最新讨论</title>
    <description>JavaEye论坛最新讨论 - Java编程，Ruby编程，微软.net，AJAX，敏捷软件开发，综合软件技术</description>
    <link>http://www.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>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://supersun.javaeye.com">supersun</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237865" style="color:red;">http://www.javaeye.com/topic/237865</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我是学习测控的 大一大二一直在学基础课 每当我们问到测控专业具体的方向是什么 老师只是泛泛的说 主要是研究传感器 ~ 那是什么 老师举例说过 就好比是电冰箱里的控温的 ~ 哦~ <br /><br /><br />相比起许多理工类专业，测控技术与仪器可能是比较难以望文生义的一个专业。究竟什么是“测控”？“测控”的范围是什么？“测控”专业在社会上又能做些什么？这些问题使许多考生在报考的时候对这个专业心存疑虑。其实测控技术就是精确探测和采集各种信息的尖端技术。 <br /><br />说白了，“测控技术与仪器”就是去研究开发最先进的测量仪器。而高技术含量测量仪器不仅逐渐应用到我们日程生活的各个领域，我们将在最尖端、最激动人心的领域发挥着重要作用。 <br /><br />原来，“测控技术与仪器”能在从飞机，飞船（比如神舟5、6），到B超机、CT机的众多领域里都发挥核心与关键作用，这就难怪这个专业毕业生能够被众多用人单位欢迎和接纳了。 <br /><br /><strong>测控技术与仪器能干什么，就业前景是什么？ </strong><br /><br />就业总纲：<span style="color: red"><strong>就业口径宽，研究领域广，发展空间大</strong></span>--- 一切皆有可能！ <br /><br />A.高端型（研究型） <br /><br />  可以在航空 卫星 测控 研究所 兵工厂等领域作出卓越的贡献，比如神五、神六上天就需要这个专业的，不过建议考研 或读博、或者博士后 <br /><br />B.中端型（企业型） <br /><br />有很多工作可以做：光电、机械、电子、计算机、通信方面都可以涉猎。还有在线控制、检测、监控，也有做关于机器人的、光电和信号处理方面的，还有嵌入式在线编程，搞单片机开发等等相关的工作可以做。 <br />不同的单位，比如富士康、冠捷、比亚迪、海尔等等各行各业都会在这个专业较有名的大学进行不同程度的招聘 <br /><br />专业细分： <br /><br />测控可以做电子，机械，自动控制，光学工程。<br /><br />看到这里也许大家笑了，原来是玩高科技的，搞高端研究的！但是就是这样一个专业我不喜欢，整整三年了，我没挂过学校的一门课，我还是熬过来了，自学了java，但我个人觉得这仅仅刚是一个开始，因为我自己动手做的小项目在专业人员眼里还仅仅是一个玩具，他们说这样的项目是上不了战场的，现在已经大四了，离毕业的时间也近了，我想终于可以解脱了，我可以做我喜欢的编程了，但是我对这个行业的规则不是很了解，如果我想在这个行业发展的话，作为一个非专业计算机毕业的学生有可能吗？<br /><br />我的现状是：自学了一年多的时间，对java基础知识掌握良好，对及j2ee规范有所了解，但总是不知道怎么才能走上软件开发的阳光大道，我想过培训，不知道培训有没有用，如果非要培训的话达内和青鸟那个要好一些呢？<br /><br />晚辈现在正处于很迷茫的状态，作为一个迷途的羔羊，我深深的喜欢JAVAEYE这个地方，这一年多从各位大侠大师大牛那里学多了不少东西，我真的谢谢javaeye上的各位前辈，希望你们能给晚辈一些职业生涯发展的规划，如果我一定要在软件行业发展的话，我该怎么做才做能少走弯路？作为一个非IT相关专业的人士我的IT路又在何方？
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237865" style="color:red;">已有 <strong>8</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 11:32:13 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237865</link>
        <guid>http://www.javaeye.com/topic/237865</guid>
      </item>
      <item>
        <title>各位Javaeye的朋友帮我看下简历</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://oop-ming.javaeye.com">oop_ming</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237779" style="color:red;">http://www.javaeye.com/topic/237779</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          麻烦各位帮我看下有什么需要修改的地方，还有觉得以我现在这么低的水平，在广州或者深圳能要求多少的薪水？<br />简历的内容如下：<br /><br /><br /><br />个人信息<br />姓    名：	×××	性    别：	×	 <br />出生年月：	××××	籍    贯：	××××	<br />联系电话：	×××× 	政治面貌：	预备党员	<br />E－Mail：	××××	邮    编：	××××<br />通讯地址：	××××<br /><br />求职意向<br />  软件开发工程师（Java）<br /><br />教育背景<br />  2005年9月－2009年6月    ××××         软件工程        本科<br /><br />专业核心课程:<br />  C语言程序设计、离散数学、数据结构、 ACM/ICPC程序设计方法学、<br />  计算机组成原理、面向对象程序设计(Java)、数据库原理、操作系统、<br />  ERP系统分析与设计、软件工程、编译原理、软件项目管理与文档编写、<br />  对象与组件技术（JavaEE）。<br />  计算机专业技术水平<br />  ■专业技能:<br />  1．良好的程序设计能力，扎实的Java基础；<br />  2．熟悉Struts，Hibernate，Spring等MVC框架；<br />  3．熟悉HTML、JSP、Servlet、JavaBean，了解JavaScript，CSS等相关技术；<br />  4．熟悉Sql Server/MySQL等数据库应用开发, 了解Oracle；<br />  5．熟悉UML，及Rose建模工具；<br />  6．有solaris 10g下开发经验。<br /><br />  ■专业资格考试：软件设计师<br /><br />实习经历<br />  实习时间：7.14－2008.9.1<br />  实习地点：××××有限公司<br />  实习职称：Java程序员<br />  实习描述：代码的规范化、高效化，掌握公司一些项目开发模版以及实际项目的开发。<br />  实习收获：认识了代码规范对于团队项目开发的重要性，增强团队开发意识和实际项目开发的能力。<br /><br />个人获奖情况<br />■2005－2006学年度：	<br />  ××××“优秀生”三等奖学金<br />  ××××“三好学生”<br />■2006－2007学年度：	<br />  ××××ACM程序设计大赛三等奖<br />  ××××“优秀团干”<br />■2007—2008学年度：	<br />  “高校杯软件设计大赛”校队队员<br />  ××××“优秀生”二等奖学金<br />  ××××“三好学生”<br /><br />自我评价<br />   热爱编程，性格开朗，具有良好的沟通能力、理解能力及团队精神。<br />项目开发经验<br />■项目名称：博客系统<br />  开发周期：6周 <br />  开发环境：JDK1.6/ Tomcat5.5/MySQL / MyEclipse/windowsXP <br />  使用技术：JSP+ Servlet +JavaScript+CSS<br />  负责模块：独立开发<br />■项目名称：office操作考试系统（邑大版）<br />  开发周期：8周<br />  开发环境：JDK1.6/ Tomcat5.5/Sql Server2000 / MyEclipse/ DreamWeaver/windowsXP <br />  使用技术：Struts+ Hibernate +JavaScript + CSS + JSP<br />  负责模块：独立开发<br />■项目名称：鸿捷信息系统（实习项目）<br />  开发周期：持续开发中<br />  开发环境：JDK1.6/ Tomcat5.5/Sql Server2000 / MyEclipse/ DreamWeaver/windowsXP <br />  使用技术：Struts+ Ajax + JavaScript + CSS + JSP<br />  负责模块：国外采购项目模块
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237779" style="color:red;">已有 <strong>7</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 21:24:04 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237779</link>
        <guid>http://www.javaeye.com/topic/237779</guid>
      </item>
      <item>
        <title>互联网创业与软件开发</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://liuqiang.javaeye.com">liuqiang</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237211" style="color:red;">http://www.javaeye.com/topic/237211</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p style="text-indent: 24pt; mso-char-indent-count: 2.0;"><span style="font-size: small;"><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">最近与一位创业公司的朋友私下交流了一些项目管理和软件开发的心得，是互联网创业型公司，通过几次的交流，加深了我对互联网创业的一些感悟，本来不太想拿到桌面上说，但实在忍不住，还是想拿出来和希望创业的朋友讨论下。</span></span></span></p>
<p style="text-indent: 24pt; mso-char-indent-count: 2.0;"><span style="font-size: small;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">那么我对互联网公司的比较感兴趣的地方主要体现在软件质量和技术管理方面，以下</span></span><span style="color: #000000; font-family: Verdana;">2</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">点可以作为讨论的提纲：</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000; font-family: Verdana;">&nbsp;&nbsp;&nbsp;&nbsp; 1 </span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">软件质量，尽管质量是我们嘴边经常挂念的一个词，但不少创业型公司的投机心理太重，在与这些负责人的交流中发现，谈论的更多的是新想法、新概念，有非常重的商业气息，当然这没什么不好，但我看了他们的一些产品后发现，他们所做的产品用户体验非常糟糕，就拿界面来说，非常的粗糙，由于有家公司做的产品和易趣类似，我特意打开</span></span><span style="color: #000000; font-family: Verdana;">2</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">个窗口对比一下，总觉得易趣的看起来比较舒服，他们整体布局倒模仿易趣倒挺像，但问题就体现在细节上，图片失真严重、字体风格不一致、细节处理的不到位。好了，那就凑合着看吧，发现该产品的功能非常的多，但让人郁闷的是，很多功能是有问题的，比如明明提示我系统给偶发了个邮件，但就是找不到，有时候提交表单是可以的，有时候见到一堆</span></span><span style="color: #000000; font-family: Verdana;">java</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">异常错误。所以我觉得这就是典型的追求功能的庞大而导致质量的缩水。</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000; font-family: Verdana;">&nbsp;&nbsp;&nbsp;&nbsp;<span style="mso-spacerun: yes;">&nbsp;</span></span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">其实自从豆瓣开始流行后，大家都意识到功能做的简洁原来是有好处的，有不少创业者声称自己要向豆瓣看齐，鄙视</span></span><span style="color: #000000; font-family: Verdana;">csdn</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">，坚决走简洁之路，但让我纳闷的是，很少有人真正的坚持下去，我有个同学</span></span><span style="color: #000000; font-family: Verdana;">06</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">年底曾在一家创业公司玩过</span></span><span style="color: #000000; font-family: Verdana;">python</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">，准备做一个很有趣的网站，叫做抱怨网，其实是蛮有创意的，不久前</span></span><span style="color: #000000; font-family: Verdana;">JE</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">不是有个哥们在四处发帖说我爱我家黑中介的事，其实本来这个网站就是干这个事的，专门揭不良企业底的，但做着做着，成了巨无霸，开始是把大众点评网的功能加进去，接着又开始融进赶集网的分类信息功能，最后有把智联招聘的招聘功能加上了，结局就是</span></span><span style="color: #000000; font-family: Verdana;">1</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">年不到，网站不出意料的死掉了，原因就是用户体验差，根本不感兴趣！最后我替他们老板做了下反思，其实说实话，我还是很理解创业人的心，看到好东西都想要，而且之前几年在互联网圈钱谁都眼红。另外，他们的功能尽管是抄袭别人的，但还是有一定的特色与盈利模式，并且各个功能分的也蛮清的。</span></span><span style="color: #000000; font-family: Verdana;"> </span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">所以我觉得失败的原因不能简单的归结为功能太多，而是质量，小公司也就那几号人，作为开发人员，面对这么多的需求，只有拼命的赶进度，丫还有时间考虑质量或者用户体验吗？所以没有一定的资本与一批强有力的管理和开发人员，切勿贪大求全，否则很可能就是在生产垃圾。其实质量这个东西从高的层面上说就是用户体验的好坏，</span></span><span style="color: #000000; font-family: Verdana;">bug</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">少不见得质量高，但用户体验差的东西绝对就是垃圾。</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000; font-family: Verdana;">&nbsp;&nbsp; <span style="mso-spacerun: yes;">&nbsp;&nbsp;&nbsp;</span></span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">最近市面上有个说法有个说法是</span></span><span style="color: #000000; font-family: Verdana;">30w</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">足以模仿个淘宝，我认为就是扯淡，误导了很多创业者，认为花点银子，雇几个人，就可以轻松抄袭淘宝了，咱先不说市场投资，只谈技术，表面上看淘宝，丫就是一个破网站，但背后的技术你看的见吗？稳定性、性能、维护、可扩展性，这些都和软件质量息息相关，直接影响着用户的满意度，你确定真的做到了吗？淘宝的架构师一年的薪水也</span></span><span style="color: #000000; font-family: Verdana;">30w</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">了。所以我觉得创业者要领悟毛泽东思想，采用各个击破的战术，在有限的资源下约束的自己产品的功能，做到小而美。</span></span></span></p>
<p style="text-indent: 24pt; mso-char-indent-count: 2.0;"><span style="font-size: small;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">这里举个正面的例子，有家位于芝加哥、名为</span></span><span style="color: #000000; font-family: Verdana;">37 Signals</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">的小公司，正是这种拥抱限制的方式之代表者。</span></span><span style="color: #000000; font-family: Verdana;">37 Signals</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">最初是一家网页设计资讯公司，后来为了满足自身需求而将业务扩展到软件开发领域。他们编写了一些用于项目管理的内部工具。为了和客户沟通，</span></span><span style="color: #000000; font-family: Verdana;"> </span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">就向客户开放了部分系统。公司创始人和总裁杰森</span></span><span style="color: #000000; font-family: Verdana;">&bull;</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">弗瑞德（</span></span><span style="color: #000000; font-family: Verdana;">Jason Fried</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">）解释说，在他们自己意识到之前，已经做出了一套基于网页的应用。又做了</span></span><span style="color: #000000; font-family: Verdana;">4</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">个月，他们把软件转换为称作</span></span><span style="color: #000000; font-family: Verdana;">Basecamp</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">的服务。</span></span><span style="color: #000000; font-family: Verdana;"> <span lang="EN-US">Basecamp</span></span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">发布于</span></span><span style="color: #000000; font-family: Verdana;">2004</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">年</span></span><span style="color: #000000; font-family: Verdana;">2</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">月，很快在类似</span></span><span style="color: #000000; font-family: Verdana;">Flickr</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">和</span></span><span style="color: #000000; font-family: Verdana;">Google</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">的</span></span><span style="color: #000000; font-family: Verdana;">Gmail</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">等新</span></span><span style="color: #000000; font-family: Verdana;">Web</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">富应用天堂中名列前茅。</span></span></span></p>
<p><span style="font-size: small;"><span style="color: #000000; font-family: Verdana;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Basecamp</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">只是这家公司花一年多时间投入少量程序员做出来的一系列值得注意的小而精的产品之一。</span></span><span style="color: #000000; font-family: Verdana;">Basecamp</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">之后是</span></span><span style="color: #000000; font-family: Verdana;">Ta-da List</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">，用于保存和共享待办事项（及类似事项）列表。几个月后推出了</span></span><span style="color: #000000; font-family: Verdana;">Backpack</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">，它允许用户保存和共享便签及文件。每种产品都可靠并易于使用，而</span></span><span style="color: #000000; font-family: Verdana;"> </span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">且都是精心设计的。每种产品通常也都只包括少量新特性。例如，</span></span><span style="color: #000000; font-family: Verdana;">Basecamp</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">就有一些精巧的电子邮件功能：和其他服务和程序一样，也可以设置邮件到达提醒</span></span><span style="color: #000000; font-family: Verdana;">&mdash;&mdash;</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">还可以从另外的计算机或手机等移动设备向</span></span><span style="color: #000000; font-family: Verdana;">Backpack</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">网页发送邮件，邮件文本就会在页面上显示出来。</span></span></span></p>
<p><span style="color: #000000; font-family: Verdana;"><span style="font-size: small;">&nbsp;</span></span></p>
<p><span style="font-size: small;"><span style="color: #000000; font-family: Verdana;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 </span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">技术管理，你会发现很多公司的负责人不是很懂技术，但却是负责技术的，丫今天听到</span></span><span style="color: #000000; font-family: Verdana;">SOA</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">是个好东西，号令纷纷</span></span><span style="color: #000000; font-family: Verdana;">SOA</span><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;"><span style="font-family: 宋体;">，反正大家都不理解这个含糊不清的东西，做呗，看谁能忽悠的过谁，一般来讲，创业型公司为了节约成本，不会预留专门的</span></span><span style="color: #000000; font-family: Verdana;">QA</span><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">，有专门的测试人员就不错了，所以缺乏一个质量保证的环节，遇到问题怎么办？谁做的谁改，改成什么样没人关心，只要负责人看到问题解决了就可以了，但，我想问的是，不良代码背后的隐患你知道吗？结果就是你咬牙给开发人员开工资，开发人员假装帮你实现梦想，或者说造就一批划水的人。其实很多东西不是钱的问题，也不要以为多开点薪水就可以留住人心。另外我觉得很多技术负责人喜欢把东西模糊化，比如把软件即服务的理念挂在嘴边，但做起来是另一码子事，我觉得作为一个技术负责人自己就要身先士卒，至少在创业公司是这样，这样才更有说服力，遇到问题自己应当第一个冲上去，拿出具体的解决方案，对代码应当做到精细管理，做到心中有数。说到底，创业公司得有一个技术核心，一个真正能实现你的想法的人，一个可以让大家凝聚起来的人，不至于让大家划水的人。</span></span></span></p>
<p><span style="color: #000000; font-family: Verdana;"><span style="font-size: small;">&nbsp;</span></span></p>
<p><span style="font-size: small;"><span style="font-family: 宋体;"><span style="color: #000000; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana;">好了，先说那么多，希望各位准备创业的同仁能真正的树立精品意识，打造精品，实现梦想</span></span></span></p>
<p><span style="color: #000000; font-family: Verdana;"><span style="font-size: small;">&nbsp;</span></span></p>
<p><span style="color: #000000; font-family: Verdana;"><span style="font-size: small;">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US" style="font-size: 12pt;"><span style="font-family: Times New Roman;">&nbsp;</span></span></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237211" style="color:red;">已有 <strong>11</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 04 Sep 2008 22:57:54 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237211</link>
        <guid>http://www.javaeye.com/topic/237211</guid>
      </item>
      <item>
        <title>Rete算法的rete network和pattern match</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://chillwarmoon.javaeye.com">chillwarmoon</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237883" style="color:red;">http://www.javaeye.com/topic/237883</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          毕业论文发表了半年多了，现在将论文中关于rete算法的部分截取出来，希望对大家有所帮助。论文中都是原创，转载请注明出处http://chillwarmoon.javaeye.com
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237883" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 13:01:51 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237883</link>
        <guid>http://www.javaeye.com/topic/237883</guid>
      </item>
      <item>
        <title>js的unit test实现(一) </title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://deonwu.javaeye.com">kgd924</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237877" style="color:red;">http://www.javaeye.com/topic/237877</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>不知道有多少人会写js的unit test, 不过最近的项目对unittest要求比较严格.所以也养成了写unittest的习惯. 在搞js-shell时, 对写的代码没有做test,总是不放心. 找了一些资料看到JQuery的unit test方法不错. 学习了一下也在js-shell加入了Uinttest库. 总算把前面的代码都加上了UT才放心.<br />
<br />
js-shell中的unittest的使用方法和概念都和junit差不多, 主要有TestRunner, TestResult, TestSuite, TestCaseContext几个对象. 下面是一个例子:<br />
<br />
1. 先实现一个test runner, 创建run_unit_test.js 这是必须的步骤,不过内容很简单:</p>
<pre name="code" class="javascript">var ut = __import__('UnitTest', null, {})  //导入Unitest 库

ut.run_suite('.')  //运行Testsuite,  将运行当前目录下的所有以'test_'开头的js文件作为unittest运行.
</pre>
<p>&nbsp;</p>
<p>2. 实现一个unitest, 创建test_hellotest.js</p>
<p>&nbsp;</p>
<pre name="code" class="js">test(&quot;assertEqual&quot;, function() {   //一个unittest, 名称为&quot;assertEqual&quot;, function为 test的内容.
    assertEqual(10+ 20, 30)      //一个比较断言,,
});

test(&quot;assertEqual fail no message&quot;, function() {  //一个失败的 unitest 例子.
    assertEqual(10+ 20, 31)
});

test(&quot;assertEqual fail with message&quot;, function() {
    assertEqual(10+ 20, 31, &quot;10+20 != 31&quot;)
});

test(&quot;assertRaises expect raised&quot;, function() {  //测试一个将要抛出异常的方法.
    assertRaises('Stop', function(m){throw m}, 'Stop')
});


test(&quot;assertRaises mismatch raised&quot;, function() {
    assertRaises('Stop', function(m){throw m}, 'Start')
});

test({                      //实现一个Unittest对象, 包含setUp, tearDown.
    setUp: function(){        //一个setUp, 在每个test方法调用之前调用.
        this.msg = &quot;enter setUp&quot;;
        info('enter setUp');   //在Test中输出消息.
    },
    
    test_basic_requirements: function(){  //一个方法内的test, 方法名必须以&quot;test_&quot;开头
        info('running test_basic_requirements');
        assertEqual(this.msg, &quot;enter setUp&quot;)
        this.msg = 'test_basic_requirements'
    },
    
    test_setUp_called_for_every_functional: function(){
        info('test_setUp_called_for_every_functional');
        assertEqual(this.msg, &quot;enter setUp&quot;)
        this.msg = 'test_setUp_called_for_every_functional'
    },   
    
    tearDown: function(){    //在每个test调用用调用.
        this.msg = &quot;enter tearDown&quot;;
        info('enter tearDown');
    },
    
});</pre>
<p>&nbsp;3. 运行unit test</p>
<p>&nbsp;</p>
<pre name="code" class="java">C:\utest&gt;js run_unit_test.js
[INFO]:Start test file:C:\utest\test_hellotest.js
assertEqual...PASS in 0ms
assertEqual fail no message...FAIL in 16ms
        expected: 31, actual: 30
assertEqual fail with message...FAIL in 0ms
        10+20 != 31
assertRaises expect raised...PASS in 0ms
assertRaises mismatch raised...FAIL in 0ms
        expected exception:Stop, catched:Start
[INFO]test_setUp_called_for_every_functional:enter setUp
[INFO]test_setUp_called_for_every_functional:test_setUp_called_for_every_functio
nal
[INFO]test_setUp_called_for_every_functional:enter tearDown
test_setUp_called_for_every_functional...PASS in 31ms
[INFO]test_basic_requirements:enter setUp
[INFO]test_basic_requirements:running test_basic_requirements
[INFO]test_basic_requirements:enter tearDown
test_basic_requirements...PASS in 16ms
-----------------------------------------------------------
Ran 7 tests in 63ms
FAILED! Pass:4, Failed:3</pre>
<p>&nbsp;</p>
<p>这是一个简单的Unit, test. 测试的输出和UnitTest中的断言方法都可以自定义. 下次将介绍如何定义assert方法.</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237877" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 12:31:26 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237877</link>
        <guid>http://www.javaeye.com/topic/237877</guid>
      </item>
      <item>
        <title>一个对于JavaScript中的showModelessDialog()高级功能使用</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://keke020.javaeye.com">keke020</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237832" style="color:red;">http://www.javaeye.com/topic/237832</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: medium">使用window.showModelessDialog弹出无模式对话框后,<br />是可以操作父窗口中或者是父窗口中的其它兄弟窗口的.<br /><br />如果在showModelessDialog这个无模式窗口中却是想有如下这样的操作:<br />获取父窗口中兄弟窗口的event鼠标事件,根据父窗口兄弟窗口的event,随时改变<br />这个弹出窗口的某个字段的值,好像这个不能做到吧?<br /><br />因为父窗口怎么获取子窗口中的某个属性的对象呢?<br /><br />这是不是JavaScript设计上的漏洞呢?还是没找到如何实现这样的功能?</span>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237832" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 09:24:21 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237832</link>
        <guid>http://www.javaeye.com/topic/237832</guid>
      </item>
      <item>
        <title>北京厚皮求职（JAVA）</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhuansky008-163-com.javaeye.com">zhuansky008@163.com</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236278" style="color:red;">http://www.javaeye.com/topic/236278</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在北京找工作1月有余，楞是没接到几个电话，谁叫我只是个大专。最近接到一个盼望N久的面试机会。通过初试（面试+笔试），到复试时（好象就是和老板谈），  这家公司是搞3G的，可由于我一点也不懂手机3G给挂掉了，不过老板看我人不错，可以让我兼职并承诺能解决我在北京的生活问题，可我现在很想找一个正式的工作。实在不能我也就只有去了。。。<br />    本人毕业后也就去培训过5个月，感觉收获很大，学得很是努力。 在培训期间还通过所学（JAVA)写过一个代理程序 --上网，  条件：1.可远程登陆一台可上网的主机（UNIX）<br />                   2 .次主机其他端口被屏蔽  <br />                   3.主机与我所在机器（Linux）都可访问一公用数据库。<br />所写程序分为客户端、服务端  客户端作为浏览器的代理  ，客户端与服务端通过数据库交换数据，数据库得到目的资源。<br />  大致过程就是这样。<br />怀着厚厚的脸皮送上简历：<br /><br />   <br />个 人 简 历 (改进后，再请点评)<br /><br />个人概况　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />姓 名： 陈XX 性 别：男 <br /><br />电 话：13021171113 年 龄：22 <br /><br />E-mail：zhuansky008@163.com 专 业：计算机应用技术 <br /><br />现 住 址：北京 籍 贯：重庆 <br /><br />自我评价　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />目前工作经验尚浅，但爱好学习，能够不断的学习和掌握新的技术。 <br /><br />学习能力强、勇于创新、敢于挑战。 <br /><br />自信、但性格较内向，能吃苦耐劳、具有团队协助精神。 <br /><br />技术：基础扎实 <br /><br />特长：爱解决困难问题 、爱好编程 <br /><br />专业技能　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />熟练掌握Java、SSH、Servlet、JSP、SQL，PL/SQL、存储过程等技术 <br /><br />初步掌握EJB3.0、XML、AJAX、JavaScript 、PRO*C++<br /><br />熟悉C/C++ 编程 <br /><br />熟悉Http、Tcp/IP、UDP、SMTP、POP3、IMAP等协议 <br /><br />熟悉MVC、单例、代理\委托、工厂等常用模式. <br /><br />熟练使用Eclipse、和NetBean等IDE。 <br /><br />项目经验（培训中）　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />1.项目名称:电信级用户管理&计费系统NetCTOSS <br /><br />项目周期：1月<br /><br />开发平台： Linux <br /><br />数据库： Oracle <br /><br />技术：SSH + Pro/C++ <br /><br />项目描述：电信级用户管理与记费系统是一个针对用户提供在线实验室（Unix）的大型系统. <br /><br />职责：完成从AAA服务器的数据采集、数据库中日志数据的整和以及用户管理。 <br /><br />合作伙伴：5人. <br /><br /><br /><br />2.目名称：电子商务购物系统 <br /><br />项目周期：15天<br /><br />运行环境：Unix, JAVA WEB服务器：Tomcat5.0.28 <br /><br />数据库： Oracle <br /><br />技术选型：Jsp、Servlet、JavaBean <br /><br />项目描述：该系统是一个对在线用户提供商品的小型系统. <br /><br />职责：完用户购物、用户\管理员商品管理等模块（独立开发）. <br /><br /><br /><br />实习经历　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />2005年7月－2005年9月　　　　　 一港资企业实习 <br /><br />网络工程师 <br /><br />2006年7月—2006年9月 一港资企业实习 <br /><br />网络工程师 <br /><br />教育背景　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />2005.9.1-2008.6.13 平顶山工学院 计算机网络技术 大专 <br /><br />主要课程: C语言、Java程序设计、计算机微机与接口技术、ASP.NET、Red Hat Linux9、计算机网络基础等。 <br /><br /><br />培训经历　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 <br /><br />2008年2月－2008年8月　加拿大达内外企IT培训　基于Unix的C++及Java的软件开发 <br /><br />深入的了解了Java语言及J2EE的架构。同时认真完成了学校布置的项目实战，使自己的技术达到一个更高的阶段。 <br /><br />                                  <br />内容大都真实。<br />有一点含水（如：EJB只达到初步使用的状态，其他的大都真实）<br />并请各位哥哥、姐姐、前辈们做个评价<br />有任何不足的地方请指正
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/236278" style="color:red;">已有 <strong>61</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Wed, 03 Sep 2008 18:06:00 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236278</link>
        <guid>http://www.javaeye.com/topic/236278</guid>
      </item>
      <item>
        <title>大家来对我的一次面试给点指点</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://caipanjin.javaeye.com">caipanjin</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237145" style="color:red;">http://www.javaeye.com/topic/237145</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我是一个大四的学生，前天去一家公司面试，<br /><br />首先他看了我一下我的简历，然后问我：<br />“既然你说你会JavaScript，那么我问你，如何定时刷新一个页面？”<br />我说：“可以用setInterval()方法，这个方法可以定时调用一个函数，可以在那个函数里面刷新。”<br />我本以为他会说我这个方法不好什么的，结果他反问一句：“有这个方法吗？”<br /><br />在问struts时，我以为他会问我一些诸如struts的流程什么的，因为我觉得这个就能看出一个人会不会用struts。但是他问我，struts用了哪些设计模式。幸好我了解一点，我说，观察者模式。他反问一句：“是观察者模式吗？”我说：“主要是这个吧”<br />然后他有问：“还有哪些？”我说：“好像还有合成模式”。他似乎对这个答案很不满意。<br /><br />然后又问我：“你说你会Hibernate，那么你说你是怎么把类里面的某个属性指定为数据库主键的？”。<br />我说：“可以在Hibernate配置文件里面指定主键生成策略。像MySQL我选择Identiy，Oracle我一般用uuid.hex，因为sequence生成的方式效率没那么高”<br />结果，他又反问一句：“sequence还不高啊？”<br /><br />然后是问我Junit测试类里面怎么把一个方法用于整个类初始化之后调用的方法，我说用Annotation标注为@BeforeClass，结果他有反问：“是@BeforeClass吗？”<br /><br />他问我：“Hibernate里面延长加载要注意什么问题”，我说：“Session关闭的问题，比如：一个学生表里面有一个集合，采用延长加载之后，如果查找一个学生对象然后传到页面去后，如果在页面里面列出那个集合就会抛异常，因为Session已经关闭了。”然后，他问：“那数据量大怎么办呢”我说：“数据量大的话，你确定要在页面访问，就事先在action里面把它取出来，当然，我们不会把持久对象传到页面里去，而是把他复制到一个vo里面”，然后他又问：“那你还是没解决这个问题啊”我就说：“数据量大就分页”他好像还是不满意我的回答。唉，真不知道他要问什么？<br /><br />还问我经常去哪些网站，我说JavaEye。然后他问我JavaEye的版主是谁。我想他应该问的是站长，我说Robbin......<br /><br />然后还问了我一些比如，怎么在数据库里面导入数据，Oracle和SQL Server里面删除表有什么区别什么。当然我感觉差不多都答上来了，只是有的我说我忘记了，比如struts和spring集成的时候的一些配置，需要查一下文档。<br /><br />今天去问了，说我能力欠缺还是被拒了。郁闷之极。。。。
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237145" style="color:red;">已有 <strong>42</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 04 Sep 2008 19:24:55 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237145</link>
        <guid>http://www.javaeye.com/topic/237145</guid>
      </item>
      <item>
        <title>[发布] GT-Grid 1.12 版 (080904发布) ★</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://fins.javaeye.com">fins</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236025" style="color:red;">http://www.javaeye.com/topic/236025</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          GT-Grid 1.12版 说明文档.<br /><br />这篇文档主要说明一些这个版本的变化(新增功能 新特性)<br /><br /><br />========================================<br /><br />首先来说一下关于列表的创建函数.<br /><br />在以前的示例中, 有这样的代码:<br /><pre name="code" class="javascript">
GT.Utils.onLoad( GT.Grid.render(mygrid) );
</pre><br /><br />它的意思是 在页面载入时 创建列表. 但是由于我设计上的失误,导致这个示例很容易误导大家.<br />让开发人员以为 GT.Grid.render(mygrid) 是用来创建列表的.<br /><br />其实不是, GT.Grid.render 的结果是返回一个函数 这个函数才是用来创建表格的.<br />这里比较绕,所以 我决定反对使用  GT.Grid.render函数.<br /><br /><br />如果要在页面载入时创建表格 请使用下面的代码<br /><pre name="code" class="javascript">
GT.Utils.onLoad( function(){
	mygrid.render();
} );
</pre><br /><br /><br /><br />如果想在其他时机 (如按某个按钮之后)创建 那么就在相应的时机调用<br />"mygrid.render();" 即可.<br /><br />另外再重申一下函数 GT.$grid("你的grid的id") ,这个函数是通过id取得列表对象.<br /><br /><br /><br />==============================<br /><br /><br /><br />新增属性:<br />grid.selectRowByCheck : false/true ;<br /><br />当列中有checkBox列时, 如果selectRowByCheck==true ,那么选中一行的效果将通过选择checkBox来实现.<br /><br /><br />新增方法<br />grid.getSelectedRecords()<br />取得所有选中行对应的记录.<br /><br /><br /><br />==============================<br /><br /><br />column.renderer 支持字符串模板<br />column.renderer 除了可以是一个函数之外, 还可以是一个字符串模板.例如 <br /><br />renderer : "@{age}岁"<br />那么这列数据 就会变为 "相应记录的age字段的值 + '岁'<br /><br /><pre name="code" class="javascript">

renderer : "@{age}岁"  
相当于

renderer : function(value,record){
	return record['age']+'岁';
}
</pre><br /><br /><br /><br />==============================<br /><br />exception回调函数 : <br />在执行load 和save 操作后, 处理服务端返回的异常的函数如下:<br /><br /><pre name="code" class="javascript">

// grid.loadFailure(responseJson)

	// 默认函数实现
	loadFailure : function(respD){
		alert(' LOAD Failed! '+'\n Exception : \n'+(respD[this.CONST.exception]||''));
	},

// grid.saveFailure(responseJson)

	// 默认函数实现
	saveFailure : function(respD){
				alert(' SAVE Failed! '+'\n Exception : \n'+(respD[this.CONST.exception]||''));
	}

</pre><br /><br />responseJson为服务端返回的json对象.<br /><br /><br />大家可以通过重写这两个方法 来实现自己的对异常信息的处理.<br /><br /><br /><br /><br />==============================<br /><br />工具栏上的简单按钮  现在支持 自定义.<br /><br />自定义的方法是,首先是定义按钮并注册 然后在toolbarContent里面设置即可.<br /><br />定义并注册按钮的方式如下:<br /><br /><pre name="code" class="javascript">

GT.ToolFactroy.register(
	'mybutton',  //按钮的标识 (请使用全小写字母)
	{
		// cls 为按钮的样式,目前只支持简单按钮,简单按钮的样式请这样写:
		// .mybutton-cls { 
		//		background : url(./mybutton.png) no-repeat center center; 
		// }
		cls : 'mybutton-cls',  
		// 按钮的提示信息
		toolTip : '自定义按钮:显示列表的id',
		
		// 点击按钮时 执行的动作
		action : function(event,grid) {  alert( 'The id of this grid is  '+grid.id)  }
	}
);
</pre><br /><br />按钮定义的形式 如上面代码中的注释所示, 就不再多说了.<br />GT.ToolFactroy.register( key , options)<br />这个函数 负责将 定义的按钮以 key的名字注册<br /><br /><br />然后就可以在 toolbarContent 中来指定在什么位置显示这个自定义按钮了.<br /><br /><br />==============================<br /><br /><br />以上的说明不是很详细, 建议大家结合 mydemo_for_1.12.html 这个示例来看一下.<br /><br /><br /><br />==============================<br /><br /><br />关于GT的更多介绍可以参加下面两个地址<br /><br />具体文档请参见下面地址:<br /><a href="http://fins.javaeye.com/blog/214290" target="_blank">列表组件 GT-Grid 最新版本 & 教程</a><br /><br />与服务端结合的例子(8月3日版本)<br /><a href="http://fins.javaeye.com/blog/219217" target="_blank">与服务端结合的例子</a><br />========================================
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/236025" style="color:red;">已有 <strong>40</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Wed, 03 Sep 2008 11:02:23 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236025</link>
        <guid>http://www.javaeye.com/topic/236025</guid>
      </item>
      <item>
        <title>flex中的值拷贝</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://wzhxhj.javaeye.com">wzhxhj</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237868" style="color:red;">http://www.javaeye.com/topic/237868</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          现在在做一个富客户端项目，前台用flex来完成，在做的过程中遇到一个棘手的问题，就是list与list的值拷贝问题，我想把一个list中的数据拷贝到另个list中，在flex中，一切皆对象，并不能用简单的list = list就搞定，查遍了它的所有文档，也没有一个好的api来完成，所以必须再新建一个临时list来作为中转站才行，像一下这样，templist = listA ,listB = templist。这样就大功告成
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237868" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 11:39:18 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237868</link>
        <guid>http://www.javaeye.com/topic/237868</guid>
      </item>
      <item>
        <title>大家看看这种拦截器的注解方式是否可行</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://stworthy.javaeye.com">stworthy</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237857" style="color:red;">http://www.javaeye.com/topic/237857</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>想在自已的ET-MVC项目中加入拦截器功能，并想用注解的方式解决问题，目前实现了BeforeFilter,AfterFilter,AroundFilter,BeforeFilters,AfterFilters,AroundFilters这六个。</p>
<p>大概的用法想是这样：</p>
<pre name="code" class="java">@BeforeFilter(execute="beforeFilter1")
@AfterFilter(execute="afterFilter1",except={"show"})
@AroundFilters({@AroundFilter(execute=TestAroundFilter1.class),@AroundFilter(execute=TestAroundFilter2.class)})
public class UserController extends ApplicationController{
    public TextView index(){
        System.out.println("execute index action");
        return new TextView("hello,index");
    }
    
    public TextView show(){
        System.out.println("execute show action");
        return new TextView("user info");
    }
    
    private boolean beforeFilter1(){
        System.out.println("user beforeFilter1");
        return true;
    }
    private boolean afterFilter1(){
        System.out.println("user afterFilter1");
        return true;
    }
}
</pre>
<p>TestAroundFilter1.java的代码如下：</p>
<pre name="code" class="java">public class TestAroundFilter1 implements AroundHandler{
    public boolean before(BaseController controller){
        System.out.println("around before1");
        return true;
    }
    public boolean after(BaseController controller){
        System.out.println("around after1");
        return true;
    }
}
</pre>
&nbsp;
<p>在浏览器中输入http://localhost:8084/myweb/user/index.do，可以看到TOMCAT中输出：</p>
<p>user beforeFilter1<br />around before1<br />around before2<br />execute index action<br />around after2<br />around after1<br />user afterFilter1</p>
<p>&nbsp;</p>
<p>现在正在考虑这样的注解是否合适，有没有更好的注解方式，是放在类一级好还是放在方法一级好。望大家能给个意见。</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237857" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 11:20:17 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237857</link>
        <guid>http://www.javaeye.com/topic/237857</guid>
      </item>
      <item>
        <title>javascript 的Socket 服务端编程。</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://deonwu.javaeye.com">kgd924</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237853" style="color:red;">http://www.javaeye.com/topic/237853</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>这里的Socket编程不是指使用XmlHttpRequest对象， 而是真正的创建一个Socket实现收发数据。 使用Javascript调用Java的NIO接口实现的Socket编程。</p>
<p>&nbsp;</p>
<p>实现一个简单的EchoServer，创建文件 ：EchoServer.js</p>
<p>&nbsp;</p>
<pre name="code" class="js"> var socket = __import__('Socket', null, {}) //导入Socket library..
 
 var server = new socket.SocketServer('127.0.0.1', 8000) //创建一个Socket Server.
 
 server.on('listen', function(server) {  //加入服务器开始监听的事件
    print('Event listen on server:' + server.localAddress + ', port:' + server.localPort)
 })
 server.on('clientClosed', function(client) {
    print('Event clientClosed on server:' + client.address + ', port:' + client.port)
 })
 server.on('closed', function(socket) {
    print('Event closed on server')
 })

 
 server.on('accept', function(client){   // 一个新的client连接
    print('new client:' + client.address + ', port:' + client.port)
    client.on('read', function(s) {   //clinet的有数据可读。
        var input = s.read();
        print('read data:' + input)
        s.write(input)       //写数据到，
    });
    client.on('closed', function(s) {
        print('bye bye client.')
        //s.write('input')
    });
 })
  
 server.listen(&quot;127.0.0.1&quot;, 8000)   //监听一个端口, 并blocking, 直到服务器端被关闭。</pre>
<p>&nbsp;</p>
<p>运行：</p>
<pre name="code" class="js"># js EchoServer.js
Event listen on server:localhost, port:8000

打开新的窗口输入
#telnet 127.0.0.1 8000

# 服务端显示
Event listen on server:localhost, port:8000
new client:localhost, port:1978
event:read
read data:a
event:read
read data:b
event:read
read data:c

测试服务器连接成功.</pre>
&nbsp;
<p>&nbsp;</p>
<p>运行上面的代码,还需要一个运行环境和Socket 库, 可以到 http://code.google.com/p/js-shell/downloads/list&nbsp; 下载一个night build.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237853" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 11:12:01 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237853</link>
        <guid>http://www.javaeye.com/topic/237853</guid>
      </item>
      <item>
        <title>谁有用izpack制作过安装程序?</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://yanshien.javaeye.com">yanshien</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237851" style="color:red;">http://www.javaeye.com/topic/237851</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          谁有用izpack制作过安装程序? <br /> 各位大侠,有的发表一下.
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237851" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 11:06:25 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237851</link>
        <guid>http://www.javaeye.com/topic/237851</guid>
      </item>
      <item>
        <title>rails oracle 定时生成数据 </title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://aroundworld2008.javaeye.com">aroundworld2008</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237721" style="color:red;">http://www.javaeye.com/topic/237721</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          因项目需要 ，写了一个task 定时从oracle 拉数据再插入到mysql里，程序写出来了已经测试过了，但搬到linux cron 里一用，linux cron 报找不到oracle 的libclnth.so.10.1这个文件，估计是LD_LIBRARY_PATH 这个路径他找不到，所以一般报错，但我更改里了/etc/crontab这里的path也没有用呀， 哎，整了一下午，没有什么头绪了！！<br />在console and  ide （即 rake loaddata ）里是可以正常从oracle里拉数据的！有兄弟碰到这个问题吗？
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237721" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 17:29:29 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237721</link>
        <guid>http://www.javaeye.com/topic/237721</guid>
      </item>
      <item>
        <title>万恶的软件工程开发文档</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://iamzealotwang.javaeye.com">iamzealotwang</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236076" style="color:red;">http://www.javaeye.com/topic/236076</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          现在在上软件工程课，布置的课设是叫13份开发文档。<br /><br />01、可行性研究报告<br />02、项目开发计划<br />03、需求规格说明书<br />04、概要设计说明书<br />05、详细设计说明书<br />06、用户操作手册<br />07、测试计划<br />08、测试分析报告<br />09、开发进度月报<br />10、项目开发总结报告<br />11、程序维护手册<br />12、软件问题报告<br />13、软件修改报告<br /><br />万恶的文档，越写越生气。上课老师教的课程围绕如何少用goto语句，并且还给我们举了好多例子来解释这个问题<br /><br />面向对象都好多年，还总能看到类似于这样的让人无从下手的标题：<br /><br />3、 模块设计说明 <br />3.1 模块n结构（n是模块序号） <br />将概要设计产生的功能模块进行细化，形成若干个可编程的程序单元（用图表形 <br />式给出程序单元的结构）。 <br />3.2 算法 <br />给出选用的算法和数学公式。 <br />3.3 数据结构 <br />用图表描述数据结构。 <br />3.4 程序逻辑 <br />用框图或过程性描述语言的形式表示各程序单元的控制流程（常用程序流程图表 <br />示）。<br /><br />我和老师反映过这个问题，人家给出的解释是“这个还是要按照课本上面的来”<br /><br />我还没有上班，想问一下坛子上面的人 现在的开发文档也是这个样子么？ 没有改进么？<br /><br />要是不涉及保密问题，不知道方便不方便传上来一份 让我也了解了解到底应该是什么样子呢？
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/236076" style="color:red;">已有 <strong>38</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 03 Sep 2008 12:53:15 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236076</link>
        <guid>http://www.javaeye.com/topic/236076</guid>
      </item>
      <item>
        <title>jCT 在实战中洗礼</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://achun.javaeye.com">achun</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237848" style="color:red;">http://www.javaeye.com/topic/237848</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>由于目前正在用jCT的第三版实作项目,在项目中发现,应用了<span style="color: #993300;"><strong>嵌入式javascript语法</strong></span>模板思想后的jct,</p>
<p><span style="font-size: medium;"><strong><span style="color: #800000;">还可以更简单</span></strong></span></p>
<p>首先产生我要继续改造的原因是我发现把javascript以模板形式写在html里会让html页面上增加很多代码,看的时候很不明晰,</p>
<p>在思索尝试了以后感觉可改的更简单,并且多模式兼容</p>
<p>现在正在改造中.............</p>
<p>改造后模板将干净一点再干净一点</p>
<p>稍后发出下文</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237848" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 10:44:11 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237848</link>
        <guid>http://www.javaeye.com/topic/237848</guid>
      </item>
      <item>
        <title>IT开发人员职业现状</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zcm7512.javaeye.com">zcm7512</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236352" style="color:red;">http://www.javaeye.com/topic/236352</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          你好！<br />我老婆的毕业论文《IT研发人员职业现状的研究》的问卷调查，<br />请同行们帮忙填一下。谢谢啊！！！<img src="/images/smiles/icon_smile.gif"/><br /><br /><a href="http://www.psyabc.cn" target="_blank">IT研发人员-职业问卷</a>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/236352" style="color:red;">已有 <strong>30</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Wed, 03 Sep 2008 23:20:26 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236352</link>
        <guid>http://www.javaeye.com/topic/236352</guid>
      </item>
      <item>
        <title>AppFuse官方文档中Hibernate例子Person创建过程的疑惑</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xinlnix.javaeye.com">xinlnix</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237824" style="color:red;">http://www.javaeye.com/topic/237824</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在AppFuse官方文档 http://appfuse.org/display/APF/Using+Hibernate 中给出了创建一个新model的实例。<br />文档称要建立一个model 名为Person，需要建立相应的 PersonDao接口和PersonDaoHibernate实现。<br /><br />PersonDao 接口定义了方法public List&lt;Person> findByLastName(String lastName);<br />PersonDaoHibernate 继承了 GenericDaoHibernate，并实现了PersonDao 接口：<br />   public List&lt;Person> findByLastName(String lastName) {<br />        return getHibernateTemplate().find("from Person where lastName=?", lastName);<br />    }<br /><br />为何不直接使用 PersonDaoHibernate ，而要多建一个 PersonDao 接口呢？<br />难道每建一个 model 都要建立相应的3个类吗？太麻烦了。
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237824" style="color:red;">已有 <strong>4</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 06:53:14 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237824</link>
        <guid>http://www.javaeye.com/topic/237824</guid>
      </item>
      <item>
        <title>使用Mina出现的JNI OutOfMemory的解决方法</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhao3546.javaeye.com">zhao3546</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237802" style="color:red;">http://www.javaeye.com/topic/237802</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最新在使用MINA作了UDP服务器和UDP客户端，在最后性能测试时，总是遇到OutOfMemory的问题，很是郁闷，定位了三天，后来终于找到了解决方法。和大家分享一下，以免大家再走同样的弯路。<br /><br />我们性能测试场景如下：<br />Client起100个线程同时向Server发UDP消息，Server接收到请求后立即向Client回响应；<br />在前10秒内，服务器响应特别快，大概每秒可以达到4000个消息，但到了10多秒后，服务器的响应就越来越慢，后来基本上就不响应，又或者直接OutOfMemory，并出现下面的错：<br />request &lt;size> bytes for &lt;reason>. Out of swap space?<br /><br />一开始我们一直以为是缓存中的对象未清理掉而导致的问题，定位了一段时间后，发现缓存中的内容已经及时清理了。打开GC日志，也没有发现问题。<br /><br />后来，我们就开始上网狂找资料，发现原来Java内存分为两种，Heap内存和JVM使用的内存，<br />Heap内存就是一般的JAVA对象使用内存；<br />JVM使用的内存，就是指JVM在运行过程中要使用的内存，JVM最终要通过调用JNI，本地方法运行也是需要内存的，这部分内存JVM直接向OS申请。<br /><br />既然我们自己的代码中使用的JAVA对象已经及时清理，那是不是JNI内存泄漏了？可是我们的代码，基本上没有使用JNI啊。难道是MINA的问题？大概看了下MINA的源码，MINA是使用Java的NIO包下的类来实现的，打开Java的-verbose:jni选项，可以看出，NIO中的类很多都是通过JNI来实现的。<br /><br />好了，继续定位，发现我们的代码中，大量使用了MINA提供的IoBuffer类，MINA为我们构造了大量的IoBuffer对象，我们自己也构造了大量的IoBuffer对象，会不会这个类的对象没有及时清理？<br /><br />带着疑问，我看了IoBuffer的所有方法，其中有个free()方法，看了注释，是用来清理内存的。<br />于是尝试在所有使用完IoBuffer的代码处都加上了调用free()方法的代码，再进行测试，终于OK了。<br /><br />UDP服务器稳定运行后，内存最大只使用了200多M，问题搞定。<br /><br />所有使用Java的NIO包下的类，最好都多注意下JDK文档，看是否需要主动调用某方法来释放内容。
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237802" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 23:53:43 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237802</link>
        <guid>http://www.javaeye.com/topic/237802</guid>
      </item>
      <item>
        <title>配置继承模式</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mikab.javaeye.com">mikab</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237134" style="color:red;">http://www.javaeye.com/topic/237134</a>&nbsp;
          发表时间: 2008年09月04日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本人曾供职于一家国内的还算比较大MIS系统开发商，工作的主要内容是用一套有默认实现的模板式框架去开发一些业务应用系统。在开发的过程中，开发工作的绝大部分内容是配置和写展示用的jsp(没有其他的模板技术)。搞jsp我不在行，于是我就把目标放在了如何减少配置的工作量。这也就是配置继承模式的来源了。到今天算是小有所成，本着请共享和求教的愿望，把我的东西贴出来，希望各位JE大牛帮忙给点意见，本人不甚感激。<br />	话归正题，所谓配置继承呢，准确的应该叫配置信息继承，是指从功能对配置信息的需要出发，按照功能、模块、系统划分建立对应的树形配置域，仿照类继承的方式（系统域是最顶层的父类，功能是最底层的子类）而配置信息获取和管理的模式。在配置继承中，强调功能对配置信息具有控制权：可添加、覆盖、删除配置项；同时配置信息又是可从父域继承而来的：共性信息可以在上级配置以达到共享的目的。除此之外，在其中还加上了以正则表达式为基础的模式的使用，有点像struts1.2以后的通配符的使用。<br />	举例来说，假设在一个比较简单的web系统内有四个功能分别是功能1、功能2、功能3、功能4，其中功能1、功能2是属于模块A的，功能3、功能4是属于模块B的，系统数据源在JNDI中的名字是需要配置的，而且系统在现阶段只是访问一个数据库实例。我们过去的做法是直接建立一个全局共享的配置，里面写明数据源的jndi名。但是世界总是在进步，突然有一天，我们发现一个数据库已经满足不了性能的需要了，需要将一部分功能移植到另外一个新的数据库上面去。首先移的是功能4，数据库的移植和数据的交互先且不说，功能4的程序如何来改呢？我们痛苦的改了一下，凑合着能用了。但是发现移植了功能4的数据访问后还不能满足需要，打算也把功能3移植过去，于是我们又受尽了折磨的把功能3代码改的凑合能用了。但是突然有一天，我们客户对硬件做了个大升级，上了一个无比NIU的数据库，于是我们又需把所有的功能的数据库访问代码改到访问新的数据库上去，这下我们崩溃了，以前不就是白白折腾了嘛。<br />	如果使用配置继承来说，我们首先是在系统域上配置好数据源的名字就可以，通过继承全系统使用这个数据源。到需要移植功能4的时候，我们只需要在功能4的配置信息里覆盖默认继承来的数据源的名字就可以了。移植完了功能3之后呢，我们只需要在模块B那里配置使用新的数据源，把功能4的特殊配置去掉就可以了。如果是完全的移植数据库，那么我们只需要将系统域的配置修改，并且去掉了模块B的特殊配置就可以。可以看到，配置继承是兼顾灵活和共享的一种配置信息的管理模式，特别使用于各个功能的实现的大部分配置信息是相同的情况。当然，要使用配置继承，在功能实现的时候，就需要按照功能去取配置信息的集合，而不是直接引用全局配置信息的集合，这一点和原来的编程方式是有很大的区别。<br />	我做了个配置继承的实现，但是弄了之后个人觉得实现的太糙，而且在实现对spring、struts、hibernate的支持时由于不熟觉得有点摸不着边，因此特别希望有大牛能给一些指导意见，最好是能有感兴趣的朋友跟我一起把他做下去。我把我的实现的代码都已经传到http://code.google.com/p/pyramid/上了,现在主要实现了对XML格式的配置文件的支持，请大家多多指教。<br />	个人MSN:mikabpeng@msn.com,欢迎大家交流。
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237134" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 04 Sep 2008 18:19:38 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237134</link>
        <guid>http://www.javaeye.com/topic/237134</guid>
      </item>
      <item>
        <title>yale CAS是否只适合做web应用，而不适合桌面客户端的情况？</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hz-szh.javaeye.com">hz_szh</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237585" style="color:red;">http://www.javaeye.com/topic/237585</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          yale CAS是否只适合做web应用，而不适合桌面客户端。好像它是基于cookie实现的吧，我想用它做web客户端和桌面客户端的单点登陆是否可行？各位能否给点提示那，谢谢
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237585" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 14:36:01 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237585</link>
        <guid>http://www.javaeye.com/topic/237585</guid>
      </item>
      <item>
        <title>一个人的战斗</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://bergman.javaeye.com">bergman</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237691" style="color:red;">http://www.javaeye.com/topic/237691</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我刚刚停掉公司里新产品的开发，决定自己干，一个人把程序主要部分写完。<br />对团队开发有一点新认识，团队中一定要有一人是真正的高手，了解熟悉每个方面，并且首先搭一下主要的程序，反复修改，直接有足够信心，再让其它人员介入。<br />即使一些大公司，团队开发的东西也近于垃圾，似乎中国的软件团队做项目的文化重一些，按照初始需求制订计划，分工完成，再做修改，这样的东西算不上产品，产品需要不断寻求最优实现。<br />我这个软件公司有几年了，本不想深入技术，但人员流动不可避免，在做产品上，员工往往在意愿和能力上与产品目标不一致，完成任务的心态不可能主动寻求最优实现，缺乏能力则是另一个问题。<br />欲速则不达，有点平常心，慢慢敲打产品吧，许多优秀的产品其核心都是一个人写的。盲目以团队方式开发产品，失败的例子真是太多了
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237691" style="color:red;">已有 <strong>3</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 16:37:52 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237691</link>
        <guid>http://www.javaeye.com/topic/237691</guid>
      </item>
      <item>
        <title>ibatis中的事物传播机制</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://the3oooo.javaeye.com">Joo</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237245" style="color:red;">http://www.javaeye.com/topic/237245</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我们这边在使用ibatis进行事务管理的时候遇到的了一个问题：IBATIS中好像不能设置事务的传播机制。<br /><br />当存在方法foo（）和doo（），并且在此两方法上都加上了事务管理。在foo（）方法代码中调用了doo（）方法，运行时就会报错提示已经存在一个事务。我记得在EJB中是可以设置事务的传播机制的比如Requirs、RequiresNew等让控制权在到达一个新的方法的事务中的时候选择继续沿用之前的额事务还是另外开启一个等。所以我们现在在比较底层的方法比如DAO和领域对象的方法上都没有添加事务，而是把事务加在了Action一层的方法上，但是感觉这样比较奇怪啊，不知道大家一般如何解决的？ 谢谢!!!<br /><br /><br />抑或本来就不应该由ibatis来管理事务?但是当前的情况是不能用Hibernate,不能用Spring,没有EJB...-_-|||
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237245" style="color:red;">已有 <strong>4</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 02:53:39 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237245</link>
        <guid>http://www.javaeye.com/topic/237245</guid>
      </item>
      <item>
        <title>有兄弟使用过BEA的jrockit吗？</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://sunwei-07.javaeye.com">sunwei_07</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235203" style="color:red;">http://www.javaeye.com/topic/235203</a>&nbsp;
          发表时间: 2008年09月01日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近问过一次Tomcat热加载老挂掉的问题，有兄弟说到SUN JDK性能也有一定关系，让我试试BEA的jrockit<br /><br />我下载了win的32bit版本<br /><br />随便写了段计算数据的代码，测试了SUN JDK和BEA的 jrockit JDK<br /><br />结果 SUN 的 计算过程需要10秒 多一点<br />而 BEA 的 需要3秒左右<br /><br />所以我想能不能在实际应用中换成BEA的JDK来提高性能。有使用经验的兄弟来谈谈经验呗
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/235203" style="color:red;">已有 <strong>39</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Mon, 01 Sep 2008 09:02:56 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235203</link>
        <guid>http://www.javaeye.com/topic/235203</guid>
      </item>
      <item>
        <title>一对多/多对一双向关联</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://694415514-qq-com.javaeye.com">尧舜大帝</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237320" style="color:red;">http://www.javaeye.com/topic/237320</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          第一步：在数据库里建两张表，例如：一张表名是CLASS 有STUDENTCLASSID,STUDENTCLASSNAME,另一张表名是STUDENT 有 STUDENTID,STUDENTCLASSID,STUDENTNAME,<br />第二步：创建两个PO对象，Class ,Student.<br />package po;<br /><br />import java.util.Set;<br /><br />public class Class {<br />	private  int studentclassid;<br />	private String studentclassname;<br />	private Set student;<br />	public Set getStudent() {<br />		return student;<br />	}<br />	public void setStudent(Set student) {<br />		this.student = student;<br />	}<br />	public int getStudentclassid() {<br />		return studentclassid;<br />	}<br />	public void setStudentclassid(int studentclassid) {<br />		this.studentclassid = studentclassid;<br />	}<br />	public String getStudentclassname() {<br />		return studentclassname;<br />	}<br />	public void setStudentclassname(String studentclassname) {<br />		this.studentclassname = studentclassname;<br />	}<br />}<br /><br /><br /><br /><br /><br /><br /><br />package po;<br /><br />public class Student {<br />	private int studentid;<br />	private String studentname;<br />	private int studentclassid;<br />	private Class clases;<br />	public int getStudentclassid() {<br />		return studentclassid;<br />	}<br />	public void setStudentclassid(int studentclassid) {<br />		this.studentclassid = studentclassid;<br />	}<br />	public int getStudentid() {<br />		return studentid;<br />	}<br />	public void setStudentid(int studentid) {<br />		this.studentid = studentid;<br />	}<br />	public String getStudentname() {<br />		return studentname;<br />	}<br />	public void setStudentname(String studentname) {<br />		this.studentname = studentname;<br />	}<br />	public Class getClases() {<br />		return clases;<br />	}<br />	public void setClases(Class clases) {<br />		this.clases = clases;<br />	}<br />}<br />  <br /><span style="font-size: large">[size=xx-small]<span style="color: black"><br />第三步：创建两个映射文件，分别对应两个表；<br />注意了：两个映射文件的Set属性，和Class属性 之间也有关联；<br />通过两个表间共有的东西去关联的！即STUDENTCLASSID<br />&lt;set name="student" inverse="true" ><br />			&lt;key><br />				&lt;column name="STUDENTCLASSID">&lt;/column><br />			&lt;/key><br />			&lt;one-to-many class="po.Student" /><br />		&lt;/set><br />&lt;many-to-one name="clases" class="po.Class" fetch="select"<br />			insert="false" update="false"><br />			&lt;column name="STUDENTCLASSID">&lt;/column><br />		&lt;/many-to-one></span></span>第四步：把Class.hbm.xml 和 Student.hbm.xml 加入到hibernate-cfg.xml文件中&lt;mapping resource="po/Class.hbm.xml">&lt;/mapping><br />&lt;mapping resource="po/Student.hbm.xml">&lt;/mapping>[/size]第五步：测试学生的班级的名称和某个班级的学生分别是谁？<br />首相import  po.Student ,Student stu=(Student)get (Student.class,new Integer(1));<br />	System.out.println(student.getClases().getStudentclassname());先得到学生的班级属性，然后班级属性还有班级名称属性；<br /><br /><br />获得班级的学生人数属性<br />通过Set.iterator()把Set里的内容全部迭代出来返回值是Student类型的，<br />Class clases=(Class) session.get(Class.class, new Integer(3));<br />	 	Set set =clases.getStudent();<br />	 	Iterator it= set.iterator();<br />	 	while (it.hasNext()){<br />	 		Student stu=(Student)it.next();<br />	 		System.out.println(stu.getStudentname());<br />	 	}<br />源代码：import java.util.Iterator;<br />import java.util.Set;<br /><br />import org.hibernate.Session;<br />import org.hibernate.Transaction;<br /><br />import po.Student;<br />import po.Class;<br />public class Test {<br /><br /> <br />	public static void main(String[] args) {<br />		HibernateTools tool = new HibernateTools();<br />		Session session = tool.getSession();<br />		Transaction traa = session.beginTransaction();<br />		traa.begin();<br />		 Student student = (Student) session.get(Student.class, new Integer(1));<br />	 	System.out.println(student.getClases().getStudentclassname());<br />	 	Class clases=(Class) session.get(Class.class, new Integer(3));<br />	 	Set set =clases.getStudent();<br />	 	Iterator it= set.iterator();<br />	 	while (it.hasNext()){<br />	 		Student stu=(Student)it.next();<br />	 		System.out.println(stu.getStudentname());<br />	 	}<br />		 <br />	}<br />}
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237320" style="color:red;">已有 <strong>1</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 10:18:13 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237320</link>
        <guid>http://www.javaeye.com/topic/237320</guid>
      </item>
      <item>
        <title>一次性能调优的实战</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://ronghao.javaeye.com">ronghao</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235294" style="color:red;">http://www.javaeye.com/topic/235294</a>&nbsp;
          发表时间: 2008年09月01日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          项目情况：是一个大型公司的内部办公系统，该系统有两个和一般企业应用不太一样的特点：一是用户量非常多，人员数达到2W左右，另一个是采用分级管理的形式，各个分公司数据分开管理。<br /><br />我们的定位：我们是作为业务平台的提供商参与这个项目的，我们提供底层的开发平台，系统集成商在此基础上进行二次开发。<br /><br />在项目从开发到部署的过程中遇到了很多的问题，也反映出很多问题。<br /><br /><strong>一、怎么回事，跑得比猫还慢</strong><br />项目开发完毕后部署在Ibm aix 小型机上，32G内存，16个cpu。应用服务器采用的是weblogic9.2，数据库是oracle10.0.2。上线后发现系统运行的非常缓慢，甚至比开发环境下的tomcat还要慢。于是开始排查原因，最开始是对SQL进行监控，优先考虑是数据库访问性能产生瓶颈。通过监控，发现很多业务需要执行大量的SQL语句，查看客户编写的相关代码，发现在查询数据时循环执行了大量SQL。主要原因在于他们在代码中循环调用了我们相关API，一个最典型的例子是通过用户ID查找用户NAME，他们在业务表格里没有保存用户name，而是在查询的时候通过用户ID查找用户name填充到页面，几乎每一个查询都是n+1。<br />另外由于平台使用了hibernate，使得oo编程得非常爽快，导致开发人员完全忽略了相应的数据库操作所带来的压力。很多业务逻辑直接通过PO叠加完成，把一些可以通过很少SQL完成的逻辑全部分散放置到PO里，导致了大量PO的交互和SQL语句。<br />开始优化SQL，优化的同时增加大量业务缓存。但优化完毕后运行缓慢的现象依旧存在，性能有了一定的提升但是不是非常明显。继续优化，其中考虑过多频繁访问的数据使用内存数据库的方式。但是优化过后在tomcat上效果明显，部署到生产环境就问题依旧。于是考虑weblogic的配置问题，作为开发平台提供商，我们只是提供系统开发相关方面的支持，对于应用服务器和数据库服务器只是做基本的配置系统可运行即可。但是在这个问题上系统集成商咬定是我们平台的问题不放，并且存在一个很严重的问题：他们使用的是盗版的weblogic，这样根本就没有相应的技术支持。<br />问题的解决：最后是找了一个BEA曾经的开发人员，问题实际非常的简单，现场部署的weblogic默认是运行在32位机器上，与64位机器存在一定的不兼容。通过替换相应的jar包，问题得到了解决，主要是IO方面。替换完毕后，速度提升了进30% 。该开发人员说，如果没有lisence，根本就不会得到这些替换的jar包。<br /><br /><strong>二、内存耗尽了</strong><br />访问速度的问题解决了，系统的使用量很快上来，马上遇到新的问题：内存耗尽了。严重到几乎每天都要out of memory一次。这种问题在客户现场频繁出现。<br />本地测试，tomcat，sun jdk 通过Jprofiler监测内存使用情况。在并发访问门户的情况下，内存确实存在暴涨的情况，100并发，内存使用立刻上升了150m左右，继续并发100，再增长150m。但是很快在抵达高峰时会有一次gc发生，内存使用稳定在200m，内存里大量char[]数组对象。疲劳测试，内存使用曲线并没有出现逐渐上升泄露的情况。换weblogic和jrocket测试，gc发生的更加频繁，内存使用稳定。<br />但是现场依旧频繁当机，内存根本释放不了，一直逐渐增长，典型的内存泄露。对系统缓存、单态对象包括spring管理的对象、IO流进行了统一排查，依旧没有找到内存泄露的原因。使用IBM 工具分析heapdump文件，结果还是大量的char[]数组对象占据内存，查找应用，找不到相关业务对象引用。<br />问题解决：问题解决是一篇偶尔搜到的oracle论坛的帖子，这里http://forums.oracle.com/forums/message.jspa?messageID=1040570 。原因在于oracle10的数据库驱动对statement最后执行的结果集有着引用，并且不会释放，目的在于通过内存而换取更好的性能。数据库连接采用的是weblogic的连接池，关于connection有个相关的statement cache设定，设定一个connection能够被缓存的statement个数，最大是1024，而现场就被设定为了1024！connection pool的connection个数被设置为了500 。真是个恐怖的设置。在将1024改为10后，内存使用量轰然倒地，稳定在1g左右。这个设置是在前面系统访问速度存在问题时由系统集成商的开发人员设置上去的，他们将所有和优化相关的参数全部开到了最大。这个问题要是用户购买的是正版的weblogic和oracle的话，相信也会很快得到解决。<br /><br /><strong>三、线程阻塞</strong><br />内存泄露的问题解决后，线程阻塞的问题浮出水面。系统集成商报告是线程死锁，通过分析工具其实是线程阻塞，主要问题在于系统用到了synchronized关键字，对工作流相关API全部使用了synchronized，原因在这里：http://ronghao.javaeye.com/blog/205731 。分析发现一个工作项提交的操作在连接数据库时被挂起了20分钟！造成了大量线程的排队阻塞。被挂起的原因有很多种。我们采用的方法是将接口拆分和设置事务timeout时间。但是这显然不是一个好方法。最后是去掉所有的synchronized关键字，将同步的问题交由数据库解决，问题解决。<br /><br /><strong>四、反思</strong><br />1、系统集成商为什么不购买正版？<br />2、开发平台提供商究竟在项目开发中处于一种什么样的位置？开发平台是否对所有软件开发问题都要负责？<br />3、开发平台是越封装越快乐吗？还是越封装越丑陋？
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/235294" style="color:red;">已有 <strong>8</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 01 Sep 2008 12:56:10 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235294</link>
        <guid>http://www.javaeye.com/topic/235294</guid>
      </item>
      <item>
        <title>tw的homework被拒</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://niwtsew.javaeye.com">niwtsew</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/236314" style="color:red;">http://www.javaeye.com/topic/236314</a>&nbsp;
          发表时间: 2008年09月03日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          三个礼拜之前被告知homework通过，于是兴高采烈的满怀信心的等着电话召唤去pair。结果在三天前又被告知homework没过。真是郁闷啊，死都不知道死因......给hr发信想问下究竟没人搭理，我知道这个坛子里很多tw的人出没，有没有好心人帮忙让我得知死因呢，十分感激。。。。。。 可以站内短信联系我。。
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/236314" style="color:red;">已有 <strong>6</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 03 Sep 2008 20:53:45 +0800</pubDate>
        <link>http://www.javaeye.com/topic/236314</link>
        <guid>http://www.javaeye.com/topic/236314</guid>
      </item>
      <item>
        <title>讨论一下,Ext里哪个组件设计的最不好</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://fins.javaeye.com">fins</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237459" style="color:red;">http://www.javaeye.com/topic/237459</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近在一直做Ext的研究 代码结构方面的.<br />并且做一些修改和扩展.<br />多少也研究了不少他的组件.<br /><br />EXT有多强大多NB就不用我多说了 但是任何好的事物也都有不好的方面<br /><br />大家来讨论讨论呢 哪个ext的组件设计的不最不好吧<br /><br />我先说说我的观点:<br /><br />我觉得最不好的就是 他的树.<br />首先 设计的不够灵活(想灵活也行 但是需要开发人员做很多事情)<br />其次 严重违背了ext自己的一个设计理念: 数据与展现分离.<br /><br />Tree,Node,TreePanel, TreeNode,AsyncTreeNode,TreeNodeUI, TreeLoader....<br />彼此之间的关系混乱复杂, 有很多错误的关系(我认为错误 并不一定真的错误)<br /><br /><br />大家觉得还有哪些组件设计的不够好呢???
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237459" style="color:red;">已有 <strong>6</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 11:27:02 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237459</link>
        <guid>http://www.javaeye.com/topic/237459</guid>
      </item>
      <item>
        <title>你的查询语句怎么写？</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://devezhao.javaeye.com">javaTo</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237808" style="color:red;">http://www.javaeye.com/topic/237808</a>&nbsp;
          发表时间: 2008年09月06日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在日常开发中经常需要编写大量的查询语句，但是，语句应该怎样写才<strong>更快（这里的快指的是编写速度），更直观，更不易出错</strong>呢！<br /><br />看看下面场景，查询某客户的主要联系人及其联系人所在国家<br /><img src="http://devezhao.javaeye.com/upload/picture/pic/21373/f536610e-1d30-3b2d-90ba-e0f050972c5f.gif" /><br /><pre name="code" class="sql">
select 
    _t0.accountName as _c0,
    _t1.contactName as _c1,
    _t2.countryName as _c2
from Account as _t0
    left join(Contact     as _t1
        left join Country as _t2
        on  _t1.countryId    = _t2.countryId)
    on  _t0.primaryContactId = _t1.contactId
</pre><br />上面的例子你可以说非常的简单明了，你可以一气呵成，并保证不会出错。但在日益复杂的业务逻辑上，汇集十张甚至几十张表格的需求相信还是很多的，这时你还那么自信吗？<br /><br />OK，切入我们的主题，<span style="color: blue">简单直观的查询语句</span><br /><pre name="code" class="sql">
select
    accountName                 ,
    primaryContactId.contactName,
    primaryContactId.countryId.countryName
from Account
where ...
</pre><br />看看吧，是不是更直观，更利于编写呢？<br />更值得高兴的是他还不仅限于上述优点<br /><pre name="code" class="sql">
...
from Account
primaryContactId.contactName &lt;> '' limit(0, 100)
</pre><br />看到<span style="color: red">limit(0, 100)</span>了吗，对，他就是我们实现的自定义函数，可以利用Dialect轻松的实现跨数据库的语句！<br /><br /><br />当然，这样的语句是不能直接运行的，需要一套程序把他解析成最终的可执行SQL代码。<br />首先，经由语法分析器扫描后得到以下语法树（以二元式表示每个节点）<br /><pre name="code" class="java">
### Fields ---------------------------------
(EXPRESSION, [(FIELD, accountName)])
(EXPRESSION, [(FIELD, primaryContactId.contactName)])
(EXPRESSION, [(FIELD, primaryContactId.countryId.countryName)])

### Criteria -------------------------------
(FIELD, primaryContactId.countryId)
(OPERATOR, &lt;>)
(TEXT, )
(FUNCTION, limit([(EXPRESSION, [(DIGIT, 0)]), (EXPRESSION, [(DIGIT, 100)])]))
</pre><br /><pre name="code" class="java">
// 节点接口
public interface ASTNode {
	ASTNode getFirstChild();
	List&lt;ASTNode> getChildren();
	String getText();
	NodeType getType();
	void addChild(ASTNode node);
	// ...
}
</pre><br /><br />仅有一个语法树是不够的，我们还需要知道字段与实体的关系，实体与实体的关系，以便JOIN<br /><pre name="code" class="java">
// 实体
public interface Entity extends MetaObject {
	Field getPrimaryField();
	Set&lt;Field> getFieldSet();
	Field getField(String fieldName);
	// ...
}
// 字段
public interface Field extends MetaObject {
	Entity getOwningEntity();
	Type getType();
	Set&lt;Entity> getReferenceEntitySet();
	// ...
}
public interface MetaObject {
	String getName();
	String getSchemaName();
	String getLabel();
	// ...
}

// 关系定义
&lt;entity name="Account">
	&lt;field name="accountId" type="primary" />
	&lt;field name="accountName" type="string" length="200" nullable="false" />
	&lt;field name="primaryContactId" type="reference" ref-entity="Contact" />
&lt;/entity>
&lt;entity name="Contact">
	&lt;field name="contactId" type="primary" />
	&lt;field name="contactName" type="string" length="200" nullable="false" />
	&lt;field name="owningAccount" type="reference" ref-entity="Country" />
&lt;/entity>
&lt;entity name="Country">
	&lt;field name="countryId" type="primary" />
	&lt;field name="countryCode" type="string" />
	&lt;field name="countryName" type="string" />
&lt;/entity>
</pre><br /><br />一切准备完成，现在只需把外键字段指向实体join起来<br /><pre name="code" class="java">
public interface JoinTree {
	JoinNode getRootJoinNode();
	void addChildJoin(JoinNode node);
	JoinNode addChildJoin(String table, String joinOnLeft, String joinOnRight);
	void addChildJoin(JoinNode node, JoinNode parentNode);
	JoinNode addChildJoin(String table, String joinOnLeft, String joinOnRight, JoinNode parentNode);
}


// (EXPRESSION, [(FIELD, primaryContactId.contactName)])
// 对于一个这样的字段节点，我们可以轻松的获取其引用自哪个实体，并加入JoinTree
Field field = accountEntity.getField("primaryContactId");
Entity contactEntity = field.getReferenceEntitySet().iterator().next();
joinTree.addChildJoin(
	currentJoinEntity.getSchemaName(),
	currentJoinField.getSchemaName(),
	currentJoinEntity.getPrimaryField().getSchemaName());
</pre><br /><br />OK，经由上述步骤，再稍加修饰就可以得到最终的完整的可执行SQL代码。<br /><br />PS：写的比较粗糙，欢迎广大同志拍砖
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237808" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Sat, 06 Sep 2008 00:15:07 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237808</link>
        <guid>http://www.javaeye.com/topic/237808</guid>
      </item>
      <item>
        <title>Java 调用数码相机的拍照功能</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lpeitu.javaeye.com">lpeitu</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237773" style="color:red;">http://www.javaeye.com/topic/237773</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>最近在做一个项目的时候，要求从纸质材料变成电子档的过程，客户提了一中方式：数码相机。而我们又没这方面的开发经验（关键是时间紧迫），而我给客户提出使用扫描仪的方案。客户马上对扫描速度提出质疑（使用的是普通扫描仪）。有没有人有关于用Java实现调用数码相机的经验，拿出来供大家学习下。最好能提供具体数码相机的型号和脚本接口。</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://girl.group.javaeye.com/topic/237773" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Fri, 05 Sep 2008 21:10:45 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237773</link>
        <guid>http://www.javaeye.com/topic/237773</guid>
      </item>
  </channel>
</rss>
