??xml version="1.0" encoding="utf-8" standalone="yes"?>
书终于送来了,我从口袋里挤出张癑օ大钞Q心里还一直嘀咕着Q不知道不交׃怎么栗?/SPAN>
q本书还真厚啊,我量了一下它的体U:25cm*19cm*4cm。嘿Q可以省下个枕头׃。粗略翻了下Q例子好多啊Q还图文q茂。于是我调动?/SPAN>500W脑细胞对q本书进行解析?/SPAN>
差不多从6点开始读?/SPAN>9点的样子Q翻了大?/SPAN>100多页的样子,我终于忍不住了。腹中的怒气冲破丹田Q经xI_上丹甎ͼ会中I汇聚与百汇I_最后从剙出。一霎那Q在我头上盘旋的蚊子UL坠落Q生M明。ؓ何有如此怒气Q请听我q?/SPAN>
1Q此书有很多Wg。作者本想用中国的古典文化来解释一些概念,以ؓ很对中国人的胃口。要知道计算机领域本来就是一门很抽象的领域,作者还用一些根本不知其意的古文说明问题Q虽然有解释Q但我觉得很牵强Q好像是往上面套似的。虽然我是个中国人,但是我对中国的儒墨思想了解甚微。干吗不用通俗易懂的语a去解释问题,而绕个圈把唐僧l加q去?/SPAN>
2Q这个是个h问题。本来今天打去理发的,再不剔某帮我剔了Q结果被书给耽搁了。我也忘Cơ理发是什么时候了。前几天在公交R上h家居然叫我“小姐,我下车”。我当时差点。。。过去,心里嘀咕着Q“靠Q你见过女h长胡子的吗?搞不清楚状况?/SPAN>?SPAN style="mso-spacerun: yes">
好了Q牢骚发完了Q心情舒畅多了。从q此可以看出C也是门学问啊Qh家说好的?/FONT>
自己手上׃一定是好书Q每个h对书的评价都不一P要找C本适合自己的书真是不容易啊。这本书我还是会看的Q看?/SPAN>100多页p价似乎不妥,主要天气太热Q本人内火很重,不过现在好点了呵c?/SPAN>
。。。。。。。。。?/FONT>
今天?/SPAN>10?/SPAN>5P2个月q去Q今天想l箋对这本书q行评论。虽然没有看完,但是也算看了一半,自认可以比较公正的评Z?/SPAN>
首先Q我q是觉得废话和例子太多。就拿简单工厂模式来说把Q里面有些例N几乎没什么改变。当你还没看完一个设计模式的时候,可能你已l懂了,但是下面q有很多内容?/FONT>
然后q本书虽然废话多Q但是优点还是非常明昄Q就是易懂(不要看什么老子孟子说之cȝ古文Q直接看他是怎么解释的)?/SPAN>
M来说写的q行。还有要C的是Q看懂了是一回事Q看懂了能应用在目中是另外一个层ơ。先x了我只是通过q本书看明白了,有钱׃了回家当资料?/SPAN>
问题1、面向对象的特征有哪些方面?
装Q多态,l承
问题2、String是最基本的数据类型吗?
不是?/P>
问题3、int ?Integer 有什么区别?
int是数据类?存的是数倹{?BR>Integer是对象,通过一个引用只惌个对象?/P>
问题4、运行时异常与一般异常有何异同?
异常表示E序q行q程中可能出现的非正常状态,q行时异常表C拟机的通常操作中可能遇到的异常Q是一U常见运行错误。java~译器要求方法必d明抛出可能发生的非运行时异常Q但是ƈ不要求必d明抛出未被捕Lq行时异常?/P>
问题5、说出Servlet的生命周期,q说出Servlet和CGI的区别?BR> Servlet被服务器实例化后Q容器运行其initҎQ请求到达时q行其serviceҎ,当服务器军_实例销毁的时候调用其destroyҎ?BR>CGI: 每个h都生新的进E,服务完成后就销毁,所以效率上低于servlet?/P>
问题6、说出ArrayList,Vector, LinkedList的存储性能和特性?BR> ArrayList其实是用数l来实现的,所以在查询数据斚w速度快?BR> Vector在功能上和ArrayList几乎一P不过Vectorcd的成员都是同步的Q如果不考虑U程安全的话Q还是用ArrayList。因为同步在q行时要消耗掉大量的内存?BR> LinkedList是由链表来实现的Q所以在d删除{操作方面速度快,同时也能有效的利用内存空间?/P>
问题7、sleep() ?wait() 有什么区?
Sleep()是让该线E睡眠一D|_控制权l别的线E。等旉Cp动恢复?BR> Wait()Ҏ需要通过notify()Ҏ调用Q线E才能进入运行状态?/P>
问题8、Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd?
Ҏ的重写和重蝲是Java多态性的不同表现。如果在子类中定义某Ҏ与其父类有相同的名称和参敎ͼ我们说该Ҏ被重写。子cȝ对象使用q个ҎӞ调用子cM的定义。如果在一个类中定义了多个同名的方法,它们或有不同的参C数或有不同的参数cdQ则UCؓҎ的重载?BR>Overload的方法是可以改变q回值的cd?/P>
问题9、同步和异步有何异同Q在什么情况下分别使用他们QD例说明?BR> 同步是当多个U程都要使用一个资源的时候就要用。例如:有个公共厕所每次只能q一个,如果N个h同时有需要的话,需要同步,让一个hq去Q等里面人出来后其他人才能进?/P>
问题10、说出数据连接池的工作机制是什?
服务器启动后创徏指定数量的连接。当客户端访问时Q服务器分配一个空闲的q接?BR>如果先前分配q接用完Q就新徏一定数量的q接?/P>
问题11、try {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code会不会被执行Q什么时候被执行Q在return前还是后?
会被执行Q在return前?/P>
问题12、Java中的异常处理机制的简单原理和应用?BR> 当JAVAE序q反了JAVA的语义规则时QJAVA虚拟机就会将发生的错误表CZؓ一个异常。也可以自己定义异常处理方式?/P>
问题13、垃圑֛收的优点和原理。ƈ考虑2U回收机制?BR> 优点是E序员不需要考虑对内存的释放?/P>
问题14、请说出你所知道的线E同步的Ҏ?BR> Wait(),sleep(), notify()
问题15、多U程有几U实现方?都是什?同步有几U实现方?都是什?
多线E有两种实现ҎQ分别是l承ThreadcM实现Runnable接口
同步的实现方面有两种Q分别是synchronized,wait与notify
问题16、servlet的生命周?BR>Servlet被服务器实例化后Q容器运行其initҎQ请求到达时q行其serviceҎ,当服务器军_实例销毁的时候调用其destroyҎ?/P>
问题17、J2EE是技术还是^台还是框Ӟ
我觉得都是?BR> J2EE是SUN公司提出的一个基于多层应用的Q分布式开发的Q以lg形式Q具有框Ӟ形成的一个标准^台?/P>
问题18、我们在web应用开发过E中l常遇到输出某种~码的字W,如iso8859-1{,如何输出一个某U编码的字符Ԍ
String str=”abcd?
String tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
问题19、XML文定义有几UŞ式?它们之间有何本质区别Q解析XML文有哪几种方式Q?
1QXML文定义?UŞ?DTD和Schema,区别是schema本n是XMLQ能被解析器解析?BR> 2Q解析XML文有SAX和DOM,q有一些不q都是SAX和DOM基础上发展的?/P>
问题20、bean 实例的生命周?BR> 对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池理Q在create之后实例q不从内存清除,而是采用~冲池调度机制不断重用实例,而对于存在Cache理的Bean则通过ȀzdLzL制保持Bean的状态ƈ限制内存中实例数量?/P>
问题21、如何启动时不需输入用户名与密码?
没看明白什么意?什么启动啊Q?/P>
问题22、排序都有哪几种ҎQ请列D。用JAVA实现一个快速排序?BR> 排序的方法有Q直接插入排序、希排序,冒排序、快速排序,直接选择排序、堆排序Q归q排序,排序、基数排序等?/P>
问题23、java中会存在内存泄漏吗,L单描q?BR> 内存泄漏应该是程序设计的问题Q与语言无关把?BR>问题24、java中实现多态的机制是什么?
重写和重载?/P>
问题25、应用服务器与WEB SERVER的区别?
从功能上来讲Q应用服务器是处理业务逻辑的;而web服务器则主要是处理表C层的?/P>
问题26、BS与CS的联pM区别?BR> B/SQ由服务器承担大部分工作Q浏览器只负责少量的前端处理Q比方说用JS验证控gQ?BR> C/SQ服务器客户端共同分担处理?/P>
问题27、WEB SERVICE名词解释。JSWDL开发包的介l。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释?
Web ServiceWeb Service是基于网l的、分布式的模块化lgQ它执行特定的Q务,遵守具体的技术规范,q些规范使得Web Service能与其他兼容的组件进行互操作?BR>JAXP(Java API for XML Parsing) 定义了在Java中用DOM, SAX, XSLT的通用的接口。这样在你的E序中你只要使用q些通用的接口,当你需要改变具体的实现时候也不需要修改代码?BR>JAXM(Java API for XML Messaging) 是ؓSOAP通信提供讉KҎ和传输机制的API?BR>WSDL是一U?XML 格式Q用于将|络服务描述Zl端点,q些端点对包含面向文档信息或面向q程信息的消息进行操作。这U格式首先对操作和消息进行抽象描qͼ然后其l定到具体的|络协议和消息格式上以定义端炏V相关的具体端点即组合成为抽象端点(服务Q?BR>SOAP即简单对象访问协?Simple Object Access Protocol)Q它是用于交换XML~码信息的轻量协议?
UDDI 的目的是为电子商务徏立标准;UDDI是一套基于Web的、分布式的、ؓWeb Service提供的、信息注册中心的实现标准规范Q同时也包含一l企业能将自n提供的Web Service注册Q以使别的企业能够发现的讉K协议的实现标准?/P>
二、JAVA代码查错
问题1?BR>abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
q有何错?
错。abstract Ҏ必须以分L?/P>
问题2?BR>public class Something {
void doSomething () {
private String s = "";
int l = s.length();
}
}
有错?
错。局部变量前面不是有讉K限制W?/P>
问题3?BR>abstract class Something {
private abstract String doSomething ();
}
q好像没什么错?
错。抽象方法的本意是必须子类l承Q你加个private肯定错了?/P>
问题4?BR>public class Something {
public int addOne(final int x) {
return ++x;
}
}
q个比较明显?BR>错。Final讉KW一出,变量׃能被修改了?/P>
问题5?BR>public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
是关于final的问题,q有错吗?
对的。变得是成员变量Q但是对象的引用没有变?/P>
问题6?BR>class Something {
int i;
public void doSomething() {
System.out.println("i = " + i);
}
}
有什么错? 看不出来啊?BR>对的。默认|0?/P>
问题7?BR>class Something {
final int i;
public void doSomething() {
System.out.println("i = " + i);
}
}
和上面一题只有一个地方不同,是多了一个final。这N错了吗?
对的。和上题一栗?/P>
问题8?BR>public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
看上d完美?BR>错。方法不是静态的Q所以一定要object.method();
问题9?BR>此处QSomethingcȝ文g名叫OtherThing.java
class Something {
private static void main(String[] something_to_do) {
System.out.println("Do something ...");
}
}
q个好像很明显?BR>错。类名的名字必须和文件名相同?/P>
问题10?BR>interface A{
int x = 0;
}
class B{
int x =1;
}
class C extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
错误。必要明确X的来源?/P>
问题11?BR>interface Playable {
void play();
}
interface Bounceable {
void play();
}
interface Rollable extends Playable, Bounceable {
Ball ball = new Ball("PingPang");
}
class Ball implements Rollable {
private String name;
public String getName() {
return name;
}
public Ball(String name) {
this.name = name;
}
public void play() {
ball = new Ball("Football");
System.out.println(ball.getName());
}
}
q个错误不容易发现?BR>错误。接口内能实例话对象Q?BR>
final—修饰符Q关键字Q如果一个类被声明ؓfinalQ意味着它不能再z出新的子c,不能作ؓ父类被ѝ因此一个类不能既被声明?abstract的,又被声明为final的。将变量或方法声明ؓfinalQ可以保证它们在使用中不被改变。被声明为final的变量必d声明时给定初|而在以后的引用中只能dQ不可修攏V被声明为final的方法也同样只能使用Q不能重?
finally—再异常处理时提?finally 块来执行M清除操作。如果抛Z个异常,那么相匹配的 catch 子句׃执行Q然后控制就会进?finally 块(如果有的话)?
finalize—方法名。Java 技术允怋?finalize() Ҏ在垃圾收集器对象从内存中清除出M前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对q个对象调用的。它是在 Object cM定义的,因此所有的c都l承了它。子c覆?finalize() Ҏ以整理系l资源或者执行其他清理工作。finalize() Ҏ是在垃圾攉器删除对象之前对q个对象调用的?
W二QAnonymous Inner Class (匿名内部c? 是否可以extends(l承)其它c,是否可以implements(实现)interface(接口)?
匿名的内部类是没有名字的内部cR不能extends(l承) 其它c,但一个内部类可以作ؓ一个接口,由另一个内部类实现?
W三QStatic Nested Class ?Inner Class的不同,说得多好(面试题有的很W统)?
Nested Class Q一般是C++的说法)QInner Class (一般是JAVA的说?。Java内部cMC++嵌套cL大的不同在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1
注: 静态内部类QInner ClassQ意味着1创徏一个static内部cȝ对象Q不需要一个外部类对象Q?不能从一个static内部cȝ一个对象访问一个外部类对象
W四Q?amp;?amp;&的区别?
&是位q算W?amp;&是布逻辑q算W?
W五QHashMap和Hashtable的区别?
都属于Map接口的类Q实C惟一键映到特定的g?
HashMap cL有分cL者排序。它允许一?null 键和多个 null 倹{?
Hashtable cM?HashMapQ但是不允许 null 键和 null 倹{它也比 HashMap 慢,因ؓ它是同步的?
W六QCollection ?Collections的区别?
Collections是个java.util下的c,它包含有各种有关集合操作的静态方法?
Collection是个java.util下的接口Q它是各U集合结构的父接口?
W七Q什么时候用assert?
断言是一个包含布表辑ּ的语句,在执行这个语句时假定该表辑ּ?true。如果表辑ּ计算?falseQ那么系l会报告一?Assertionerror。它用于调试目的Q?
assert(a > 0); // throws an Assertionerror if a <= 0
断言可以有两UŞ式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 应该L产生一个布倹{?
Expression2 可以是得Z个值的L表达式。这个值用于生成显C更多调试信息的 String 消息?
断言在默认情况下是禁用的。要在编译时启用断言Q需要?source 1.4 标记Q?
javac -source 1.4 Test.java
要在q行时启用断aQ可使用 -enableassertions 或?-ea 标记?
要在q行旉择用断言Q可使用 -da 或?-disableassertions 标记?
要系l类中启用断aQ可使用 -esa 或?-dsa 标记。还可以在包的基上启用或者禁用断a?
可以在预计正常情况下不会到达的Q何位|上攄断言。断a可以用于验证传递给U有Ҏ的参数。不q,断言不应该用于验证传递给公有Ҏ的参敎ͼ因ؓ不管是否启用了断aQ公有方法都必须查其参数。不q,既可以在公有Ҏ中,也可以在非公有方法中利用断言试后置条g。另外,断言不应该以M方式改变E序的状态?
W八QGC是什? Z么要有GC? (基础)?
GC是垃圾收集器。Java E序员不用担心内存管理,因ؓ垃圾攉器会自动q行理。要h垃圾攉Q可以调用下面的Ҏ之一Q?
System.gc()
Runtime.getRuntime().gc()
W九QString s = new String("xyz");创徏了几个String Object?
两个对象Q一个是“xyx?一个是指向“xyx”的引用对象s?
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正确?
W十二,sleep() ?wait() 有什么区? 搞线E的最?
sleep()Ҏ是ɾU程停止一D|间的Ҏ。在sleep 旉间隔期满后,U程不一定立x复执行。这是因为在那个时刻Q其它线E可能正在运行而且没有被调度ؓ攑ּ执行Q除?a)“醒来”的U程h更高的优先
(b)正在q行的线E因为其它原因而阻塞?
wait()是线E交互时Q如果线E对一个同步对象x 发出一个wait()调用Q该U程会暂停执行,被调对象q入{待状态,直到被唤醒或{待旉到?
W十三,Java有没有goto?
Goto—java中的保留字,现在没有在java中用?
W十四,数组有没有length()q个Ҏ? String有没有length()q个ҎQ?
数组没有length()q个ҎQ有length的属性?
String有有length()q个Ҏ?
W十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd?
Ҏ的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父cM子类之间多态性的一U表玎ͼ重蝲Overloading是一个类中多态性的一U表现。如果在子类中定义某Ҏ与其父类有相同的名称和参敎ͼ我们说该Ҏ被重?(Overriding)。子cȝ对象使用q个ҎӞ调用子cM的定义,对它而言Q父cM的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参C数或有不同的参数cdQ则UCؓҎ的重?Overloading)。Overloaded的方法是可以改变q回值的cd?
W十六,Set里的元素是不能重复的Q那么用什么方法来区分重复与否? 是用==q是equals()? 它们有何区别?
Set里的元素是不能重复的Q那么用iterator()Ҏ来区分重复与否。equals()是判M个Set是否相等?
equals()?=Ҏ军_引用值是否指向同一对象equals()在类中被覆盖Qؓ的是当两个分ȝ对象的内容和cd盔R的话Q返回真倹{?
W十七,l我一个你最常见到的runtime exception?
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情况?
exception 表示一U设计或实现问题。也是_它表C如果程序运行正常,从不会发生的情况?
W十九,List, Set, Map是否l承自Collection接口?
ListQSet?
Map不是
W二十,abstract class和interface有什么区?
声明Ҏ的存在而不d现它的类被叫做抽象类Qabstract classQ,它用于要创徏一个体现某些基本行为的c,qؓ该类声明ҎQ但不能在该cM实现该类的情c不能创建abstract cȝ实例。然而可以创Z个变量,其类型是一个抽象类Qƈ让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract cȝ子类为它们父cM的所有抽象方法提供实玎ͼ否则它们也是抽象cMؓ。取而代之,在子cM实现该方法。知道其行ؓ的其它类可以在类中实现这些方法?
接口QinterfaceQ是抽象cȝ变体。在接口中,所有方法都是抽象的。多l承性可通过实现q样的接口而获得。接口中的所有方法都是抽象的Q没有一个有E序体。接口只可以定义static final成员变量。接口的实现与子cȝ|除了该实现类不能从接口定义中l承行ؓ。当cd现特D接口时Q它定义Q即程序体l予Q所有这U接口的Ҏ。然后,它可以在实现了该接口的类的Q何对象上调用接口的方法。由于有抽象c,它允怋用接口名作ؓ引用变量的类型。通常的动态联~将生效。引用可以{换到接口cd或从接口cd转换Qinstanceof q算W可以用来决定某对象的类是否实现了接口?
W二十一Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized?
都不?
W二十二Q接口是否可l承接口? 抽象cL否可实现(implements)接口? 抽象cL否可l承实体c?concrete class)?
接口可以l承接口。抽象类可以实现(implements)接口Q抽象类是否可承实体类Q但前提是实体类必须有明的构造函数?
W二十三Q启动一个线E是用run()q是start()?
启动一个线E是调用start()ҎQɾU程所代表的虚拟处理机处于可运行状态,q意味着它可以由JVM调度q执行。这q不意味着U程׃立即q行。run()Ҏ可以产生必须退出的标志来停止一个线E?
W二十四Q构造器Constructor是否可被override?
构造器Constructor不能被承,因此不能重写OverridingQ但可以被重载Overloading?
W二十五Q是否可以承Stringc?
StringcLfinalcL不可以ѝ?
W二十六Q当一个线E进入一个对象的一个synchronizedҎ后,其它U程是否可进入此对象的其它方?
不能Q一个对象的一个synchronizedҎ只能׃个线E访问?
W二十七Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code会不会被执行Q什么时候被执行Q在return前还是后?
会执行,在return前执行?
W二十八Q编E题: 用最有效率的Ҏ出2乘以8{於?
有C背景的程序员特别喜欢问这U问题?
2 << 3
W二十九Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不?
不对Q有相同的hash code?
W三十,当一个对象被当作参数传递到一个方法后Q此Ҏ可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传?
是g递。Java ~程语言只由g递参数。当一个对象实例作Z个参数被传递到Ҏ中时Q参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变Q但对象的引用是永远不会改变的?
W三十一Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String?
switchQexpr1Q中Qexpr1是一个整数表辑ּ。因此传递给 switch ?case 语句的参数应该是 int?short?char 或?byte。long,string 都不能作用于swtich?
W三十二Q编E题: 写一个Singleton出来?
Singleton模式主要作用是保证在Java应用E序中,一个类Class只有一个实例存在?
一般Singleton模式通常有几U种形式:
W一UŞ? 定义一个类Q它的构造函Cؓprivate的,它有一个static的private的该cd量,在类初始化时实例话,通过一个public的getInstanceҎ获取对它的引?l而调用其中的Ҏ?
public class Singleton {
private Singleton(){}
//在自己内部定义自׃个实例,是不是很奇怪?
//注意q是private 只供内部调用
private static Singleton instance = new Singleton();
//q里提供了一个供外部讉K本class的静态方法,可以直接讉K
public static Singleton getInstance() {
return instance;
}
}
W二UŞ?
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//q个Ҏ比上面有所改进Q不用每ơ都q行生成对象Q只是第一ơ
//使用时生成实例,提高了效率!
if (instance==null)
instanceQnew Singleton();
return instance; }
}
其他形式:
定义一个类Q它的构造函Cؓprivate的,所有方法ؓstatic的?
一般认为第一UŞ式要更加安全?
23.Hashtable和HashMap
Hashtablel承自Dictionaryc,而HashMap是Java1.2引进的Map interface的一个实?
HashMap允许null作ؓ一个entry的key或者valueQ而Hashtable不允?
q有是QHashMap把Hashtable的containsҎL了,Ҏcontainsvalue和containsKey。因为containsҎҎ让h引v误解?
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是Q在
多个U程讉KHashtableӞ不需要自׃ؓ它的Ҏ实现同步Q而HashMap
必Mؓ之提供外同步?
Hashtable和HashMap采用的hash/rehash法都大概一P所以性能不会有很大的差异?
24、请说出StringBuffer?/SPAN>String的区?/SPAN>
String对象中的字符串是不可修改Q?/SPAN>StringcM对字W串q行操作的函数和操作W在内部都生成了临时?/SPAN>StringBuffer对象Q?/SPAN>StringBuffer对象才是真正对字W串q行操作的?/SPAN>Strings are constant,their values cannot be changed after they are created.