logo

CuriousTab

CuriousTab

Discussion


Home Java Programming Threads See What Others Are Saying!
  • Question
  • What will be the output of the program?
    class s implements Runnable 
    { 
        int x, y; 
        public void run() 
        { 
            for(int i = 0; i < 1000; i++) 
                synchronized(this) 
                { 
                    x = 12; 
                    y = 12; 
                } 
            System.out.print(x + " " + y + " "); 
        } 
        public static void main(String args[]) 
        { 
            s run = new s(); 
            Thread t1 = new Thread(run); 
            Thread t2 = new Thread(run); 
            t1.start(); 
            t2.start(); 
        } 
    }
    


  • Options
  • A. DeadLock
  • B. It print 12 12 12 12
  • C. Compilation Error
  • D. Cannot determine output.

  • Correct Answer
  • It print 12 12 12 12 

    Explanation
    The program will execute without any problems and print 12 12 12 12.

    More questions

    • 1. Which of the following are legal lines of code?

      1. int w = (int)888.8;
      2. byte x = (byte)1000L;
      3. long y = (byte)100;
      4. byte z = (byte)100L;

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. All statements are correct.
    • Discuss
    • 2. What will be the output of the program?
      int I = 0;
      label:
          if (I < 2) {
          System.out.print("I is " + I);
          I++;
          continue label;
      }
      

    • Options
    • A. I is 0
    • B. I is 0 I is 1
    • C. Compilation fails.
    • D. None of the above
    • Discuss
    • 3. What will be the output of the program?
      interface Foo141 
      { 
          int k = 0; /* Line 3 */
      } 
      public class Test141 implements Foo141 
      {
          public static void main(String args[]) 
          {
              int i; 
              Test141 test141 = new Test141(); 
              i = test141.k; /* Line 11 */
              i = Test141.k; 
              i = Foo141.k; 
          } 
      }
      

    • Options
    • A. Compilation fails.
    • B. Compiles and runs ok.
    • C. Compiles but throws an Exception at runtime.
    • D. Compiles but throws a RuntimeException at runtime.
    • Discuss
    • 4. What will be the output of the program?
      public class Test 
      {  
          public static void main(String args[]) 
          { 
              int i = 1, j = 0; 
              switch(i) 
              { 
                  case 2: j += 6; 
                  case 4: j += 1; 
                  default: j += 2; 
                  case 0: j += 4; 
              } 
              System.out.println("j = " + j); 
          } 
      }
      

    • Options
    • A. j = 0
    • B. j = 2
    • C. j = 4
    • D. j = 6
    • Discuss
    • 5. What will be the output of the program?
      Float f = new Float("12"); 
      switch (f) 
      {
          case 12: System.out.println("Twelve"); 
          case 0: System.out.println("Zero"); 
          default: System.out.println("Default"); 
      }
      

    • Options
    • A. Zero
    • B. Twelve
    • C. Default
    • D. Compilation fails
    • Discuss
    • 6. What will be the output of the program?
      for (int i = 0; i < 4; i += 2) 
      { 
          System.out.print(i + " "); 
      } 
      System.out.println(i); /* Line 5 */
      

    • Options
    • A. 0 2 4
    • B. 0 2 4 5
    • C. 0 1 2 3 4
    • D. Compilation fails.
    • Discuss
    • 7. What will be the output of the program?
      import java.util.*; 
      class I 
      {
          public static void main (String[] args) 
          {
              Object i = new ArrayList().iterator(); 
              System.out.print((i instanceof List)+","); 
              System.out.print((i instanceof Iterator)+","); 
              System.out.print(i instanceof ListIterator); 
          } 
      }
      

    • Options
    • A. Prints: false, false, false
    • B. Prints: false, false, true
    • C. Prints: false, true, false
    • D. Prints: false, true, true
    • Discuss
    • 8. What will be the output of the program?
      public class CommandArgs 
      {
          public static void main(String [] args) 
          {
              String s1 = args[1];
              String s2 = args[2];
              String s3 = args[3];
              String s4 = args[4];
              System.out.print(" args[2] = " + s2);
          }
      }
      
      and the command-line invocation is

      > java CommandArgs 1 2 3 4


    • Options
    • A. args[2] = 2
    • B. args[2] = 3
    • C. args[2] = null
    • D. An exception is thrown at runtime.
    • Discuss
    • 9. Which two statements are equivalent?

      1. 16*4
      2. 16>>2
      3. 16/2^2
      4. 16>>>2

    • Options
    • A. 1 and 2
    • B. 2 and 4
    • C. 3 and 4
    • D. 1 and 3
    • Discuss
    • 10. What two statements are true about properly overridden hashCode() and equals() methods?

      1. hashCode() doesn't have to be overridden if equals() is.
      2. equals() doesn't have to be overridden if hashCode() is.
      3. hashCode() can always return the same value, regardless of the object that invoked it.
      4. equals() can be true even if it's comparing different objects.

    • Options
    • A. 1 and 2
    • B. 2 and 3
    • C. 3 and 4
    • D. 1 and 3
    • Discuss


    Comments

    There are no comments.

Enter a new Comment