??xml version="1.0" encoding="utf-8" standalone="yes"?>欧洲免费在线视频,亚洲成人av一区,www.成人在线http://www.aygfsteel.com/airdream/category/6558.htmlJAVA DIARYzh-cnWed, 28 Feb 2007 14:50:45 GMTWed, 28 Feb 2007 14:50:45 GMT60- 国内digg|站大收?/title>http://www.aygfsteel.com/airdream/archive/2006/11/26/83630.htmlAIRDREAMAIRDREAMSun, 26 Nov 2006 08:45:00 GMThttp://www.aygfsteel.com/airdream/archive/2006/11/26/83630.htmlhttp://www.aygfsteel.com/airdream/comments/83630.htmlhttp://www.aygfsteel.com/airdream/archive/2006/11/26/83630.html#Feedback0http://www.aygfsteel.com/airdream/comments/commentRss/83630.htmlhttp://www.aygfsteel.com/airdream/services/trackbacks/83630.html酷宝 http://qopo.net(推荐)
新崛L(fng)中文DiggQh气很?br />
奇客|?a target="_blank">http://diglog.com/ Q?font color="#ff3300">推荐Q?/a>
奇客发现 有趣新鲜
H窝|?a target="_blank">http://www.mywowo.com/
用Digg+点评方式来介lweb2.0的网?br />
板儿砖?a target="_blank">http://www.banerzhuan.com/
相当有创意的digg式网站?br />
新聚|?a target="_blank">http://www.tagriver.com/
博客时代的新型交?br />
啊|?a target="_blank">http://www.dingr.com/
关于U技的头版新?br />
抓虾|?a target="_blank">http://www.zhuaxia.com/
集rss订阅和digg挖掘Z体?br />
比客H?a target="_blank">http://www.pkooo.com/
以资讯ؓ(f)ȝPK新闻
?sh)?jing)发现 http://www.new21.cn/
?sh)?jing)发现·分n
爱发玊W?a target="_blank">http://www.ifaxian.com/
依靠C的力量找出网上有阅读价值的内容
新热|?a target="_blank">http://www.newhots.com/
针对技术,BT资源Q娱乐的|摘|站
教育资源挖掘 http://www.edudig.net/
发掘互联|上有h(hun)值的教育资源
17DIG|?a target="_blank">http://www.17dig.com/
发掘I(y)T新闻Q草根们的新?br />
中国掘客 http://www.cndigg.com/
完全是digg.com的中文版
vottie 熱門q
http://www.vottie.com/
短片、熱門q
发掘之狐
http://www.diggfox.com/
发掘之狐
livedigg|digg直播
http://www.livedigg.com/
发掘|络上的C?br />
奇乐无穷
http://www.qlwq.com/
web2.0留学CQDigg贴吧模式,国内首创!
Buzzc
http://www.buzzc.com/
汇集|络最热门
Web2.0|站集合
http://www.web2list.cn/

]]>- Tapestry+Ibatis+Spring 写的Digg|站。效果不错!http://www.aygfsteel.com/airdream/archive/2006/11/14/81100.htmlAIRDREAMAIRDREAMTue, 14 Nov 2006 04:53:00 GMThttp://www.aygfsteel.com/airdream/archive/2006/11/14/81100.htmlhttp://www.aygfsteel.com/airdream/comments/81100.htmlhttp://www.aygfsteel.com/airdream/archive/2006/11/14/81100.html#Feedback1http://www.aygfsteel.com/airdream/comments/commentRss/81100.htmlhttp://www.aygfsteel.com/airdream/services/trackbacks/81100.html站名Q酷?br />地址Q?a >http://qopo.net

]]> - spring+velocity自动发送邮?http://www.aygfsteel.com/airdream/archive/2006/07/12/57760.htmlAIRDREAMAIRDREAMWed, 12 Jul 2006 02:58:00 GMThttp://www.aygfsteel.com/airdream/archive/2006/07/12/57760.htmlhttp://www.aygfsteel.com/airdream/comments/57760.htmlhttp://www.aygfsteel.com/airdream/archive/2006/07/12/57760.html#Feedback0http://www.aygfsteel.com/airdream/comments/commentRss/57760.htmlhttp://www.aygfsteel.com/airdream/services/trackbacks/57760.html
spring+velocity自动发送邮?/b>
|
1.下蝲spring?qing)velocitycdQ?br /> email配置文gQmail.propertiesQ?br />mail.default.from=jfishsz@163.com mail.host=smtp.163.com mail.username=xxxxxx mail.password=xxxxxx mail.smtp.auth=true mail.smtp.timeout=25000
spring配置文gQapplicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans> <!-- For mail settings and future properties files --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:mail.properties</value> </list> </property> </bean> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host"> <value>${mail.host}</value> </property> <property name="username"> <value>${mail.username}</value> </property> <property name="password"> <value>${mail.password}</value> </property> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> <prop key="mail.smtp.timeout"> ${mail.smtp.timeout} </prop> </props> </property> </bean> <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage" singleton="false"> <property name="from"> <value>${mail.default.from}</value> </property> </bean> <bean id="sendMail" class="net.pms.email.SendMail"> <property name="mailSender" ref="mailSender" /> <property name="message" ref="mailMessage" /> <property name="velocityEngine" ref="velocityEngine" /> </bean> <!-- Configure Velocity for sending e-mail --> <bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> <property name="velocityProperties"> <props> <prop key="resource.loader">class</prop> <prop key="class.resource.loader.class"> org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader </prop> <prop key="velocimacro.library"></prop> </props> </property> </bean> </beans> velocity模板文gQaccountCreated.vmQ?br />${message}
Username: ${username} Password: ${Password}
Login at: ${applicationURL}
2.实现c?br />SendMail.java package net.pms.email;
import java.util.Map;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.exception.VelocityException; import org.springframework.mail.MailSender; import org.springframework.mail.SimpleMailMessage; import org.springframework.ui.velocity.VelocityEngineUtils;
public class SendMail { protected static final Log log = LogFactory.getLog(SendMail.class);
private MailSender mailSender;
private SimpleMailMessage message;
private VelocityEngine velocityEngine;
public void setVelocityEngine(VelocityEngine velocityEngine) { this.velocityEngine = velocityEngine; }
public void setMailSender(MailSender mailSender) { this.mailSender = mailSender; }
public void setMessage(SimpleMailMessage message) { this.message = message; }
public void sendEmail(Map model) { message.setTo("jfishsz@163.com"); message.setSubject("subject"); String result = null; try { result = VelocityEngineUtils.mergeTemplateIntoString( velocityEngine, "accountCreated.vm", model); } catch (VelocityException e) { e.printStackTrace(); } message.setText(result); mailSender.send(message); } } 试c:(x)SendMailTest.java package net.pms.email;
import java.util.HashMap; import java.util.Map;
import junit.framework.TestCase;
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SendMailTest extends TestCase { String[] paths = { "config/applicationContext*.xml" };
ApplicationContext ctx = new ClassPathXmlApplicationContext(paths);
SendMail s = (SendMail) ctx.getBean("sendMail");
protected void setUp() throws Exception { super.setUp(); }
protected void tearDown() throws Exception { super.tearDown(); }
/* * Test method for 'net.pms.email.SendMail.sendEmail(Map)' */ public void testSendEmail() { Map model = new HashMap(); model.put("message", "msg"); model.put("username", "jack"); model.put("Password", "666666"); model.put("applicationURL", "www.163.com"); s.sendEmail(model); }
} q只是一个简单的实现介绍Q我想通过q个例子q入通往javamail的大门?br />
|
原文Q?a >http://jfish.blog.ccidnet.com/blog/ccid/do_showone/tid_18513.html
]]> - java面试题集?四辑http://www.aygfsteel.com/airdream/archive/2006/01/05/26810.htmlAIRDREAMAIRDREAMThu, 05 Jan 2006 15:40:00 GMThttp://www.aygfsteel.com/airdream/archive/2006/01/05/26810.htmlhttp://www.aygfsteel.com/airdream/comments/26810.htmlhttp://www.aygfsteel.com/airdream/archive/2006/01/05/26810.html#Feedback0http://www.aygfsteel.com/airdream/comments/commentRss/26810.htmlhttp://www.aygfsteel.com/airdream/services/trackbacks/26810.html
JAVA SERVLET API中forward() 与sendRedirect()的区别?
forward()Ҏ(gu)可以使用原来的对象,而且速度较快。地址栏不变化。只能在本机内的面间蟩转?br>
redirect()Ҏ(gu)不可以用原来的对象Q而且速度较慢。地址栏变化。可以蟩转到M面和机器?br>
:前者仅是容器中控制权的转向Q在客户端浏览器地址栏中不会(x)昄?gu){向后的地址Q后者则是完全的跌{Q浏览器会(x)得到跌{的地址Qƈ重新发送请求链接。这P从浏览器的地址栏中可以看到跌{后的链接地址。所以,前者更加高效,在前者可以满需要时Q尽量用forward()Ҏ(gu)Qƈ且,q样也有助于隐藏实际的链接。在有些情况下,比如Q需要蟩转到一个其它服务器上的资源Q则必须使用sendRedirect()Ҏ(gu)?
STRUTS的应?如STRUTS架构)
Struts框架的处理流E清楚的体现?jin)MVCpȝ的特点, Struts Controller ActionServlet处理客户hQ利用配|的ActionMapping对象把请求映到Action处理器对象进行处理。Action处理对象讉KActionForm中的数据Q处理和响应客户hQ它q调用后台的BeanlgQ这些组件封装了(jin)具体的业务逻辑。Action处理器对象根据处理结果通知ControllerQControllerq行下一步的处理?br>
Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用E序的开放源码的framework?采用Struts能开发出ZMVC(Model-View-Controller)设计模式的应用构架?Struts有如下的主要功能Q?
一.包含一个controller servletQ能用L(fng)h发送到相应的Action对象?
?JSP自由tag库,q且在controller servlet中提供关联支持,帮助开发员创徏交互式表单应用?
?提供?jin)一pd实用对象QXML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提C和消息?br>
MVC的各个部分都有那些技术来实现?如何实现?
{?MVC是ModelQViewQController的简写?Model" 代表的是应用的业务逻辑Q通过JavaBeanQEJBlg实现Q, "View" 是应用的表示面(由JSP面产生Q,"Controller" 是提供应用的处理q程控制Q一般是一个ServletQ,通过q种设计模型把应用逻辑Q处理过E和昄逻辑分成不同的组件实现。这些组件可以进行交互和重用?
一个网|以下html代码片断
- java面试题集?三辑 http://www.aygfsteel.com/airdream/archive/2006/01/05/26809.htmlAIRDREAMAIRDREAMThu, 05 Jan 2006 15:36:00 GMThttp://www.aygfsteel.com/airdream/archive/2006/01/05/26809.htmlhttp://www.aygfsteel.com/airdream/comments/26809.htmlhttp://www.aygfsteel.com/airdream/archive/2006/01/05/26809.html#Feedback0http://www.aygfsteel.com/airdream/comments/commentRss/26809.htmlhttp://www.aygfsteel.com/airdream/services/trackbacks/26809.html
W一Q谈谈final, finally, finalize的区别?br>
final?修饰W(关键字)(j)如果一个类被声明ؓ(f)finalQ意味着它不能再z出新的子c,不能作ؓ(f)父类被ѝ因此一个类不能既被声明?abstract的,又被声明为final的。将变量或方法声明ؓ(f)finalQ可以保证它们在使用中不被改变。被声明为final的变量必d声明时给定初|而在以后的引用中只能dQ不可修攏V被声明为final的方法也同样只能使用Q不能重?
finally?再异常处理时提供 finally 块来执行M清除操作。如果抛Z个异常,那么相匹配的 catch 子句׃(x)执行Q然后控制就?x)进?finally 块(如果有的话)(j)?
finalize?Ҏ(gu)名。Java 技术允怋?finalize() Ҏ(gu)在垃圾收集器对象从内存中清除出M前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对q个对象调用的。它是在 Object cM定义的,因此所有的c都l承?jin)它。子c覆?finalize() Ҏ(gu)以整理系l资源或者执行其他清理工作。finalize() Ҏ(gu)是在垃圾攉器删除对象之前对q个对象调用的?br>
W二QAnonymous Inner Class (匿名内部c? 是否可以extends(l承)其它c,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部cR不能extends(l承) 其它c,但一个内部类可以作ؓ(f)一个接口,由另一个内部类实现?br>
W三QStatic Nested Class ?Inner Class的不同,说得多好(面试题有的很W统)?br>
Nested Class Q一般是C++的说法)(j)QInner Class (一般是JAVA的说?。Java内部cMC++嵌套cL大的不同在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
注:(x) ?rn)态内部类QInner ClassQ意味着1创徏一个static内部cȝ对象Q不需要一个外部类对象Q?不能从一个static内部cȝ一个对象访问一个外部类对象
W四Q??&的区别?br>
&是位q算W?&是布?yu)(dng)逻辑q算W?br>
W五QHashMap和Hashtable的区别?br>
都属于Map接口的类Q实C(jin)惟一键映到特定的g?br>
HashMap cL有分cL者排序。它允许一?null 键和多个 null 倹{?
Hashtable cM?HashMapQ但是不允许 null 键和 null 倹{它也比 HashMap 慢,因ؓ(f)它是同步的?br>
W六QCollection ?Collections的区别?br>
Collections是个java.util下的c,它包含有各种有关集合操作的静(rn)态方法?br>
Collection是个java.util下的接口Q它是各U集合结构的父接口?br>
W七Q什么时候用assert?br>
断言是一个包含布?yu)(dng)表辑ּ的语句,在执行这个语句时假定该表辑ּ?true。如果表辑ּ计算?falseQ那么系l会(x)报告一?AssertionError。它用于调试目的Q?
assert(a > 0); // throws an AssertionError if a <= 0
断言可以有两UŞ式:(x)
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 应该L产生一个布?yu)(dng)倹{?
Expression2 可以是得Z个值的L表达式。这个值用于生成显C更多调试信息的 String 消息?br>
断言在默认情况下是禁用的。要在编译时启用断言Q需要?source 1.4 标记Q?
javac -source 1.4 Test.java
要在q行时启用断aQ可使用 -enableassertions 或?-ea 标记?
要在q行旉择用断言Q可使用 -da 或?-disableassertions 标记?
要系l类中启用断aQ可使用 -esa 或?-dsa 标记。还可以在包的基上启用或者禁用断a?
可以在预计正常情况下不会(x)到达的Q何位|上攄断言。断a可以用于验证传递给U有Ҏ(gu)的参数。不q,断言不应该用于验证传递给公有Ҏ(gu)的参敎ͼ因ؓ(f)不管是否启用?jin)断aQ公有方法都必须(g)查其参数。不q,既可以在公有Ҏ(gu)中,也可以在非公有方法中利用断言试后置条g。另外,断言不应该以M方式改变E序的状态?
W八QGC是什? Z么要有GC? (基础)?br>
GC是垃圾收集器。Java E序员不用担?j)内存管理,因?f)垃圾攉器会(x)自动q行理。要h垃圾攉Q可以调用下面的Ҏ(gu)之一Q?
System.gc()
Runtime.getRuntime().gc()
W九(ji)QString s = new String("xyz");创徏?jin)几个String Object?
两个对象Q一个是“xyx?一个是指向“xyx”的引用对象s?br>
W十QMath.round(11.5){於多少? Math.round(-11.5){於多少?
Math.round(11.5)q回QlongQ?2QMath.round(-11.5)q回QlongQ?11;
W十一Qshort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;有错Qs1是short型,s1+1是int?不能昑ּ转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确?br>
W十二,sleep() ?wait() 有什么区? 搞线E的最?br>
sleep()Ҏ(gu)是ɾU程停止一D|间的Ҏ(gu)。在sleep 旉间隔期满后,U程不一定立x复执行。这是因为在那个时刻Q其它线E可能正在运行而且没有被调度ؓ(f)攑ּ执行Q除?br>
(a)“醒来”的U程h更高的优先
(b)正在q行的线E因为其它原因而阻塞?br>
wait()是线E交互时Q如果线E对一个同步对象x 发出一个wait()调用Q该U程?x)暂停执行,被调对象q入{待状态,直到被唤醒或{待旉到?br>
W十三,Java有没有goto?
Goto?java中的保留字,现在没有在java中用?br>
W十四,数组有没有length()q个Ҏ(gu)? String有没有length()q个Ҏ(gu)Q?br>
数组没有length()q个Ҏ(gu)Q有length的属性?br>
String有有length()q个Ҏ(gu)?br>
W十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd?
Ҏ(gu)的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父cM子类之间多态性的一U表玎ͼ重蝲Overloading是一个类中多态性的一U表现。如果在子类中定义某Ҏ(gu)与其父类有相同的名称和参敎ͼ我们说该Ҏ(gu)被重?(Overriding)。子cȝ对象使用q个Ҏ(gu)Ӟ调用子cM的定义,对它而言Q父cM的定义如同被“屏蔽”了(jin)。如果在一个类中定义了(jin)多个同名的方法,它们或有不同的参C数或有不同的参数cdQ则UCؓ(f)Ҏ(gu)的重?Overloading)。Overloaded的方法是可以改变q回值的cd?br>
W十六,Set里的元素是不能重复的Q那么用什么方法来区分重复与否? 是用==q是equals()? 它们有何区别?
Set里的元素是不能重复的Q那么用iterator()Ҏ(gu)来区分重复与否。equals()是判M个Set是否相等?br>
equals()?=Ҏ(gu)军_引用值是否指向同一对象equals()在类中被覆盖Qؓ(f)的是当两个分ȝ对象的内容和cd盔R的话Q返回真倹{?br>
W十七,l我一个你最常见到的runtime exception?br>
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
W十八,error和exception有什么区?
error 表示恢复不是不可能但很困隄情况下的一U严重问题。比如说内存溢出。不可能指望E序能处理这L(fng)情况?br>
exception 表示一U设计或实现问题。也是_(d)它表C如果程序运行正常,从不?x)发生的情况?br>
W十?ji),List, Set, Map是否l承自Collection接口?
ListQSet?br>
Map不是
W二十,abstract class和interface有什么区?
声明Ҏ(gu)的存在而不d现它的类被叫做抽象类Qabstract classQ,它用于要创徏一个体现某些基本行为的c,qؓ(f)该类声明Ҏ(gu)Q但不能在该cM实现该类的情c(din)不能创建abstract cȝ实例。然而可以创Z个变量,其类型是一个抽象类Qƈ让它指向具体子类的一个实例。不能有抽象构造函数或抽象?rn)态方法。Abstract cȝ子类为它们父cM的所有抽象方法提供实玎ͼ否则它们也是抽象cMؓ(f)。取而代之,在子cM实现该方法。知道其行ؓ(f)的其它类可以在类中实现这些方法?br>
接口QinterfaceQ是抽象cȝ变体。在接口中,所有方法都是抽象的。多l承性可通过实现q样的接口而获得。接口中的所有方法都是抽象的Q没有一个有E序体。接口只可以定义static final成员变量。接口的实现与子cȝ|除了(jin)该实现类不能从接口定义中l承行ؓ(f)。当cd现特D接口时Q它定义Q即程序体l予Q所有这U接口的Ҏ(gu)。然后,它可以在实现?jin)该接口的类的Q何对象上调用接口的方法。由于有抽象c,它允怋用接口名作ؓ(f)引用变量的类型。通常的动态联~将生效。引用可以{换到接口cd或从接口cd转换Qinstanceof q算W可以用来决定某对象的类是否实现?jin)接口?
W二十一Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized?
都不?br>
W二十二Q接口是否可l承接口? 抽象cL否可实现(implements)接口? 抽象cL否可l承实体c?concrete class)?
接口可以l承接口。抽象类可以实现(implements)接口Q抽象类是否可承实体类Q但前提是实体类必须有明的构造函数?br>
W二十三Q启动一个线E是用run()q是start()?
启动一个线E是调用start()Ҏ(gu)QɾU程所代表的虚拟处理机处于可运行状态,q意味着它可以由JVM调度q执行。这q不意味着U程׃(x)立即q行。run()Ҏ(gu)可以产生必须退出的标志来停止一个线E?br>
W二十四Q构造器Constructor是否可被override?
构造器Constructor不能被承,因此不能重写OverridingQ但可以被重载Overloading?br>
W二十五Q是否可以承Stringc?
StringcLfinalcL不可以ѝ?br>
W二十六Q当一个线E进入一个对象的一个synchronizedҎ(gu)后,其它U程是否可进入此对象的其它方?
不能Q一个对象的一个synchronizedҎ(gu)只能׃个线E访问?br>
W二十七Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code?x)不会(x)被执行Q什么时候被执行Q在return前还是后?
?x)执行,在return前执行?br>
W二十八Q编E题: 用最有效率的Ҏ(gu)出2乘以8{於?
有C背景的程序员特别喜欢问这U问题?br>
2 << 3
W二十九(ji)Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不?
不对Q有相同的hash code?
W三十,当一个对象被当作参数传递到一个方法后Q此Ҏ(gu)可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传?
是g递。Java ~程语言只由g递参数。当一个对象实例作Z个参数被传递到Ҏ(gu)中时Q参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变Q但对象的引用是永远不会(x)改变的?br>
W三十一Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String?
switchQexpr1Q中Qexpr1是一个整数表辑ּ。因此传递给 switch ?case 语句的参数应该是 int?short?char 或?byte。long,string 都不能作用于swtich?br>
W三十二Q编E题: 写一个Singleton出来?br>
Singleton模式主要作用是保证在Java应用E序中,一个类Class只有一个实例存在?br>
一般Singleton模式通常有几U种形式:
W一UŞ? 定义一个类Q它的构造函Cؓ(f)private的,它有一个static的private的该cd量,在类初始化时实例话,通过一个public的getInstanceҎ(gu)获取对它的引?l而调用其中的Ҏ(gu)?
public class Singleton {
private Singleton(){}
//在自己内部定义自׃个实例,是不是很奇怪?
//注意q是private 只供内部调用
private static Singleton instance = new Singleton();
//q里提供?jin)一个供外部讉K本class的静(rn)态方法,可以直接讉K
public static Singleton getInstance() {
return instance;
}
}
W二UŞ?
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//q个Ҏ(gu)比上面有所改进Q不用每ơ都q行生成对象Q只是第一ơ
//使用时生成实例,提高?jin)效率?br>
if (instance==null)
instanceQnew Singleton();
return instance; }
}
其他形式:
定义一个类Q它的构造函Cؓ(f)private的,所有方法ؓ(f)static的?br>
一般认为第一UŞ式要更加安全些s

]]> - java面试题集?二辑http://www.aygfsteel.com/airdream/archive/2006/01/01/26267.htmlAIRDREAMAIRDREAMSun, 01 Jan 2006 11:37:00 GMThttp://www.aygfsteel.com/airdream/archive/2006/01/01/26267.htmlhttp://www.aygfsteel.com/airdream/comments/26267.htmlhttp://www.aygfsteel.com/airdream/archive/2006/01/01/26267.html#Feedback1http://www.aygfsteel.com/airdream/comments/commentRss/26267.htmlhttp://www.aygfsteel.com/airdream/services/trackbacks/26267.html阅读全文

]]>
վ֩ģ壺
ƽɽ|
Դ|
|
ʯ|
ͭ|
|
ʡ|
|
书|
|
ƽ|
|
ƺ|
|
μԴ|
Ѯ|
|
̫ԭ|
ף|
|
|
|
ݸ|
|
|
|
|
ɽ|
|
Һ|
Ȫ|
|
»|
|
|
鶴|
˹|
ɫ|
|
|
|