You find the following code in a file called Quiz.java
public class Question1{
public static void main(String[] args){ System.out.println("Code reached this point"); }
}
Does the code run?
No
Yes
Given the following block of code. public class Run { public Run(){ run_for_me(new Runnable(){ public void run(){ System.out.println("Running"); } }); } public static void main(String[] args){ new Run(); } public void run_for_me(Runnable run){ run.run(); }
} What gets printed on the console? (Note: The code might not be syntactically correct)
nothing
"Running"
Syntax error
Given the following code public class Run{
public static void main(String[] args){ System.out.println(1 << 1); }
What gets returned (if anything does)
1
2
0001
Syntax Error
Nothing
true
Given the following code: public class Run{
public static void main(String[] args){ int a = 1 + run(); System.out.println(a); }
public int run(){ return 1; }
What does the last line of code print?
private static final int ARRAY_SIZE = 12;
public Run(){ ARRAY_SIZE += 1; int h = ARRAY_SIZE + 2; }
What is the value of h
14
12
15
In parallel & concurrent software final state is a must
Which of the following blocks of code represent recursion?
public class Run{ public Run(){
recurse(1); }
public int recurse(int n){ if(n == 10){ return 10; }else{ recurse(n+1); } return 0; }
public class Run{ private int a = 0;
public Run(){
recurse(2); }
public void recurse(int n){ a = n; }
In parallel execution where memory is shared (and code "buggy") given the following piece of code async { x = x + 1 } async { x = x * 2 }
What are the possible values of x?
NOTE ( "async is not a valid call in Java however think of it as the two statements being run in parallel ).
2,1
2,1,0