`
unbounder
  • 浏览: 174730 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

复习笔记4

    博客分类:
  • job
阅读更多
ibm碰到一个题,当时太紧张了,没想起来,一出来就后悔了,纯纪录一下
上楼梯,一次可以一阶或者两阶,有多少种方法
应该是一个数列
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
被问及,但之前真没遇到过,临时充电
引用
根据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不会受到之前残留的延迟重发报文影响的机制,是必要的逻辑保证.


对于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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics