JavaRush /Java Blog /Random-TK /Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy

Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy

Toparda çap edildi
Bu makala kim üçin: Java Sintaksis gözlegini öwrenýänler üçin käbir zatlar gyzykly bolar, ýöne esasanam hödürlenen material kursyň ekwatoryny eýýäm geçenlere has laýyk bolar (Java kolleksiýalaryna we Java köp okalmagyna düşünýär) gözlegler) we Java Core çarçuwasynyň çäginden çykýan tehnologiýalar bilen gyzyklanyp başlaýar. Barlygynyň dowamynda Java ýeterlik mukdarda kitaphanalara eýe boldy. Whichöne haýsysynyň ulanmaga mynasypdygyny, haýsysynyň ýokdugyny nädip bilýärsiňiz? Bugdaýy samandan aýyrmak, hemişe meşgullanýan işläp taýýarlaýjy üçin gaty kyn. Bu makalada “Dreamix” -iň “Full Stack” döredijisi Martin Patsow açyk çeşme kitaphanalaryna bolan söýgüsi barada gürrüň berýär we aýratyn peýdaly hasaplaýanlaryny teklip edýär. Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 1Bolmak ýa-da bolmazlyk, bu sorag: gutulyş ýa-da şowsuzlyk bolarmy şol bir Java kitaphanasy ... Batyr boluň! “SigniOrs” eýýäm bardy we tejribelerini size ýetirerin. Şahyrana sözlerim bilen aldanmaň. Java-da hakykatdanam köp kitaphana bar we olara düşünmek gaty kyn. Şeýle-de bolsa, men olary gaty gowy görýärin. Hatda maňa “kitaphananyň hoşhabarçysy” ( IT ulgamynda “hoşhabarçy” diýmek bilen kanoniki Hoş Habary düzüjini däl-de, eýsem bu ýa-da tehnologiýany hünär taýdan öňe sürýän birini göz öňünde tutýarys. Adaty PR adamlary bilen garyşdyrmaň: köplenç , IT hoşhabarçysy tehnologiýany öňe sürýän tehnologiýa - redaktoryň belligi ) doly düşünýär. Kitaphanalar açyk çeşme ekosistemasynyň möhüm bölegi. Olary ösdürýän we goldaýan uly jemgyýetler töwereginde ösýär. Bu gaty gowy. Kitaphanalaryň esasy artykmaçlygy, her gezek kod ýazanymyzda tekeri täzeden dikeltmezlige mümkinçilik berýär. Kitaphanalary - belli bir meseleler üçin eýýäm ýazylan kody mümkin boldugyça ulanyň! Wagt tygşytlarsyňyz. Çynlakaý, maşgalaňyz we dostlaryňyz bilen aýlanmak has gowy.

Iň gowy 10

Bu bellikde, işimde ulanmagy makul bilýän şol Java kitaphanalaryny agzadym. Bularyň hemmesi açyk çeşme programma üpjünçiligi. Peýdalylygy, gowy resminamalary we goldawy, şeýle hem yzygiderli täzelenmeler esasynda saýladym. Bu meniň şahsy saýlawymdygyny we siziňkiden düýpgöter tapawutlanyp biljekdigini ýene bir gezek belläsim gelýär.

1. Java standart kitaphanalary

Hawa, hawa, beýle pikir etmediňiz! Köp adamlar baha bermeýärler, üstesine-de, Java Standard Kitaphanalarynyň mümkinçilikleriniň köpüsini bilmeýärler we programmirlemekde öz mümkinçiliklerini nädip açmalydygyny bilenoklar ... ýa-da asla ulanmaýarlar. Ine, olaryň käbiri barada gysgaça düşündiriş:
  • java.lang . Bu kitaphana elmydama islendik Java programmasyna getirilýär, sebäbi onda programmirläp bilmeýän ähli zadyňyz bar ( Setir , goşa , enum , matematika we ş.m.).

  • Java.util -de Java-da bar bolan ähli ýygyndylary we maglumat gurluşlaryny tapyp bilersiňiz.

  • Ondan soň, faýllary okamak, akymlar, turba synp obýektleri we ş.m. üçin java.io bar .

  • Ilkinji üç hakda eýýäm eşiden bolsaňyz gerek. Emma java.io - a alternatiw bolan java.nio hakda hemmeler bilmeýär. Bu kitaphana I / O-ny blokirlemezlik üçin jogapkärdir, çak edişiňiz ýaly I / O intensiw ulanmaga mümkinçilik berýär.

  • java.net rozetkalar bilen işlemek, birikmeler döretmek ýa-da gysga aragatnaşyk programmalary üçin ulanylýar.

  • Java-da GUI bilen işlemek üçin kitaphanalarymyz bar: javax.swing (has köne java.awt- yň köne uzalmasy ).

  • Hat-da java.sound ulanyp saz çalyp, MIDI faýllaryny döredip bileris .

2. Jipster

JHipster ýokary ýükli ulaldylan web serwerlerini çalt ýerleşdirmek, ösdürmek we döretmek we Bahar, Bahar-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Kassandra, ElasticSearch ýaly iň häzirki zaman we moda tehnologiýalaryny ulanmak üçin platforma.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 2
Dogrymy aýtsam, bu "Java hipster" ömrümiň aýlaryny hökman halas etdi. JHipster-iň sanawdaky şahsy halaýanlygymy we ýüregimde aýratyn orny eýeleýändigini aýdyp bilerin. Bu gural paýlanan web serwer taslamasynyň eskizini döretmek üçin zerur bolup durýar. Baglylyklar bilen pom faýly döredip, Elastik Gözleg we Baglanyşygy düzüp biler, etmeli zadyňyz, arhitekturanyň iş logikasyny goşmak. Döredilen taslama girýän esasy we iň möhüm kitaphanalar:
  • “Spring Boot” programmanyň ösüşini çaltlaşdyrmaga we ýönekeýleşdirmäge kömek edýär
  • Burç / AngularJS - JavaScript çarçuwasy
JHipster hakda has giňişleýin maglumaty şu ýerden tapyp bilersiňiz .

3. Maven

Maven, Java taslamalaryny gurmak üçin iň meşhur gurallaryň biridir. Jaý faýllaryny düzmek, Java arhiwleri döretmek, programma paýlamak we resminamalar döretmek üçin jogapkärdir.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 3
Her bir häzirki zaman taslamasy dürli faýllardan, modullardan, tehnologiýalardan durýar. Simplyönekeý söz bilen aýdylanda, taslama gurmak onuň “işleýän” wersiýasyny, ýagny ýerine ýetirmek üçin başlap boljak programmany taýýarlaýar. Bu el bilen, buýruk setirinde edilip bilner ýa-da ýörite skript ýazyp bilersiňiz. Şeýle-de bolsa, ýörite programmalary ulanmak arkaly muny etmek has aňsat. Olara “awtomatiki gurnama ulgamlary” diýilýär. Maven şeýle üç programmanyň biri, galan ikisi Gradle we Ant. Şeýle ulgamlar taslamanyň deslapky koduny giriş hökmünde alýar we çykyş hökmünde işledip boljak programma öndürýär.
Taslamanyň gurluşy (baglylyklar, konfigurasiýalar, resminamalar) pom.xml faýlynda (POM - Taslamanyň obýekt modeli) beýan edilýär, ol taslamanyň kök bukjasynda ýerleşmeli. Dogrymy aýtsam, Maven başda gaty düşnükli bolmasa-da gaty gowy zat. Maweni öň ulanmadyk bolsaňyz, ýitirýärsiňiz. Dogrusyny aýtsam, Maven-den öň kärhana programmalarynyň nähili döredilendigine-de düşünemok. Maven hakda rus dilinde şu ýerden okap bilersiňiz .

4. Apache Commons

Apache Commons aslynda Java kitaphanalaryny döretmäge gönükdirilen taslama. Ora-da dürli maksatly “kiçi Java enjamlarynyň uly toplumy”. Theeri gelende aýtsak, “Apache Commons” hyzmatlary birnäçe meşhur taslamanyň esasyny düzýär, mysal üçin Tomkat, Gibernate we başgalar. Ine, iň köp ulanylýan Apache Commons kitaphanalarynyň gysga sanawy:
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 4
  • Commons Matematika . Apache Commons Math Library, ady hemmesini aýdýar: çylşyrymly matematiki we statistiki amallar we hasaplamalar üçin komponentleri öz içine alýar.

  • Commons CLI . Buýruk setiriniň argumentlerini derňemek üçin API üpjün edýär. Parametrlerden geçmek we özüni alyp barşyna gözegçilik etmek ukyby bolmazdan programma döretmek hakda pikir etmek hem kyn!

  • Commons CSV . Näme ösdürseňizem, belli bir wagt csv faýllaryny ulanmak zerurlygy bilen ýüzbe-ýüz bolarsyňyz. .Agny, açylmaly, okalmaly, redaktirlenmeli, saklanmaly we döredilmeli. Faýllary ýatda saklanyňyzda / döredeniňizde CSVFormat synpyndan RFC 4180 formatyny we UTF-8 kodlamagy ulanmagy maslahat berýärin.

  • Commons I.O. I / O amallaryny ýönekeýleşdirmek üçin ulanylýar. Iň bärkisi, “ReversedLinesFileReader” -e göz aýlaň, oňa mynasyp!
Apache Commons (iňlis dilinde) hakda şu ýerden okap bilersiňiz .

5. Guwa

Guava, Java üçin Google ýadro kitaphanalarynyň toplumy. Olarda täze kolleksiýa görnüşleri (mysal üçin multimap we multiset), üýtgewsiz kolleksiýalar, grafiki kitaphanalar, funksional görnüşler barmy? ylalaşyk üçin peýdaly enjamlar, I / O, ýuwmak, simleri gaýtadan işlemek we başgalar. Bu gurallaryň hemmesini Google hünärmenleri öz işlerinde ulanýarlar we bu eýýäm gowy maslahat.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 5
Belli bir derejede Guava Apache Commons-a alternatiwadyr. Aslynda, Guwa hakda uzak wagtlap gürleşip bileris (oňa üns beriň!), Hereöne bu ýerde bu kitaphanadan diňe bir peýdaly zady ýatlap geçerin. Kolleksiýalaryňyzy tertiplemek ýa-da içindäki zatlary deňeşdirmek meselesinde eýýäm kynçylyk çeken bolsaňyz gerek? Birnäçe şertli sütünleriň arasynda ösen tertipleşdirmek we deňeşdirmek barada näme aýdyp bilersiňiz? “ComparisonChain” komponenti kolleksiýalar üçin ösen we çylşyrymly tertipleşdirmegi amala aşyrmak üçin ulanylýar. Guava hakda (iňlis dilinde) şu ýerden okap bilersiňiz .

6. google-gson

Google-gson kitaphanasy Java obýektlerini JSON-a öwürmek üçin peýdalydyr. Jübi goşundylaryny işläp düzmekde we REST API-lerini döretmekde / ulanmakda ýa-da Java obýektini JSON wekilçiligine öwürmek we tersine ulanmak has peýdalydyr.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 6
Java kolleksiýa gözleginden JSON (JavaScript Object Notation), Guava, Apache Commons we beýleki gyzykly zatlar hakda öwrenersiňiz .
Google-gson (iňlis dilinde) hakda şu ýerden okap bilersiňiz .

7. Gibernate-ORM

Gibernate, obýekt bilen baglanyşykly kartalaşdyrmak (ORM) meselelerini çözmek üçin döredilen kitaphanadyr. Gibernate ORM maglumatlary baglanyşyk bazalarynda saklamak üçin ulanylýar. Döredijiler üçin muny has ýönekeý we has abstrakt usul bilen üpjün edýär. Implementationerine ýetirmekde JDBC ulanýar. Gibernate, JPA spesifikasiýasynyň ýerine ýetirilmegidir.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 7
Gibernate ORM (iňlis dilinde) hakda şu ýerden okap bilersiňiz .

8. Mockito

Mockito adynyň sizi aldatmagyna ýol bermäň. Bu kokteýl hakda däl-de, gülkünç zatlar üçin kitaphana hakda. Masgaralaýjy obýektler, belli bir shema laýyklykda hakyky obýektiň özüni alyp barşyna öýkünýän obýektlerdir. Mysal üçin, birlik synagy üçin şeýle "galp" zatlar, iş obýektleriniň özüni alyp barşyny simulasiýa edip biler. Dogrusy, Mockito mock kitaphanasy masgaralaýjy zatlary döretmegiň we ulanmagyň amatlylygyny ýokarlandyrýar.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 8
Mockito hakda maglumatlary şu ýerden tapyp bilersiňiz .

9. JUnit

JUnit, birlik synaglaryny (aka birlik synaglary) döretmek üçin mugt Java çarçuwasydyr. Bu kitaphana iň meşhurlardan biridir, her kim diýen ýaly ulanýar. Bu meseläni mümkin boldugyça çalt öwrenmegiňizi maslahat berýäris, sebäbi köplenç täze Java döredijiler we Java tälimçileri “kody synaglar bilen ýapmaga” mejbur bolýarlar. Onsoňam, bu karýeradaky iň erbet başlangyçdan uzakda.
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 9
Junit hakda has giňişleýin maglumat şu ýerde .

10.Log4j we Slf4j

Bu iki çarçuwa, Java programmalary işleýän wagtynda ýüze çykýan käbir hadysalary hasaba almak üçin gündelik amallaryň ýerine ýetirilişini gizlemek üçin döredildi. Slf4j beýleki hasaba alyş çarçuwalary üçin abstraksiýa (şol bir Log4j).
Wagt tygşytlamak üçin iň gowy 10 Java kitaphanasy - 10
Log4j we Slf4j hakda has giňişleýin maglumat .
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION