logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Garbage Collections See What Others Are Saying!
  • Question
  • When is the Float object, created in line 3, eligible for garbage collection?
    public Object m() 
    {  
        Object o = new Float(3.14F); 
        Object [] oa = new Object[l];
        oa[0] = o; /* Line 5 */
        o = null;  /* Line 6 */
        oa[0] = null; /* Line 7 */
        return o; /* Line 8 */
    }
    


  • Options
  • A. just after line 5
  • B. just after line 6
  • C. just after line 7
  • D. just after line 8

  • Correct Answer
  • just after line 7 

    Explanation
    Option A is wrong. This simply copies the object reference into the array.

    Option B is wrong. The reference o is set to null, but, oa[0] still maintains the reference to the Float object.

    Option C is correct. The thread of execution will then not have access to the object.


  • More questions

    • 1. Which two statements are true?

      1. Deadlock will not occur if wait()/notify() is used
      2. A thread will resume execution as soon as its sleep duration expires.
      3. Synchronization can prevent two objects from being accessed by the same thread.
      4. The wait() method is overloaded to accept a duration.
      5. The notify() method is overloaded to accept a duration.
      6. Both wait() and notify() must be called from a synchronized context.

    • Options
    • A. 1 and 2
    • B. 3 and 5
    • C. 4 and 6
    • D. 1 and 3
    • Discuss
    • 2. Which collection class allows you to grow or shrink its size and provides indexed access to its elements, but whose methods are not synchronized?

    • Options
    • A. java.util.HashSet
    • B. java.util.LinkedHashSet
    • C. java.util.List
    • D. java.util.ArrayList
    • Discuss
    • 3. Which of the following statements is true?

    • Options
    • A. In an assert statement, the expression after the colon ( : ) can be any Java expression.
    • B. If a switch block has no default, adding an assert default is considered appropriate.
    • C. In an assert statement, if the expression after the colon ( : ) does not have a value, the assert's error message will be empty.
    • D. It is appropriate to handle assertion failures using a catch clause.
    • Discuss
    • 4. Given a method in a protected class, what access modifier do you use to restrict access to that method to only the other members of the same class?

    • Options
    • A. final
    • B. static
    • C. private
    • D. protected
    • E. volatile
    • Discuss
    • 5. Which is a valid declaration within an interface?

    • Options
    • A. public static short stop = 23;
    • B. protected short stop = 23;
    • C. transient short stop = 23;
    • D. final void madness(short stop);
    • Discuss
    • 6. Which four options describe the correct default values for array elements of the types indicated?

      1. int -> 0
      2. String -> "null"
      3. Dog -> null
      4. char -> '\u0000'
      5. float -> 0.0f
      6. boolean -> true

    • Options
    • A. 1, 2, 3, 4
    • B. 1, 3, 4, 5
    • C. 2, 4, 5, 6
    • D. 3, 4, 5, 6
    • Discuss
    • 7. Which one of these lists contains only Java programming language keywords?

    • Options
    • A. class, if, void, long, Int, continue
    • B. goto, instanceof, native, finally, default, throws
    • C. try, virtual, throw, final, volatile, transient
    • D. strictfp, constant, super, implements, do
    • E. byte, break, assert, switch, include
    • Discuss
    • 8. Which three are legal array declarations?

      1. int [] myScores [];
      2. char [] myChars;
      3. int [6] myScores;
      4. Dog myDogs [];
      5. Dog myDogs [7];

    • Options
    • A. 1, 2, 4
    • B. 2, 4, 5
    • C. 2, 3, 4
    • D. All are correct.
    • Discuss
    • 9. What will be the output of the program?
      class SC2 
      {
          public static void main(String [] args) 
          {
              SC2 s = new SC2();
              s.start();
          }
      
          void start() 
          {
              int a = 3;
              int b = 4;
              System.out.print(" " + 7 + 2 + " ");
              System.out.print(a + b);
              System.out.print(" " + a + b + " ");
              System.out.print(foo() + a + b + " ");
              System.out.println(a + b + foo());
          }
      
          String foo() 
          {
              return "foo";
          }
      }
      

    • Options
    • A. 9 7 7 foo 7 7foo
    • B. 72 34 34 foo34 34foo
    • C. 9 7 7 foo34 34foo
    • D. 72 7 34 foo34 7foo
    • Discuss
    • 10. What will be the output of the program?
      class Test 
      {
          public static void main(String [] args) 
          {
              int x= 0;
              int y= 0;
              for (int z = 0; z < 5; z++) 
              {
                  if (( ++x > 2 ) || (++y > 2)) 
                  {
                      x++;
                  }
              }
          System.out.println(x + " " + y);
          }
      }
      

    • Options
    • A. 5 3
    • B. 8 2
    • C. 8 3
    • D. 8 5
    • Discuss


    Comments

    There are no comments.

Enter a new Comment