บทความแรกกล่าวถึงการเขียนโปรแกรมเชิงวัตถุและคุณสมบัติคำถามทั่วไปเกี่ยวกับ Java และคุณสมบัติของมันคลาสคอลเลกชัน Java นักสะสมขยะบทนี้ส่วนใหญ่จะกล่าวถึงการจัดการข้อยกเว้น, Java Applets, Swing, JDBC, การโทรระยะไกล (RMI), Servlets และ JSP
การจัดการข้อยกเว้น
Java Applet (Applet)
แกว่ง
JDBC
การโทรระยะไกล (RMI)
เซล็ต
JSP
การจัดการข้อยกเว้น
43. ข้อยกเว้นสองประเภทใน Java คืออะไร? อะไรคือความแตกต่างระหว่างพวกเขา?
มีข้อยกเว้นสองประเภทใน Java: ตรวจสอบข้อยกเว้นและข้อยกเว้นที่ไม่ได้ตรวจสอบ ข้อยกเว้นที่ไม่ได้ตรวจสอบไม่จำเป็นต้องประกาศในวิธีการหรือตัวสร้าง แม้ว่าการดำเนินการของวิธีการหรือตัวสร้างอาจส่งข้อยกเว้นดังกล่าวและข้อยกเว้นที่ไม่ได้ตรวจสอบสามารถเผยแพร่นอกวิธีการหรือตัวสร้าง ในทางตรงกันข้ามข้อยกเว้นที่ตรวจสอบจะต้องประกาศในวิธีการหรือตัวสร้างโดยใช้คำสั่ง THROWS นี่คือเคล็ดลับสำหรับการจัดการข้อยกเว้น Java
44. อะไรคือความแตกต่างระหว่างข้อยกเว้นและข้อผิดพลาดใน Java?
ข้อยกเว้นและข้อผิดพลาดเป็นทั้ง subclasses ที่สามารถโยนได้ มีการใช้ข้อยกเว้นสำหรับข้อยกเว้นที่โปรแกรมผู้ใช้สามารถจับได้ ข้อผิดพลาดกำหนดข้อยกเว้นที่ไม่คาดว่าจะถูกจับโดยโปรแกรมผู้ใช้
45. อะไรคือความแตกต่างระหว่างการโยนและการโยน?
คีย์เวิร์ดการโยนใช้เพื่อทำข้อยกเว้นอย่างชัดเจนในโปรแกรม ในทางตรงกันข้ามคำสั่ง THROWS ใช้เพื่อระบุข้อยกเว้นที่วิธีการไม่สามารถจัดการได้ แต่ละวิธีจะต้องระบุว่าไม่สามารถจัดการข้อยกเว้นใดได้ดังนั้นผู้โทรของวิธีการสามารถตรวจสอบให้แน่ใจว่ามีการจัดการข้อยกเว้นที่เป็นไปได้และข้อยกเว้นหลายข้อถูกคั่นด้วยเครื่องหมายจุลภาค
45. เมื่อจัดการข้อยกเว้นความสำคัญของบล็อกโค้ดในที่สุดคืออะไร? (หมายเหตุของนักแปล: หมายเลขชื่อของผู้แต่งไม่ถูกต้อง)
ไม่ว่าจะเป็นข้อยกเว้นหรือไม่ก็ตามในที่สุดบล็อกรหัสจะถูกเรียกใช้งานเสมอ แม้ว่าจะไม่มีคำสั่งจับและมีการโยนข้อยกเว้น แต่บล็อกรหัสในที่สุดก็ยังคงถูกเรียกใช้งาน ในที่สุดฉันอยากจะบอกว่าในที่สุดบล็อกโค้ดส่วนใหญ่จะใช้เพื่อทรัพยากรฟรีเช่น: บัฟเฟอร์ I/O, การเชื่อมต่อฐานข้อมูล
46. การเปลี่ยนแปลงอะไรจะเกิดขึ้นกับวัตถุข้อยกเว้นหลังจากการประมวลผลข้อยกเว้นเสร็จสมบูรณ์?
วัตถุข้อยกเว้นจะถูกรีไซเคิลในระหว่างกระบวนการรวบรวมขยะถัดไป
47. วิธีการบล็อกรหัสในที่สุดและวิธีการสรุป () ในที่สุดคืออะไร?
ไม่ว่าจะเป็นข้อยกเว้นหรือไม่ก็ตามบล็อกรหัสในที่สุดจะถูกดำเนินการซึ่งส่วนใหญ่จะใช้เพื่อเพิ่มทรัพยากรที่ครอบครองโดยแอปพลิเคชัน วิธีการสรุป () เป็นวิธีการป้องกันของคลาสวัตถุ มันถูกเรียกโดยเครื่องเสมือน Java ก่อนที่วัตถุจะถูกเก็บรวบรวมขยะ
Java Applet (Applet)
48. แอปเพล็ตคืออะไร?
แอปเพล็ต Java เป็นโปรแกรมที่สามารถรวมอยู่ในหน้า HTML และสามารถดำเนินการโดยเบราว์เซอร์ไคลเอนต์ที่เปิดใช้งาน Java แอปเพล็ตส่วนใหญ่ใช้เพื่อสร้างเว็บแอปพลิเคชันแบบโต้ตอบแบบไดนามิก
49. อธิบายวงจรชีวิตของแอปเพล็ต
แอปเพล็ตสามารถสัมผัสกับสถานะต่อไปนี้:
50. จะเกิดอะไรขึ้นเมื่อโหลดแอปเพล็ต?
ขั้นแรกให้สร้างอินสแตนซ์ของคลาสควบคุมแอปเพล็ตจากนั้นเริ่มต้นแอปเพล็ตและในที่สุดก็เริ่มรัน
51. แอปพลิเคชันแอปพลิเคชัน Java ทั่วไปแตกต่างกันอย่างไร?
Applet เป็นเบราว์เซอร์ที่เปิดใช้งาน Java และแอปพลิเคชัน Java เป็นโปรแกรม Java อิสระที่สามารถทำงานนอกเบราว์เซอร์ได้ อย่างไรก็ตามพวกเขาทั้งหมดจำเป็นต้องมีเครื่องเสมือน Java
นอกจากนี้แอปพลิเคชัน Java ต้องการฟังก์ชั่นหลักที่มีลายเซ็นวิธีเฉพาะเพื่อเริ่มการดำเนินการ Java Applets ไม่จำเป็นต้องใช้ฟังก์ชั่นดังกล่าวเพื่อเริ่มดำเนินการ
ในที่สุด Java Applets มักใช้นโยบายความปลอดภัยที่เข้มงวดมากในขณะที่แอปพลิเคชัน Java มักใช้นโยบายความปลอดภัยที่ค่อนข้างหลวม
52. ข้อ จำกัด ของ Java Applet คืออะไร?
ส่วนใหญ่เพื่อเหตุผลด้านความปลอดภัยมีการ จำกัด ข้อ จำกัด ต่อไปนี้ในแอปเปิล:
53. แอปเพล็ตที่ไม่น่าเชื่อถือคืออะไร?
แอปเพล็ตที่ไม่น่าเชื่อถือเป็นแอพพลิท Java ที่ไม่สามารถเข้าถึงหรือเรียกใช้ไฟล์ระบบท้องถิ่นได้ โดยค่าเริ่มต้นแอปเพล็ตที่ดาวน์โหลดทั้งหมดจะไม่น่าเชื่อถือ
54. อะไรคือความแตกต่างระหว่างแอปเพล็ตที่โหลดบนเครือข่ายและแอปเพล็ตที่โหลดจากระบบไฟล์ในท้องถิ่นคืออะไร?
เมื่อแอปเพล็ตถูกโหลดจากเครือข่ายแอปเพล็ตจะถูกโหลดโดยแอปเพล็ตคลาสโหลดเดอร์ซึ่งถูก จำกัด โดย Applet Security Manager
เมื่อแอปเพล็ตถูกโหลดจากดิสก์ท้องถิ่นของไคลเอ็นต์แอปเพล็ตจะถูกโหลดโดยตัวโหลดระบบไฟล์
แอปเปิลที่โหลดจากระบบไฟล์อนุญาตให้อ่านการเขียนการโหลดไลบรารีคลาสทางฝั่งไคลเอ็นต์และยังอนุญาตให้ดำเนินการโปรแกรมอื่น ๆ แต่ไม่สามารถผ่านการตรวจสอบ bytecode ได้
55. ตัวโหลดคลาส Applet คืออะไร? มันทำงานแบบไหน?
เมื่อแอปเพล็ตถูกโหลดจากเครือข่ายจะถูกโหลดโดยตัวโหลดคลาส Applet ตัวโหลดคลาสมีลำดับชั้นของ Java Namespace ของตัวเอง ตัวโหลดคลาสทำให้มั่นใจได้ว่าคลาสจากระบบไฟล์มีเนมสเปซที่ไม่ซ้ำกันและคลาสจากทรัพยากรเครือข่ายมีเนมสเปซที่ไม่ซ้ำกัน
เมื่อเบราว์เซอร์โหลดแอปเพล็ตผ่านเครือข่ายคลาสแอปเพล็ตจะถูกวางไว้ในเนมสเปซส่วนตัวที่เกี่ยวข้องกับแหล่งที่มาของแอปเพล็ต จากนั้นคลาสที่โหลดโดยตัวโหลดคลาสจะได้รับการตรวจสอบทั้งหมดโดยผู้ตรวจสอบ ผู้ตรวจสอบจะตรวจสอบว่ารูปแบบไฟล์คลาสสอดคล้องกับข้อกำหนดภาษา Java เพื่อให้แน่ใจว่าไม่มีสแต็กล้นหรือใต้โฟลว์ พารามิเตอร์ที่ส่งผ่านไปยังคำสั่ง bytecode นั้นถูกต้อง
56. Applet Security Manager คืออะไร? มันทำงานแบบไหน?
Applet Security Manager เป็นกลไกในการกำหนดข้อ จำกัด เกี่ยวกับ Applets เบราว์เซอร์สามารถมีผู้จัดการรักษาความปลอดภัยเพียงคนเดียว ตัวจัดการความปลอดภัยถูกสร้างขึ้นเมื่อเริ่มต้นและไม่สามารถเปลี่ยนหรือขยายได้ในภายหลัง
แกว่ง
57. อะไรคือความแตกต่างระหว่างเมนูการเลือกป๊อปอัพ (ตัวเลือก) และรายการ (รายการ)
ตัวเลือกจะถูกนำเสนอในรูปแบบขนาดกะทัดรัดและต้องมีการดึงลงเพื่อดูตัวเลือกทั้งหมด สามารถเลือกตัวเลือกเดียวได้ทีละทางเลือก รายการสามารถมีองค์ประกอบหลายอย่างที่มองเห็นได้ในเวลาเดียวกันและรองรับการเลือกองค์ประกอบอย่างน้อยหนึ่งอย่าง
58. ผู้จัดการเลย์เอาต์คืออะไร?
ตัวจัดการเลย์เอาต์ใช้เพื่อจัดระเบียบส่วนประกอบในภาชนะบรรจุ
59. อะไรคือความแตกต่างระหว่างแถบเลื่อนและแผงเลื่อน (jscrollpane)?
Scrollbar เป็นส่วนประกอบไม่ใช่คอนเทนเนอร์ และ Scrollpane เป็นภาชนะ Scrollpane จัดการเหตุการณ์การเลื่อนด้วยตัวเอง
60. วิธีการแกว่งแบบใดที่ปลอดภัย
มีเพียง 3 วิธีในการทำเธรดที่ปลอดภัย: repaint (), revalidate () และ unvalidate ()
61. ชื่อสามองค์ประกอบที่สนับสนุนการวาดใหม่
ผ้าใบเฟรมแผงและแอปเพล็ตสนับสนุนการวาดใหม่
62. การตัดคืออะไร?
ครอบตัดการดำเนินการวาดภาพที่ จำกัด เฉพาะพื้นที่หรือรูปร่างที่กำหนด
63. อะไรคือความแตกต่างระหว่าง Menuitem และ CheckBoxMenuitem?
คลาส ChecboxMenuitem สืบทอดมาจากคลาส Menuitem และรองรับตัวเลือกเมนูที่สามารถเลือกได้หรือไม่ได้เลือก
64. องค์ประกอบในเลย์เอาต์ขอบ (BorderLayout) วางไว้อย่างไร?
องค์ประกอบใน Borderlayout จัดขึ้นตามตะวันออก, ตะวันตก, ใต้, ทิศเหนือ, เหนือและกลางของภาชนะ
65. องค์ประกอบในเค้าโครงแพ็คเกจกริด (gridbaglayout) เป็นอย่างไรบ้าง?
องค์ประกอบใน gridbaglayout ถูกวางตามกริด องค์ประกอบที่มีขนาดต่างกันอาจใช้มากกว่า 1 แถวหรือคอลัมน์ของกริด ดังนั้นจำนวนแถวและคอลัมน์สามารถมีขนาดต่างกัน
66. อะไรคือความแตกต่างระหว่างหน้าต่างและเฟรม?
คลาสเฟรมสืบทอดคลาสหน้าต่างซึ่งกำหนดหน้าต่างแอปพลิเคชันหลักที่สามารถมีแถบเมนู
67. ความสัมพันธ์ระหว่างการตัดและทาสีใหม่คืออะไร?
เมื่อหน้าต่างถูกวาดใหม่โดยเธรด Awt Redraw มันจะตั้งค่าพื้นที่เพาะปลูกไว้ในพื้นที่ของหน้าต่างที่ต้องวาดใหม่
68. ความสัมพันธ์ระหว่างอินเทอร์เฟซผู้ฟังเหตุการณ์และอะแดปเตอร์เหตุการณ์คืออะไร?
อินเทอร์เฟซ Event Listener กำหนดวิธีการที่โปรเซสเซอร์เหตุการณ์จะต้องใช้งานสำหรับเหตุการณ์เฉพาะ อะแดปเตอร์เหตุการณ์มีการใช้งานเริ่มต้นสำหรับอินเทอร์เฟซฟังเหตุการณ์
69. ส่วนประกอบ GUI จะจัดการกับกิจกรรมของตัวเองได้อย่างไร?
ส่วนประกอบ GUI สามารถจัดการเหตุการณ์ของตัวเองได้ตราบใดที่มันใช้อินเทอร์เฟซผู้ฟังเหตุการณ์ที่เกี่ยวข้องและถือว่าตัวเองเป็นผู้ฟังเหตุการณ์
70. อะไรคือข้อดีของผู้จัดการเค้าโครงของ Java ผ่านระบบหน้าต่างแบบดั้งเดิม?
Java ใช้ตัวจัดการเค้าโครงเพื่อวางส่วนประกอบบนแพลตฟอร์มหน้าต่างทั้งหมดด้วยวิธีที่สอดคล้องกัน เนื่องจากผู้จัดการเลย์เอาต์ไม่ผูกพันกับขนาดที่แน่นอนและตำแหน่งของส่วนประกอบพวกเขาจึงสามารถปรับให้เข้ากับความแตกต่างระหว่างแพลตฟอร์มเฉพาะในระบบหน้าต่าง
71. องค์ประกอบการแกว่งของ Java ใช้รูปแบบการออกแบบอะไร?
องค์ประกอบการแกว่งใน Java ใช้รูปแบบการออกแบบ MVC (View-Model-Controller)
JDBC
72. JDBC คืออะไร?
JDBC เป็นเลเยอร์นามธรรมที่อนุญาตให้ผู้ใช้เลือกระหว่างฐานข้อมูลที่แตกต่างกัน JDBC ช่วยให้นักพัฒนาสามารถเขียนแอปพลิเคชันฐานข้อมูลใน Java โดยไม่สนใจรายละเอียดของฐานข้อมูลพื้นฐาน
73. อธิบายบทบาทของคนขับ (ไดรเวอร์) ใน JDBC
ไดรเวอร์ JDBC ให้การใช้งานคลาสอินเตอร์เฟส JDBC API โดยผู้ผลิตเฉพาะ ไดรเวอร์จะต้องจัดเตรียมคลาสต่อไปนี้ของแพ็คเกจ Java.sql: การเชื่อมต่อคำสั่ง, PreparedStatement, Callablestatement, Resultset และไดรเวอร์
74. ฟังก์ชันของเมธอด forName () คืออะไร?
วิธีนี้ใช้สำหรับโหลดไดรเวอร์ที่สร้างการเชื่อมต่อกับฐานข้อมูล
75. ข้อดีของการเตรียมการมากกว่าคำสั่งคืออะไร?
PreparedStatements จะคอมไพล์ไว้ล่วงหน้าดังนั้นประสิทธิภาพจะดีขึ้น ในเวลาเดียวกัน PreparedStatement สามารถนำกลับมาใช้ใหม่สำหรับค่าพารามิเตอร์การสืบค้นที่แตกต่างกัน
76. เมื่อใดควรใช้ callablestatement? วิธีการที่ใช้ในการเตรียม callablestatement คืออะไร?
Callablestatement ใช้เพื่อดำเนินการขั้นตอนที่เก็บไว้ ขั้นตอนการจัดเก็บจะถูกจัดเก็บและจัดทำโดยฐานข้อมูล ขั้นตอนที่เก็บไว้สามารถยอมรับพารามิเตอร์อินพุตหรือส่งคืนผลลัพธ์ การใช้ขั้นตอนที่เก็บไว้นั้นได้รับการสนับสนุนอย่างสูงเนื่องจากให้ความปลอดภัยและเป็นโมดูล วิธีการเตรียม callablestatement คือ:
callablestament.preparecall ();
77. พูลการเชื่อมต่อฐานข้อมูลหมายถึงอะไร?
การโต้ตอบกับฐานข้อมูลเช่นการเปิดและปิดการเชื่อมต่อฐานข้อมูลอาจใช้เวลานานโดยเฉพาะอย่างยิ่งเมื่อจำนวนลูกค้าเพิ่มขึ้นมันใช้ทรัพยากรจำนวนมากและมีค่าใช้จ่ายสูงมาก การเชื่อมต่อฐานข้อมูลจำนวนมากสามารถสร้างและบำรุงรักษาในพูลเมื่อแอปพลิเคชันเซิร์ฟเวอร์เริ่มต้นขึ้น คำขอการเชื่อมต่อจัดทำโดยการเชื่อมต่อในพูล หลังจากใช้การเชื่อมต่อแล้วให้ส่งคืนการเชื่อมต่อไปยังกลุ่มเพื่อตอบสนองคำขอในอนาคตมากขึ้น
การโทรระยะไกล (RMI)
78. RMI คืออะไร?
Java Remote Method Call (Java RMI) เป็นรูปแบบที่เทียบเท่ากับวัตถุที่จัดทำโดย Java API สำหรับการโทรขั้นตอนระยะไกล (RPC) รองรับการส่งโดยตรงของวัตถุ Java ที่เป็นอนุกรมและการรวบรวมขยะแบบกระจาย การเรียกใช้วิธีระยะไกลสามารถถือได้ว่าเป็นขั้นตอนในการเปิดใช้งานวิธีการบนวัตถุที่รันระยะไกล RMI มีความโปร่งใสในตำแหน่งที่ผู้โทรเพราะผู้โทรรู้สึกว่าวิธีการนั้นถูกดำเนินการบนวัตถุที่ทำงานในเครื่อง ดูข้อควรระวังสำหรับ RMI
79. หลักการพื้นฐานของสถาปัตยกรรม RMI คืออะไร?
สถาปัตยกรรม RMI ขึ้นอยู่กับหลักการที่สำคัญมากของการแยกนิยามพฤติกรรมและการตระหนักถึงพฤติกรรม RMI อนุญาตให้ใช้รหัสที่กำหนดพฤติกรรมที่จะคั่นด้วยรหัสที่ใช้พฤติกรรมและทำงานบน JVMs ที่แตกต่างกัน
80. ชั้นของสถาปัตยกรรม RMI คืออะไร?
สถาปัตยกรรม RMI แบ่งออกเป็นเลเยอร์ต่อไปนี้:
เลเยอร์ Stub และ Skeleton: เลเยอร์นี้โปร่งใสสำหรับโปรแกรมเมอร์ ส่วนใหญ่เป็นผู้รับผิดชอบในการสกัดกั้นวิธีการเรียกร้องการโทรที่ออกโดยลูกค้าจากนั้นเปลี่ยนเส้นทางคำขอไปยังบริการ RMI ระยะไกล
เลเยอร์อ้างอิงระยะไกล: เลเยอร์ที่สองของสถาปัตยกรรม RMI ใช้เพื่อแก้ไขการอ้างอิงไคลเอนต์ไปยังวัตถุระยะไกลฝั่งเซิร์ฟเวอร์ การแยกวิเคราะห์เลเยอร์และจัดการการอ้างอิงไคลเอนต์ไปยังวัตถุระยะไกลฝั่งเซิร์ฟเวอร์ การเชื่อมต่อเป็นจุดต่อจุด
การขนส่งเลเยอร์: เลเยอร์นี้มีหน้าที่เชื่อมต่อ JVM สองตัวที่เข้าร่วมในบริการ เลเยอร์นี้สร้างขึ้นบนการเชื่อมต่อ TCP/IP ระหว่างเครื่องจักรในเครือข่าย ให้บริการการเชื่อมต่อขั้นพื้นฐานรวมถึงนโยบายการเจาะไฟร์วอลล์บางอย่าง
81. อินเทอร์เฟซระยะไกล (อินเทอร์เฟซระยะไกล) มีบทบาทอย่างไรใน RMI?
อินเทอร์เฟซระยะไกลใช้เพื่อระบุว่าวิธีการใดที่เป็นอินเทอร์เฟซที่สามารถเรียกได้โดยเครื่องเสมือนที่ไม่ใช่ท้องถิ่น วัตถุระยะไกลต้องใช้อินเทอร์เฟซระยะไกลโดยตรงหรือโดยอ้อม คลาสที่ใช้อินเทอร์เฟซระยะไกลควรประกาศอินเทอร์เฟซระยะไกลที่ใช้งานกำหนดตัวสร้างสำหรับแต่ละวัตถุระยะไกลและให้การใช้งานสำหรับวิธีการอินเทอร์เฟซระยะไกลทั้งหมด
82. การเล่นคลาส java.rmi.naming มีบทบาทอย่างไร?
คลาส java.rmi.naming ใช้เพื่อจัดเก็บและรับการอ้างอิงไปยังวัตถุระยะไกลในรีจิสทรีวัตถุระยะไกล แต่ละวิธีของคลาสการตั้งชื่อจะได้รับวัตถุสตริงที่จัดรูปแบบ URL เป็นพารามิเตอร์
83. การผูกพัน RMI หมายถึงอะไร?
การเชื่อมโยงเป็นกระบวนการของการเชื่อมโยงวัตถุระยะไกลหรือการลงทะเบียนชื่อหลังจากการลงทะเบียนเพื่อค้นหาและค้นหาวัตถุระยะไกล วัตถุระยะไกลสามารถเชื่อมโยงกับชื่อโดยใช้วิธีการ bind () หรือ rebind () ของคลาสการตั้งชื่อ
84. วิธีการ bind () และ rebind () ความแตกต่างของคลาสการตั้งชื่อคืออะไร?
วิธีการ bind () มีหน้าที่รับผิดชอบในการเชื่อมโยงชื่อที่ระบุกับวัตถุระยะไกลและวิธีการ rebind () มีหน้าที่รับผิดชอบในการ rebinding ชื่อที่ระบุไปยังวัตถุระยะไกลใหม่ หากชื่อนั้นถูกผูกไว้การผูกก่อนหน้านี้จะถูกแทนที่
85. ขั้นตอนในการเปิดใช้งานโปรแกรม RMI ให้ทำงานอย่างถูกต้องคืออะไร?
เพื่อให้โปรแกรม RMI ทำงานอย่างถูกต้องต้องรวมขั้นตอนต่อไปนี้:
86. Stub ของ RMI มีบทบาทอย่างไร?
ต้นขั้วของวัตถุระยะไกลมีบทบาทของตัวแทนหรือพร็อกซีของวัตถุระยะไกล ผู้โทรเรียกใช้วิธีการบนต้นขั้วท้องถิ่นซึ่งรับผิดชอบในการดำเนินการวิธีการบนวัตถุระยะไกล เมื่อมีการเรียกวิธีการสตับขั้นตอนต่อไปนี้จะผ่าน:
87. การสะสมขยะแบบกระจาย (DGC) คืออะไร? มันทำงานอย่างไร?
DGC เรียกว่าคอลเลกชันขยะแบบกระจาย RMI ใช้ DGC สำหรับการรวบรวมขยะอัตโนมัติ เนื่องจาก RMI มีการอ้างอิงถึงวัตถุระยะไกลในเครื่องเสมือนการรวบรวมขยะจึงยาก DGC ใช้อัลกอริทึมการนับอ้างอิงเพื่อให้การจัดการหน่วยความจำอัตโนมัติกับวัตถุระยะไกล
88. จุดประสงค์ของการใช้ RMI Security Manager (RmiscurityManager) ใน RMI คืออะไร?
RmisecurityManager ใช้รหัสที่ดาวน์โหลดมาเพื่อให้ตัวจัดการความปลอดภัยที่สามารถใช้งานได้โดยแอปพลิเคชัน RMI หากไม่มีผู้จัดการความปลอดภัยตัวโหลดคลาสของ RMI จะไม่ดาวน์โหลดคลาสใด ๆ จากระยะไกล
89. อธิบาย Marshalling และ Demarshalling
เมื่อแอปพลิเคชันต้องการส่งวัตถุหน่วยความจำข้ามเครือข่ายไปยังโฮสต์อื่นหรือคงอยู่ในการจัดเก็บข้อมูลจะต้องแปลงการแสดงของวัตถุในหน่วยความจำเป็นรูปแบบที่เหมาะสม กระบวนการนี้เรียกว่า Marshalling มิฉะนั้นจะเป็น demarshalling
90. อธิบายการทำให้เป็นอนุกรมและการ deserialization
Java จัดเตรียมกลไกที่เรียกว่า Object Serialization มันแสดงถึงวัตถุเป็นชุดของไบต์รวมถึงข้อมูลของวัตถุข้อมูลประเภทของวัตถุข้อมูลภายในวัตถุและอื่น ๆ ดังนั้นการทำให้เป็นอนุกรมสามารถมองเห็นได้ว่าเป็นวิธีการแบนวัตถุในการจัดเก็บหรืออ่านจากดิสก์และสร้างใหม่ Deserialization เป็นขั้นตอนตรงข้ามของการแปลงวัตถุจากสถานะแบนเป็นวัตถุสด
เซล็ต
91. เซิร์ฟเล็ตคืออะไร?
Servlet เป็นคลาส Java ที่ใช้ในการประมวลผลคำขอไคลเอนต์และสร้างเนื้อหาเว็บแบบไดนามิก Servlets ส่วนใหญ่จะใช้ในการประมวลผลหรือจัดเก็บข้อมูลที่ส่งโดยแบบฟอร์ม HTML สร้างเนื้อหาแบบไดนามิกและจัดการข้อมูลสถานะภายใต้โปรโตคอล HTTP ไร้สัญชาติ
92. มาพูดถึงสถาปัตยกรรมของ Servlet กันเถอะ
อินเทอร์เฟซหลักที่ Servlets ทั้งหมดจะต้องใช้คือ javax.servlet.servlet เซิร์ฟเล็ตแต่ละตัวจะต้องใช้อินเทอร์เฟซนี้โดยตรงหรือโดยอ้อมหรือสืบทอด javax.servlet.genericservlet หรือ javax.servlet.http.httpservlet ในที่สุด Servlets สามารถให้บริการหลายคำขอแบบขนานโดยใช้หลายเธรด
93. อะไรคือความแตกต่างระหว่างแอปเพล็ตกับเซิร์ฟเล็ต?
Applet เป็นโปรแกรม Java ลูกค้าที่ทำงานบนเบราว์เซอร์ของโฮสต์ไคลเอนต์ Servlet เป็นส่วนประกอบของเซิร์ฟเวอร์ที่ทำงานบนเว็บเซิร์ฟเวอร์ แอปเพล็ตสามารถใช้คลาสอินเทอร์เฟซผู้ใช้ในขณะที่ Servlets ไม่มีส่วนติดต่อผู้ใช้ แต่ Servlets รอคำขอ HTTP ของลูกค้าแล้วสร้างการตอบกลับไปยังคำขอ
94. อะไรคือความแตกต่างระหว่าง Genericservlet และ HttpServlet?
Genericservlet เป็น servlet ที่ไม่ขึ้นกับโปรโตคอลทั่วไปที่ใช้อินเตอร์เฟส servlet และ servletconfig Servlets ที่สืบทอดมาจาก Menericservlet ควรแทนที่วิธีการบริการ () ในที่สุดเพื่อพัฒนาเซิร์ฟเล็ตที่สามารถใช้บนหน้าเว็บเพื่อตอบสนองคำขอ HTTP เซิร์ฟเล็ตของคุณจะต้องสืบทอดมาจาก httpservlet นี่คือตัวอย่างของ servlets
95. อธิบายวงจรชีวิตของ servlet
สำหรับคำขอไคลเอนต์แต่ละตัวเครื่องยนต์ servlet โหลด servlet เรียกใช้เมธอด init () และเสร็จสิ้นการเริ่มต้นของ servlet จากนั้นวัตถุ Servlet จัดการคำขอที่ตามมาทั้งหมดจากไคลเอนต์โดยเรียกใช้เมธอดบริการ () เป็นรายบุคคลสำหรับแต่ละคำขอ ในที่สุดวิธีการทำลาย () ของ servlet เรียกว่า (หมายเหตุของนักแปล: นี่ควรเป็น servlet แทนเซิร์ฟเวอร์) เพื่อลบ servlet
96. วิธี DOGET () ความแตกต่างและวิธี DOPOST () คืออะไร?
DOGET: วิธีการรับต่อท้ายค่าชื่อชื่อหลังจาก URL ที่ร้องขอ เนื่องจาก URL จำกัด จำนวนอักขระจำนวนของค่าพารามิเตอร์ที่ใช้ในคำขอไคลเอนต์จึงมี จำกัด และค่าพารามิเตอร์ในคำขอสามารถมองเห็นได้ดังนั้นข้อมูลที่ละเอียดอ่อนจึงไม่สามารถส่งผ่านด้วยวิธีนี้
DOPOST: วิธีการโพสต์จะเอาชนะข้อ จำกัด ของวิธี GET โดยการวางค่าพารามิเตอร์การร้องขอไว้ในตัวคำขอดังนั้นจึงไม่มีการ จำกัด จำนวนพารามิเตอร์ที่สามารถส่งได้ ในที่สุดข้อมูลที่ละเอียดอ่อนที่ผ่านการร้องขอโพสต์จะมองไม่เห็นลูกค้าภายนอก
97. เว็บแอปพลิเคชันคืออะไร?
เว็บแอปพลิเคชันเป็นส่วนขยายแบบไดนามิกไปยังเว็บหรือเซิร์ฟเวอร์แอปพลิเคชัน เว็บแอปพลิเคชันมีสองประเภท: การนำเสนอที่มุ่งเน้นและมุ่งเน้นบริการ เว็บแอปพลิเคชันที่เน้นประสิทธิภาพการผลิตเว็บเพจที่มีการโต้ตอบแบบโต้ตอบในภาษามาร์กอัปจำนวนมากและเนื้อหาแบบไดนามิกเพื่อตอบสนองต่อคำขอ เว็บแอปพลิเคชันที่มุ่งเน้นบริการใช้จุดสิ้นสุดของบริการเว็บ โดยทั่วไปแล้วเว็บแอปพลิเคชันสามารถถือได้ว่าเป็นชุดของ Servlets ที่ติดตั้งภายใต้ชุดย่อยเฉพาะของเนมสเปซ URL ของเซิร์ฟเวอร์
98. ฝั่งเซิร์ฟเวอร์คืออะไร?
การรวมฝั่งเซิร์ฟเวอร์ (SSI) เป็นภาษาสคริปต์ด้านเซิร์ฟเวอร์ที่ตีความได้ง่ายซึ่งส่วนใหญ่ใช้บนเว็บเท่านั้นและฝังอยู่ในแท็กเซิร์ฟเล็ต สถานการณ์ที่ใช้กันมากที่สุดใน SSI มีไฟล์หนึ่งไฟล์ขึ้นไปในหน้าเว็บของเว็บเซิร์ฟเวอร์ เมื่อเบราว์เซอร์เข้าถึงเว็บเพจเว็บเซิร์ฟเวอร์จะแทนที่แท็ก servlet ในหน้าเว็บด้วยข้อความที่สร้างโดย servlet ที่เกี่ยวข้อง
99. การผูกมัดเซิร์ฟเล็ตคืออะไร?
เชนเซิร์ฟเล็ตเป็นวิธีที่ส่งเอาต์พุตของ servlet หนึ่งไปยัง servlet อื่น เอาต์พุตของ servlet ที่สองสามารถส่งไปยัง servlet ที่สามและอื่น ๆ servlet สุดท้ายในห่วงโซ่มีหน้าที่ส่งการตอบกลับไปยังลูกค้า
100. จะรู้ได้อย่างไรว่าเครื่องไคลเอนต์ใดที่ขอ servlet ของคุณ?
คลาส ServletRequest สามารถค้นหาที่อยู่ IP หรือชื่อโฮสต์ของเครื่องไคลเอนต์ วิธี getRemoteaddr () ได้รับที่อยู่ IP ของโฮสต์ไคลเอนต์ getRemoteHost () สามารถรับชื่อโฮสต์ได้ ดูตัวอย่างที่นี่
101. โครงสร้างของการตอบสนอง HTTP คืออะไร?
การตอบสนอง HTTP ประกอบด้วยสามส่วน:
รหัสสถานะ: อธิบายสถานะของการตอบกลับ สามารถใช้เพื่อตรวจสอบว่าคำขอเสร็จสมบูรณ์หรือไม่ ในกรณีที่มีการร้องขอความล้มเหลวรหัสสถานะสามารถใช้เพื่อค้นหาสาเหตุของความล้มเหลว หาก servlet ไม่ส่งคืนรหัสสถานะรหัสสถานะที่ประสบความสำเร็จ httpservletResponse.sc_ok จะถูกส่งกลับโดยค่าเริ่มต้น
ส่วนหัว HTTP: พวกเขามีข้อมูลเพิ่มเติมเกี่ยวกับการตอบกลับ ตัวอย่างเช่น: ส่วนหัวสามารถระบุวันที่หมดอายุที่การตอบกลับถือว่าหมดอายุหรือระบุรูปแบบการเข้ารหัสที่ใช้ในการถ่ายโอนเนื้อหาเอนทิตีไปยังผู้ใช้อย่างปลอดภัย วิธีดึงส่วนหัว HTTP ใน Serlet ดูที่นี่
ร่างกาย: มันมีเนื้อหาของการตอบสนอง สามารถมีรหัส HTML รูปภาพและอื่น ๆ ร่างกายประกอบด้วยไบต์ข้อมูลที่ส่งทันทีหลังจากส่วนหัวในข้อความ HTTP
102. คุกกี้คืออะไร? เซสชันและคุกกี้ต่างกันอย่างไร?
คุกกี้เป็นข้อมูลชิ้นหนึ่งที่ส่งไปยังเบราว์เซอร์โดยเว็บเซิร์ฟเวอร์ เบราว์เซอร์จะเก็บคุกกี้สำหรับเว็บเซิร์ฟเวอร์แต่ละตัวในไฟล์ท้องถิ่น ในอนาคตเมื่อเบราว์เซอร์ส่งคำขอไปยังเว็บเซิร์ฟเวอร์เฉพาะมันจะส่งคุกกี้ทั้งหมดที่เก็บไว้สำหรับเซิร์ฟเวอร์ รายการต่อไปนี้แสดงความแตกต่างระหว่างเซสชันและคุกกี้:
ไม่ว่าเบราว์เซอร์ลูกค้าจะตั้งค่าใดเซสชันควรทำงานตามปกติ ไคลเอนต์สามารถเลือกที่จะปิดการใช้งานคุกกี้ แต่เซสชันยังคงใช้งานได้เนื่องจากไคลเอนต์ไม่สามารถปิดใช้งานเซสชันเซิร์ฟเวอร์ได้
เซสชันและคุกกี้ก็แตกต่างกันในแง่ของปริมาณข้อมูลที่เก็บไว้ เซสชันสามารถเก็บวัตถุ Java ใด ๆ และคุกกี้สามารถจัดเก็บวัตถุประเภทสตริงเท่านั้น
103. เบราว์เซอร์และเซิร์ฟเล็ตใช้โปรโตคอลใดในการสื่อสาร?
การสื่อสารเบราว์เซอร์และเซิร์ฟเล็ตใช้โปรโตคอล HTTP
104. อุโมงค์ HTTP คืออะไร?
HTTP Tunneling เป็นเทคโนโลยีที่ใช้ HTTP หรือ HTTPS เพื่อห่อหุ้มโปรโตคอลเครือข่ายหลายรายการสำหรับการสื่อสาร ดังนั้นโปรโตคอล HTTP จึงมีบทบาทของเสื้อคลุมที่เปิดท่อสำหรับโปรโตคอลเครือข่ายสำหรับการสื่อสาร คำขอที่ครอบคลุมคำขอจากโปรโตคอลอื่น ๆ ลงใน HTTP เป็นอุโมงค์ HTTP
105. วิธีการ SENDREDIRECT () และไปข้างหน้า () แตกต่างกันอย่างไร?
เมธอด sendredirect () สร้างคำขอใหม่ในขณะที่วิธีการส่งต่อ () เพียงส่งต่อการร้องขอไปยังเป้าหมายใหม่ หลังจากเปลี่ยนเส้นทางวัตถุภายในขอบเขตของคำขอก่อนหน้านี้จะไม่ถูกต้องเนื่องจากคำขอใหม่จะถูกสร้างขึ้น หลังจากส่งต่อวัตถุภายในขอบเขตของคำขอก่อนหน้านี้จะยังคงสามารถเข้าถึงได้ เป็นที่เชื่อกันโดยทั่วไปว่า Sendredirect () ช้ากว่าไปข้างหน้า ()
106. การเข้ารหัส URL และการถอดรหัส URL คืออะไร?
การเข้ารหัส URL มีหน้าที่ในการเปลี่ยนช่องว่างและอักขระพิเศษอื่น ๆ ใน URL ด้วยการเป็นตัวแทน hexadecimal ที่สอดคล้องกันมิฉะนั้นจะถอดรหัส
JSP
107. หน้า JSP คืออะไร?
หน้า JSP เป็นเอกสารข้อความที่มีข้อความสองประเภท: ข้อมูลคงที่และองค์ประกอบ JSP ข้อมูลคงที่สามารถแสดงได้ในรูปแบบข้อความใด ๆ เช่น HTML หรือ XML JSP เป็นเทคโนโลยีที่ผสมเนื้อหาแบบคงที่และสร้างขึ้นแบบไดนามิก นี่คือตัวอย่าง JSP
108. การร้องขอ JSP ดำเนินการอย่างไร?
เบราว์เซอร์แรกจำเป็นต้องขอหน้าจบด้วยส่วนขยาย. jsp เริ่มต้นคำขอ JSP จากนั้นเว็บเซิร์ฟเวอร์จะอ่านคำขอและแปลงหน้า JSP เป็นคลาส servlet โดยใช้คอมไพเลอร์ JSP ควรสังเกตว่าไฟล์ JSP จะถูกรวบรวมเฉพาะเมื่อหน้าคำขอแรกหรือไฟล์ JSP เปลี่ยนไปและเซิร์ฟเวอร์เรียกคลาส Servlet เพื่อประมวลผลคำขอของเบราว์เซอร์ เมื่อการดำเนินการตามคำขอเสร็จสมบูรณ์ servlet จะส่งการตอบกลับไปยังลูกค้า ที่นี่เราจะเห็นวิธีรับพารามิเตอร์คำขอใน JSP
109. ข้อดีของ JSP คืออะไร?
ข้อดีของการใช้ JSP แสดงอยู่ด้านล่าง:
110. คำสั่ง JSP คืออะไร? คำสั่งประเภทต่าง ๆ ใน JSP คืออะไร?
Directive เป็นคำสั่งที่เอ็นจิ้น JSP จำเป็นต้องดำเนินการเมื่อหน้า JSP ถูกรวบรวมเป็น servlet คำสั่งใช้เพื่อตั้งค่าคำแนะนำระดับหน้าแทรกข้อมูลจากไฟล์ภายนอกและระบุไลบรารีแท็กที่กำหนดเอง คำสั่งถูกกำหนดระหว่าง < %@ และ %> ต่อไปนี้เป็นคำสั่งประเภทต่าง ๆ :
รวม Directive: ใช้เพื่อรวมไฟล์และรวมเนื้อหาไฟล์เข้ากับหน้าปัจจุบัน
Page Directive: ใช้เพื่อกำหนดคุณสมบัติเฉพาะในหน้า JSP เช่นหน้าข้อผิดพลาดและบัฟเฟอร์
Taglib Directive: ใช้เพื่อประกาศไลบรารีแท็กที่กำหนดเองที่ใช้ในหน้า
111. การกระทำของ JSP คืออะไร?
การกระทำของ JSP ควบคุมพฤติกรรมของเอ็นจิ้น servlet ด้วยโครงสร้างไวยากรณ์ XML เมื่อมีการร้องขอหน้า JSP การดำเนินการ JSP จะถูกดำเนินการ พวกเขาสามารถแทรกแบบไดนามิกลงในไฟล์นำกลับมาใช้ส่วนประกอบ javabean ซ้ำผู้ใช้ที่ส่งต่อไปยังหน้าอื่น ๆ หรือสร้างรหัส HTML สำหรับปลั๊กอิน Java การกระทำที่มีอยู่แสดงอยู่ด้านล่าง:
112. สคริปต์คืออะไร?
ในเทคโนโลยี JSP สคริปต์เป็นส่วนหนึ่งของรหัส Java ที่ฝังอยู่ในหน้า JSP scriptlet คือทุกสิ่งที่อยู่ในแท็ก ระหว่างแท็กผู้ใช้สามารถเพิ่ม scriptlet ที่ถูกต้อง
113. การประกาศอยู่ที่ไหน (decalaration)?
การประกาศมีความคล้ายคลึงกับการประกาศตัวแปรใน Java และใช้เพื่อประกาศตัวแปรที่จะใช้โดยนิพจน์หรือสคริปต์ คำสั่งเพิ่มเติมจะต้องห่อด้วยแท็กเริ่มต้นและปลายทาง
114. การแสดงออกคืออะไร?
[รายการนั้นยาวมากและสามารถเผยแพร่ได้ในระดับบนกลางและล่าง]
นิพจน์ JSP คือเว็บเซิร์ฟเวอร์ที่แปลงค่าของนิพจน์ภาษาสคริปต์เป็นวัตถุสตริงและแทรกลงในสตรีมข้อมูลที่ส่งคืนไปยังไคลเอนต์ นิพจน์ถูกกำหนดระหว่างสองแท็ก < %= และ %>
115. วัตถุโดยนัยหมายถึงอะไร? วัตถุที่ซ่อนอยู่คืออะไร?
วัตถุ JSP โดยนัยคือวัตถุ Java บางส่วนในหน้าและคอนเทนเนอร์ JSP อนุญาตให้นักพัฒนาซอฟต์แวร์ใช้วัตถุ Java เหล่านี้ นักพัฒนาสามารถใช้โดยตรงโดยไม่มีการประกาศอย่างชัดเจน วัตถุโดยนัย JSP เรียกอีกอย่างว่าตัวแปรที่กำหนดไว้ล่วงหน้า รายการต่อไปนี้แสดงวัตถุโดยนัยในหน้า JSP:
ข้างต้นเป็นการรวบรวมข้อมูลสำหรับคำถามสัมภาษณ์ Java ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!