Java compilation targets: are Java programs compiled into portable bytecode that runs on a Java Virtual Machine (JVM)? Evaluate this foundational statement.

Difficulty: Easy

Correct Answer: Valid (Java source compiles to bytecode executed by the JVM)

Explanation:


Introduction / Context:
Java’s “write once, run anywhere” promise originates from compiling source code into a platform-neutral intermediate form called bytecode. This bytecode executes on any compatible Java Virtual Machine (JVM), enabling broad portability across operating systems and hardware.


Given Data / Assumptions:

  • The statement says Java programs are compiled into bytecode.
  • We focus on the standard javac toolchain and conventional deployment.
  • Alternative toolchains (for example, ahead-of-time native image) do not negate the general rule.


Concept / Approach:
The javac compiler converts .java files into .class files containing JVM bytecode. The JVM loads these classes, verifies them, and executes them using interpretation and/or just-in-time compilation. While newer technologies can compile Java to native binaries, the canonical model remains bytecode to JVM execution, which underpins Java’s portability and security model.


Step-by-Step Solution:

Write Java source (.java).Compile with javac to produce .class bytecode files.Run with java (the JVM) which loads and executes bytecode.Benefit from cross-platform portability through consistent JVM implementations.


Verification / Alternative check:
Inspect compiled output: .class files contain bytecode; tools like javap display bytecode instructions, confirming the compilation target.


Why Other Options Are Wrong:

  • Java does not “only” compile to native machine code; that is optional via specialized tools.
  • Bytecode applies broadly (apps, libraries, tests), not only applets or Android.


Common Pitfalls:
Confusing JVM bytecode with CPU-specific machine code; assuming Android uses standard JVM bytecode (Android uses DEX/ART but the principle of intermediate bytecode remains similar).


Final Answer:
Valid (Java source compiles to bytecode executed by the JVM)

More Questions from JDBC, Java Server Pages, and MySQL

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion