1 请编写代码实现快速输出map里的键值对.
2 请写代码造成永久区溢出
3 请列举java中常见的几种远程调用方式,并说明应用场景
4 下面的代码大部分情况下没有问题,在什么情况下会有问题?为什么?
- Java code
public class Stack { LinkedList list = new LinkedList(); public synchronized void push(Object x){ synchronized(this){ list.addLast(x); notify(); } } public synchronized Object pop() throws Exception{ synchronized(this){ if(list.size() <= 0){ wait(); } return list.removeLast(); } } public static void main(String[] args) { }}
还有一个设计题,感觉非常不好处理~.改天发帖单独求教!
------解决方案--------------------
- Java code
1.for(Map.Entry<String, String> entry : map.entrySet()){ System.out.println(entry.getKey()+","+entry.getValue());}
------解决方案--------------------
1.不知道快速是要多快,直接遍历算快吗?(通过Entry对象)
2.永久区是指java虚拟机中的那个方法区吗?如果是那么你一直往运行时常量池里面放数据就好了。并且不要让他回收。
- Java code
List<String> list = new ArrayList<String>();int i = 0;while(true){ list.add(String.valueOf(i++).intern());}
------解决方案--------------------
看不懂呢
有待学习
------解决方案--------------------
------解决方案--------------------
顶一个
------解决方案--------------------
第四題貌似也沒啥問題,難道是加多了list溢出算問題?
------解决方案--------------------
if(list.size() <= 0) 需要改为 while(list.size() <= 0)
这里必用while 不能用if 否则产生所谓的虚假唤醒。
------解决方案--------------------
二楼的回答很不错呢
------解决方案--------------------