รู้เบื้องต้นเกี่ยวกับ JAX-WS

รู้เบื้องต้นเกี่ยวกับ JAX-WS

1. ภาพรวม Java API สำหรับ XML Web Services (JAX-WS) เป็น API มาตรฐานสำหรับการสร้างและใช้บริการเว็บ SOAP (Simple Object Access Protocol) ในบทความนี้เราจะสร้างบริการเว็บ SOAP และเชื่อมต่อโดยใช้ JAX-WS 2. สบู่ SOAP เป็นข้อกำหนด XML สำหรับการส่งข้อความผ่านเครือข่าย ข้อความ SOAP ไม่ขึ้นอยู่กับระบบปฏิบัติการใด ๆ และสามารถใช้โปรโตคอลการสื่อสารที่หลากหลายรวมถึง HTTP และ SMTP SOAP เป็น XML ที่มีน้ำหนักมากดังน

อ่านเพิ่มเติม

   วิธีแก้ไข java.lang.UnsupportedClassVersionError

วิธีแก้ไข java.lang.UnsupportedClassVersionError

1. บทนำ ในบทช่วยสอนสั้น ๆ นี้เราจะเรียนรู้ว่าอะไรเป็นสาเหตุของข้อผิดพลาดรันไทม์ Java java.lang.UnsupportedClassVersionError: เวอร์ชัน major.minor ที่ไม่รองรับและวิธีแก้ไข 2. ดูข้อผิดพลาด เริ่มต้นด้วยการดูข้อผิดพลาดตัวอย่าง: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/bael

อ่านเพิ่มเติม

   การแนบค่าเข้ากับ Java Enum

การแนบค่าเข้ากับ Java Enum

1. บทนำ ประเภทJava enumจัดเตรียมวิธีที่รองรับภาษาในการสร้างและใช้ค่าคงที่ โดยการกำหนดขอบเขตของค่าที่enumมากขึ้นชนิดที่ปลอดภัยกว่าตัวแปรอักษรคงที่เช่นStringหรือint อย่างไรก็ตามค่าenumจำเป็นต้องเป็นตัวระบุที่ถูกต้องและเราสนับสนุนให้ใช้ SCREAMING_SNAKE_CASE ตามแบบแผน ได้รับข้อ จำกัด เหล่านั้นenumค่าเพียงอย่างเดียวไม่เหมาะสำหรับสตริงมนุษย์สามารถอ่านได้หรือค่าที่ไม่ใช่สตริง ในบทช่วยสอนนี้เราจะใช้คุณสมบัติของenumเป็นคลาส Java เพื่อแนบค่าที่เราต้องการ 2. การใช้ Java Enumเป็นคลาส เรามักสร้างenumเป็นรายการค่าอย่างง่าย ตัวอย่างเช่นต่อไปนี้เป็นสองแถวแรกของตารางธาตุเป็นenumธรรมดา: public enum Element

อ่านเพิ่มเติม

   บทช่วยสอน Apache Maven

บทช่วยสอน Apache Maven

1. บทนำ การสร้างโครงการซอฟต์แวร์โดยทั่วไปประกอบด้วยงานต่างๆเช่นการดาวน์โหลดการอ้างอิงการใส่ jars เพิ่มเติมบน classpath การรวบรวมซอร์สโค้ดเป็นรหัสไบนารีการรันการทดสอบการคอมไพล์โค้ดบรรจุภัณฑ์ลงในอาร์ติแฟกต์ที่ปรับใช้ได้เช่นไฟล์ JAR, WAR และ ZIP และการปรับใช้สิ่งประดิษฐ์เหล่านี้ ไปยังแอ็พพลิเคชันเซิร์ฟเวอร์หรือที่เก็บ Apache Maven ทำงานเหล่านี้โดยอัตโนมัติลดความเสี่ยงที่มนุษย์จะสร้างข้อผิดพลาดในขณะที่สร้างซอฟต์แวร์ด้วยตนเองและแยกงานรวบรวมและบรรจุรหัสของเราออกจากการสร้างโค้ด ในบทช่วยสอนนี้เราจะสำรวจเครื่องมือที่มีประสิทธิภาพนี้สำหรับการอธิบายสร้างและจัดการโครงการซอฟต์แวร์ Java โดยใช้ข้อมูลส่วนกลา

อ่านเพิ่มเติม

   จำนวนตัวเลขในจำนวนเต็มใน Java

จำนวนตัวเลขในจำนวนเต็มใน Java

1. บทนำ ในบทช่วยสอนฉบับย่อนี้เราจะสำรวจวิธีต่างๆในการรับจำนวนหลักในIntegerใน Java นอกจากนี้เราจะวิเคราะห์วิธีการต่างๆเหล่านั้นและจะหาว่าอัลกอริทึมใดที่เหมาะสมที่สุดในสถานการณ์ของเรา 2. จำนวนตัวเลขในจำนวนเต็ม สำหรับวิธีการที่กล่าวถึงที่นี่เราพิจารณาเฉพาะจำนวนเต็มบวกเท่านั้น หากเราคาดหวังการป้อนข้อมูลเชิงลบใด ๆ เราสามารถใช้Math.abs (ตัวเลข)ก่อนที่จะใช้วิธีการเหล่านี้ 2.1. สตริง - ตามโซลูชัน บางทีวิธีที่ง่ายที่สุดในการรับจำนวนหลักในIntegerคือการแปลงเป็นStringและเรียกเมธอดlength () สิ่งนี้จะส่งกลับความยาวของ

อ่านเพิ่มเติม

   คำแนะนำสำหรับ java.util.concurrent.Future

คำแนะนำสำหรับ java.util.concurrent.Future

1. ภาพรวม ในบทความนี้เราจะไปเรียนรู้เกี่ยวกับอนาคต อินเทอร์เฟซที่มีมาตั้งแต่ Java 1.5 และมีประโยชน์มากเมื่อทำงานกับการโทรแบบอะซิงโครนัสและการประมวลผลพร้อมกัน 2. การสร้างFutures พูดง่ายๆคือคลาสFutureแสดงถึงผลลัพธ์ในอนาคตของการคำนวณแบบอะซิงโครนัสซึ่งเป็นผลลัพธ์ที่จะปรากฏในอนาคตหลังจากการประมวลผลเสร็จสมบูรณ์ มาดูวิธีเขียนเมธอดที่สร้างและส่งคืนอินสแตนซ์ในอนาคต วิธีการทำงานที่ยาวนานเป็นตัวเลือกที่ดีสำหรับการประมวลผลแบบอะซิงโครนัสและอินเทอร์เฟ

อ่านเพิ่มเติม

   ภาพรวมของประเภท Cascade JPA / Hibernate

ภาพรวมของประเภท Cascade JPA / Hibernate

1. บทนำ ในบทช่วยสอนนี้เราจะพูดถึงการเรียงซ้อนใน JPA / Hibernate จากนั้นเราจะกล่าวถึงประเภทน้ำตกต่างๆที่พร้อมใช้งานพร้อมกับความหมาย 2. Cascading คืออะไร? ความสัมพันธ์ของเอนทิตีมักขึ้นอยู่กับการมีอยู่ของเอนทิตีอื่นตัวอย่างเช่นความสัมพันธ์ระหว่างบุคคล - ที่อยู่ หากไม่มีบุคคลนั้นเอนทิตีที่อยู่จะไม่มีความหมายของตัวเอง เมื่อเราลบเอนทิตีบุคคลเอนทิตีที่อยู

อ่านเพิ่มเติม

   Static และ Default Methods ในอินเทอร์เฟซใน Java

Static และ Default Methods ในอินเทอร์เฟซใน Java

1. ภาพรวม Java 8 นำคุณลักษณะใหม่ล่าสุดมาสู่ตารางรวมถึงนิพจน์แลมบ์ดาอินเทอร์เฟซการทำงานการอ้างอิงเมธอดสตรีมทางเลือกและวิธีการแบบคงที่และดีฟอลต์ในอินเทอร์เฟซ บางส่วนได้กล่าวถึงในบทความนี้แล้ว อย่างไรก็ตามวิธีการแบบคงที่และค่าเริ่มต้นในอินเทอร์เฟซควรได้รับการพิจารณาอย่างลึกซึ้งด้วยตนเอง ในบทความนี้เราจะพูดถึงวิธีการใช้วิธีการคงที่และค่าเริ่มต้นในอินเทอร์เฟซในเชิงลึกและอธิบายถึงกรณีการใช้งานบางอย่างที่สามารถเป็นประโยชน์ 2. ทำไมต้องใช้วิธีการเริ่มต้นในอินเทอร์เฟซ เช่นเดียวกับวิธีการอินเทอร์เฟซทั่วไปวิธีการเริ่มต้นเป็นแบบสาธารณะโดยปริยายไม่จำเป็นต้องระบุตัวปรับแต่งสาธารณะ อินเตอร์เฟซที่แตกต่างจา

อ่านเพิ่มเติม

   อ่านและเขียน User Input ใน Java

อ่านและเขียน User Input ใน Java

1. บทนำ ในการกวดวิชาอย่างนี้เราจะแสดงให้เห็นถึงหลายวิธีที่จะใช้คอนโซลสำหรับการป้อนข้อมูลของผู้ใช้และการส่งออกในจาวา เราจะต้องดูที่วิธีการไม่กี่ของการสแกนเนอร์ระดับสำหรับการจัดการการป้อนข้อมูลและจากนั้นเราจะแสดงการส่งออกบางอย่างง่ายโดยใช้System.out สุดท้ายเราจะดูวิธีใช้คลาสConsoleซึ่งมีให้ตั้งแต่ Java 6 สำหรับทั้งอินพุตและเอาต์พุตคอนโซล 2. อ่านจากSystem.in สำหรับตัวอย่างแรกของเราเราจะใช้คลาสScannerในแพ็คเกจjava.utilเพื่อรับอินพุตจากSystem.in - สตรีมอินพุต "มาตรฐาน": Scanner scanner = new Scanner(System.in); มาใช้เมธอด nextLine ()เพื่ออ่านอินพุตทั้งบรรทัดเป็นStringและเลื่อนไปยังบรรทัดถัดไป:

อ่านเพิ่มเติม

   ข้อมูลเบื้องต้นเกี่ยวกับ Spring Batch

ข้อมูลเบื้องต้นเกี่ยวกับ Spring Batch

1. บทนำ ในบทความนี้เราจะมุ่งเน้นไปที่บทนำที่เน้นรหัสที่ใช้งานได้จริงสำหรับ Spring Batch Spring Batch คือกรอบการประมวลผลที่ออกแบบมาเพื่อการดำเนินงานที่มีประสิทธิภาพ เป็นเวอร์ชันปัจจุบัน 3.0 ซึ่งรองรับ Spring 4 และ Java 8 นอกจากนี้ยังรองรับ JSR-352 ซึ่งเป็นข้อกำหนดจาวาใหม่สำหรับการประมวลผลแบบแบตช์ ต่อไปนี้เป็นกรณีการใช้งานที่น่าสนใจและใช้ได้จริงของกรอบงาน 2. ข้อมูลเบื้องต้นเกี่ยวกับเวิร์กโฟลว์ Spring batch เป็นไปตามสถาปัตยกรรมแบตช์แบบดั้งเดิมที่ที่เก็บงานทำหน้าที่จัดกำหนดการและโต้ตอบกั

อ่านเพิ่มเติม

   การทำความเข้าใจ Memory Leaks ใน Java

การทำความเข้าใจ Memory Leaks ใน Java

1. บทนำ ประโยชน์หลักอย่างหนึ่งของ Java คือการจัดการหน่วยความจำอัตโนมัติด้วยความช่วยเหลือของ Garbage Collector ในตัว (หรือเรียกสั้น ๆ ว่าGC ) GC จะดูแลการจัดสรรและเพิ่มหน่วยความจำโดยปริยายดังนั้นจึงสามารถจัดการปัญหาส่วนใหญ่ของหน่วยความจำรั่วได้ แม้ว่า GC จะจัดการกับหน่วยความจำส่วนหนึ่งได้อย่างมีประสิทธิภาพ แต่ก็ไม่รับประกันว่าจะแก้ปัญหาหน่วยความจำที่รั่วไหลไม่ได้ GC ค่อนข้างฉลาด แต่ไม่ได้ไร้ที่ติ การรั่วไหลของหน่วยความจำยังคงสามารถแอบได้แม้ในแอปพลิเคชันของนักพัฒนาที่มีสติ ยังอาจมีสถานการณ์ที่แอปพลิเคชันสร้างอ็อบเจ็กต์ที่ไม่จำเป็นจำนวนมากดังนั้นจึงทำให้ทรัพยากรหน่วยความจำที่สำคัญหมดไปบางครั้งอา

อ่านเพิ่มเติม

   คำแนะนำเกี่ยวกับนิพจน์ Cron

คำแนะนำเกี่ยวกับนิพจน์ Cron

1. ภาพรวม พูดง่ายๆคือ cron เป็นยูทิลิตี้พื้นฐานที่มีอยู่ในระบบที่ใช้ Unix ช่วยให้ผู้ใช้สามารถจัดกำหนดการงานให้ทำงานเป็นระยะ ๆ ตามวันที่ / เวลาที่กำหนด และโดยปกติแล้วมันเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการทำให้กระบวนการทำงานเป็นไปโดยอัตโนมัติซึ่งจะต้องมีการแทรกแซงของมนุษย์ Cron ทำงานเป็นกระบวนการ daemon ซึ่งหมายความว่าจะต้องเริ่มต้นเพียงครั้งเดียวและจะทำงานในพื้นหลังต่อไป กระบวนการนี้ใช้ประโยชน์จากcrontabเพื่ออ่านรายการของตารางเวลาและเริ่มงาน เมื่อเวลาผ่านไปรูปแบบนิพจน์ cron ได้รับการยอมรับอย่างกว้างขวางและโปรแกรมและไลบรารีอื่น ๆ ก็ใช้ประโยชน์จากมัน 2. การทำงานกับCrontab cronกำหนดการเป็นไฟล์ข

อ่านเพิ่มเติม

   ตรวจสอบและไม่เลือกข้อยกเว้นใน Java

ตรวจสอบและไม่เลือกข้อยกเว้นใน Java

1. ภาพรวม ข้อยกเว้น Java ตกอยู่ในสองประเภทหลัก: ข้อยกเว้นการตรวจสอบและข้อยกเว้นไม่ถูกตรวจสอบ ในบทความนี้เราจะให้ตัวอย่างโค้ดเกี่ยวกับวิธีการใช้งาน 2. ตรวจสอบข้อยกเว้น โดยทั่วไปข้อยกเว้นที่ตรวจสอบแล้วแสดงถึงข้อผิดพลาดที่อยู่นอกการควบคุมของโปรแกรม ตัวอย่างเช่นตัวสร้างของFileInputStreamพ่นFileNotFoundExceptionหากไม่มีไฟล์อินพุต Java ตรวจสอบข้อยกเว้นที่ตรวจสอบในเวลาคอมไพล์ ดังนั้นเราควรใช้คีย์เวิร์ดพ่นเพื่อประกา

อ่านเพิ่มเติม

   การค้นหาตัวหารร่วมที่ยิ่งใหญ่ที่สุดใน Java

การค้นหาตัวหารร่วมที่ยิ่งใหญ่ที่สุดใน Java

1. ภาพรวม ในทางคณิตศาสตร์ GCD ของจำนวนเต็มสองจำนวนซึ่งไม่ใช่ศูนย์เป็นจำนวนเต็มบวกที่ใหญ่ที่สุดที่แบ่งจำนวนเต็มแต่ละจำนวนเท่า ๆ กัน ในบทช่วยสอนนี้เราจะดูสามวิธีในการค้นหาตัวหารร่วมที่ยิ่งใหญ่ที่สุด (GCD) ของจำนวนเต็มสองตัว นอกจากนี้เราจะดูการนำไปใช้ใน Java 2. กำลังดุร้าย สำหรับแนวทางแรกของเราเราจะวนซ้ำจาก 1 ไปยังจำนวนที่น้อยที่สุดที่กำหนดและตรวจสอบว่าจำนวนเต็มที่กำหนดนั้นหารด้วยดัชนีได้หรือไม่ ดัชนีที่ใหญ่ที่สุดซึ่งแบ่งตัวเลขที่ระบุคือ GCD ของตัวเลขที่ระบุ: int gcdByBruteForce(int n1, int n2) { int gcd = 1; for (int i = 1; i <= n1 && i <= n2; i++) { if (n1 % i == 0 && n

อ่านเพิ่มเติม

   คำแนะนำเพื่อความสมบูรณ์ในอนาคต

คำแนะนำเพื่อความสมบูรณ์ในอนาคต

1. บทนำ บทช่วยสอนนี้เป็นคำแนะนำเกี่ยวกับฟังก์ชันการทำงานและกรณีการใช้งานของคลาสCompletableFutureที่นำมาใช้ในการปรับปรุง Java 8 Concurrency API 2. การคำนวณแบบอะซิงโครนัสใน Java การคำนวณแบบอะซิงโครนัสเป็นเรื่องยากที่จะให้เหตุผล เรามักจะต้องการที่จะคิดการคำนวณใด ๆ ที่เป็นชุดของขั้นตอน แต่ในกรณีของการคำนวณตรงกัน, การกระทำที่แสดงเป็นเรียกกลับม

อ่านเพิ่มเติม

   หลีกเลี่ยงการตรวจสอบคำสั่ง Null ใน Java

หลีกเลี่ยงการตรวจสอบคำสั่ง Null ใน Java

1. ภาพรวม โดยทั่วไปตัวแปรโมฆะการอ้างอิงและคอลเล็กชันเป็นเรื่องยากที่จะจัดการในโค้ด Java ไม่เพียง แต่ระบุได้ยาก แต่ยังมีความซับซ้อนในการจัดการอีกด้วย ตามความเป็นจริงการพลาดใด ๆ ในการจัดการกับnullไม่สามารถระบุได้ในเวลาคอมไพล์และส่งผลให้NullPointerExceptionขณะรันไทม์ ในบทช่วยสอนนี้เราจะมาดูความจำเป็นในการตรวจสอบค่าว่างใน Java และทางเลือกต่างๆที่ช่วยให้เราหลีกเลี่ยงการตรวจสอบค่าว่างในโค้ดของเรา 2. NullPointerExceptionคืออะไร? ตาม Javadoc สำหรับNullPointerExceptionจะเกิดขึ้นเมื่อแอปพลิเคชันพยายามใช้nullในกรณีที่ต้องการวัตถุเช่น: เรียกใช้วิธีการอินสแตนซ์ของวัตถุว่าง การเข้าถึงหรือแก้ไขฟิลด์ขอ

อ่านเพิ่มเติม

   สปริงบูตแอคชูเอเตอร์

สปริงบูตแอคชูเอเตอร์

1. ภาพรวม ในบทความนี้เราขอแนะนำ Spring Boot Actuator เราจะพูดถึงพื้นฐานก่อนจากนั้นพูดคุยในรายละเอียดว่ามีอะไรบ้างใน Spring Boot 2.x เทียบกับ 1.x เราจะเรียนรู้วิธีใช้กำหนดค่าและขยายเครื่องมือตรวจสอบนี้ใน Spring Boot 2.x และ WebFlux โดยใช้ประโยชน์จากรูปแบบการเขียนโปรแกรมแบบรีแอคทีฟ จากนั้นเราจะพูดถึงวิธีการท

อ่านเพิ่มเติม

   ไฮเบอร์เนตแคชระดับที่สอง

ไฮเบอร์เนตแคชระดับที่สอง

1. ภาพรวม ข้อดีอย่างหนึ่งของเลเยอร์นามธรรมของฐานข้อมูลเช่นเฟรมเวิร์ก ORM (การทำแผนที่เชิงสัมพันธ์เชิงวัตถุ) คือความสามารถในการแคชข้อมูลที่ดึงมาจากที่จัดเก็บ ซึ่งช่วยลดต้นทุนการเข้าถึงฐานข้อมูลสำหรับข้อมูลที่เข้าถึงบ่อย การเพิ่มประสิทธิภาพอาจมีนัยสำคัญหากอัตราส่วนการอ่าน / เขียนของเนื้อหาแคชสูงโดยเฉพาะอย่างยิ่งสำหรับเอนทิตีที่ประกอบด้วยกราฟออบเจ็กต์ขนาดใหญ่ ในบทความนี้เราจะสำรวจแคชระดับสองของไฮเบอร์เนต เราอธิบายแนวคิดพื้นฐานบางประการและเช่นเคยเราอธิบายทุกอย่างด้วยตัวอย่างง่ายๆ เราใช้ JPA และถอยกลับไปใช้ Hibernate native API สำหรับคุณลักษณะที่ไม่ได้มาตรฐานใน JPA เท่านั้น 2. แคชระดับที่สองคืออ

อ่านเพิ่มเติม

   เพิ่มอักขระลงในสตริงในตำแหน่งที่กำหนด

เพิ่มอักขระลงในสตริงในตำแหน่งที่กำหนด

1. บทนำ ในการกวดวิชาอย่างนี้เราจะแสดงให้เห็นถึงวิธีการเพิ่มตัวละครที่ตำแหน่งใดก็ตามในStringในJava เราจะนำเสนอการใช้งานฟังก์ชันง่ายๆสามอย่างซึ่งใช้สตริงดั้งเดิมอักขระและตำแหน่งที่เราต้องการเพิ่มเข้าไป เนื่องจากคลาส String เป็นขั้นสุดท้ายและไม่เปลี่ยนรูปฟังก์ชันจึงควรส่งคืนStringใหม่พร้อมอักขระที่เพิ่มเข้ามา 2. การใช้อาร์เรย์อักขระ ที่นี่แนวคิดคือการสร้างอาร์เรย์อักขระใหม่และคัดลอกอักขระจากสตริงเดิมก่อนตำแหน่งที่กำหนด หลังจากนั้นเราใส่อักขระใหม่ที่ตำแหน่งและคัดลอกอักขระที่เหลือจากสตริงเดิมในตำแหน่งต่อมาของอาร์เรย์ใหม่ ในที่สุดเราสร้างStringที่ต้องการจากอาร์เรย์นั้น public String addChar(St

อ่านเพิ่มเติม

   รู้เบื้องต้นเกี่ยวกับ Java Servlets

รู้เบื้องต้นเกี่ยวกับ Java Servlets

1. ภาพรวม ในบทความนี้เราจะมาดูประเด็นหลักของการพัฒนาเว็บใน Java - Servlets 2. Servlet และคอนเทนเนอร์ พูดง่ายๆคือ Servlet เป็นคลาสที่จัดการคำขอประมวลผลและตอบกลับพร้อมการตอบกลับ ตัวอย่างเช่นเราสามารถใช้ Servlet เพื่อรวบรวมข้อมูลเข้าจากผู้ใช้ผ่านรูปแบบ HTML บันทึกแบบสอบถามจากฐานข้อมูลและสร้างหน้าเว็บแบบไดนามิก Servlets อยู่ภายใต้การควบคุมของแอปพลิเคชัน Java อื่นที่เรียกว่าServlet Container เมื่อโปรแกรมประยุกต์ที่ทำงานในเว็บเซิร์ฟเวอร์รับคำขอ,เซิร์ฟเวอร์มือร้องขอไปยัง Servlet คอนเทนเนอร์ - ซึ่งจะส่งผ่านไปยัง Servlet เป้าหมาย 3. การพึ่งพา Maven เพื่อเพิ่มการสนับสนุน Servlet ใน app เว็บของเราj

อ่านเพิ่มเติม

   JSON ใน Java

JSON ใน Java

แจ็คสันท็อป ฉันเพิ่งประกาศหลักสูตรLearn Springใหม่โดยเน้นที่พื้นฐานของ Spring 5 และ Spring Boot 2: >> ตรวจสอบหลักสูตร 1. ภาพรวม การทำงานกับข้อมูล JSON ใน Java อาจเป็นเรื่องง่ายแต่ก็เหมือนกับสิ่งอื่น ๆ ใน Java มีตัวเลือกและไลบรารีมากมายที่เราสามารถเลือกได้ คู่มือนี้ควรทำให้ทางเลือกนั้นง่ายขึ้นและควรให้ความเข้าใจที่มั่นคงเกี่ยวกับระบบนิเวศในขณะนี้ เราจะพูดถึงไลบรารีการประมวลผล JSON ที่พบบ่อยที่สุดใน Java: แจ็คสัน Gson json-io Genson เรากำลังติดตามโครงสร้างที่เรียบง่ายสำหรับแต่ละไลบรารี - ก่อนอื่นทรัพยากรที่มีประโยชน์เพื่อเริ่มต้น (ทั้งที่นี่ใน Baeldung และภายนอก) จากนั้นเราจะพ

อ่านเพิ่มเติม