??xml version="1.0" encoding="utf-8" standalone="yes"?>你懂的视频在线免费,亚洲全部视频,亚洲第一页中文字幕http://www.aygfsteel.com/sodmewuhan/zh-cnWed, 18 Jun 2025 12:53:54 GMTWed, 18 Jun 2025 12:53:54 GMT60开始新目?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/06/05/50586.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Mon, 05 Jun 2006 14:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/06/05/50586.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/50586.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/06/05/50586.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/50586.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/50586.html</trackback:ping><description><![CDATA[马上要做新项目了(jin)Q项目不大,准备用ajax来练l手QHOHO!<img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/50586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-06-05 22:09 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/06/05/50586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一本好书关于JAVA5.0和TDD?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/05/12/45900.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Fri, 12 May 2006 11:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/05/12/45900.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/45900.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/05/12/45900.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/45900.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/45900.html</trackback:ping><description><![CDATA[今天在网上闲逛,发现?jin)一本好书,关于JAVA和TDD的,内容介绍如下Q?br /><p class="docText"><span id="wmqeeuq" class="docEmphStrong">Master Java 5.0 and TDD Together: Build More Robust, Professional Software</span></p><p class="docText">Master Java 5.0, object-oriented design, and Test-Driven Development (TDD) by learning them together. Agile Java weaves all three into a single coherent approach to building professional, robust software systems. Jeff Langr shows exactly how Java and TDD integrate throughout the entire development lifecycle, helping you leverage today's fastest, most efficient development techniques from the very outset.</p><p class="docText">Langr writes for every programmer, even those with little or no experience with Java, object-oriented development, or agile methods. He shows how to translate oral requirements into practical tests, and then how to use those tests to create reliable, high-performance Java code that solves real problems. Agile Java doesn't just teach the core features of the Java language: it presents coded test examples for each of them. This TDD-centered approach doesn't just lead to better code: it provides powerful feedback that will help you learn Java far more rapidly. The use of TDD as a learning mechanism is a landmark departure from conventional teaching techniques.</p><ul><li><p class="docList">Presents an expert overview of TDD and agile programming techniques from the Java developer's perspective</p></li><li><p class="docList">Brings together practical best practices for Java, TDD, and OO design</p></li><li><p class="docList">Walks through setting up Java 5.0 and writing your first program</p></li><li><p class="docList">Covers all the basics, including strings, packages, and more</p></li><li><p class="docList">Simplifies object-oriented concepts, including classes, interfaces, polymorphism, and inheritance</p></li><li><p class="docList">Contains detailed chapters on exceptions and logging, math, I/O, reflection, multithreading, and Swing</p></li><li><p class="docList">Offers seamlessly-integrated explanations of Java 5.0's key innovations, from generics to annotations</p></li><li><p class="docList">Shows how TDD impacts system design, and vice versa</p></li><li><p class="docList">Complements any agile or traditional methodology, including Extreme Programming (XP)</p></li></ul><p class="docList"><br />E文不太难,一般都应该可以看懂Qؓ(f)什么好书都是老外写的呢?<img height="20" src="http://www.aygfsteel.com/Emoticons/hitwall.gif" width="25" border="0" /><br />我想把书传上来,但是.TextҎ(gu)件的大小好象是有限制Q书的名字叫<br /><strong>Agile Java Crafting Code with Test-Driven DevelopmentQ想要的同学可以留下EMAIL</strong></p><img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/45900.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-05-12 19:17 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/05/12/45900.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个分析Castle很好的系列文?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/28/43880.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Fri, 28 Apr 2006 14:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/28/43880.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/43880.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/28/43880.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/43880.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/43880.html</trackback:ping><description><![CDATA[很早听说过<span lang="EN-US"><font face="?hu)? size="2">Castle的大名了(jin)Q但是一直没有时间去研究。一斚w也是自己的惰性,另一斚w也关?span lang="EN-US">Castle的分析文章太了(jin)。但是不怎么_(d)面对q这么优U的项目没有一睹芳容,真是<img height="20" src="http://www.aygfsteel.com/Emoticons/hitwall.gif" width="25" border="0" />。现在好?jin),?a id="Header1_MyLinks1_HomeLink" ><font size="3">博客?/font></a>扑ֈ?jin)一个关?span lang="EN-US"><font face="?hu)? size="2">Castle?/font></span>pd文章Q先收藏个连接,51在休息的I隙Q还可以抽出Ҏ(gu)间好好研I好东东Q?img height="19" src="http://www.aygfsteel.com/Emoticons/regular_smile.gif" width="19" border="0" />?br /><a >http://www.cnblogs.com/Terrylee/archive/2006/04/28/387503.html</a></span></font></span><img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/43880.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-04-28 22:04 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/04/28/43880.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Proxy模式介绍http://www.aygfsteel.com/sodmewuhan/archive/2006/04/27/43653.html面朝大v面朝大vThu, 27 Apr 2006 12:33:00 GMThttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/27/43653.htmlhttp://www.aygfsteel.com/sodmewuhan/comments/43653.htmlhttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/27/43653.html#Feedback0http://www.aygfsteel.com/sodmewuhan/comments/commentRss/43653.htmlhttp://www.aygfsteel.com/sodmewuhan/services/trackbacks/43653.html q来很忙Q一直没?/span> blog ?jin),今天晚上有点旉Q听?jin)?/span> MSDN 上面的一?/span> webCast Q讲的就?/span> Proxy 模式Q本就是这节课的笔记?/span>

学习(fn)设计模式也有D|间了(jin)Q很早也见过 Proxy 模式的,记得最开始接?/span> Proxy 模式q是在著名的 JIVE 论坛Q?/span> JIVE 中用 Proxy 来做权限控制Q。今天算是一遍复?fn)吧?/span>

对复杂的软gpȝQh们常常用的一U处理手法是在系l增加一层间接层Q得到对pȝ灉|的、满特D要求的解决Ҏ(gu)?/span>

使用 Proxy 模式的动机:(x)?/span> OO 的开发过E中Q某些对象的开销很大Q如Q?/span> new 的开销大、某些对象因为安全的原因不能被客L(fng)接的调用{)(j)Q如果直接操作这些对象会(x)破坏pȝl构。那么,我们q代理对象来控制对象的讉K?/span>

例子Q?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) 一个常见的 HR pȝQ?br />

using  (tng)System;

class  (tng)Employee
{
 (tng) (tng) (tng) (tng)
public  (tng) double  (tng)GetSalary()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)..
 (tng) (tng) (tng) (tng)}

 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)Report()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng).
 (tng) (tng) (tng) (tng)}

 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)ApplyVacation()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)}

}


class  (tng)HrSys
{
 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)ProcessEmployee
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)(Employee (tng)employee
/* 该对象和HRpȝ在同一个地址I间?/span> */ )
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)employee.Report();
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)..
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)employee.ApplyVacation();
 (tng) (tng) (tng) (tng)}

}

现在要求?/span> Employee 做成 webService Q?/span> HR pȝ通过 webService 来调?/span> Employee 对象Q代码修改如下:(x)

using  (tng)System;

interface  (tng)I(yng)Employee
{
 (tng) (tng) (tng) (tng)
public  (tng) double  (tng)GetSalary();
 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)Report();
 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)ApplyVacation();
}

// q行在internet上面的某台机?/span>
class  (tng)Employee (tng): (tng)I(yng)Employee
{
 (tng) (tng) (tng) (tng)
public  (tng) double  (tng)GetSalary()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)..
 (tng) (tng) (tng) (tng)}

 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)Report()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng).
 (tng) (tng) (tng) (tng)}

 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)ApplyVacation()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)}

}

// q行在本地的E序?/span>
class  (tng)EmployeeProxy (tng): (tng)I(yng)Employee
{
 (tng) (tng) (tng) (tng)
public  (tng) double  (tng)GetSalary()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)
// 对对象创?讉K的SOAP装
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng) (tng)
// 发送SOAP数据
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng) (tng)
// 如果有返回|对SOAP分析Q得到C#数据
 (tng) (tng) (tng) (tng)}

 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)Report()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)
// 对对象创?讉K的SOAP装
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng) (tng)
// 发送SOAP数据
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng) (tng)
// 如果有返回|对SOAP分析Q得到C#数据
 (tng) (tng) (tng) (tng)}

 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)ApplyVacation()
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)
// 对对象创?讉K的SOAP装
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng) (tng)
// 发送SOAP数据
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng) (tng)
// 如果有返回|对SOAP分析Q得到C#数据
 (tng) (tng) (tng) (tng)}

}

class  (tng)HrSys
{
 (tng) (tng) (tng) (tng)
public  (tng) void  (tng)ProcessEmployee(IEmployee (tng)employeeProxy)
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)employeeProxy.Report();
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)..
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)employeeProxy.ApplyVacation();
 (tng) (tng) (tng) (tng)}

}

Proxy 使用的要点:(x)

1 、“增加一层间接层”,是Y件系l中常用的手D之一?/span>

2 、具体的实现中, Proxy 有很大差别,有的是简单的?/span> copy-on-write ”,有的是对lg模块的抽象代理。在 JAVA 中常见的 SSH 架构模式中( struts+spring+hibernate Q中Q我们可以把 spring 所在的服务层看成对 hiberate 的代理?/span>

具体的实现可以参?/span> .NET 中的 WebService 的实现?/span>

Copy-on-write 技?br />

class  (tng)App
{
 (tng) (tng) (tng) (tng)
// pȝ在内存(sh)其实是指向同一块内?/span>
 (tng) (tng) (tng) (tng) string  (tng)s1 (tng) =  (tng) " Hello " ; (tng) // 不可在修?/span>
 (tng) (tng) (tng) (tng) string  (tng)s2 (tng) =  (tng) " Hello " ; (tng) // 不可在修?br />
 (tng) (tng) (tng) (tng)
// s1.ToUpper(); (tng) // s1不会(x)产生M改变

 (tng) (tng) (tng) (tng)stringBulider (tng)sb1 (tng)
=  (tng) new  (tng)stringBulider( " Hello " );
 (tng) (tng) (tng) (tng)stringBulider (tng)sb2 (tng)
=  (tng) new  (tng)stringBulider( " Hello " );
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)sb1.replace(
" H " , " L " ); (tng) // 可以修改成功
}

sb1.replace("H","L"); pȝ做的动作是, sb1 的代理对象先拯 ”Hello?/span> 字符Ԍ然后用?/span> L ”替换?/span> H ”, sb1 的代理对象重新指向新的对象?/span>



面朝大v 2006-04-27 20:33 发表评论
]]>
Hibernate的数据库事务理http://www.aygfsteel.com/sodmewuhan/archive/2006/04/22/42505.html面朝大v面朝大vSat, 22 Apr 2006 09:12:00 GMThttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/22/42505.htmlhttp://www.aygfsteel.com/sodmewuhan/comments/42505.htmlhttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/22/42505.html#Feedback0http://www.aygfsteel.com/sodmewuhan/comments/commentRss/42505.htmlhttp://www.aygfsteel.com/sodmewuhan/services/trackbacks/42505.html 一?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 数据库事务概?/span>

数据库事务的特征Q?/span> ACID

Atomic Q原子性)(j)?/span> Consistency Q一致性)(j)?/span> Isolation Q隔L)(j)?/span> Durability Q持久性)(j)?/span> DBMS 用日志来保证数据的原子性、一致性和持久性;用锁的机制来保证数据的隔L?/span>

二?span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 事务的边?/span>

数据库支?/span> 2 U事务模式:(x)自动提交和手动提交?/span>

JDBC API 的事务边?/span>

try
{
 (tng) (tng) (tng) (tng)Connection (tng)conn (tng)
=  (tng)java.sql.DriverManager,.getConnection(dbUrl,dbUser,dbPwd);
 (tng) (tng) (tng) (tng)conn.setAutoCommit(
false ); (tng) // 讄成手动模?/span>
 (tng) (tng) (tng) (tng)stmt (tng) =  (tng)conn.createStatement();
 (tng) (tng) (tng) (tng)stmt.executeUpdate(
" . " ); (tng) // 数据库更?
 (tng) (tng) (tng) (tng)stmt.executeUpdate( " . " ); (tng) // 数据库更?
 (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)conn.commit();
}

catch (Exception (tng)e)
{
 (tng) (tng) (tng) (tng)conn.rollback();
}

finally
{
 (tng) (tng) (tng) (tng)stmt.close();
 (tng) (tng) (tng) (tng)conn.close();
}

Hibernate API 声明事务边界

Session (tng)session (tng) =  (tng)factory.openSession();
Transaction (tng)tx;
try  (tng)
{
 (tng) (tng) (tng) (tng)tx (tng)
=  (tng)session.beginTransaction(); (tng) // 开始事?br /> (tng) (tng) (tng) (tng) // 执行操作
 (tng) (tng) (tng) (tng)。。。。?br /> (tng) (tng) (tng) (tng)
 (tng) (tng) (tng) (tng)tx.commit();
}

catch  (tng)(Exception (tng)e)
{
 (tng) (tng) (tng) (tng)
if  (tng)(tx != null )
 (tng) (tng) (tng) (tng)
{
 (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)tx.rollback();
 (tng) (tng) (tng) (tng)}

}

finally
{
 (tng) (tng) (tng) (tng)session.close();
}

注:(x)一?/span> session 可以对应多个事务Q但是推荐的做法是一?/span> session 对应一个事务?/span>

三?/font>  (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 多事务的q发问题

当多个事务同时访问相同的数据的时候,E序如果没有采取适当的隔L施,׃(x)发生数据库的q发问题。常见的q发问题有:(x)

W一cM失更斎ͼ(x)撤消事务的时候,把其他的事务已经提交的数据给覆盖?jin)?/span>

脏读Q读?jin)没有提交的数据Q?/span>

虚读Q一个事务读到另外一个事务已l提交的新插入的数据Q?/span>

不可重复读:(x)一个事务读到另外一个事务已l提交的更新的数据;

W二cM失更斎ͼ(x)一个事务覆盖另外一个事务已l提交的更新数据?/span> (tng)
四?/strong> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)
?/span>

一般地Q大型的 DBMS 都会(x)自动的管理锁定机Ӟ但是在对数据的安全性、完整性和一致性有Ҏ(gu)要求的地方,可以׃务本w来理琐的机制?/span>

有一点要x(chng)的是Q锁的粒度越大,隔离性越好,q发性越差?/span>

按照锁的E度来分有:(x)

׃n锁:(x)用读操作Q非独占的,其他事务可以读,但是不能更新Qƈ发性好Q?/span>

独占锁:(x)用与 insert update ?/span> delete {语句,其他事务不能读,也不能改Qƈ发性差Q?/span>

更新锁:(x)执行 update 的时候,加锁?/span>

ȝQ多是事务分别锁定了(jin)一个资源,又请求锁定对方已l锁定的资源Q就造成?jin)请求环?/span>

降低死锁的最好办法是使用短事务?/span>

五?/font>  (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) 数据库的事务隔离U别

数据库提?/span> 4 U事务隔ȝ别:(x)

Serializable Q串行化Q(隔离U别最高)(j) 1

Repeatable Read Q可重复读; 2

Read Commited Q读已提交数据; 4

Read Uncommited Q读未提交数据;Q隔ȝ别最低)(j) 8

Hiberate 中的隔离U别的设|?/span>

?/span> Hibernate 的配|文件中 hibernate.connection.isolation=2

六?/font>  (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (zhn)观锁和乐观?/span>

从应用程序的角度来看Q锁分ؓ(f)(zhn)观锁和乐观锁?/span>

(zhn)观锁:(x)昄的ؓ(f)E序加锁Q但是降低ƈ发性?/span>

Select …? For update;

?/span> Hibernate 中的代码

Session.get(Account.class,net Long(1),LockMode.UPGRADE) Q?/span> // E序采用(zhn)观?/span>

乐观锁:(x)依靠 DBMS 来管理锁Q程序依靠版本控制来避免q发问题?/span>

在对?/span> - 关系映射的文件中Q用 <version> 或?/span> <timestamp> 可以理q发。乐观琐比?zhn)观琐有更好的q发性,优先考虑乐观琐?/span>  (tng)



面朝大v 2006-04-22 17:12 发表评论
]]>
[转脓(chung)]有效~写软g?5条徏?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/15/41264.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Sat, 15 Apr 2006 12:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/15/41264.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/41264.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/15/41264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/41264.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/41264.html</trackback:ping><description><![CDATA[     摘要: 1. 你们的项目组使用源代码管理工具了(jin)么?  (tng) (tng) (tng) 应该用? VSS ? CVS ? PVCS ? ClearCase ? CCC/Harvest ? FireFly 都可以。我的选择? VSS ? ...  <a href='http://www.aygfsteel.com/sodmewuhan/archive/2006/04/15/41264.html'>阅读全文</a><img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/41264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-04-15 20:38 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/04/15/41264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVAE序员必ȝ的书The Java Language Specificationhttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40731.html面朝大v面朝大vWed, 12 Apr 2006 13:07:00 GMThttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40731.htmlhttp://www.aygfsteel.com/sodmewuhan/comments/40731.htmlhttp://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40731.html#Feedback1http://www.aygfsteel.com/sodmewuhan/comments/commentRss/40731.htmlhttp://www.aygfsteel.com/sodmewuhan/services/trackbacks/40731.htmlhttp://java.sun.com/docs/books/jls/

面朝大v 2006-04-12 21:07 发表评论
]]>
讨h喜欢?6个原则,让你的h际关pL上一层楼Q{Q?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40729.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Wed, 12 Apr 2006 12:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40729.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/40729.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/40729.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/40729.html</trackback:ping><description><![CDATA[1.长相不o(h)厌,如果长得不好Q就让自己有才气Q如果才气也没有Q那L微笑?br /> (tng)  <br /> (tng)  2.气质是关键。如果时学不好Q宁愿纯朴?br /> (tng)  <br /> (tng)  3.与h握手Ӟ可多握一?x)儿。真诚是宝?br /> (tng)  <br /> (tng)  4.不必什么都用“我”做主语?br /> (tng)  <br /> (tng)  5.不要向朋友借钱?br /> (tng)  <br /> (tng)  6.不要“逼”客人看你的家庭相册?br /> (tng)  <br /> (tng)  7.与h打“的”时Q请抢先坐在司机旁?br /> (tng)  <br /> (tng)  8.坚持在背后说别h好话Q别担心(j)q好话传不到当事x(chng)里?br /> (tng)  <br /> (tng)  9.有h在你面前说某人坏话时Q你只微W?br /> (tng)  <br /> (tng)  10.自己开RQ不要特地停下来和一个骑自行车的同事打招呹{h家会(x)以ؓ(f)你在炫耀?br /> (tng)  <br /> (tng)  11.同事生病ӞL望他。很自然地坐在他病床上,回家再认真洗手?br /> (tng)  <br /> (tng)  12.不要把过ȝ事全让h知道?br /> (tng)  <br /> (tng)  13.重不喜Ƣ你的h?br /> (tng)  <br /> (tng)  14.对事不对人;或对事无情,对h要有情;或做人第一Q做事其ơ?br /> (tng)  <br /> (tng)  15.自我批评总能让h怿Q自我表扬则不然?br /> (tng)  <br /> (tng)  16.没有什么东西比围观者们更能提高?sh)的保龄球的成W?jin)。所以,q_不要吝惜你的喝彩声?br /> (tng)  <br /> (tng)  17.不要把别人的好,视ؓ(f)理所当然。要知道感恩?br /> (tng)  <br /> (tng)  18.榕树(wi)上的“八哥”在Ԍ只讲不听Q结果ؕ成一团。学?x)聆听?br /> (tng)  <br /> (tng)  19.重传达室里的师傅及(qing)搞卫生的阿姨?br /> (tng)  <br /> (tng)  20.说话的时候记得常用“我们”开头?br /> (tng)  <br /> (tng)  21.为每一位上台唱歌的人鼓掌?br /> (tng)  <br /> (tng)  22.有时要明知故问:(x)你的L很贵吧!有时Q即使想问也不能问,比如Q你多大?jin)?br /> (tng)  <br /> (tng)  23.话多必失Qh多的场合说话?br /> (tng)  <br /> (tng)  24.把未出口的“不”改成:(x)“这需要时间”、“我力”、“我不确定”、“当我决定后Q会(x)l你打电(sh)话”…?br /> (tng)  <br /> (tng)  25.不要期望所有h都喜Ƣ你Q那是不可能的,让大多数人喜Ƣ就是成功的表现?br /> (tng)  <br /> (tng)  26.当然Q自p喜欢自己。?tng)  <br /> (tng)  <br /> (tng)  ps:27.如果你在表演或者是讲演的时候,如果只要有一个h在听也要用心(j)的(h)l下去,即没有人喝采也要演Q因是你成功的道路,是你成功的摇,你不要看的h成功Q而是要你成功?br /> (tng)  <br /> (tng)  28.如果你看C个脓(chung)子还值得一看的话,那么你一定要回复Q因Z的回复会(x)lhl箋(hu)前进的勇气,?x)给人很大的Ȁ励,同时也会(x)让h感激?<img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/40729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-04-12 20:58 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/04/12/40729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hibernate的检索策?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/10/40320.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Mon, 10 Apr 2006 12:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/10/40320.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/40320.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/10/40320.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/40320.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/40320.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt">Hibernate</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">3</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">U检索策略:(x)</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"> <span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) </span></span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">延迟(g)索;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"> <span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) </span></span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">立即(g)索;</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l1 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: Wingdings; mso-bidi-font-family: Wingdings; mso-fareast-font-family: Wingdings"> <span style="mso-list: Ignore">l<span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) </span></span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q切左外q接Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt">Hibernate</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供</span> <span lang="EN-US" style="FONT-SIZE: 12pt">2</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">U方式来定(g)索策略,一中是在配|文件当中,另外一U是在程序种讄。当?dng)如果你在E序中设|了(jin)(g)索策略,那么你在配置文g中的讄也就无效?jin)。另外的一U情冉|</span> <span lang="EN-US" style="FONT-SIZE: 12pt">HQL</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?x)忽略配|文件的讄Q而L采用q切左外q接?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 24pt; TEXT-INDENT: -24pt; mso-list: l0 level1 lfo2; tab-stops: list 24.0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt; mso-bidi-font-family: ?hu)?> <span style="mso-list: Ignore">一?/span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cȝ别的(g)?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以选择的检索策略是立即(g)索和延迟(g)索,默认的是立即(g)索。用配置文g中的</span> <span lang="EN-US" style="FONT-SIZE: 12pt"><class></span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节点?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">lazy</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来控制?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意Q不你在配|?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">class</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">lazy</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">true</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">q是</span> <span lang="EN-US" style="FONT-SIZE: 12pt">false</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q对</span> <span lang="EN-US" style="FONT-SIZE: 12pt">get()</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">create</span> <tt> <span lang="EN-US" style="FONT-SIZE: 9pt">Criteria</span> </tt> <span lang="EN-US" style="FONT-SIZE: 12pt">()</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ(gu)都不起作用,只有?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">load()</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ(gu)起作用?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当你使用的检索策略是</span> <span lang="EN-US" style="FONT-SIZE: 12pt">lazy</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候,当你执行</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt">Customer customer = (Customer)session.load(Customer.class,new Long(1));<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候,</span> <span style="FONT-SIZE: 12pt"> <span lang="EN-US">Hibernate</span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不从数据库检索数据,而只是生一个代理类Q只有当你执?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt">Customer.getName();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候,</span> <span lang="EN-US" style="FONT-SIZE: 12pt">Hibernate</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">才到数据库取数据。所以,如下的代码是?x)被抛出异常的?x)</span> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">Session (tng)session (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)sessionFactory.openSession();<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />transaction (tng)tx (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">null</span> <span style="COLOR: #000000">;<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />tx (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)session.beginTransaction();<br /> (tng) Customer (tng)customer (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)(Customer)session.load(Customer.</span> <span style="COLOR: #0000ff">class</span> <span style="COLOR: #000000">,</span> <span style="COLOR: #0000ff">new</span> <span style="COLOR: #000000"> (tng)Long(</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">));<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />tx.commit();<br /> (tng) session.close();<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />customer.getName();<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span> </div> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt">get()</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Ҏ(gu)L用的立即(g)索,如果和它相关联的cM是用的立x(chng)索,那么也会(x)把相兌的数据也(g)索出来?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 24pt; TEXT-INDENT: -24pt; mso-list: l0 level1 lfo1; tab-stops: list 24.0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt; mso-bidi-font-family: ?hu)?> <span style="mso-list: Ignore">二?/span> </span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一对和多对多关联检?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一般地Qؓ(f)?jin)有减少?gu)据库的访问,我们往往用gq检索的{略。所以,我们优先使用如下方式Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt"><set class=”order?inverse=”true?lazy=”true?><o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但是Q我们在(g)索“多”的一方的时候,</span> <span lang="EN-US" style="FONT-SIZE: 12pt">Hibernate</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不能为我们生代理类。由此,我们p?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">betch-size</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的配|来减少</span> <span lang="EN-US" style="FONT-SIZE: 12pt">SQL</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语句?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当我们?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">outer-join</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性的时候,我们没有必要?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">lazy</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性了(jin)?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">Outer-join</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?x)一ơ将“一”方和与之相关的“多”方用左外连接的方式(g)索出来?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 66pt; mso-char-indent-count: 5.5"> <span lang="EN-US" style="FONT-SIZE: 12pt">Session session = sessionFactory.openSession();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span style="mso-tab-count: 2"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) </span> <span style="mso-spacerun: yes"> (tng) (tng) (tng) (tng) (tng) (tng) </span>Transaction tx = null;<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span style="mso-tab-count: 2"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) </span> <span style="mso-spacerun: yes"> (tng) (tng) (tng) (tng) (tng)  (tng)</span>tx = session.beginTransaction();<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 12pt"> <span style="mso-tab-count: 2"> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng) </span> <span style="mso-spacerun: yes"> (tng) (tng) (tng) (tng) (tng) </span>Customer customer = (Customer)session.get(Customer.class,new Long(1));<o:p></o:p></span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">产生?/span> <span lang="EN-US" style="FONT-SIZE: 12pt">SQL</span> <span style="FONT-SIZE: 12pt; FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">语句如下Q?/span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">Hibernate: select customer0_.ID as ID1_, customer0_.NAME as NAME2_1_, orders1_.CUSTOMER_ID as CUSTOMER3_3_, orders1_.ID as ID3_, orders1_.ID as ID0_, orders1_.ORDER_NUMBER as ORDER2_1_0_, orders1_.CUSTOMER_ID as CUSTOMER3_1_0_ from sampledb.customers customer0_ left outer join sampledb.orders orders1_ on customer0_.ID=orders1_.CUSTOMER_ID where customer0_.ID=?</span> <span lang="EN-US" style="FONT-SIZE: 12pt"> <o:p> </o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> </p> </o:p> </span> <img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/40320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-04-10 20:44 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/04/10/40320.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA的初始化和清?/title><link>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/09/40103.html</link><dc:creator>面朝大v</dc:creator><author>面朝大v</author><pubDate>Sun, 09 Apr 2006 08:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/09/40103.html</guid><wfw:comment>http://www.aygfsteel.com/sodmewuhan/comments/40103.html</wfw:comment><comments>http://www.aygfsteel.com/sodmewuhan/archive/2006/04/09/40103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/sodmewuhan/comments/commentRss/40103.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/sodmewuhan/services/trackbacks/40103.html</trackback:ping><description><![CDATA[ <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本文是?/span> <span lang="EN-US">JAVA</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">~程思想》第四章的读书笔?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US"> <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?> <o:p> (tng)</o:p> </span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="mso-bidi-font-family: ?hu)?> <span style="mso-list: Ignore">一?/span> </span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用构造函数初始化</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l1 level2 lfo2; tab-stops: list 36.0pt"> <span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore">1Q??span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) </span></span> </span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数的签名和q回?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">构造函数可以通过不同的函数签名来q行重蝲。构造函数没有返回|q和q回gؓ(f)</span> <span lang="EN-US">void</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的是不同?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l1 level2 lfo2; tab-stops: list 36.0pt"> <span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore">1Q??span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) </span></span> </span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">构造函数的重蝲</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如何区分构造函数的不同呢,用不同的函数{֐。函数签名的序不同都可以,但是q样的编E风格是不好的?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数的签名会(x)上升转型Q当没有合适的函数{֐出现的时候)(j)Q但是不?x)?jing)化{型,你必要昄的进行强制类型{换?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不能?/span> <span lang="EN-US">return value </span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的不同作为重载的标准?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当程序提供了(jin)构造函C后,pȝ׃在提供默认的构造函C(jin)?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US">This</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关键字指的是当前对象Q有?/span> <span lang="EN-US">this</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后,可以在构造函C以如下的方式调用</span> </p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img id="Codehighlighter1_8_97_Open_Image" onclick="this.style.display='none'; Codehighlighter1_8_97_Open_Text.style.display='none'; Codehighlighter1_8_97_Closed_Image.style.display='inline'; Codehighlighter1_8_97_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_8_97_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_8_97_Closed_Text.style.display='none'; Codehighlighter1_8_97_Open_Image.style.display='inline'; Codehighlighter1_8_97_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> <span style="COLOR: #000000">Class (tng)A (tng)</span> <span id="Codehighlighter1_8_97_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_8_97_Open_Text"> <span style="COLOR: #000000">{<br /><img id="Codehighlighter1_16_18_Open_Image" onclick="this.style.display='none'; Codehighlighter1_16_18_Open_Text.style.display='none'; Codehighlighter1_16_18_Closed_Image.style.display='inline'; Codehighlighter1_16_18_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_16_18_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_16_18_Closed_Text.style.display='none'; Codehighlighter1_16_18_Open_Image.style.display='inline'; Codehighlighter1_16_18_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> (tng) (tng) (tng) (tng)A (tng)() (tng)</span> <span id="Codehighlighter1_16_18_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_16_18_Open_Text"> <span style="COLOR: #000000">{…}</span> </span> <span style="COLOR: #000000"> <br /> <img id="Codehighlighter1_37_40_Open_Image" onclick="this.style.display='none'; Codehighlighter1_37_40_Open_Text.style.display='none'; Codehighlighter1_37_40_Closed_Image.style.display='inline'; Codehighlighter1_37_40_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_37_40_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_37_40_Closed_Text.style.display='none'; Codehighlighter1_37_40_Open_Image.style.display='inline'; Codehighlighter1_37_40_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> (tng) (tng) (tng) (tng)A(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)a,</span> <span style="COLOR: #0000ff">char</span> <span style="COLOR: #000000"> (tng)b) (tng)</span> <span id="Codehighlighter1_37_40_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_37_40_Open_Text"> <span style="COLOR: #000000">{…?tng)}</span> </span> <span style="COLOR: #000000"> <br /> <img id="Codehighlighter1_67_95_Open_Image" onclick="this.style.display='none'; Codehighlighter1_67_95_Open_Text.style.display='none'; Codehighlighter1_67_95_Closed_Image.style.display='inline'; Codehighlighter1_67_95_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /> <img id="Codehighlighter1_67_95_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_67_95_Closed_Text.style.display='none'; Codehighlighter1_67_95_Open_Image.style.display='inline'; Codehighlighter1_67_95_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> (tng) (tng) (tng) (tng)A(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)a,</span> <span style="COLOR: #0000ff">char</span> <span style="COLOR: #000000"> (tng)b,</span> <span style="COLOR: #0000ff">float</span> <span style="COLOR: #000000"> (tng)c) (tng)</span> <span id="Codehighlighter1_67_95_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://www.aygfsteel.com/images/dot.gif" /> </span> <span id="Codehighlighter1_67_95_Open_Text"> <span style="COLOR: #000000">{<br /><img src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng) (tng) (tng) (tng) (tng) (tng) (tng) (tng)This(a,b); (tng)</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">注意Q只能调用一?/span> <span style="COLOR: #008000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> </span> <span style="COLOR: #000000"> (tng) (tng) (tng) (tng)}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span> </span> <span style="COLOR: #000000"> <br /> <img src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l1 level2 lfo2; tab-stops: list 36.0pt"> <span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"> <span style="mso-list: Ignore">1Q??span style="FONT: 7pt 'Times New Roman'"> (tng) (tng) </span></span> </span> <span lang="EN-US">Static</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的含?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你无法在</span> <span lang="EN-US">static</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数中调?/span> <span lang="EN-US">non-static</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数Q但是你可以?/span> <span lang="EN-US">non-static</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中调?/span> <span lang="EN-US">static</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"> <span lang="EN-US" style="mso-bidi-font-family: ?hu)?> <span style="mso-list: Ignore">二?/span> </span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">cȝ清理</span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US">JAVA</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的垃圑֛收机制只能回?/span> <span lang="EN-US">new</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出来的对象,但是你的对象不是</span> <span lang="EN-US">new</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出来的而获得的“特D”内存,那么</span> <span lang="EN-US">JAVA</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的垃圑֛收就不能处理Q这样就必须?/span> <span lang="EN-US">finalize()</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数来释放你的“特D”内存?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span lang="EN-US">JAVA</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的清理方式是先调用你?/span> <span lang="EN-US">finalize()</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">Q然后在下次垃圾回收的时候来清理你的“特D”内存?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">关键的三句话Q?/span> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">垃圾回收不等于析构;</span> <span lang="EN-US"> <o:p> </o:p> </span> </b> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你的对象可能不被回收Q?/span> <span lang="EN-US"> <o:p> </o:p> </span> </b> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <b style="mso-bidi-font-weight: normal"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">垃圾回收动作只回收内存?/span> <span lang="EN-US"> <o:p> </o:p> </span> </b> </p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">?/span> <span lang="EN-US">System.gc()</span> <span style="FONT-FAMILY: ?hu)? mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以用来l结动作的发?/span> </p> <img src ="http://www.aygfsteel.com/sodmewuhan/aggbug/40103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/sodmewuhan/" target="_blank">面朝大v</a> 2006-04-09 16:17 <a href="http://www.aygfsteel.com/sodmewuhan/archive/2006/04/09/40103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">¡</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˼</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ӽ</a>| <a href="http://" target="_blank">Ĵʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ն</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƺ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ڻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̽</a>| <a href="http://" target="_blank">ξ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">⴨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ȷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ױ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>