บทความ

กำลังแสดงโพสต์จาก สิงหาคม, 2011

synchronized block กับ synchronized method ต่างกันยังไง

บทความเกี่ยวกับ : synchronized block กับ synchronized method ต่างกันยังไง เคยมีคนถามมาว่า synchronized block  กับ synchronized method ต่างกันยังไง เวลาไปสัมภาษณ์งานคำถามนี้ก็มักจะถูกหยิบมาถามอยู่ประจำ อย่าว่าแต่ block หรือ method เลยครับเอาแค่คำว่า synchronized คืออะไรให้มันได้เสียก่อน synchronized  จะนำมาใช้เมื่อต้องการ Lock ให้ทำงานในขึ้นตอนใดเสร็จสิ้นเสียก่อน พูดง่ายๆคือถ้ามีการทำงานพร้อมๆกันหลาย Thread ถ้าถึงจุดที่ synchronized จะต้อง รอเพื่อทำงานทีละตัวๆ  ... ทำไมเราอธิบายได้งงขนาดนี้เนี่ย 55+ เข้าประเด็นเลยละกัน synchronized block  กับ synchronized method ขอสรุปสั้นๆ ตามนี้นะครับ synchronized method ->ถ้ามีหลายๆ Thread เรียก method นี้พร้อมกันคนละ instance มันจะไม่ Lock ครับ synchronized block -> สามารถกำหนดให้ Lock ที่ระดับ instance ได้ครับจะทำให้ Lock ได้ดั่งใจนึก เห่อพอแค่นี้ก่อนที่จะงงกันไปกว่านี้ T_T

สำภาษณ์งาน Java คำถาม Operator | กับ || ต่างกันยังไง

บทความเกี่ยวกับ : สำภาษณ์งาน Java คำถาม Operator | กับ || ต่างกันยังไง เอามาถามเล่นๆนะครับสมัยผมเดินหางานเคยเจอคำถามแบบนี้ เค้าก็ถามประมาณว่า 1. if( a==b || a==c) 2. if(a==b | a ==c ) สองบรรทัดนี้อันใหนถูก ผมตอบอย่างมั่นใจเลยครับว่า ข้อ 1 ถูก แต่ข้อสอง compile ไม่ผ่าน นั่นก็เป็นเพราะว่าประติแล้วผมจะเขียนแบบข้อ 1 ไม่เคยเขียนแบบข้อ 2 ข้อนี้ผมชิลๆ ครับมั่นใจมากพอตอบเสร็จก็เฉยๆนะครับคนถามเค้าก็ไม่ได้ว่าอะไร ไม่ได้บอกว่าถูกหรือผิดแต่ผลการสัมภาษณ์วันนั้นผมตกครับ เห่อๆ เซ็งมากเลยมานั่งลองเขียนดูตามที่เค้าถาม ผลปรากฏว่า พระเจ้า ข้อ 2 มันไม่ Error ครับ Run ได้ปรกติ ลองใช้  &  กับ && ก็ได้มีค่าเท่ากันครับ ถึงตอนนี้บอกตามตรงว่ายังไม่ได้คำตอบ แต่นึกย้อนไปทีไรก็รู้สึกอายตัวเองทุกที เพราะไปคุยไว้เยอะแล้วตอบแบบมั่นใจสุดๆ ผมว่าคนถามเค้าคงขำในใจอ่ะ เห่อๆ ชิลๆ

Java Array ปรกาศตัวแปร Array และการใช้งาน

บทความเกี่ยวกับ : Java Array ปรกาศตัวแปร Array และการใช้งาน หลายๆ คนจะงงกับการใช้งาน Array โดยเฉพาะน้องๆมือใหม่ที่เพิ่งหัดเขียน Array ถือเป็นของแสลงชั้นดี หุหุ Format การประกาศตัวแปร Array Datatype[] ชื่อตัวแปร = new Datatype[จำนวนช่อง]; Datatype ชื่อตัวแปร[] = new Datatype[จำนวนช่อง]; ได้ทั้งสองแบบน่อ ดูตัวอย่างได้เลยครับ package example.util; public class ArrayExample {     public void arraypExample(){         //Create Array         String arr[]=new String[10];                 //Store data to Array         arr[0]="0";         arr[1]="1";         arr[2]="2";         System.out.println("-- Example for Get Value from Array --");         System.out.println(arr[0]);         System.out.println(arr[1]);         System.out.println(arr[2]);         for(int i=0;i<arr.length;i++){             System.out.println("Loop "+arr[i]);         }     }     public static void main (String args[]){         Arra