Sebagian besar situs web di internet mengatakan:
"gunakan
javac
perintah untuk mengkompilasi.java
file. Kemudian jalankan dengan menggunakanjava
perintah"
Tapi hari ini saya mencoba menjalankan program java tanpa javac
dan saya mendapat hasil yang aneh.
Berikut adalah isi file yang disebut hello.java
:
public class Myclass {
public static void main(String[] args){
System.out.println("hello world");
}
}
Lalu aku berlari:
$ javac hello.java
Yang memberi saya kesalahan ini:
hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
^
1 error
Tetapi ketika saya menjalankannya tanpa javac
perintah, itu dieksekusi tanpa kesalahan.
$ java hello.java
hello world
Apakah java
perintah juga mengkompilasi program? Jika ya, mengapa kita membutuhkan javac
perintah?
Versi java saya adalah:
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM (build 12.0.2+10, mixed mode)
Myclass.java
dan kemudian dari baris perintah kompilasi seperti ini javac Myclass.java
dan kemudian jalankan seperti ini java Myclass
.
javac
masih digunakan untuk mengkompilasi jika Anda tidak ingin menyebarkan kode sumber, atau Anda memiliki lebih dari satu file ( dokumentasi dari java
: untuk opsi sumber-berkas Hanya digunakan untuk meluncurkan program sumber-file tunggal.)
javac
mengkompilasi sumber Java ke dalam bytecode spesifik JVM yang ditafsirkan dan java
perintah memuatnya di dalam ClassLoader JVM.