1. 一般方法和静态方法加synchronized有什么不同?2.用java实现队列这种数据结构,如何做?3.如果让你实现hashmap,如何做?(难道让我写API?)

解决方案 »

  1.   

    1. 一般方法加synchronized表示同步的是this对象,而静态方法加synchronized则同步的是类对象this.getClass()
    2. 用容器类实现一个队列就可以了,提供入队、出队、读队头元素的等队列的方法就行了。
    3. 应当是如让你用容器类,不过可以用数组实现吧,我想就是数据结构中如何创建hash表的算法,你将c转换为java就可以了。
      

  2.   

    楼上,类对象就是代表一个类的对象,即Class类的实例
      

  3.   

    类对象是和实例对象相区别的,一个类在同一个jvm中可以有多个实例对象,但只会有一个类对象,通过类对象我们可以调用其静态成员或方法,但是不能访问其非静态成员和函数。就是你要自己写一个自定义的队列类,该类有入队、出队、读队头元素、判断队列长度等方法;用那个容器都可以的如Vector等。
      

  4.   

    就是实现一下HashMap的几个特征,考虑几个问题就好,如何存取元素,这个肯定要用到泛型;如何实现自增,还有就是实现一下HashMap类的几个典型方法。悄悄告诉你,实在不行就去看源码...
      

  5.   

    Shape.class.getClass();类对象调用方法获取实例对象..
      

  6.   


    也可以从内存中理解吧.类对象已经存在的,实例对象需要我们手动实例.第二个题的话我觉得用linkedlist比较适合
      

  7.   

    synchronized是线程互斥锁方面,一般方法+synchronized,同步的是this对象,而静态方法+synchronized,同步的是类对象this.getClass()