Answered Questions

  • Inter Thread Communication

    What are all the methods used for Inter Thread communication and what is the class in which these methods are defined?

    Star Read Best Answer

    Editorial / Best Answer

    maneesh.ce.2007  

    • Member Since Nov-2008 | Dec 15th, 2008


    There are three ways in which Threads communicate with each other :

    wait: It tells the calling thread to give up the monitor until some other thread enters the same monitor an calls Notify or Notifyall...

    notify: It wakes up the first thread that called Wait() on the same object...

    NotifyAll: It allows all the threads that called Wait() on the same object.The thread having the highest priority will run first...

    chakry

    • Nov 5th, 2011

    Why we use 'wait()' inside a synchronized method

    kutiarul

    • Nov 21st, 2009

    Three methods are used. They are1. wait() - makes one thread wait for some time till another thread is being executed2. notify() - makes one wait process into ready state process3. notifyall() - makes all the waiting processes into ready state processes

  • Object Creation

    In how many ways we can create an object? Explain with example.

    Star Read Best Answer

    Editorial / Best Answer

    vishrutha  

    • Member Since Feb-2009 | Feb 13th, 2009


    1. Using new keyword
    This is the most common way to create an object in java. I read somewhere that almost 99% of objects are created in this way.

    MyObject object = new MyObject();

    2. Using Class.forName()
    If we know the name of the class & if it has a public default constructor we can create an object in this way.

    MyObject object = (MyObject) Class.forName("subin.rnd.MyObject").newInstance();

    3. Using clone()
    The clone() can be used to create a copy of an existing object.

    MyObject anotherObject = new MyObject();
    MyObject object = anotherObject.clone();

    4. Using object deserialization
    Object deserialization is nothing but creating an object from its serialized form.

    ObjectInputStream inStream = new ObjectInputStream(anInputStream );
    MyObject object = (MyObject) inStream.readObject();

    5. Using class loader
    one more is through creation of object using classloader like

    this.getClass().getClassLoader().loadClass(”com.amar.myobject”).newInstance();

    Now you know how to create an object. But its advised to create objects only when it is necessary to do so.

    Max

    • Sep 7th, 2011

    All sorts of syntax sugar can also be named: 6. New String as a result of concatenation: String varName = getClass().getName(); //to avoid compile-time optimization String a = "Prefix" + varName; ...