<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>小牛大牛</title>
    <description></description>
    <link>http://gugujava.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>gugujava</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gugujava.javaeye.com">gugujava</a>&nbsp;
          链接：<a href="http://gugujava.javaeye.com/blog/200010" style="color:red;">http://gugujava.javaeye.com/blog/200010</a>&nbsp;
          发表时间: 2008年06月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          症状:<br /><br />1.打开某个分区时,先闪一下才进去.<br />2.工具>文件夹选项>隐藏受保护的系统文件,这一项没了,看不到了.<br />3.系统文件夹看不到,从dos里用dir/a查看的话,每个分区下都有两个可以可疑文件autorun.inf和clavgew.exe,属性是隐藏+系统属性(也就是SH).<br />4.Winrar程序不能用了,因为可以用winRar来当资源管理器用的,所以也被禁用了.<br />5.不能安装任何程序.<br />6.安全模式进不去.<br />鉴于此.所有我能想到的清毒的办法都被禁用了.所以,这次真的搞不定了.把系统ghost了之后,依然是那样.<br />在dos里用Del /a SH clavgew.exe倒是可以删除,但刚删除,有出现了.<br />有高手给指点一下吧.我实在搞不定了.
          <br/>
          <span style="color:red;">
            <a href="http://gugujava.javaeye.com/blog/200010#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><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><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 04 Jun 2008 10:38:32 +0800</pubDate>
        <link>http://gugujava.javaeye.com/blog/200010</link>
        <guid>http://gugujava.javaeye.com/blog/200010</guid>
      </item>
      <item>
        <title>更改FireFox标签的存放位置</title>
        <author>gugujava</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gugujava.javaeye.com">gugujava</a>&nbsp;
          链接：<a href="http://gugujava.javaeye.com/blog/177172" style="color:red;">http://gugujava.javaeye.com/blog/177172</a>&nbsp;
          发表时间: 2008年03月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          打开firefox，在地址栏输入about:config<br />点右键新建一个字符串<br />名称为：browser.bookmarks.file<br />值为：X:xxxxx\bookmarks.html（自己想要的路径）<br />搞定！
          <br/>
          <span style="color:red;">
            <a href="http://gugujava.javaeye.com/blog/177172#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><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, 28 Mar 2008 11:25:53 +0800</pubDate>
        <link>http://gugujava.javaeye.com/blog/177172</link>
        <guid>http://gugujava.javaeye.com/blog/177172</guid>
      </item>
      <item>
        <title>更改IE收藏夹的位置</title>
        <author>gugujava</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gugujava.javaeye.com">gugujava</a>&nbsp;
          链接：<a href="http://gugujava.javaeye.com/blog/177159" style="color:red;">http://gugujava.javaeye.com/blog/177159</a>&nbsp;
          发表时间: 2008年03月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          默认情况下，收藏夹对应文件位于C:\Documents and Settings\user\Favorites下，要改变它的位置，可以这样：<br /><br />打开注册表，找到<br /><br />[ HKEY__CURRENT USER/Software/Microsoft/Windows/CurrentVersion/Explorer/UserShell Folders],<br /><br />在左侧的窗格找到并双击名为‘Favorites’健值，<br /><br />在打开的窗口输入你希望收藏夹位于的路径，（例如：e:/收藏夹），<br /><br />按F5刷新并退出注册表。
          <br/>
          <span style="color:red;">
            <a href="http://gugujava.javaeye.com/blog/177159#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/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</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, 28 Mar 2008 11:06:57 +0800</pubDate>
        <link>http://gugujava.javaeye.com/blog/177159</link>
        <guid>http://gugujava.javaeye.com/blog/177159</guid>
      </item>
      <item>
        <title>关于@override报错的问题</title>
        <author>gugujava</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gugujava.javaeye.com">gugujava</a>&nbsp;
          链接：<a href="http://gugujava.javaeye.com/blog/150654" style="color:red;">http://gugujava.javaeye.com/blog/150654</a>&nbsp;
          发表时间: 2007年12月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          刚进公司，公司让看CXF，发现有很多annotation的标注，annotation注释是在jdk1.5加入的新东西，没用过，所以只能照着写了。在公司倒也没出错，公司的jdk是1.6的，把东西带回家后，在自己的电脑（jdk1.5）上一跑，报错了，是@override的错。<br />费了半天劲才调好，原因如下：<br />关于@override注释在jdk1.5环境下只能用于对继承的类的方法的重写，而不能用于对实现的接口中的方法的实现。<br /><strong>例如：</strong><br /><pre name="code" class="java">
public interface Interface_A{
   public void methodA();
}
</pre><br /><pre name="code" class="java">
public class parentClass_B{
   public void methodB(){
    
   }
}
</pre><br /><pre name="code" class="java">
public class test extends parentClass_B implements Interface_A{
   @override  //此处在jdk1.5中会报错，1.6中则不会
   public void methodA(){
       .............
   }

   @override  //此处不会报错
   public void methodB(){
       .............
   }
}
</pre><br /><br />就是这样，如果是针对接口的话（一般应该不需要的吧，多半是eclipse自作主张加上去的，呵呵），一定注意你的jdk版本是否正确。<br />我是新人，所以不知道我的理解可正确，如有其他看法，欢迎指教。
          <br/>
          <span style="color:red;">
            <a href="http://gugujava.javaeye.com/blog/150654#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</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>Tue, 25 Dec 2007 10:50:09 +0800</pubDate>
        <link>http://gugujava.javaeye.com/blog/150654</link>
        <guid>http://gugujava.javaeye.com/blog/150654</guid>
      </item>
      <item>
        <title>采用CXF解决webservice循环引用对象的问题 [转帖]</title>
        <author>gugujava</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gugujava.javaeye.com">gugujava</a>&nbsp;
          链接：<a href="http://gugujava.javaeye.com/blog/150650" style="color:red;">http://gugujava.javaeye.com/blog/150650</a>&nbsp;
          发表时间: 2007年12月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>原文出处：http://jeffreyhsu.javaeye.com/blog/134097</strong><br /><br />本文讨论的是在cxf下如何解决webservice中存在对象循环引用的问题<br />不说明cxf的用法和spring整合等等,这在官方文档里都有.<br /><br />循环引用:<br />Parent 和 Child是1:n的关系, Parent含有一个child的列表children,child对于parent有一个引用,那这两个对象之间就存在循环引用的关系.<br /><pre name="code" class="java">
public class Parent {   
    private List children;   
       
    // setter / getter   
}   
</pre><br />java 代码<br /><pre name="code" class="java">
import javax.xml.bind.annotation.XmlTransient;     
      
public class Child {     
    private Parent parent;     
          
    @XmlTransient     
    public Parent getParent() {     
        return parent;     
    }     
      
    public void setParent(Parent parent) {     
        this.parent = parent;     
    }    
       
    public void afterUnmarshal(Unmarshaller u, Object parent) {   
        this.parent = (Parent) parent;   
    }     
}     
</pre><br />这就是一个典型的环引用,而我们不能 直接将带有环的对象暴露给webservice,因为这会导致最终生成xml的时候会陷入死循环最后栈溢出,所以cxf检测出对象存在cycle会抛出一 个异常阻止进一步发布webservice.(以前的XFire可没这么聪明,它没有检测机制,直接就去序列化xml结果会导致 OutOfMemory).<br /><br />如何解决呢?就是要破掉这个环,去某一端,如何在不破坏原有设计的情况下做到这一点,就是要使用@XmlTransient<br />这个annotation会标明这个字段不要解析成xml,所有你不想解析进webservice的都可以通过这个标签来标记<br />注:cxf默认采用JAXB做databindings,如果要用aegis,相应的就要用@IgnoreProperty这个元注释<br />像这种情况,我们一般要打破子对父的引用,就是要打破Child对于Parent的引用.注意要在parent的get方法上面加而不是在parent的声明处.<br />这样从生成的wsdl里面我们就看不到child里有对于parent的引用<br /><br />虽然client能够拿到children列表了,但通过child得不到parent的信息,因为在client现在是单向的,那我也想访问parent怎么办?<br />这里有一个解决办法,在Parent下面加入如下代码:<br />    public void afterUnmarshal(Unmarshaller u, Object parent) {<br />        this.parent = (Parent) parent;<br />    }<br /><br />怎么做到的?背后的道理是这样的:<br />循环的双向关系,一端到另一端的关系确定了以后,反过来另一端也就确定了.<br />cxf在解析wsdl映射成对象的过程中(也就是unmarshal),处理Parent并处理它所包含的child,结果发现parent引 用的child有afterUnmarshal方法,然后把自己的引用通过该方法传递给child,这样child也具有了对于 parent的引用,这一切都是在客户端完成的.真的是很聪明的做法.<br /><br />这些功能必须要cxf来做客户端才能实现,但我们可以利用这种技术来在其他客户端实现这个功能.比如flex,.net, php 等等.<br /><br /><strong>one more thing</strong><br /><br />上面的例子首先访问的是parent,cxf可以拿到两端的信息,但如果先访问child就拿不到parent了.<br />那么如果把@XmlTransient加到Parent, 同样道理, child可以得到parent的信息,但是这个parent的getChildren里恐怕就只有那一个child了.<br /><br />所以还是看具体设计,如果parent需要经常访问child,第一种最好,如果child要经常访问parent,显然是第二种
          <br/>
          <span style="color:red;">
            <a href="http://gugujava.javaeye.com/blog/150650#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</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>Tue, 25 Dec 2007 10:32:56 +0800</pubDate>
        <link>http://gugujava.javaeye.com/blog/150650</link>
        <guid>http://gugujava.javaeye.com/blog/150650</guid>
      </item>
      <item>
        <title>Hibernate annotation的关系定义 [转帖]</title>
        <author>gugujava</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gugujava.javaeye.com">gugujava</a>&nbsp;
          链接：<a href="http://gugujava.javaeye.com/blog/150647" style="color:red;">http://gugujava.javaeye.com/blog/150647</a>&nbsp;
          发表时间: 2007年12月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一、@OneToOne<br /><pre name="code" class="java">@Entity  
public class User{   
    private Address address;   
  
    @OneToOne  
    public Address getAddress() {   
        return address;   
    }   
  
    public void setAddress(Address address) {   
        this.address = address;   
    }   
}   
  
@Entity  
public class Address{   
    private User user;   
  
    @OneToOne(mappedBy = "address")   
    public User getUser() {   
        return user;   
    }   
  
    public void setUser(User user) {   
        this.user = user;   
    }   
  
}  
</pre><br />1、两边都定义了@OneToOne，但都没有定义mappedBy,则user和address表都会生成到对方的外键，双方都是这个关系的拥有者。 <br />2、两边都定义了@OneToOne，如果user定义了mappedBy，则在address表生成到user的外键，address是这个关系的拥有者；如果address定义了mappedBy，则在user表生成到address的外键，user是这个关系的拥有者。 <br />二、@ManyToOne和@OneToMany<br /><pre name="code" class="java">
@Entity  
public class Employee {   
private Department department;   
  
@ManyToOne  
public Department getDepartment() {   
return department;   
}   
  
public void setDepartment(Department department) {   
this.department = department;   
}   
}   
  
@Entity  
public class Department {   
private Set&lt;Employee> employees = new HashSet&lt;Employee>();   
  
@OneToMany(mappedBy="department")   
public Collection&lt;Employee> getEmployees() {   
return employees;   
}   
public void setEmployees(Collection&lt;Employee> employees) {   
this.employees = employees;   
}   
}  
</pre><br />@ManyToOne中Many指的是本类（也就是声明@ManeyToOne的类），One是指关联类，也就是To前边的对应本类，后边的对应关联类。如果方法返回的是单数关联类则定义@ManyToOne，例如：<br /><pre name="code" class="java">
@ManyToOne  
public Department getDepartment() {   
return department;   
} </pre><br />方法返回的是Department，为单数关联类，对应@ManyToOne中的One； <br />如果返回的是复数关联类则定义@OneToMany，例如：<br /><pre name="code" class="java">
@OneToMany(mappedBy="department")   
public Collection&lt;Employee> getEmployees() {   
return employees;   
} 
</pre><br />方法返回的是Collection&lt;Employee>，复数关联类，对应@OneToMany中的Many。其中定义mappedBy的是@OneToMany,也就是说One这一方是关系的拥有者。Many一方的表中生成到关联类的外键。<br /><br />三、@ManyToMany<br /><pre name="code" class="java">
@Entity  
public class Book {   
private Set authors = new HashSet&lt;Author>();   
  
@ManyToMany  
public Set&lt;Author> getAuthors(){   
return authors;   
}   
       
Public void setAuthors(Set&lt;Author> authors){   
   This.authors = authors;   
}   
}   
  
@Entity  
public class Author {   
private Set books = new HashSet&lt;Book>();   
  
@ManyToMany(mappedBy="authors")   
public Set&lt;Book> getBooks(){   
return books;   
}   
  
Public void setBooks(Set&lt;Book> books){   
   This.books = books;   
}   
}   
</pre><br />@ManyToMany会生成中间表，具体表名和字段可以通过@AssociationTable来定义，默认的就可以了，同样关系的非拥有者，需要定义mappedBy属性。<br />原帖出处：http://tapestry.javaeye.com/blog/31928
          <br/>
          <span style="color:red;">
            <a href="http://gugujava.javaeye.com/blog/150647#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><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 25 Dec 2007 10:24:59 +0800</pubDate>
        <link>http://gugujava.javaeye.com/blog/150647</link>
        <guid>http://gugujava.javaeye.com/blog/150647</guid>
      </item>
  </channel>
</rss>