ความคล้ายคลึงกัน: ทั้งสองเครื่องเป็นเครื่องเสมือน Java ที่ใช้ในการรันโปรแกรม Java
ข้อแตกต่าง: javaw.exe จะไม่ส่งออกข้อมูลคอนโซลเมื่อรันโปรแกรม หากคุณดับเบิลคลิกเพื่อเปิดไฟล์ jar (สมมติว่าตั้งค่าวิธีการเปิดไว้แล้ว) หน้าต่างคอนโซลจะไม่ปรากฏขึ้นเลย เพื่อรันโปรแกรมด้วยแบบฟอร์ม แอปพลิเคชัน "w" ในนั้นหมายถึงหน้าต่าง ดังนั้นถึงแม้ว่ามันจะไม่รายงานข้อผิดพลาดเมื่อรันโปรแกรมคอนโซล แต่ก็จะไม่แสดงผลลัพธ์ใดๆ ไม่มีปัญหาว่า java.exe จะรันโปรแกรมคอนโซลหรือโปรแกรมฟอร์มหรือไม่
การจำลองสถานการณ์ที่หนึ่ง:
เขียนโปรแกรมคอนโซลที่ง่ายที่สุด:
คัดลอกรหัสรหัสดังต่อไปนี้:
โมฆะคงที่สาธารณะ main (String [] args) {
System.out.println("สวัสดีชาวโลก!");
-
วิ่ง:
การจำลองสถานการณ์ที่สอง:
หากคุณกำลังรันโปรแกรมด้วย GUI:
1. หากคุณใช้ cmd เพื่อเปิดไฟล์ jar และมีรหัส System.out.println java.exe จะส่งออกตามปกติ แต่ javaw.exe จะไม่ส่งออก แต่หน้าต่างคอนโซลจะไม่หายไป
2. หากคุณเรียกใช้ไฟล์ jar ผ่านการ "คลิกขวา" --> "เปิดด้วย" จากนั้นการเปิดไฟล์ด้วย java.exe จะคงหน้าต่างคอนโซลไว้ แต่ javaw.exe จะไม่ปรากฏขึ้น ดังนั้นการรันโปรแกรมฟอร์มจึง โดยทั่วไป ทั้งสองใช้ javaw.exe
ตัวอย่างการใช้ java.exe หรือ javaw.exe:
java [-options] คลาส [args...]
(ใช้เพื่อรันไฟล์ bytecode ที่คอมไพล์แล้ว)
หรือ java [-options] -jar jarfile [args...]
(ใช้เพื่อรันไฟล์ jar ที่แพ็กเกจแล้ว)