俺经历的Java面试题目
题目都很简单,但有时候让你用笔完整的写出来却不那么容易了.
1.遍历文件夹(被这个题目考了两次)
import java.io.File;
public class ListFile {
public static void main(String[] args) {
// TODO Auto-generated method stub
String path = "C:/Inetpub";
File f = new File(path);
list(f);
}
public static void list(File f){
if(f.isDirectory()){
File[] files = f.listFiles();//listFiles方法
for(int i= 0;i<files.length;i++)
list(files[i]);
}
else
System.out.println(f.getName());
}
}
2.2乘以8用高效的方法
2<<3 (笔试时候被我写成2<<<3,java里没这个运算符)
3.单例模式(这个也考了两次)
public class Singleton {
private static Singleton _intance = null;
private Singleton() {
}
public synchronized static Singleton getInstance() {
if (_intance == null) {
_intance = new Singleton();
}
return _intance;
}
public static void main(String[] args){
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2);
}
}
//synchronized 关键字老被我忘掉
4.观察者模式
http://ttitfly.javaeye.com/blog/152512 (这个写的比较简单易懂)
5.ClassLoader原理
http://blog.csdn.net/tang08/archive/2007/11/21/1896093.aspx
6.多线程 消费者以及生产者
//此例来自 http://java.chinaitlab.com/line/798695.html
import java.util.ArrayList;
import java.util.List;
//消费者
class Consume implements Runnable {
private List container = null;
private int count;
public Consume(List lst) {
this.container = lst;
}
public void run() {
while (true) {
synchronized (container) {
if (container.size() == 0) {
try {
// wait导致当前的线程等待,放弃锁,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法
container.wait();
} catch (InterruptedException e) {
e.pri
相关文档:
// 注册应用程序全局键盘事件, 所有的键盘事件都会被此事件监听器处理.
Toolkit tk = Toolkit.getDefaultToolkit();
tk.addAWTEventListener(new MyAWTEventListener(), AWTEvent.KEY_EVENT_MASK);
class MyAWTEventListener implements AWTEventListener {
private boolean controlPressed = fal ......
MD5算法是一种非常优秀的加密算法。
MD5加密算法特点:灵活性、不可恢复性。
介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Has ......
有时,我们在写一个构造函数时,经常因为它包含众多的参数而苦恼,这时可以考虑用Builder模式来创建对象。
如,我们要设计一个营养成份的类,包含能量,蛋白质,脂肪,钙,铁,锌,维生素A, 维生素B1 ... 等,但在构造的时候,不一定每次都需要这些参数,如钙,铁,锌和维生素等是可选的,为了适应多种可能的搭配,比 ......
=====================================
前言
在太原经历了一年的痛苦开发之后,项目已经日趋稳定,接下来的工作就是拿现有的代码到其他的省市进行实施、然后做一些本地化开发。日子相对轻松了许多,于是可以抽出时间来温习一下基础的技术知识,给自己列了一个复习提纲,这也是一个java程序员所应该掌握的知识脉络。
=== ......
正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持
下面简单的说下它的4种常用功能:
查询:
以下是代码片段:
String str="abc efg ABC";
String regEx="a|f"; //表示a或f
Pattern p=Pattern.compile(regEx);
Matcher m=p.matcher(str);
boolean rs=m.find();
如果str中有regEx,那么rs为tru ......