??xml version="1.0" encoding="utf-8" standalone="yes"?> tar解压tar.gz文gӞ中文文gҎq utf8Q正,往下取Q需要包括子文g夹,子文Ӟ涉及?/"{符L切割Q这个地Ҏ考虑中文 W一Q谈谈final, finally, finalize的区别?br />
W二QAnonymous Inner Class (匿名内部c? 是否可以extends(l承)其它c,是否可以implements(实现)interface(接口)? W三QStatic Nested Class ?Inner Class的不同,说得多好(面试题有的很W统)?br />
W四Q?amp;?amp;&的区别?br />
W五QHashMap和Hashtable的区别?br />
W六QCollection ?Collections的区别?br />
W七Q什么时候用assert?br />
W八QGC是什? Z么要有GC? W九QString s = new String("xyz");创徏了几个String Object? W十QMath.round(11.5){於多少? Math.round(-11.5){於多少? W十一Qshort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1; Qs1+1q算l果是int型,需要强制{换类型)short s1 = 1; s1 += 1;Q可以正编译) W十二,sleep() ?wait() 有什么区? W十三,Java有没有goto? W十四,数组有没有length()q个Ҏ? String有没有length()q个ҎQ?br />
W十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd? W十六,Set里的元素是不能重复的Q那么用什么方法来区分重复与否? 是用==q是equals()? 它们有何区别? W十七,l我一个你最常见到的runtime exception?/strong> 参考如下: W十八,error和exception有什么区? W十九,List, Set, Map是否l承自Collection接口? W二十,abstract class和interface有什么区? W二十一Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized? W二十二Q接口是否可l承接口? 抽象cL否可实现(implements)接口? 抽象cL否可l承实体c?concrete class)? W二十三Q启动一个线E是用run()q是start()? W二十四Q构造器Constructor是否可被override? W二十五Q是否可以承Stringc? W二十六Q当一个线E进入一个对象的一个synchronizedҎ后,其它U程是否可进入此对象的其它方? W二十七Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code会不会被执行Q什么时候被执行Q在return前还是后? W二十八Q编E题: 用最有效率的Ҏ出2乘以8{於? W二十九Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不? W三十,当一个对象被当作参数传递到一个方法后Q此Ҏ可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传? W三十一Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String? W三十二Q编E题: 写一个Singleton出来?br />
* 解压tar.gz文g
* tar文g只是把多个文件或文gҎ包合成一个文Ӟ本nq没有进行压~。gz是进行过压羃的文件?br /> * @param dir
* @param filepath
* @throws Exception
*/
public static void deGzipArchive(String dir, String filepath)
throws Exception {
final File input = new File(filepath);
final InputStream is = new FileInputStream(input);
final CompressorInputStream in = new GzipCompressorInputStream(is, true);
TarArchiveInputStream tin = new TarArchiveInputStream(in);
TarArchiveEntry entry = tin.getNextTarEntry();
while (entry != null) {
File archiveEntry = new File(dir, entry.getName());
archiveEntry.getParentFile().mkdirs();
if (entry.isDirectory()) {
archiveEntry.mkdir();
entry = tin.getNextTarEntry();
continue;
}
OutputStream out = new FileOutputStream(archiveEntry);
IOUtils.copy(tin, out);
out.close();
entry = tin.getNextTarEntry();
}
in.close();
tin.close();
}
遗留问题Q?br />
研究发现commpress包解压时QTarArchiveInputStreamcd中文未做处理Q进一步跟t,W一层是
据说ant没问?/p>
最后把面上的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
?lt;body>中加style="overflow-x:hidden" 可以了Q?br />
]]>
]]>
使用sitemesh建立复合视图
]]>
]]>
下蝲了三个插Ӟ分别是green,AmaterasUML_1.3.1,idafeuml.前面两个是下载的Q后面一个是通过eclipse的update manage下蝲的,我都把它们放C个单独的目录Q然后通过link方式加入到eclipse?br />
启动eclispse之后Q检查发现插仉安装成功Q但是点d标,都报错,报unable load class XXX错误Q检查了包\径,发现cȝ实在啊,是什么问题呢。后来发现是path路径讄的不对,指向的是jdk1.4。后来改为jdk5没问题啦?br />
l过单测?个都能够使用。不错。下一,再写写这三个使用的比较。先睡啦?br />
本来想用rose的。找了半天找不到免费的roseQ再说这东西又大又贵Q心血来潮Q用用免费的Q这东西技术含量也不是特别高,q嘛搞的那么高深非得用rose。无非就是画ȝ图,类图映ؓ代码?br />
]]>
final 用于声明属性,Ҏ和类Q分别表C属性不可变Q方法不可覆盖,cM可ѝfinally是异常处理语句结构的一部分Q表CL执行。finalize?Objectcȝ一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回Ӟ例如关闭文g{?/p>
可以l承其他cL完成其他接口Q在swing~程中常用此方式。
Static Nested Class是被声明为静态(staticQ的内部c,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部cd例化后才能实例化。
&是位q算W,表示按位与运,&&是逻辑q算W,表示逻辑与(andQ?
HashMap是Hashtable的轻量实现Q非U程安全的实玎ͼQ他们都完成了Map接口Q主要区别在于HashMap允许I(nullQ键|keyQ?׃非线E?a class="channel_keylink" target="_blank">安全Q效率上可能高于Hashtable.
Collection是集合类的上U接口,l承与他的接口主要有Set 和List.Collections是针寚w合类的一个帮助类Q他提供一pd静态方法实现对各种集合的搜索、排序、线E安全化{操作。
1.4新增关键字(语法Q,用于试boolean表达式状态,可用于调试程序。用方?assert
GC是垃圾收集的意思(Gabage CollectionQ?内存处理是编Eh员容易出现问题的地方Q忘记或者错误的内存回收会导致程序或pȝ的不E_甚至崩溃Q?a class="channel_keylink" target="_blank">Java提供的GC功能可以 自动监测对象是否过作用域从而达到自动回收内存的目的Q?a class="channel_keylink" target="_blank">Java语言没有提供释放已分配内存的昄操作Ҏ?
两个
Math.round(11.5)==12Math.round(-11.5)==-11roundҎq回与参数最接近的长整数Q参数加1/2后求其floor.
sleep是线E类QThreadQ的ҎQ导致此U程暂停执行指定旉Q给执行Zl其他线E,但是监控状态依然保持,到时后会自动恢复。调?sleep不会释放对象锁。wait是ObjectcȝҎQ对此对象调用waitҎD本线E放弃对象锁Q进入等待此对象的等待锁定池Q只有针Ҏ?象发出notifyҎQ或notifyAllQ后本线E才q入对象锁定池准备获得对象锁q入q行状态。
没有 很十三的问题Q如果哪个面试的问到q个问题Q我劝你q是别进q家公司?/p>
数组没有length()q个ҎQ有length的属性?br />
String有有length()q个Ҏ?/p>
Ҏ的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父cM子类之间多态性的一U表玎ͼ 重蝲Overloading是一个类中多态性的一U表现。如果在子类中定义某Ҏ与其父类有相同的名称和参敎ͼ我们说该Ҏ被重?(Overriding)。子cȝ对象使用q个ҎӞ调用子cM的定义,对它而言Q父cM的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方 法,它们或有不同的参C数或有不同的参数cdQ则UCؓҎ的重?Overloading)。Overloaded的方法是可以改变q回值的cd?/p>
Set里的元素是不能重复的Q那么用iterator()Ҏ来区分重复与否。equals()是判M个Set是否相等?br />
equals()?=Ҏ军_引用值是否指向同一对象equals()在类中被覆盖Qؓ的是当两个分ȝ对象的内容和cd盔R的话Q返回真倹{?/p>
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
error 表示恢复不是不可能但很困隄情况下的一U严重问题。比如说内存溢出。不可能指望E序能处理这L情况?br />
exception 表示一U设计或实现问题。也是_它表C如果程序运行正常,从不会发生的情况?/p>
ListQSet?br />
Map不是
声明Ҏ的存在而不d现它的类被叫做抽象类Qabstract classQ,它用于要创徏一个体现某些基本行为的c,qؓ该类声明ҎQ但不能在该cM实现该类的情c不能创建abstract cȝ实例。然而可以创Z个变量,其类型是一个抽象类Qƈ让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract cȝ子类为它们父cM的所有抽象方法提供实玎ͼ否则它们也是抽象cMؓ。取而代之,在子cM实现该方法。知道其行ؓ的其它类可以在类中实现这些方法?br />
接口QinterfaceQ是抽象cȝ变体。在接口中,所有方法都是抽象的。多l承性可通过实现q样的接口而获得。接口中的所有方法都是抽象的Q没有一?有程序体。接口只可以定义static final成员变量。接口的实现与子cȝ|除了该实现类不能从接口定义中l承行ؓ。当cd现特D接口时Q它定义Q即程序体l予Q所有这U接口的Ҏ?然后Q它可以在实C该接口的cȝM对象上调用接口的Ҏ。由于有抽象c,它允怋用接口名作ؓ引用变量的类型。通常的动态联~将生效。引用可以{换到 接口cd或从接口cd转换Qinstanceof q算W可以用来决定某对象的类是否实现了接口?/p>
都不?/p>
接口可以l承接口。抽象类可以实现(implements)接口Q抽象类是否可承实体类Q但前提是实体类必须有明的构造函数?/p>
启动一个线E是调用start()ҎQɾU程所代表的虚拟处理机处于可运行状态,q意味着它可以由JVM调度q执行。这q不意味着U程׃立即q行。run()Ҏ可以产生必须退出的标志来停止一个线E?/p>
构造器Constructor不能被承,因此不能重写OverridingQ但可以被重载Overloading?/p>
StringcLfinalcL不可以ѝ?/p>
不能Q一个对象的一个synchronizedҎ只能׃个线E访问?/p>
会执行,在return前执行?/p>
有C背景的程序员特别喜欢问这U问题?br />
2 << 3
不对Q有相同的hash code?/p>
是g递。Java ~程语言只由g递参数。当一个对象实例作Z个参数被传递到Ҏ中时Q参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变Q但对象的引用是永远不会改变的?/p>
switchQexpr1Q中Qexpr1是一个整数表辑ּ。因此传递给 switch ?case 语句的参数应该是 int?short?char 或?byte。long,string 都不能作用于swtich?/p>
Singleton模式主要作用是保证在Java应用E序中,一个类Class只有一个实例存在?br />
一般Singleton模式通常有几U种形式:
W一UŞ? 定义一个类Q它的构造函Cؓprivate的,它有一个static的private的该cd量,在类初始化时实例话,通过一个public的getInstanceҎ获取对它的引?l而调用其中的Ҏ?/p>
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; } } |