ibm碰到一个题,当时太紧张了,没想起来,一出来就后悔了,纯纪录一下
上楼梯,一次可以一阶或者两阶,有多少种方法
应该是一个数列
f(n)=f(n-1)+f(n-2)
斐波那契数列,递推公式略
java异常
runtime-exception和error是非检查的,也就是说不强行需要编程时处理
而其他异常时必须在编程时处理的。
数据库查询
如果需要查询需要查一张表里有另一张表里没有的,用左连结 is null的方式比not in这类的效率高
hashmap
注意哈希值冲突的时候会采用链表的方式来解决
http://www.iteye.com/topic/754887
这篇文章介绍的很详细
盛大是遇到的一道选择题
输出应该为ppp/bbb
b=that这里,建立了新对象,需要注意一下
time-wait
被问及,但之前真没遇到过,临时充电
[quote]根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收使用. 具体现象是对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多的多,严重影响服务器的处理能力,甚至耗尽可用的socket,停止服务. TIME_WAIT是TCP协议用以保证被重新分配的socket不会受到之前残留的延迟重发报文影响的机制,是必要的逻辑保证.[/quote]
对于mina服务器来说,覆盖IoHandlerAdapter的sessionCreated方法
就可以避免time_wait而直接close
上楼梯,一次可以一阶或者两阶,有多少种方法
应该是一个数列
f(n)=f(n-1)+f(n-2)
斐波那契数列,递推公式略
java异常
runtime-exception和error是非检查的,也就是说不强行需要编程时处理
而其他异常时必须在编程时处理的。
数据库查询
如果需要查询需要查一张表里有另一张表里没有的,用左连结 is null的方式比not in这类的效率高
hashmap
注意哈希值冲突的时候会采用链表的方式来解决
http://www.iteye.com/topic/754887
这篇文章介绍的很详细
盛大是遇到的一道选择题
public class Test1 {
String name;
public Test1(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
static void move(Test1 that, Test1 b) {
that.setName("ppp");
b = that;
}
public static void main(String[] args) {
Test1 a = new Test1("aaa");
Test1 b = new Test1("bbb");
move(a, b);
System.out.println(a.name + "///" + b.name);
}
}
输出应该为ppp/bbb
b=that这里,建立了新对象,需要注意一下
time-wait
被问及,但之前真没遇到过,临时充电
[quote]根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收使用. 具体现象是对于一个处理大量短连接的服务器,如果是由服务器主动关闭客户端的连接,将导致服务器端存在大量的处于TIME_WAIT状态的socket, 甚至比处于Established状态下的socket多的多,严重影响服务器的处理能力,甚至耗尽可用的socket,停止服务. TIME_WAIT是TCP协议用以保证被重新分配的socket不会受到之前残留的延迟重发报文影响的机制,是必要的逻辑保证.[/quote]
对于mina服务器来说,覆盖IoHandlerAdapter的sessionCreated方法
@Override
public void sessionCreated(IoSession session) throws Exception {
// TODO Auto-generated method stub
SocketSessionConfig cfg = (SocketSessionConfig) session.getConfig();
cfg.setReceiveBufferSize(2 * 1024 * 1024);
cfg.setReadBufferSize(2 * 1024 * 1024);
cfg.setKeepAlive(true);
cfg.setSoLinger(0); //这个是根本解决问题的设置
}
就可以避免time_wait而直接close