JavaRush /จาวาบล็อก /Random-TH /ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา

ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา

เผยแพร่ในกลุ่ม
บทความนี้มีไว้สำหรับใคร: บางสิ่งจะเป็นที่สนใจของผู้เริ่มต้นที่กำลังศึกษาภารกิจ Java Syntax แต่โดยพื้นฐานแล้วเนื้อหาที่นำเสนอจะเหมาะกับผู้ที่ข้ามเส้นศูนย์สูตรของหลักสูตรไปแล้วมากกว่า (เข้าใจ Java Collections และ Java Multithreading quests) และเริ่มสนใจเทคโนโลยีที่นอกเหนือไปจาก Java Core Framework ตลอดระยะเวลาที่ดำรงอยู่ Java ได้ซื้อไลบรารีจำนวนหนึ่งมาพอสมควร แต่คุณจะรู้ได้อย่างไรว่าอันไหนคุ้มค่าที่จะใช้และอันไหนไม่? การแยกข้าวสาลีออกจากแกลบเป็นเรื่องยากมากสำหรับนักพัฒนาที่มีงานยุ่งตลอดเวลา ในบทความ นี้ Martin Patsov นักพัฒนา Full Stack ของ Dreamix พูดถึงความรักที่เขามีต่อไลบรารีโอเพ่นซอร์ส และแนะนำไลบรารีที่เขาพบว่ามีประโยชน์อย่างยิ่ง ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 1จะเป็นหรือไม่นั่นคือคำถาม: มันจะกลายเป็นความรอดหรือความล้มเหลว ไลบรารี Java เดียวกันนั้น... จงกล้าหาญ! “SigniOrs” อยู่ที่นั่นแล้ว และฉันจะถ่ายทอดประสบการณ์ของพวกเขาให้คุณ อย่าเข้าใจผิดโดยการพูดนอกเรื่องบทกวีของฉัน มีไลบรารีมากมายใน Java และการทำความเข้าใจไลบรารีเหล่านี้เป็นเรื่องยากมาก อย่างไรก็ตามฉันรักพวกเขามาก ฉันยังสามารถถูกเรียกว่า "ผู้เผยแพร่ห้องสมุด" ( โดย "ผู้เผยแพร่ศาสนา" ในสาขาไอทีเราหมายถึงไม่ใช่ผู้รวบรวมพระกิตติคุณที่เป็นที่ยอมรับ แต่เป็นคนที่ส่งเสริมเทคโนโลยีนี้หรือเทคโนโลยีนั้นอย่างมืออาชีพ อย่าสับสนกับคนประชาสัมพันธ์ทั่วไป: บ่อยที่สุด ผู้เผยแพร่ด้านไอทีมีความเข้าใจอย่างถ่องแท้เกี่ยวกับเทคโนโลยีที่เขาส่งเสริมเทคโนโลยี - หมายเหตุบรรณาธิการ ) ห้องสมุดเป็นส่วนสำคัญของระบบนิเวศโอเพ่นซอร์ส ชุมชนขนาดใหญ่เติบโตรอบตัวพวกเขา ซึ่งพัฒนาและสนับสนุนพวกเขา และนั่นก็เยี่ยมมาก ข้อได้เปรียบหลักของไลบรารีคือช่วยให้เราหลีกเลี่ยงการสร้างวงล้อใหม่ทุกครั้งที่เราเขียนโค้ด ใช้ไลบรารี่—โค้ดที่เขียนไว้แล้วสำหรับงานเฉพาะ—ให้บ่อยที่สุดเท่าที่จะเป็นไปได้! คุณจะประหยัดเวลา จริงๆ แล้วใช้เวลาอยู่กับครอบครัวและเพื่อนฝูงจะดีกว่า

10 อันดับแรก

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

1. ไลบรารีมาตรฐาน Java

ใช่ ใช่ คุณไม่คิดอย่างนั้น! หลายๆ คนดูถูกดูแคลน ยิ่งไปกว่านั้น พวกเขาไม่รู้ความสามารถมากมายของ Java Standard Libraries และไม่ตระหนักถึงวิธีปลดล็อกศักยภาพในการเขียนโปรแกรม... หรือแม้แต่ไม่ได้ใช้เลยด้วยซ้ำ นี่คือคำอธิบายสั้น ๆ เกี่ยวกับบางส่วน:
  • java.lang . ไลบรารีนี้จะถูกนำเข้าไปยังแอปพลิเคชัน Java ใด ๆ เสมอ เนื่องจากมีทุกสิ่งที่คุณไม่สามารถเขียนโปรแกรมได้โดยทั่วไป ( String , Double , Enum , Mathและอื่น ๆ )

  • ในjava.utilคุณสามารถค้นหาคอลเลกชันและโครงสร้างข้อมูลทั้งหมดที่มีอยู่ใน Java

  • ต่อไป เรามีjava.ioสำหรับการอ่านไฟล์ การรันสตรีม อ็อบเจ็กต์คลาส Pipe และอื่นๆ

  • คุณคงเคยได้ยินเกี่ยวกับสามข้อแรกแล้ว แต่ไม่ใช่ทุกคนที่รู้ เกี่ยวกับ java.nioซึ่งเป็นทางเลือกแทนjava.io ไลบรารีนี้มีหน้าที่รับผิดชอบในการไม่ปิดกั้น I/O ซึ่งทำให้คุณสามารถใช้งาน I/O ในปริมาณมากได้

  • java.netใช้สำหรับทำงานกับซ็อกเก็ต การสร้างการเชื่อมต่อ หรือแอปพลิเคชันเครือข่ายแบบสั้น

  • ใน Java เรายังมีไลบรารีสำหรับการทำงานกับ GUI: javax.swing (ส่วนขยายที่ค่อนข้างล้าสมัยของjava.awt รุ่นเก่ากว่า )

  • เรายังสามารถเล่นเพลงและสร้างไฟล์ MIDI โดยใช้java.sound

2. เจฮิปสเตอร์

JHipster เป็นแพลตฟอร์มสำหรับการปรับใช้ การพัฒนา และสร้างเว็บเซิร์ฟเวอร์ที่ปรับขนาดได้อย่างรวดเร็วพร้อมโหลดสูง และใช้เทคโนโลยีที่ทันสมัยและทันสมัยที่สุด เช่น Spring, Spring-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 2
จริงๆ แล้ว "Java hipster" นี้ช่วยชีวิตฉันได้หลายเดือนอย่างแน่นอน ฉันสามารถพูดได้อย่างแน่นอนว่า JHipster เป็นรายการโปรดส่วนตัวของฉันในรายการและถือเป็นสถานที่พิเศษในใจฉัน เครื่องมือนี้แทบจะขาดไม่ได้สำหรับการสร้างภาพร่างของโครงการเว็บเซิร์ฟเวอร์แบบกระจาย โดยสามารถสร้างไฟล์ pom ที่มีการขึ้นต่อกัน กำหนดค่า Elastic Search และ Connection สิ่งที่คุณต้องทำคือเพิ่มตรรกะทางธุรกิจของสถาปัตยกรรม ไลบรารีหลักและสำคัญที่สุดที่รวมอยู่ในโปรเจ็กต์ที่สร้างขึ้นคือ:
  • Spring Bootช่วยเร่งความเร็วและลดความซับซ้อนในการพัฒนาแอปพลิเคชัน
  • Angular /AngularJS - เฟรมเวิร์ก JavaScript
คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับJHipster ได้ที่ นี่

3. มาเวน

Maven เป็นหนึ่งในสามเครื่องมือยอดนิยมสำหรับการสร้างโปรเจ็กต์ Java เขามีหน้าที่รับผิดชอบในการคอมไพล์ สร้างไฟล์ jar (ไฟล์เก็บถาวร Java) สร้างการแจกจ่ายโปรแกรม และสร้างเอกสาร
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 3
แต่ละโปรเจ็กต์สมัยใหม่ประกอบด้วยไฟล์ โมดูล เทคโนโลยีที่แตกต่างกัน พูดง่ายๆ ก็คือ การสร้างโปรเจ็กต์กำลังเตรียมเวอร์ชันที่ "ใช้งานได้" ซึ่งก็คือโปรแกรมที่สามารถเปิดใช้งานเพื่อดำเนินการได้ ซึ่งสามารถทำได้ด้วยตนเอง บนบรรทัดคำสั่ง หรือคุณสามารถเขียนสคริปต์พิเศษก็ได้ อย่างไรก็ตามการทำเช่นนี้ทำได้ง่ายกว่ามากโดยใช้แอปพลิเคชันพิเศษ พวกเขาเรียกว่า "ระบบประกอบอัตโนมัติ" Maven เป็นหนึ่งในสามโปรแกรมดังกล่าว อีกสองโปรแกรมคือ Gradle และ Ant ระบบดังกล่าวได้รับซอร์สโค้ดของโปรเจ็กต์เป็นอินพุต และเอาต์พุตคือโปรแกรมที่สามารถรันได้
โครงสร้างโปรเจ็กต์ (การขึ้นต่อกัน การกำหนดค่า เอกสารประกอบ) อธิบายไว้ในไฟล์ pom.xml (POM - Project Object Model) ซึ่งควรอยู่ในโฟลเดอร์รูทของโปรเจ็กต์ จริงๆ แล้ว Maven เป็นเพียงสิ่งที่ยอดเยี่ยม แม้ว่าในตอนแรกจะไม่ชัดเจนนักก็ตาม หากคุณไม่เคยใช้ Maven มาก่อน คุณจะพลาดอย่างแน่นอน พูดตามตรง ฉันไม่เข้าใจด้วยซ้ำว่าแอปพลิเคชันระดับองค์กรถูกสร้างขึ้นก่อน Maven ได้อย่างไร คุณสามารถอ่านเกี่ยวกับ Maven ในภาษารัสเซียได้ ที่นี่

4. อาปาเช่ คอมมอนส์

Apache Commons จริงๆ แล้วเป็นโปรเจ็กต์ทั้งหมดที่เน้นไปที่การสร้างไลบรารี Java หรือ “ชุดยูทิลิตี้ Java ขนาดเล็กชุดใหญ่” เพื่อวัตถุประสงค์ต่างๆ อย่างไรก็ตาม ยูทิลิตี้ Apache Commons เป็นพื้นฐานของโครงการที่มีชื่อเสียงหลายโครงการ เช่น Tomcat, Hibernate และอื่น ๆ นี่คือรายการสั้นๆ ของไลบรารี Apache Commons บางส่วนที่ใช้บ่อยที่สุด:
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 4
  • คณิตศาสตร์คอมมอนส์ . Apache Commons Math Library ชื่อก็บอกอยู่แล้ว: มันมีส่วนประกอบสำหรับการดำเนินการและการคำนวณทางคณิตศาสตร์และสถิติที่ซับซ้อน

  • คอมมอน ส์CLI จัดเตรียม API สำหรับการแยกวิเคราะห์อาร์กิวเมนต์บรรทัดคำสั่ง แทบจะไม่คุ้มค่าเลยแม้แต่จะคิดที่จะสร้างแอปพลิเคชันที่ไม่มีความสามารถในการส่งพารามิเตอร์และควบคุมพฤติกรรมของมัน!

  • คอม มอนส์ CSV ไม่ว่าคุณจะพัฒนาอะไร ในบางจุดคุณจะต้องจัดการกับความจำเป็นในการใช้ไฟล์ csv นั่นคือจะต้องเปิดอ่านแก้ไขบันทึกและสร้าง ฉันขอแนะนำให้ใช้รูปแบบ RFC 4180 จากคลาส CSVFormat และการเข้ารหัส UTF-8 เมื่อบันทึก/สร้างไฟล์

  • คอมมอนส์ไอโอ ใช้เพื่อทำให้การดำเนินการ I/O ง่ายขึ้น อย่างน้อยลองดูที่ ReversedLinesFileReader มันก็คุ้มค่า!
คุณสามารถอ่านเกี่ยวกับ Apache Commons (เป็นภาษาอังกฤษ) ได้ ที่นี่

5. ฝรั่ง

Guava คือชุดไลบรารีหลักของ Google สำหรับ Java มีคอลเลกชันประเภทใหม่ (เช่น multimap และ multiset), คอลเลกชันที่ไม่เปลี่ยนรูป, ไลบรารีกราฟ, ประเภทการทำงานหรือไม่? ยูทิลิตี้สำหรับการทำงานพร้อมกัน, I/O, การแฮช, การประมวลผลสตริง และอื่นๆ อีกมากมาย ผู้เชี่ยวชาญของ Google ใช้เครื่องมือทั้งหมดนี้ในการทำงานและนี่เป็นคำแนะนำที่ดีอยู่แล้ว
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 5
ในระดับหนึ่ง Guava เป็นทางเลือกแทน Apache Commons ที่จริงแล้วเราสามารถพูดคุยเกี่ยวกับฝรั่งได้เป็นเวลานาน (อย่าลืมใส่ใจด้วย!) แต่ฉันจะพูดถึงสิ่งที่มีประโยชน์เพียงสิ่งเดียวจากห้องสมุดนี้ บางทีคุณอาจเคยเผชิญกับความท้าทายในการจัดระเบียบคอลเลกชันของคุณหรือเปรียบเทียบเนื้อหาภายในคอลเลกชันเหล่านั้นแล้ว? แล้วการเรียงลำดับและการเปรียบเทียบขั้นสูงระหว่างหลายคอลัมน์ที่มีหลายเงื่อนไขล่ะ คอมโพเนนต์CompareChainใช้เพื่อใช้การเรียงลำดับขั้นสูงและซับซ้อนสำหรับคอลเลกชัน คุณสามารถอ่านเกี่ยวกับ Guava (เป็นภาษาอังกฤษ) ได้ที่นี่

6.กูเกิล-จีสัน

ไลบรารีgoogle-gsonมีประโยชน์สำหรับการแปลงวัตถุ Java เป็น JSON และในทางกลับกัน มีประโยชน์อย่างยิ่งเมื่อพัฒนาแอปพลิเคชันมือถือและสร้าง/ใช้ REST API หรือทุกครั้งที่คุณต้องการแปลงออบเจ็กต์ Java เป็นตัวแทน JSON และในทางกลับกัน
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 6
คุณจะได้เรียนรู้เกี่ยวกับ JSON (JavaScript Object Notation), Guava, Apache Commons และสิ่งที่น่าสนใจอื่นๆ จากภารกิจ Java Collections
คุณสามารถอ่านเกี่ยวกับ google-gson (เป็นภาษาอังกฤษ) ได้ ที่นี่

7. ไฮเบอร์เนต-ORM

Hibernate เป็นไลบรารีที่ออกแบบมาเพื่อแก้ปัญหาการทำแผนที่เชิงวัตถุ (ORM) Hibernate ORM ใช้เพื่อจัดเก็บข้อมูลในฐานข้อมูลเชิงสัมพันธ์ มันมอบวิธีที่ง่ายกว่าและเป็นนามธรรมมากขึ้นสำหรับนักพัฒนาในการดำเนินการนี้ มันใช้ JDBC ในการนำไปใช้งาน Hibernate ยังเป็นการนำข้อกำหนด JPA ไปใช้อีกด้วย
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 7
คุณสามารถอ่านเกี่ยวกับ Hibernate ORM (เป็นภาษาอังกฤษ) ได้ ที่นี่

8. ม็อกคิโต

อย่าปล่อยให้ชื่อ Mockito หลอกคุณ นี่ไม่เกี่ยวกับค็อกเทล แต่เกี่ยวกับห้องสมุดสำหรับวัตถุจำลอง วัตถุจำลองเป็นวัตถุที่เลียนแบบพฤติกรรมของวัตถุจริงตามรูปแบบที่กำหนด ตัวอย่างเช่น สำหรับการทดสอบหน่วย ออบเจ็กต์ "ปลอม" ดังกล่าวสามารถจำลองพฤติกรรมของออบเจ็กต์ทางธุรกิจได้ ไลบรารีจำลอง Mockito เพิ่มความสะดวกในการสร้างและใช้วัตถุจำลอง
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 8
คุณสามารถค้นหาข้อมูลเกี่ยวกับ Mockito ได้ ที่นี่

9. จูนิต

JUnitเป็นเฟรมเวิร์ก Java ฟรีสำหรับสร้างการทดสอบหน่วย (หรือที่เรียกว่าการทดสอบหน่วย) ห้องสมุดนี้เป็นหนึ่งในห้องสมุดที่ได้รับความนิยมมากที่สุดเกือบทุกคนใช้มัน เราขอแนะนำให้คุณจัดการกับมันให้เร็วที่สุด เนื่องจากบ่อยครั้งที่นักพัฒนา Java ใหม่และ Java Trainee ถูกบังคับให้ “ครอบคลุมโค้ดด้วยการทดสอบ” และฉันต้องบอกว่านี่ยังห่างไกลจากการเริ่มต้นอาชีพที่เลวร้ายที่สุด
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 9
ข้อมูล เพิ่มเติม เกี่ยวกับ Junit ที่นี่

10.Log4j และ Slf4j

เฟรมเวิร์กทั้งสองนี้ได้รับการออกแบบมาเพื่อซ่อนการใช้งานการดำเนินการตามปกติสำหรับการบันทึกเหตุการณ์บางอย่างที่เกิดขึ้นในขณะที่แอปพลิเคชัน Java กำลังทำงานอยู่ Slf4j เป็นสิ่งที่เป็นนามธรรมสำหรับเฟรมเวิร์กการบันทึกอื่นๆ (Log4j เดียวกัน)
ไลบรารี Java 10 อันดับแรกที่ช่วยประหยัดเวลา - 10
ข้อมูลเพิ่มเติมเกี่ยวกับ Log4jและSlf4j
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION