Java

เมื่อ Stop แล้วมันไม่จบ

เคยไหม เปิดหน้าเว็บเพื่อทำธุรกรรมบางอย่างแล้วรอนานมากจนกด Stop แล้ว Refresh เพื่อเริ่มใหม่?

สำหรับคนทั่วไปอาจจะคิดว่าเมื่อ Stop แล้วทุกอย่างจะจบพร้อมเริ่มใหม่เมื่อเรากด Refresh แต่จริง ๆ แล้วมันไม่ได้เป็นเช่นนั้นเลย

ความจริงที่เกิดขึ้นคือการ Stop ของเราเป็นแค่การหยุดรับผลลัพธ์ (HTTP Response ที่ถูกส่งกลับมา) แต่กระบวนการสร้างผลลัพธ์นั้นก็ยังคงดำเนินต่อไป

ตัวอย่างง่าย ๆ ลองเขียน Java Servlet หนึ่งตัวโดย Code ต่อไปนี้

try {
    this.getServletContext().log("Begin: " + Calendar.getInstance().toString());
    Thread.sleep(20 * 1000);
    // ... (Write something out to screen)
    throw new Exception();
} (Exception e) {
    this.getServletContext().log("End: " + Calendar.getInstance().toString());
}

จากตัวอย่าง Code ด้านบน จะเห็นว่ามีการหน่วงเวลาไว้ 20 วินาทีก่อนจะแสดงผลใด ๆ ออกทางหน้าจอ แต่หากเรากด Stop ไปที่ช่วงวินาทีที่ 15 แล้วอ่าน Log ของ Tomcat หลังจากนั้นซักพักใหญ่ เราจะพบทั้ง Begin และ End ใน Log นั่นจึงเป็นการพิสูจน์ได้ว่า เมื่อเกิดการ Request ขึ้นมา กระบวนการในการจัดการ Request จะถูกดำเนินการจนแล้วเสร็จโดยไม่สนว่าผู้รับ (ในกรณีนี้คือ Browser) จะอยู่รอรับผลหรือไม่

Java 6 สำหรับ Leopard มาเสียที

แต่สำหรับ Leopard นะ และต้องเป็นเครื่อง Intel ตระกูล 64-bit ด้วย (เครื่องเก่าของผม, PowerPC อด)

นี่เป็นแค่สัญญาณเริ่มต้นว่าเขายังทำอะไรอยู่บ้าง แม้จะดูว่ามันล่าช้าเกินไปก็ตามที แต่เล่นข้ามจาก DP1 มา DP8 เลย แสดงว่าเขาไม่ได้ปล่อยอะไรออกมาข้างนอกนานเหมือนกันนะ

ยังไม่มี Java 6 สำหรับ Leopard

ครับ รอแล้วรอเล่า (จริงๆ ผมก็อยากจะเขียน Java 6 ใจจะขาดเหมือนกัน แม้ว่าผมจะทำงานเกี่ยวกับ .NET ด้วยภาษา C# ก็เถอะ) จนในที่สุด Mac OS X Leopard ออกวางจำหน่าย

แต่สิ่งที่เห็นมาตั้งแต่ Beta จนถึง Golden Master ก็คือ มันไม่มีอะไรบ่งบอกถึงการมีตัวตนของ Java 6 บน Leopard เลย ที่เราเห็นล่าสุดคือ Developer Preview 1 ที่ออกเมื่อเดือนธันวาคมปีที่ผ่านมา (2006) และหลังจากนั้นก็เงียบครับ (และตอนนี้ก็หายไปจากหน้าเว็บของ Apple ไปแล้ว ไม่มีการพูดถึง Java อีกเลย)

ที่เว็บของคนรัก Java แห่งหนึ่งก็มีการพูดคุยถึงประเด็นนี้อย่างเผ็ดร้อนทีเดียว (ตามลิงก์ไปจะเจอ Quote ของ James Gosling ด้วย)

หรือคำพูดของ Jobs ในงาน Mac World เมื่อต้นปีจะเป็นเรื่องจริงนะ “Nobody uses Java anymore.” นี่เขาจะทิ้ง Java แล้วจริงๆ เหรอ???

มองในแง่ดี มีอีกเว็บหนึ่งที่พูดถึงเรื่องนี้แต่มองในมุมกลับ เขาพยายามบอกว่า “ใจเย็นๆ รออีกหน่อย มันเป็นปกติที่ Apple จะออก JDK มาตามหลัง Major OS Upgrade”

จริงๆ ตอนนี้ก็สมัครรับข่าวสารจาก Java Mailing List ของ ADC แล้ว เท่าที่อ่านๆ ดูก็ยังไม่มีการยืนยันมาว่าจะออกเมื่อไร มีแต่สิ่งที่หลุดออกมาจาก WWDC ว่า มันมาแน่หลังจาก Leopard ออก

Syndicate content