Bir java geliştiricisi olarak: bilmeniz gereken 20 ortak kitaplık ve API

Deneyimli bir Java geliştiricisinin özelliklerinden biri, araba yapmak için mevcut tekerlekleri kullanmakta iyi olmaktır. "Etkili Java" yazarı Joshua Bloch bir keresinde şöyle demişti: "Tekerleği yeniden oluşturmak yerine geliştirmek için mevcut API'yi kullanmanız önerilir." Bu makalede, Java geliştiricilerinin aşina olması gereken en yararlı ve gerekli kitaplıklardan ve API'lerden bazılarını paylaşacağım. Bu arada, Spring ve Hibernate gibi çerçeveler çok ünlü oldukları ve belirli işlevleri olduğu için buraya dahil edilmemiştir.

Bu makale, günlük, JSON analizi, tek test, XML analizi, bayt kodu işleme, veritabanı bağlantı havuzu, koleksiyon, posta, şifreleme, gömülü SQL veritabanı, JDBC hata teşhisi ve serileştirme gibi 20 açıdan 20 ortak sınıf kitaplığını özetlemektedir. Bunlar günlük gelişiminizde sık sık ihtiyaç duyabileceğiniz şeylerdir, şimdi önemli değil, ancak referans için böyle bir makale olduğunu bilmelisiniz.

Bilmemek korkutucu değil, korkutucu olan ise bilmediğini bilmemen.

1. Günlükle ilgili kitaplıklar

Günlük kitaplıkları çok yaygındır çünkü her projede bunlara ihtiyacınız vardır. Günlükleri yazdırmak, sunucu tarafı uygulamalarda en önemli şeydir, çünkü günlükler programınıza ne olduğunu anlamanın tek yoludur. JDK kendi günlük kitaplığıyla gelse de, Log4j, SLF4j ve LogBack gibi daha iyi birçok seçenek mevcuttur.

Java geliştiricileri, günlüğe kaydetmenin artılarını ve eksilerini bilmeli ve SLF4J'nin neden Log4J'den daha iyi olduğunu anlamalıdır.

İki, JSON ayrıştırma kitaplığı

Günümüzün web hizmetleri ve Nesnelerin İnterneti (IoT) dünyasında JSON, XML'in yerini aldı ve istemciden sunucuya bilgi aktarımı için tercih edilen protokol haline geldi. İyi haberler ve kötü haberler var. Kötü haber şu ki, JDK bir JSON kitaplığı sağlamıyor. İyi haber şu ki, Jackson ve Gson gibi JSON mesajlarını ayrıştırmak ve oluşturmak için kullanılabilecek birçok mükemmel üçüncü taraf kitaplığı var.

Bir Java web geliştiricisi, Jackson ve Gson kitaplıklarından en az birine aşina olmalıdır.

Üç, birim test kitaplığı

Birim test teknolojisinin kullanımı, ortalama bir geliştiriciyi iyi bir geliştiriciden ayıran önemli bir göstergedir. Programcıların genellikle birim testleri yazmamak için çeşitli mazeretleri vardır, ancak en yaygın mazeret deneyim ve bilgi eksikliğidir. Yaygın tek test çerçeveleri JUnit, Mockito ve PowerMock'tur.

Dört, genel sınıf kitaplığı

Apache Commons ve Google Guava gibi Java geliştiricileri için kullanılabilen birkaç iyi üçüncü taraf genel kitaplığı vardır. Bu ortak kitaplıkları kodumda sık sık kullanacağım, çünkü bu kitaplıklar sayısız geliştirici tarafından uygulanıyor ve pratiklik ve performans açısından en iyiler.

Beş, Http kitaplığı

JDK'yı sevmememin önemli nedenlerinden biri HTTP desteğinin olmaması. Java.net paket sınıfları kullanılabilmesine rağmen, Apache HttpClient ve HttpCore gibi açık kaynak kitaplıklarını doğrudan kullanmaktan çok daha zahmetlidir.

JDK 9, HTTP 2.0'ı başlatacak ve HTTP desteğini optimize edecek olsa da, tüm Java geliştiricilerinin HttpClient ve HttpCore HTTP gibi popüler HTTP işleme kitaplıklarına aşina olmalarını şiddetle tavsiye ederim.

Altı, XML ayrıştırma kitaplığı

Piyasada Xerces, JAXB, JAXP, Dom4j, Xstream gibi birçok XML ayrıştırma kitaplığı bulunmaktadır. Xerces2, yeni nesil yüksek performanslı, tam uyumlu bir XML ayrıştırma aracıdır. Xerces2, Xerces Native Interface (XNI) spesifikasyonunu tanımlar ve XNI spesifikasyonunun eksiksiz ve standart uyumlu bir uygulamasını sağlar. Ayrıştırıcı tamamen yeniden tasarlandı ve uygulandı, daha basit ve daha modüler.

Seven, Excel okuma ve yazma kitaplığı

Birçok uygulama, verileri Excel'e aktarma işlevini sağlamalıdır.Aynı Java uygulamasını yapmak istiyorsanız, Apache POI API'ye ihtiyacınız vardır.

Bu çok zengin bir sınıf kitaplığıdır, Java programlarından XLS dosyalarını okuyabilir ve yazabilirsiniz.

Sekiz bayt kodu kitaplığı

Bir çerçeve veya sınıf kitaplığı yazıyorsanız. Aralarından seçim yapabileceğiniz javassist ve Cglib Nodep gibi bazı popüler bayt kodu kitaplıkları vardır. Bunlar, uygulama tarafından oluşturulan bayt kodunu okumanıza ve değiştirmenize olanak tanır.

Javassist, JAVA bayt kodu işlemlerini çok basit hale getirir. Java bayt kodunu düzenlemek için bir sınıf kitaplığıdır. ASM, başka bir kullanışlı bayt kodu düzenleme kitaplığıdır.

Dokuz, veritabanı bağlantı havuzu kitaplığı

Java uygulamanız bir veritabanı bağlantı havuzu kitaplığı kullanmak yerine veritabanıyla etkileşime giriyorsa, oldukça yanılıyorsunuz. Çünkü çalışma zamanında bir veritabanı bağlantısı oluşturmak çok zaman alır ve programınızı yavaşlatır. Bu nedenle, duvar çatlağının kullanılması önerilir ve Ortak Havuz ve DBCP gibi seçim yapabileceğiniz bazı yararlı bağlantı havuzları vardır.

Web uygulamalarında, web sunucuları genellikle bu işlevleri sağlar. Ancak java projesinde, veritabanı bağlantı havuzu sınıfı kitaplığını uygulamaya aktarmanız gerekir.

On, mesajlaşma kütüphanesi

Günlük kaydı ve veritabanı bağlantı havuzları gibi, mesajlaşma da birçok gerçek Java projesinde bir zorunluluktur. Java, JMS Java mesajlaşma servisi sağlar, ancak bu JDK'nın bir parçası değildir, jms.jar dosyasını ayrıca içe aktarmanız gerekir. Benzer şekilde, üçüncü taraf bir mesajlaşma protokolü kullanmayı planlıyorsanız, Tibco RV iyi bir seçimdir.

11. PDF işleme kütüphanesi

Excel ve Word'e ek olarak, PDF de yaygın olarak kullanılan bir dosya formatıdır. Uygulamanızın PDF dosyası işlemeyi desteklemesi gerekiyorsa iText ve Apache FOP kitaplığını kullanabilirsiniz. Her ikisi de çok kullanışlı PDF işleme işlevleri sağlar.

12. Tarih ve saat kitaplığı

Java'dan önce, JDK'nın tarih ve saat kitaplığı her zaman insanlar tarafından, örneğin iş parçacığı güvenli olmadığı, değişmez olduğu ve hataya açık olduğu gibi eleştirildi. Birçok geliştirici daha iyi JodaTime kitaplığını seçecektir.

Ancak Java 8'in piyasaya sürülmesinden sonra JodaTime'ı tamamen terk edebiliriz çünkü Java 8 tüm özelliklerini sağlıyor. Bununla birlikte, kodunuz JDK'nın daha düşük bir sürümünde çalışıyorsa, JodaTime yine de kullanmaya değer.

On üç, koleksiyon kitaplığı

JDK'nın zengin bir sınıf koleksiyonuna sahip olmasına rağmen, daha fazla ve daha iyi işlevler sağlayabilen birçok üçüncü taraf kitaplığı vardır. Apache Commons Collections, Goldman Sachs koleksiyonları, Google Collections ve Trove gibi. Trove, tüm standart Koleksiyon sınıflarının daha hızlı bir sürümünü ve doğrudan ilkel öğeler (int anahtarları veya değerleri içeren Haritalar gibi) üzerinde çalıştırılabilen Koleksiyon sınıflarının işlevselliğini sağladığı için özellikle yararlıdır.

FastUtil başka bir benzer API'dir, Java Collection Framework'ü devralır, java.util paket standardına ulaşmak için eşleme haritası, koleksiyon kümesi, liste listesi, öncelik sırası (prority kuyruğu) dahil olmak üzere birkaç özel kapsayıcı türü sağlar. Arayüz (ayrıca standart sınıfta bulunmayan iki yönlü bir yineleyici sağlar) ve ayrıca büyük (64 bit) bir dizi, küme, liste ve hızlı ve pratik ikili veya metin dosyası G / Ç işlem sınıfı sağlar.

14. Mail API

javax.mail ve Apache Commons Email, e-posta göndermek için API'ler sağlar. JavaMail API temelinde oluşturulmuşlardır ve basitleştirilmiş kullanım sağlarlar.

15. HTML ayrıştırma kitaplığı

XML ve JSON'a benzer şekilde, HTML, uğraşmamız gerekebilecek başka bir aktarım biçimidir. Neyse ki, Java uygulamalarında HTML kullanımını büyük ölçüde kolaylaştıran jsoup'umuz var. JSoup'u yalnızca HTML'yi ayrıştırmak için değil, aynı zamanda HTML belgeleri oluşturmak için de kullanabilirsiniz.

16. Şifreleme kitaplığı

Apache Commons ailesindeki Commons Codec, Base64, Hex, MD5, Phonetic ve URL'ler gibi bazı genel kodek uygulamaları sağlar.

17. Gömülü SQL veritabanı kitaplığı

Java uygulamalarınıza gömülebilen H2 gibi bellek veritabanlarını gerçekten seviyorum. Tek bir test çalıştırdığınızda SQL'inizi doğrulamak için bir veritabanına ihtiyacınız varsa, bu iyi bir seçimdir. Bu arada, H2 tek gömülü DB değil, aynı zamanda seçim yapabileceğiniz Apache Derby ve HSQL'e de sahipsiniz.

18. JDBC arıza teşhis kitaplığı

İyi bir JDBC uzantı kitaplığının varlığı, veritabanı erişim işlemleri için dinamik bir izleme çerçevesi olan P6spy gibi, veritabanı verilerinin mevcut uygulamalar için kodlama yapmak zorunda kalmadan sorunsuz bir şekilde yakalanmasına ve değiştirilmesine olanak tanıyan hata ayıklamayı kolaylaştırır. Herhangi bir değişiklik yapın. P6Spy dağıtım paketi, herhangi bir Java uygulamasının tüm JDBC işlemlerini günlüğe kaydedebilen bir uygulama olan P6Log'u içerir. Yapılandırma tamamlanıp kullanıldığında, veri erişim performansı izlenebilir.

On dokuz, serileştirme kitaplığı

Google Protokol Arabelleği, yapılandırılmış verilerin serileştirilmesi veya serileştirilmesi için kullanılabilen hafif ve verimli bir yapılandırılmış veri depolama biçimidir. Veri depolama veya RPC veri değişim formatı için çok uygundur. İletişim protokollerinde, veri depolamada ve diğer alanlarda dilden bağımsız, platformdan bağımsız ve ölçeklenebilir serileştirilmiş yapılandırılmış veri formatları için kullanılabilir. Şu anda C ++, Java ve Python dillerinde API'ler sağlamaktadır.

Yirmi, ağ kitaplığı

Bazı yararlı ağ kitaplıkları esas olarak Netty ve Apache MINA'dır. Bir uygulama yazıyorsanız ve düşük seviyeli ağ görevleri yapmanız gerekiyorsa, bu kitaplıkları kullanmayı düşünün.

Bu, her Java geliştiricisinin aşina olması gereken çok kullanışlı bir kitaplıktır. Java ekosistemi çok büyük ve farklı şeyler yapabilen birçok farklı kitaplık olduğunu göreceksiniz. Aklınıza gelen her şey için, bunu yapabilecek bir kütüphane olabilir.

Birden fazla sorunla karşılaştığınıza inanın.

Senden daha gayretli birçok insan olabileceğine inanın.

İnanın, kullanın ya da kullanmayın, tekerlekler orada.

Bu kitaplıkları kullandığınızdan emin olun, siz ve kodunuz daha iyi hale gelecektir.

Bu altın fırsatları boşa harcayın, Manchester United tarafından tersine çevrilmeyi hak ediyorlar!
önceki
Bir ebeveyn olarak, "oyuncu" bir çocuk yetiştirmek ister misiniz?
Sonraki
7 rauntta 5 puan geride olmaktan, programın 5 raundunu kazanmaya kadar kimler egemenliklerine meydan okuyabilir!
Okuma | Doğum Kontrol Hapları ve Cinsel Devrim
Milano'daki Jinyun susam tohumu kokulu, yerel halkın övgüsünü ve "vatan hasreti" nin rahatlamasını çekiyor
Google siyah teknolojisini yeniden mi açtı? Bu sefer 27 dil konuşabiliyorum
Genç ebeveynlere bir görünmezlik katmanı koyan nedir?
Bunca yıldan sonra, seyahat fotoğrafları çekim seviyenizde neden bir gelişme olmadığını biliyor musunuz?
Son 7 dakikada, Dalian taraftarlarının 1288 günlük bekleyişi yine başarısız oldu!
Dünyanın ilk beş yüzü çıktı Huawei, Ali ve Tencent arasındaki fark sizce nedir?
Gençler için ev hikayesi
Cavani: Icardi, pasta dünyasındaki konumuma meydan okumak istemiyorum!
Hirokazu'nun Altın Palmiyesi: Aile Etiği ve Sansasyonel Çocukluk
Öğrenci partisinin Yeni Yılda makine değiştirme endişesi yok
To Top