About llun

Just a programmer
Author Archive | llun

Milestone ของปีนี้

ประมาณว่าปีนี้จะทำอะไรมั่ง จริงๆ แล้วคนอื่นเค้าจะเขียนไว้ต้นปี แต่นี่เอามาเขียนซะผ่านไปแล้ว 2 เดือน เริ่มทำงาน แหะๆ ^^! ซื้อหนังสือเพิ่ม Head first: Object oriented design and analysis ซื้อเมื่อเดือนที่แล้ว อ่านไปได้ครึ่งเล่มเองง่ะ ><” Head first: Design pattern สมัครงานแล้วโดนถามเกือบทุกที่ เอาวะ ซื้อมาอ่านซะเลย ให้รู้แล้วรู้รอด (จริงๆ ซื้อของ kpt มาแล้วเล่มนึง แต่ว่า หลังจากที่โดนถามเกี่ยวกับ Immutable pattern แล้วลองกลับมาเปิดหา ไม่มี งอนเลย ซื้อเพิ่มก็ได้ฟะ) จริงๆ มีหนังสืออาจารย์ซึงทั้งสามเล่มอีก แต่ไว้ก่อนละกัน ถ้ามันต้องใช้บ่อยๆ จริงๆ จะซื้อ (ตอนเรียนหละไม่ซื้อ กร๊าก) เช่าโฮสท์ เช่าโดเมนจริงๆ เสียที จะได้ย้ายจาก spaces อย่างถาวร ถ้าเป็นไปได้อาจจะจ่ายพร้อมหนังสือ [...]

Read full story Comments { 0 }

Java Finalize method

เออ เรียนจาวาผ่านมาได้ไงก็ไม่รู้แฮะ ไม่รู้จัก Method นี้ แย่จิง ที่จริงแล้วก็ไม่ได้เป็นอะไรที่แปลกใหม่เลย ถ้าใครผ่าน C มามันก็คือ free() นั่นเอง แต่ถ้าใครเขียน C++ ก็คงเจอ delete มาFinalize() คือ method ที่ใช้สำหรับคืน memory ให้กับระบบ แต่วิธีการคืนนั้นอาจจะต่างจาก C/C++ หน่อยเพราะ Java มี Garbage collector ที่จะทำงานในส่วนนี้ แต่ C/C++ คน เขียนโปรแกรมต้องเป็นคนสั่งเอง แต่เมื่อไหร่ที่มันจะทำงานหละ เนื่องจากมันคาดเดาไม่ได้ว่ามันจะถูกเรียกเมื่อไหร่ ทำให้คนเขียนโปรแกรมต่างๆ ต้องคอยระวังเพื่อไม่ให้ผลลัพธ์ที่เกิดขึ้นผิดพลาดคำถาม: เมื่อไหร่ Finalize จะทำงานอย่างแรกเลยมาดูการทำงานของ JVM กันก่อน JVM มีหน้าที่ในการรันคำสั่งต่างๆของโปรแกรมจาวา ซึ่งก็ได้แก้ โหลดคลาส นำคลาสออก สร้างวัตถุ หรือแม้แต่ทำลายวัตถุทิ้ง ซึ่ง JVM จะตรวจสอบว่าวัตถุใดควรจะเรียก finalize ได้แล้วนั้น [...]

Read full story Comments { 0 }

Immutable pattern and string

ตอนแรกที่เจอก็งงๆ ว่า String immutable ยังไง และอะไรคือ Immutable pattern แล้วก็เลยไปค้นเพิ่มเติมมาImmutable pattern เป็น pattern ที่สร้างขึ้นเพื่อให้ วัตถุ ไม่มีการเปลี่ยนค่า หลังจากสร้างขึ้นมา สำหรับจาวาแล้ว วิธีการที่จะทำแบบนี้ก็ง่ายมาก ใน คลาส กำหนด final ที่ property แล้วสร้าง constructor สำหรับการเก็บค่าที่กำหนดเท่านั้นก็เรียบร้อย เออมันง่ายแฮะ แล้วทำไม String ถึงต้องใช้ pattern แบบนี้หละ งั้นมาดูข้อดีของ Immutable pattern ดีกว่า วัตถุที่สร้างจาก pattern นี้เมื่อถูกส่งไปยังคลาสอื่นๆ แล้วไม่ต้องกลัวเลยว่า คลาสนั้นจะแก้ไขค่าในวัตถุ เนื่องจาก ไม่ต้องป้องกันการ copy ค่า ดังนั้น garbage collector ก็ทำงานน้อยลง ประสิทธิภาพก็ดีขึ้น นอกจากนี้ยังลดการใช้เนื้อที่ในหน่วยความจำด้วย การทำงาน ที่เกี่ยวข้องกับ concurency [...]

Read full story Comments { 0 }

String constant pool and why "MyString" == "MyString"

ช่วงนี้จาวาอาจจะเยอะหน่อย เนื่องจากเริ่มทำงานแล้วได้พวกนี้มาเรียนอื้อเลย >

Read full story Comments { 0 }

ทำงานกับจาวา

ทำงานมาได้สองวัน พร้อมกับเจออะไรมากมาย ที่ทำให้อึ้งว่ามีอยู่ด้วยหรอ เลยเขียนไว้ตรงนี้ก่อนละกัน เพราะถูกสั่งมาให้หาไปอธิบายวันอังคาร อันไหนหาแล้วรู้แล้วก็จะเขียนไว้ในนี้แหละ  String -> Immutable pattern -> ทำไม? http://www.javalobby.org/articles/immutable/index.jsp http://www.developer.com/java/other/article.php/10936_617931_1 http://www.acooke.org/andrew/immutable.html http://forum.java.sun.com/thread.jspa?threadID=607354&messageID=3307207 Constant pool -> (“MyString” == “MyString”) -> true -> ทำไม? http://wsjoung.wordpress.com/2006/11/26/string-constant-pool/ String manipulation -> “a” + “b” + s +”c” ความเร็วเท่ากับ -> new StringBuffer().append(“a”).append(“b”).append(s).append(“c”) -> เพราะ compiler แปลง byte code ให้อยู่ในรูปแบบเดียวกัน แต่ถ้า String เหล่านี้ไม่ได้ถูกเตรียมไว้ล่วงหน้าแล้ว StringBuffer จะเร็วกว่า Java Exception -> [...]

Read full story Comments { 1 }