java有几个问题被面试到,谢谢

skyim 发布于 2013/11/22 11:25
阅读 632
收藏 4
1.怎么获取到当前JVM的线程数量
2.NIO的编程
3.怎么更好的设计,用编程 实现
A  调用 B (B1,B2,B3,B4,B5) ,A调用B,B会分发给B1,B2,B3,B4,B5中的一台,如何判断那台机器更好处理相应
4. synchronized 和 ReentrantLock 的底层实现的区别


有些问题记不清楚,但是这些问题不太会,谢谢

加载中
0
Grrrr
Grrrr

没google得情况下我试试:

1:我会说:ManagementFactory.getRuntimeMXBean();(不确定,因为我没有取过,但是我用这个取到过pid)

2:Non-Blocking-IO. 看过机制,重点喷下是基于管道的,以块为单位的,IO非阻塞操作机制。用过netty,再喷一下NIO的实现。

3:我会向动态LoadBalance的方向去(利用动态加权轮询),也就是在集群中挑选一个处理性能最好的节点。

4:盲区。。。我会喷下ReentrantLock可以一直lock();lock();unlock();unlock().....还有性能方面。

Grrrr
Grrrr
劝你别去。
skyim
skyim
谢谢,这是昨天晚上电话面试阿里巴巴的部分题目
0
lock_free
lock_free
http://blog.csdn.net/chen77716/article/details/6641477
skyim
skyim
非常感谢
0
狐狸糊涂
狐狸糊涂

1- 通过jstack打印出线程信息,然后grep + wc 统计一下即可。

4- 具体实现细节没看到那么深入,除了性能上的区别。Lock系列可以有各种try,wait和interrupte的功能,这个是sync没有的,另外Lock支持fair和unfair选项这个也是sync没有的。

skyim
skyim
谢谢回复
0
z
zoso

1.jstack

2.NIO提供了非阻塞模式,通过通道和缓冲区读写数据,它是基于事件模型,由select线程观察IO事件,然后通知用户进行读写等操作.

3.B上定义一个任务列表,根据每台机器现在的任务数目权衡机器负载.

4.实现细节不清楚,synchronized不能提供中断,条件锁等.lock的缺点在于有时候会忘记unlock.

返回顶部
顶部