ฉันได้แนะนำหนังสือการอ่านภาษา Java ให้คุณมาก่อน ต่อไปนี้คือการแนะนำคุณเกี่ยวกับแง่มุมที่จะเริ่มเรียนรู้ภาษา Java เนื้อหาเฉพาะมีดังนี้
1. พื้นฐานภาษา Java
เมื่อพูดถึงหนังสือเกี่ยวกับการเรียนรู้ภาษา Java ขั้นพื้นฐานทุกคนจะแนะนำ "Thinking in Java" ของ Bruce Eckel อย่างแน่นอน มันเป็นหนังสือทางเทคนิคที่ลึกซึ้งมากที่เขียนและโดยทั่วไปไม่มีหนังสือเล่มอื่นที่สามารถเอาชนะได้ในพื้นฐานของภาษา Java ผู้เขียนหนังสือเล่มนี้ Bruce Eckel เป็นที่รู้จักกันดีว่าเป็นผู้เก็งกำไรอัจฉริยะบนอินเทอร์เน็ต "Thinking in C ++" ของผู้เขียนได้รับรางวัลการพัฒนาซอฟต์แวร์ Jolt Award for Best Book ในปี 1995 "Thinking in Java" ได้รับการขนานนามว่า "ผู้อ่านที่ชื่นชอบหนังสือต้อนรับ" โดย Java World ในปี 1999 และได้รับรางวัล Book Preferred Book ของบรรณาธิการ ตั้งแต่ปี 1986 ผู้เขียนได้ตีพิมพ์บทความเทคโนโลยีคอมพิวเตอร์มากกว่า 150 บทความตีพิมพ์หนังสือ 6 เล่ม (4 เล่มเกี่ยวกับ C ++) และได้กล่าวสุนทรพจน์หลายร้อยครั้งทั่วโลก เขาเป็นนักเขียนแห่งความคิดใน Java คิดใน C ++, C ++ ภายในและออกโดยใช้ C ++ และการคิดในรูปแบบและยังเป็นบรรณาธิการของคอลเลกชัน Black Belt C ++ หนังสือของเขาเรียกว่า "หนังสืออ้างอิง Java ที่ดีที่สุด ... น่าตกใจอย่างแน่นอน" โดยผู้อ่าน; "ตัวเลือกที่ฉลาดที่สุดในการซื้อหนังสืออ้างอิง Java"; "คู่มือการเขียนโปรแกรมที่ดีที่สุดที่ฉันเคยเห็น" ความสามารถพิเศษของผู้เขียนและความสามารถทางภาษาที่ยอดเยี่ยมอย่างมากทำให้ผู้เขียนเลือกเป็นหนึ่งใน 10 ตัวละครที่มีความสัมพันธ์ที่ใกล้เคียงที่สุดกับ Java ในช่วง 10 ปีที่ผ่านมาของการพัฒนา Java
"Thinking in Java" บอกทุกแง่มุมของภาษา Java และทหารผ่านศึกภาษา Java หลายคนให้ความเห็นว่า "นี่เป็นหนังสือที่พูดภาษา Java ค่อนข้างน่าเกลียด" หนังสือเล่มนี้พูดถึงรายละเอียดมากมายเกี่ยวกับภาษา Java และแต่ละด้านค่อนข้างลึกซึ้ง ผ่านหนังสือเล่มนี้คุณสามารถเห็นภาษา Java "น่าเกลียด"
มีวิดีโอมากมายบนอินเทอร์เน็ตเกี่ยวกับคำอธิบายภาษา Java ซึ่งเป็นเรื่องแปลกที่เป็นขยะ "Weng Kai-Java Language" อาจเป็นทางเลือกเดียวของคุณสำหรับการเรียนรู้พื้นฐานภาษา Java การบรรยายนั้นมีการอธิบายโดยทั่วไปในหนังสือ "Thinking in Java" ซึ่งรวมถึงเรื่องตลกที่น่าสนใจมากมายจาก Teacher Weng ฉันโชคดีที่ได้เรียนรู้จากวิดีโอนี้ เนื้อหารวมถึงการบรรยาย 30 ครั้งและฉันดูทั้งหมด 3 ครั้ง
อย่างไรก็ตามสำหรับผู้เริ่มต้นฉันไม่แนะนำให้ใช้การคิดใน Java ฉันแนะนำ "Core Java 2" ของ Prentice Hall PTR ในประเทศจีนที่เรียกว่า "Java 2 Core Technology" ซึ่งปัจจุบันเป็นรุ่นที่เจ็ด ทุกคนสามารถดาวน์โหลดเวอร์ชันอิเล็กทรอนิกส์บนอินเทอร์เน็ต "Java in a Nutshell" ของ Oreilly ก็เป็นทางเลือกที่ดีเช่นกัน หลังจากอ่านหนังสือสองเล่มข้างต้นคุณสามารถดูวิดีโอของอาจารย์ Weng Kai จากนั้นศึกษา“ คิดใน Java”
2. โครงสร้างข้อมูล Java
มีหนังสือน้อยมากเกี่ยวกับโครงสร้างข้อมูล Java ในตลาด มี "คอลเล็กชั่น Java" ของ Apress, Jones และ Bartlett "โครงสร้างข้อมูลใน Java", "โครงสร้างข้อมูลเชิงวัตถุโดยใช้ Java" และ "โครงสร้างข้อมูลและอัลกอริทึมใน Java" ตีพิมพ์โดย Prentice Hall (Dec 19, 2005) และ "โครงสร้างข้อมูล โชคดีที่หนังสือภาษาอังกฤษเล่มแรกของฉันคือ "Java Collections" ของ Apress (หนังสือเล่มนี้อาจไม่มีเวอร์ชั่นภาษาจีนเลยในประเทศจีน แต่สามารถดาวน์โหลดเวอร์ชันภาษาอังกฤษได้เท่านั้น) มันดีมากและเป็นเรื่องปกติและเรียบง่าย มันเป็นหนังสือที่แนะนำ Java Collections API รวมถึงตัวอย่างที่กว้างขวางที่สุดของการขยาย API นี่เป็นหนังสือที่ดีเล่มเดียวที่ฉันแนะนำให้คุณเรียนรู้โครงสร้างข้อมูล Java ดูเหมือนว่าจะมีหนังสืออีกสองเล่มของ Jones และ Bartlett ในประเทศจีน หากคุณต้องการอ่านคุณสามารถอ่านได้
หลังจากเรียนรู้ API คุณสามารถดูคลาสที่เกี่ยวข้องในแพ็คเกจ Java.util อย่างไรก็ตามหลังจากเรียนรู้รูปแบบการออกแบบคุณสามารถเข้าใจกรอบคอลเลกชัน Java ทั้งหมดได้อย่างเต็มที่ เฟรมเวิร์กคอลเลกชัน Java ใช้รูปแบบการออกแบบที่มีชื่อเสียงมากมายเช่นโหมดตัววนซ้ำโหมดวิธีการโรงงานโหมดมัณฑนากรโหมดอะแดปเตอร์ ฯลฯ โดยการศึกษาซอร์สโค้ดของโครงสร้างข้อมูลในแพ็คเกจ Java.util คุณสามารถรู้การออกแบบคลาสคุณสมบัติที่น่าอับอายและอาจมีความสามารถในการออกแบบโครงสร้างข้อมูลที่เรียบง่าย
การเรียนรู้ที่เรียกว่าไม่มีที่สิ้นสุด หลังจากซันมีกรอบคอลเล็กชั่น Java หลังจากเรียนรู้คุณสามารถศึกษากรอบคอลเล็กชั่น Java อีกอันหนึ่งของ Apche ซึ่งน่าสนใจมาก สองเฟรมเวิร์กที่เติมเต็มซึ่งกันและกัน
ก่อนที่คุณจะเรียนรู้และศึกษาคอลเลกชัน Java ฉันอยากจะเตือนคุณว่าคอลเลกชัน Java ส่วนใหญ่จะรวมสามส่วนต่อไปนี้: อินเตอร์เฟสการใช้งานและอัลกอริทึม
1. อินเทอร์เฟซหลักคือรายการตั้งคิวและแผนที่ รายการ SE T และ QUEUE เป็นส่วนหนึ่งของอินเทอร์เฟซคอลเลกชัน
2. การใช้งานส่วนใหญ่ใช้คลาสเฉพาะที่ใช้อินเทอร์เฟซเหล่านี้ เช่น ArrayList, LinkedList, Stack และ Vector ที่ใช้งานอินเตอร์เฟสรายการ; HashSet, Treeet และ LinkedHashset ใช้งานอินเตอร์เฟสชุด PriorityQueue, Synchronousqueue ฯลฯ การใช้อินเทอร์เฟซคิว; HashMap, Treemap, Hashtable, คุณสมบัติ, WeakhashMap ฯลฯ การใช้งานอินเตอร์เฟส MAP
3. อัลกอริทึมส่วนใหญ่จัดทำโดยคลาสอาร์เรย์และคลาสคอลเลกชัน มันเป็นแกนหลักของอัลกอริทึม Framework Java Collection ทั้งหมด รองรับการดำเนินงานทั่วไปเช่นการเรียงลำดับและการค้นหาประเภทต่างๆ
คอลเลกชัน Java มีโครงสร้างข้อมูลสองรุ่นส่วนใหญ่เป็นโครงสร้างข้อมูลดั้งเดิมที่รองรับการซิงโครไนซ์และโครงสร้างข้อมูลที่ไม่รองรับการซิงโครไนซ์ในภายหลัง
เฟรมเวิร์ก Java Collection รองรับการเรียงลำดับโดยใช้ตัวเปรียบเทียบและอินเทอร์เฟซที่เปรียบเทียบได้ ตัววนซ้ำและ enumeraton มีให้ทั้งรุ่นใหม่และเก่ารวมถึงวิธีการแปลง ฯลฯ
คลาสอินเตอร์เฟสที่สังเกตได้และคลาส Observer ในแพ็คเกจ Java.util เป็นแกนหลักของรูปแบบผู้ตรวจสอบ
-
3. Java Io
มีหนังสือเพียงสองเล่มใน IO ในตลาดซึ่งทั้งสองเล่มเป็นผลงานของ Elliotte Rusty Harold สไตล์ของหนังสือสองเล่มนั้นเหมือนกัน การอ่านที่แนะนำเป็นฉบับแรกของ "JVava I/O" โดยย่อเนื้อหาค่อนข้างเข้มข้นและมีตัวอย่างมากมาย ฉบับที่สองได้รับการตีพิมพ์ในต่างประเทศในเดือนพฤษภาคมปีนี้ ฉันโชคดีมากที่ได้ดาวน์โหลดฉบับที่สองบนอินเทอร์เน็ต มันมีรายละเอียดมากและ 726 หน้าของชายร่างใหญ่ (ฉันใช้มันมาสองสัปดาห์แล้ว) ครั้งนี้ฉันรวม Nio และ IO เข้าด้วยกันรวมถึงส่วน J2ME อย่างไรก็ตามชิ้นส่วนการสื่อสารแบบอนุกรมและแบบขนานดูเหมือนจะไม่เพียงพอสำหรับห้องสมุดชั้นเรียนและไม่สามารถใช้งานได้ด้วยตัวเอง
Oreilly พร้อมกับ "Jvava I/O" เวอร์ชันแรกนั้นมี "Jvava Nio" ซึ่งก็ดีมากเช่นกัน
หลังจากอ่าน "JVAVA I/O" และ "JVAVA NIO" ในทางกลับกันคุณสามารถศึกษาซอร์สโค้ดในแพ็คเกจ Java.io ก่อนที่คุณจะศึกษาซอร์สโค้ดฉันจะให้คำแนะนำแก่คุณ:
แพ็คเกจ IO ของ Java ส่วนใหญ่ประกอบด้วย:
1. สองสตรีม: สตรีมไบต์และสตรีมอักขระ ลำธารทั้งสองนี้ไม่ได้เรียกว่า "ผู้แทนที่ผู้ที่ดีกว่าใครดีกว่าใครพวกเขาเติมเต็มซึ่งกันและกัน แต่โฟกัสแตกต่างกัน
2. สมมาตรสองประเภท: 1. สมมาตรของลำธารไบต์และสตรีมอักขระ; 2. สมมาตรของอินพุตและเอาต์พุต
3. บริดจ์: InputStreamReader และ OutputStreamWriter ที่แปลงสตรีมไบต์เป็นสตรีมอักขระ
ในหมู่พวกเขาคุณต้องให้ความสนใจกับ:
1. PipedInputStream และ PipedOutputStrem เป็นคลาสที่น่าสนใจอีกสองคลาส
2. การไหลที่รองรับบัฟเฟอร์เป็นคลาสที่เรามักจะใช้
3. แอปพลิเคชั่นที่มีชื่อเสียงที่สุดของรูปแบบมัณฑนากรในชวาคือการออกแบบของ IO ศึกษาความสัมพันธ์ระหว่างสตรีมตัวกรองแต่ละตัวอย่างรอบคอบและสตรีมเฉพาะและอ่านหนังสือเพิ่มเติมเกี่ยวกับรูปแบบการออกแบบ ฉันเชื่อว่าคุณจะได้รับบางสิ่งบางอย่าง
4. การเรียนรู้แพ็คเกจ IO ที่ดีเป็นพื้นฐานสำหรับการศึกษาแพ็คเกจสุทธิแพ็คเกจ RMI ... !
4. ฐานข้อมูล Java
มีหนังสือมากเกินไปในฐานข้อมูลและมันก็แย่เกินไป! ฉันได้ศึกษาหนังสือประเภทนี้โดยทั่วไป หากคุณแนะนำคุณสามารถตรวจสอบ "JDBC สูตรอาหาร JDBC ของ APREES APPES เป็นวิธีแก้ปัญหา" ซึ่งดีมาก มันถูกตีพิมพ์ในต่างประเทศเมื่อปลายปี 2548 (ดูเหมือนว่าไม่มีเวอร์ชั่นจีนในประเทศจีน แต่ก็ไม่คุ้มค่าที่จะอ่านเมื่อมีการปล่อยตัวในประเทศจีนจีนมักจะแปลหนังสือต่างประเทศอย่างยุ่งเหยิงและไม่น่าดู) แต่เราโชคดีจริงๆที่มีรุ่นอิเล็กทรอนิกส์บนอินเทอร์เน็ต คุ้มค่า ฉันแนะนำหนังสือเล่มแรก "Java Database Bible" เผยแพร่โดย Wiley ที่ฉันพอใจซึ่งเขียนได้ดีมาก! "JDBC API Tutorial and Regnece" ที่แนะนำโดย บริษัท ของ Sun เกี่ยวกับ JDBC API ก็ดีเช่นกัน หนังสือ JDBC เล่มที่สองของฉันคือ API ที่ฉันศึกษา
อย่างไรก็ตามหนังสือเหล่านี้เป็นแอพพลิเคชั่น API ที่ค่อนข้างผิวเผิน หากคุณมีโอกาสฉันจะนำหนังสือมาให้คุณแนะนำ JDBC API และรายละเอียดภายในของการใช้งาน JDBC! ฉันจะทำงานหนักโดยเร็วที่สุดและหวังว่าจะได้รับการสนับสนุนจากทุกคน!
โดยวิธีการที่ฉันต้องการให้คำแนะนำกับเพื่อนที่เรียน JDBC:
การเรียนรู้และการใช้ JDBC ส่วนใหญ่ขึ้นอยู่กับชุด APIs นี้และกระบวนการใช้ก็ง่ายมาก ต่อไปนี้เป็นกระบวนการทั่วไปของการใช้ JDBC:
1. โหลดไดรเวอร์ (คลาสไดรเวอร์) ของฐานข้อมูลโดยปกติจะใช้ class.forName ("ชื่อคลาสไดรเวอร์");
2. เชื่อมต่อกับฐานข้อมูล
การเชื่อมต่อ con = drivermanager.getConnection (URL, ชื่อผู้ใช้, รหัสผ่าน);
3. รับคำสั่งเซสชัน stmt = con.createStatement ();
4. ดำเนินการผลการดำเนินการ rs = stmt.executeQuery ("คำสั่งค้นหา SQL");
5. ผลการประมวลผล
ในขณะที่ (rs.next ()) {
สตริง col1 = rs.getString (1);
-
-
มันง่าย! สิ่งที่สามารถเปลี่ยนแปลงได้ใน JDBC ทั้งหมดคือโดยทั่วไป:
1. คำสั่ง PreparedStatement และ Callablestatement สามารถสร้างได้จากวัตถุการเชื่อมต่อ
2. คุณสามารถสร้างชุดผลลัพธ์หลายประเภท: รองรับการเคลื่อนไหวทางเดียวและการเคลื่อนไหวฟรี อัปเดตและไม่อัปเดต สนับสนุนการทำธุรกรรมในระดับต่าง ๆ ...
3. การประมวลผลแบทช์ของอินพุตข้อมูล
4. การดำเนินการของคอลัมน์ที่มีประเภทพิเศษ (หยด, clob, arrary, ref, struct) ในชุดผลลัพธ์
5. ฐานข้อมูลรายการพิเศษเหล่านี้
6. การทำงานของชุดผลลัพธ์พิเศษ (CacheDrowset, JdBcrowset, Webrowset) ในแพ็คเกจ javax.sql
7. อีกอันหนึ่งเป็นแหล่งข้อมูลซึ่งก็ง่ายมาก! วัตถุที่ได้รับการจัดการใน J2ee
มันง่าย! ฉันเชื่อว่าทุกคนจะพิชิต JDBC เร็ว ๆ นี้
5. การเขียนโปรแกรมเครือข่าย Java
การเขียนโปรแกรมเครือข่ายเป็นทิศทางที่ลึกลับและท้าทาย อย่างไรก็ตามก่อนที่จะพูดคุยเกี่ยวกับการเขียนโปรแกรมเครือข่าย Java เราขอขอบคุณนักพัฒนา Sun เพราะความคิดอัจฉริยะและสถาปัตยกรรมอัจฉริยะทำให้ง่ายมากสำหรับโปรแกรมเมอร์ Java ที่จะเรียนรู้การเขียนโปรแกรมเครือข่าย Java
สำหรับหนังสือการเขียนโปรแกรมเครือข่าย Java ฉันขอแนะนำ "Java Network Programming" ของ O'Reilly มันเป็นรุ่นที่สามและเวอร์ชันก่อนหน้าจะต้องวางจำหน่ายในตลาด! มีรุ่นอิเล็กทรอนิกส์ที่สามบนอินเทอร์เน็ตเผยแพร่ในต่างประเทศในปี 2004, 706 หน้า! มันครอบคลุมมากและลึกซึ้ง ถ้ามันลึกเกินไปอาจเป็นเพราะบางสิ่งในดวงอาทิตย์ไม่ได้เปิดเผยอย่างเต็มที่ดังนั้นจึงเป็นการยากที่จะพูดคุย หากคุณสนใจคุณสามารถดาวน์โหลดและดูได้! หนังสือเล่มที่สองคือ "Java Distributed Computing" เผยแพร่โดย O'Reilly ในปี 1998 ส่วนพื้นฐานถูกเขียนขึ้นอย่างละเอียดและตัวอย่างที่ตามมายังคงคุ้มค่าที่จะศึกษา
ก่อนที่คุณจะอ่านหนังสือเหล่านี้ฉันอยากให้คำแนะนำแก่คุณ:
การเขียนโปรแกรมเครือข่าย Java นั้นค่อนข้างง่ายและมันก็เร็วมากที่จะเริ่มต้น การเขียนโปรแกรมเครือข่าย Java ส่วนใหญ่มีสองส่วน: 1.socket; 2. ส่วนที่ อย่างไรก็ตามส่วนที่สองนั้นขึ้นอยู่กับส่วนแรกอย่างสมบูรณ์
1.Socket มีซ็อกเก็ตไคลเอนต์และเซิร์ฟเวอร์เซิร์ฟเวอร์ นอกจากนี้ยังมี DataGramsocket และ DataGrampacket ซึ่งสอดคล้องกับโปรโตคอลการสื่อสาร UDP ในระยะสั้นซ็อกเก็ตส่วนเป็นพื้นฐานสำหรับการสร้างโปรโตคอลระดับสูงอื่น ๆ
2. คลาส URL เป็นตัวระบุตำแหน่งทรัพยากรเครือข่ายซึ่งมักจะเกี่ยวข้องกับโปรโตคอลเครือข่ายเฉพาะเช่น HTTP, FTP, Telnet ... คลาสนี้สามารถเชื่อมต่อทรัพยากรบนเครือข่ายและ OpenStream สามารถอ่านทรัพยากรเครือข่ายในรูปแบบของสตรีม (อินพุตสตรีม) ในแพ็คเกจ IO; ด้วยวิธีการเชื่อมต่อ openconnection สามารถเปิดการเชื่อมต่อและไม่เพียง แต่การดำเนินการอ่านจะเสร็จสมบูรณ์ แต่ยังสามารถดำเนินการเขียนได้
การเขียนโปรแกรมเครือข่ายของ Java โดยทั่วไปจะมีสองส่วนข้างต้น การเขียนโปรแกรมเครือข่ายอยู่ใกล้กับ IO และชิ้นส่วนมัลติเธรด ก่อนที่จะเรียนรู้ส่วนนี้คุณต้องมีความเข้าใจอย่างถ่องแท้เกี่ยวกับทั้งสองส่วนนี้
หลังจากเรียนรู้ส่วนข้างต้นคุณสามารถศึกษาซอร์สโค้ดที่เกี่ยวข้องกับสิ่งนี้ในแพ็คเกจ java.net! มันเร็วเกินไปที่จะศึกษาซอร์สโค้ดทั้งหมด แพ็คเกจ NET ทั้งหมดรวมถึง: ContentHandlerFactory, URLStreamHaLfactory, URLStreamHandler, URLClassLoader และคลาสเสริมอื่น ๆ พวกเขาสร้างกรอบการเขียนโปรแกรมเครือข่าย java.net ด้วยการศึกษาซอร์สโค้ดคุณไม่เพียง แต่เข้าใจแพ็คเกจ java.net อย่างรวดเร็ว แต่ยังวางรากฐานสำหรับการขยายแพ็คเกจในอนาคตและยังใช้วิธีคิดนี้กับโครงการของคุณเอง
จนถึงตอนนี้คุณควรรู้เพียง 60% ของแพ็คเกจ Java.net เท่านั้น นอกจากนี้ยังมีส่วนหนึ่งที่คุณสามารถใช้ซอฟต์แวร์ decompiler เช่น JDECompiler เพื่อเปิด RT.JAR ในไดเรกทอรี/JDKXXX/JRE/LIB ในไดเรกทอรีการติดตั้ง JDK ของคุณใช้ซอฟต์แวร์เช่น WinRAR เพื่อเปิดแพ็คเกจ Sun.net และถอดรหัสไฟล์ทั้งหมด มันเป็นรายละเอียดของการทำงานในชั้นเรียน URL หลังจากศึกษาแพ็คเกจ Sun.net คุณจะคุ้นเคยกับการเขียนโปรแกรมเครือข่ายทั้งหมด
ทุกอย่างดูเหมือนจะมีความรอบรู้ในการเขียนโปรแกรมเครือข่าย ที่จริงแล้วมันไม่ใช่กรณี เป็นเพียงจุดเริ่มต้น หากคุณต้องการลึกลงไปโปรดดำเนินการต่อ! ไลบรารีการเขียนโปรแกรมเครือข่ายที่ยอดเยี่ยมมากมายและซอฟต์แวร์บนอินเทอร์เน็ตสามารถ "เพิ่มทักษะ" ให้เราได้ ตัวอย่างเช่น HTTPCORE และ HTTPCONNECTION ของ APACHE ของ APACHE เป็นห้องสมุดสองห้องที่เกี่ยวข้องกับโปรโตคอล HTTP JGroups เป็นห้องสมุดที่ต้องอ่านสำหรับการศึกษาการสื่อสารแบบกระจายและการสื่อสารกลุ่ม จากนั้นเราสามารถศึกษาแพ็คเกจซอฟต์แวร์ P2P เช่น JXTA ของ Sun ซึ่งอาจเป็นมาตรฐานในอนาคตสำหรับการสื่อสารแบบจุดต่อจุดบนแพลตฟอร์ม Java! จากนั้นคุณสามารถค้นคว้าและใช้ซอฟต์แวร์ P2P ที่เป็นผู้ใหญ่มาก Azureus! www.sourceforge.net สามารถดาวน์โหลดได้!
การเดินทางหนึ่งพันไมล์เริ่มต้นด้วยขั้นตอนเดียว! แค่ทำมัน! (ในปัจจุบันฉันได้ศึกษาเฉพาะแพ็คเกจสุทธิและคนอื่น ๆ จะยังคงลึกซึ้งยิ่งขึ้นในอนาคตอันใกล้ซันไม่ได้เปิดเผยรายละเอียดการใช้งานอื่น ๆ ของเน็ตด้วยเหตุผลบางอย่างเมื่อมันอนุญาตให้มีการศึกษาซอร์สโค้ดในรูปแบบข้อความ
6. Servlet และ JSP
หนังสือ Servlet และ JSP ก็มีอยู่ทุกที่! มีหนังสือเพียงสองหรือสามเล่มที่ควรค่าแก่การแนะนำ ฉันขอแนะนำให้ Addison Wiley ของ "Servlets and Javaserver หน้า: J2EE Technology Web Tier" อีกเล่มที่หนามาก! ตีพิมพ์ในต่างประเทศในปี 2546, 784 หน้ามีการอธิบายในวิธีที่ค่อนข้างครอบคลุมและมีตัวอย่างมากมายโดยเฉพาะบทที่ 8 กรองซึ่งให้ตัวอย่างที่ดี หนังสือเล่มอื่น ๆ ทั้งหมดที่ฉันเคยเห็นเกี่ยวกับ Servlets และ JSP ไม่ได้เจาะลึก! (อาจเป็นได้ว่าฉันไม่ได้เห็นมัน) "Java Servlet Programming" ของ O'Reilly และ "หน้าเซิร์ฟเวอร์ Java" ค่อนข้างเข้าใจง่ายคุณสามารถอ่านได้!
ก่อนที่คุณจะเรียนรู้ Servlet และ JSP ฉันยังต้องการเตือนคุณ:
ในสาระสำคัญ servlet เป็นเพียงโปรแกรมที่ใช้อินเตอร์เฟส servlet และถูกปรับใช้ในฝั่งเซิร์ฟเวอร์! มันสามารถเขียนได้เช่นการเขียนแอปพลิเคชัน Java อื่น ๆ สามารถใช้งานฐานข้อมูลใช้งานไฟล์ในเครื่องและเชื่อมต่อกับ EJBS ในเครื่อง ... กระบวนการทั่วไปสำหรับการเขียนโปรแกรม servlet คือ:
1. สืบทอดคลาส HTTPSERVLET;
2. เขียนทับวิธี doGet และ dopost;
3. พารามิเตอร์วิธีการทำงานภายใน HttpservletRequest และ HttpservletResponse ดำเนินการบนวิธีการแทนที่
4. ใช้ httpservletrequest เพื่ออ่านคำขอ การใช้ HTTPSERVLETREQUEST คุณสามารถใช้งานส่วนหัวโปรโตคอลของโปรโตคอล HTTP ได้รับวิธีการดำเนินการของคำขอรับเส้นทางของคำขอรับสตริงของคำขอและข้อมูลที่เกี่ยวข้องกับไคลเอนต์ที่ร้องขอ ที่สำคัญคุณสามารถรับวัตถุทั้งสอง: คุกกี้และ httpsession
5. การใช้คุกกี้คุณสามารถใช้งานวัตถุ "ที่รัก" หรือเขียนลงใน httpservletResponse
6. คุณสามารถใช้ httpservletresponse เพื่อส่งออกข้อมูลให้กับลูกค้า ใช้ httpservletResponse เพื่อเขียนส่วนหัวโปรโตคอลประเภทต่างๆเพิ่มคุกกี้เปลี่ยนเส้นทาง URL อื่น ๆ และส่งรหัสสถานะของโปรโตคอล HTTP ไปยังลูกค้า
7. ใช้ httpsession เพื่อทำฟังก์ชั่นใด ๆ ที่คุณต้องการใช้ภายในเซสชัน
ในเวลาเดียวกัน Servlet ยังมีผู้ฟังเหตุการณ์และเหตุการณ์ (เพียงแค่โหมดผู้สังเกตการณ์ง่าย ๆ ) นอกจากนี้ยังมีการใช้งานสตรีมอย่างง่ายและการใช้โหมดการตกแต่งของตัวกรอง (ตัวกรอง) และ wrappers (ServletRequestWrapper, ServleSponSewrapper)
การเรียนรู้ Sevlets และ JSPS จะต้องปรับใช้กับเซิร์ฟเวอร์เพียงจำขั้นตอนและพารามิเตอร์ของการปรับใช้ไฟล์ปกติและวิธีการใช้งานในโปรแกรม
หลังจากเข้าใจ Servlet อย่างเต็มที่มันค่อนข้างง่ายที่จะเรียนรู้ JSP! JSP ขึ้นอยู่กับ Servlets ทั้งหมดและเป็นเพียงการตอบสนองต่อโปรแกรมเมอร์ที่ชอบฝังสคริปต์ในเอกสาร HTML (เช่นภาษาการเขียนโปรแกรมเว็บเช่น PHP)! เรียนรู้ง่ายมาก!
ทุกอย่างดูสงบและเรียนรู้ง่าย! มีกลไกที่ซับซ้อนอยู่เบื้องหลังการปรากฏตัวง่าย ๆ ในการศึกษา Servlets และ JSP อย่างละเอียดคุณต้องศึกษาการใช้งานซอฟต์แวร์โอเพนซอร์สเช่น Tomcat ไม่มีอะไรมากไปกว่าเซิร์ฟเวอร์ หลังจากไคลเอนต์ใช้หน้าเว็บเพื่อส่งคำขอไปยังเซิร์ฟเวอร์ผ่านโปรโตคอล HTTP เซิร์ฟเวอร์จะแปลงคำขอ HTTP เป็นวัตถุ HTTPSERVLETREQUEST ที่สอดคล้องกันและเรียกเซิร์ฟเล็ตที่คุณเขียน ใน servlet ของคุณคุณต้องดำเนินการ httpservletrequest นี้และในเวลาเดียวกันดำเนินการ httpservletresponse เซิร์ฟเวอร์จะใช้โปรโตคอล HTTP เพื่อส่ง httpservletResponse นี้ไปยังเบราว์เซอร์ของคุณตามข้อกำหนดของโปรโตคอล HTTP! หลังจากหน้าเว็บ JSP บนเซิร์ฟเวอร์ถูกร้องขอโดยไคลเอนต์ Tomcat จะใช้ซอฟต์แวร์รวบรวมเพื่อรวบรวมไฟล์ JSP นี้โดยใช้เทมเพลตในแพ็คเกจ javax.servlet.jsp และหลังจากการรวบรวมมันจะเป็น servlet! การดำเนินงานในอนาคตนั้นเหมือนกับ Servlets!
จาก Servlets และ JSP เทคโนโลยีขั้นสูงที่เรียกว่า: JSTL, struts ... ไม่มีอะไรมากไปกว่าการใช้แท็กและรูปแบบ MVC บางอย่าง
เดินหน้าต่อไป! ชัยชนะอยู่ข้างหน้า! -
7. มัลติเธรด
ทิศทางที่ดูลึกลับ แต่ง่ายต่อการเริ่มต้นและยากที่จะเชี่ยวชาญ!
ฉันแนะนำหนังสือสองเล่มที่ฉันรู้สึกดีมาก ก่อนอื่นฉันเป็นหนังสือเล่มแรกที่ฉันสามารถอ่านได้ในพื้นที่นี้ "Java Thread Programming" เผยแพร่โดย SAMS ในปี 1998 มันเขียนได้ดีและเข้าใจง่าย ฉันมักจะอ่านโน้ตตั้งแต่เวลานั้นเมื่อฉันมีเวลา! คุณควรรู้วิธีทำด้วยตัวเอง! หนังสือเล่มที่สอง "Java Threads" ตีพิมพ์สามครั้งโดย Oreilly เป็นเวอร์ชั่นล่าสุดในปี 2004 ดูเหมือนว่าจะมีเวอร์ชั่นภาษาจีนในประเทศจีน ฉันแนะนำให้คุณอ่านเวอร์ชันภาษาอังกฤษ! หนังสือพูดถึงทิศทาง n ที่เกี่ยวข้องกับมัลติเธรดเช่น IO, สวิง, คอลเลกชัน ฯลฯ
ให้ฉันให้คำแนะนำกับคุณ! มีคลาสไม่มากนักที่เกี่ยวข้องกับการมัลติเธรดในไลบรารีคลาส Java ส่วนใหญ่: เธรด, ThreadGroup, ThreadLocal และ MandleItableThreadLocal และอินเตอร์เฟส Runnable One; คำหลักซิงโครไนซ์และผันผวน และรอแจ้งเตือนวิธีการของวัตถุวัตถุ!
1 เธรดเป็นคลาสหลักของการทำมัลติเธรดโดยให้ชุดของวิธีการในการสร้างและใช้งานมัลติเธรด
2 ThreadGroup เป็นคลาสเครื่องมือสำหรับการจัดการเธรด
3 ThreadLocal และ MandleItableThreadLocal ให้เธรดคลาสที่เก็บข้อมูลเธรดคล้ายกับฟังก์ชั่นที่ปลอดภัย!
4 ไม่จำเป็นต้องพูด!
5 การซิงโครไนซ์เป็นแกนหลักของวิธีการซิงโครไนซ์และบล็อกซิงโครไนซ์! เมื่อหลายเธรดเรียกวิธีการนี้เพียงหนึ่งเธรดสามารถใช้วิธีนี้และบล็อกวิธีอื่น ๆ ซึ่งจะทำให้มั่นใจได้ถึงความสมบูรณ์ของสถานะภายในของวัตถุที่ดำเนินการ เมื่อเธรดเรียกวิธีการหรือบล็อกด้วยการซิงโครไนซ์มันจะได้รับการล็อควัตถุของวัตถุ หลังจากเสร็จสิ้นการดำเนินการในบล็อกการล็อควัตถุจะถูกปล่อยออกมาเพื่อให้วัตถุอื่นสามารถทำงานต่อไปได้
6 รอแจ้งเตือนให้มีกลไกการรอคอย/แจ้งที่มีประสิทธิภาพ แต่ละวัตถุในภาษาชวามีเลานจ์ เธรดใด ๆ ที่อยู่ในเลานจ์ของวัตถุเมื่อสถานะของวัตถุที่ทำงานไม่พอใจและปล่อยล็อควัตถุ; เมื่อเธรดอื่นใช้งานวัตถุพวกเขาจะปลุกเธรดในเลานจ์แล้วตรวจสอบเงื่อนไขและดำเนินการที่สอดคล้องกันเมื่อตรงตามเงื่อนไข
มีพื้นฐานมากมายในมัลติเธรด! มันง่าย! สิ่งนี้ไม่ควรเพียงพอสำหรับโปรแกรมเมอร์จริง คุณต้องมีความรู้เกี่ยวกับมัลติเธรด กรุณาศึกษาแพ็คเกจ java.util.concurrent! งานของ Master Doug Lea เดิมเป็นห้องสมุดการเขียนโปรแกรมที่สอดคล้องกันของโอเพ่นซอร์ส แต่ต่อมาถูกรวมเข้ากับห้องสมุด Java Class โดย Sun มีห้องสมุดนี้อีกเวอร์ชั่นนี้ในเว็บไซต์ของผู้แต่ง! สิ่งดีๆที่ควรค่าแก่การเรียน! ซอฟต์แวร์โอเพ่นซอร์สเช่นไฮเบอร์เนตและ OpenJMS ใช้แพ็คเกจนี้!
8. รูปแบบการออกแบบ
เมื่อพูดถึงรูปแบบการออกแบบหลายคนจะแนะนำหนังสือ GOF หนังสือเล่มนี้เป็นหนังสือที่แนะนำระดับห้าดาวใน Amazon อย่างไรก็ตามสำหรับผู้ที่ไม่ได้เรียนรู้ Java มาเป็นเวลานานโดยเฉพาะผู้เริ่มต้นใน Java ฉันไม่แนะนำหนังสือเล่มนี้ เหตุผลหลักคือตัวอย่างในหนังสือเล่มนี้อยู่ใน C ++ และรายละเอียดจำนวนมากไม่ได้อธิบายอย่างชัดเจนเพียงพอ
หนังสือเล่มแรกที่ฉันแนะนำให้คุณคือ "Java and Patterns" ของ Dr. Yan Hong มันเป็นหนังสือเล่มแรกเกี่ยวกับรูปแบบการออกแบบที่เขียนโดยชาวจีน มันค่อนข้างน่าสนใจและบูรณาการวัฒนธรรมและแนวคิดของประเทศจีนหลายแห่ง มีตัวอย่างและรูปภาพมากมายและค่อนข้างง่าย! หนังสือเบื้องต้นที่ดีมากและผู้ชายตัวใหญ่!
ประการที่สองฉันแนะนำ "รูปแบบใน Java" สามชุดที่เผยแพร่โดย Wiley Publishing House ฉันเพิ่งอ่านอันแรก ดูเหมือนว่าอันที่สองจะไม่ดีมากและอันที่สามไม่ดี!
หนังสือเล่มที่สามคือเวอร์ชันการแปลภาษาจีนของ "Java Multi-Threaded Design Pattern" จัดพิมพ์โดย China Railway Publishing House ในปี 2003 มันอธิบายโมเดลมัลติเธรดมัลติเธรดสั้น ๆ ด้วยตำนานจำนวนมากแต่ละบทมีแบบฝึกหัดและในที่สุดก็มีคำตอบ! ฉันเริ่มต้นด้วยเมื่อฉันศึกษาโหมดมัลติเธรด!
หนังสือเล่มที่สี่ The Head First Series ของ "Head First Design Pattern" ตีพิมพ์ในปีนี้ซึ่งเป็นไปตามข้อดีของหนังสือชุดแรกของหนังสือชุดแรกที่มีไดอะแกรมชั้นเรียนจำนวนมากตัวอย่างที่หลากหลายและคำอธิบายประกอบที่น่าสนใจซึ่งคุ้มค่าที่จะซื้อ!
ประการที่สองในทิศทาง J2EE คุณสามารถศึกษาและอ่าน "รูปแบบของสถาปัตยกรรมแอปพลิเคชันระดับองค์กร" เผยแพร่โดย Addison Wesley ในปี 2002 มีผลงานมากมายด้วยชื่อใหญ่ซึ่งพูดถึงการรวมข้อมูลองค์กร! "รูปแบบ J2EE SL500" ที่จัดทำโดยดวงอาทิตย์ก็ดีมาก! ฉันขอแนะนำ "Holub on Holub บนรูปแบบ" ครึ่งดาวของ Amazon ซึ่งเป็นงานของอาจารย์และเป็นตัวอย่างที่ควรค่าแก่การศึกษา อย่างไรก็ตามผู้อ่านที่ไม่คุ้นเคยกับหนังสือสี่เล่มข้างต้นมันเป็นการดีที่สุดที่จะไม่อ่าน! มันอาจทำให้คุณเหนื่อยมากขึ้น!
ฉันผ่านเส้นทางคดเคี้ยวมากเพื่อเรียนรู้รูปแบบการออกแบบและฉันอ่านหนังสือประมาณ 20 เล่ม ฉันอ่าน "Java and Patterns" ของ Dr. Yan Hong 4 ครั้งและตัดออกว่าโดยทั่วไปฉันไม่เข้าใจครั้งแรก! ฉันจำได้ว่าครูสอนหนังสือ GOF ให้เราในช่วงปีแรกของวิทยาลัย ในฐานะที่เป็นวิชาเลือกฉันอยู่กับนักศึกษาปริญญาโทและปริญญาเอกในแผนกคอมพิวเตอร์ ในชั้นเรียนสุดท้าย 40-50 คนไม่เกิน 3 คนเข้าใจและฉันไม่เข้าใจอะไรเลย (ฉันไม่รู้อะไรเลยเกี่ยวกับภาษา C ++ ถ้ารากฐานไม่ดี) ด้วยบุคลิกของฉันที่ไม่แพ้ฉันคิดว่าความเข้าใจของฉันเกี่ยวกับภาษา Java ก็โอเคดังนั้นฉันจึงยืม "Java และรูปแบบ" แต่โดยทั่วไปฉันยังไม่เข้าใจ โชคดีที่เมื่อฉันอยู่ในปีที่สามของบัณฑิตวิทยาลัยฉันฟังการบรรยายเกี่ยวกับภาษา Java Oop โดย Mr. Rao Ruonan แห่งมหาวิทยาลัยเซี่ยงไฮ้ Jiaotong หลังจากที่ฉันเข้าใจรูปแบบการออกแบบทั้งสามเช่นรูปแบบหนังสือผสมฉันเริ่มสนใจในรูปแบบอื่น ๆ และมีความปรารถนาที่จะเอาชนะพวกเขา! หนังสือเล่มแรกที่ฉันซื้อหลังเลิกงานคือ "Java and Patterns" ฉันใช้เวลา 2 เดือนในการศึกษาชายร่างใหญ่คนนี้มากกว่า 1,000 หน้าในครั้งแรก ต่อมาฉันสามารถทำมันให้เสร็จในเวลาประมาณ 15 วันหลังจากครั้งที่สามและฉันก็หยิบสมุดบันทึกมากมาย! จากนั้นเป็นต้นมามันไม่สามารถควบคุมได้
เลือกหนังสือที่เหมาะสมและมุ่งเน้นไปที่การวิจัย ฉันเชื่อว่าฉันจะเริ่มต้นเร็ว ๆ นี้!
การเรียนรู้ภาษา Java 8 ส่วนง่าย ๆ เป็นเพียงจุดเริ่มต้นของการวิจัยของเราเกี่ยวกับภาษา Java! ทั้งหมดนี้เป็นที่เข้าใจกันดีที่สุดโปรแกรมเมอร์ Java และถนนข้างหน้านั้นยาวมาก! เราสามารถศึกษาซอร์สโค้ดของการใช้งานฐานข้อมูลต่อไป, ซอร์สโค้ดของเซิร์ฟเวอร์เซิร์ฟเวอร์, RMI, EJB, JNDI, การเขียนโปรแกรมเชิงภาพ, การสร้างใหม่, เครื่องมือมด, เครื่องมือคราส, เครื่องมือฤดูใบไม้ผลิ, JBOSS, Jonas, Apache Geronimo หลังจากค้นคว้าสิ่งเหล่านี้คุณอาจเป็นสถาปัตยกรรม J2EE ที่ยอดเยี่ยม! คุณสามารถทำการวิจัยนักวิเคราะห์, คอมไพเลอร์, JNode (ระบบปฏิบัติการที่เขียนโดย Java) ...
สำหรับรายการหนังสือที่น่าตื่นเต้นเพิ่มเติมโปรดคลิกที่รายการหนังสือที่จำเป็นในการเขียนโปรแกรม
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น