俺经历的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 ......
Java Class Attribute Type Hibernate Type Possible SQL Type-Vendor Specific
Integer, int, long short &n ......
有时,我们在写一个构造函数时,经常因为它包含众多的参数而苦恼,这时可以考虑用Builder模式来创建对象。
如,我们要设计一个营养成份的类,包含能量,蛋白质,脂肪,钙,铁,锌,维生素A, 维生素B1 ... 等,但在构造的时候,不一定每次都需要这些参数,如钙,铁,锌和维生素等是可选的,为了适应多种可能的搭配,比 ......
一、使浏览器不缓存页面的过滤器
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 用于的使 Browser 不 ......