challenge: What is the Java virtual machine?
  
  A. A physical computer that runs Java applications
  B. An abstract computer defined by a specification
  C. A type of programming language
  D. A part of the Java development kit
  Answer: 