中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java開發人員的常用類庫有哪些

發布時間:2021-10-25 17:17:44 來源:億速云 閱讀:118 作者:iii 欄目:web開發

這篇文章主要介紹“Java開發人員的常用類庫有哪些”,在日常操作中,相信很多人在Java開發人員的常用類庫有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java開發人員的常用類庫有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

應用開發腳手架

1.Spring Framework

Spring框架為現代基于Java的企業應用程序提供了一個全面的編程和配置模型,使用開發基于Java語言的應用更加簡單、便捷。

github:https://github.com/spring-projects/spring-framework/

官網:https://spring.io/projects/spring-framework

2.Spring Boot

Spring Boot使創建獨立的、基于Spring的產品級應用程序變得非常容易。

官網:https://spring.io/projects/spring-boot

3.Spring Cloud Spring  Cloud為開發人員提供了豐富的使用工具,開發人員基于這些工具可以快速構建分布式系統中的一些常見功能(例如,配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領導選舉,分布式會話等)。

官網:https://spring.io/projects/spring-cloud

Web服務接口

1.Jersey

Jersey是一個REST框架,它提供JAX-RS參考實現等。Jersey提供了自己的api,這些api通過附加的特性和實用程序擴展了JAX-RS工具包,從而進一步簡化了RESTful服務和客戶端開發。Jersey還公開了許多擴展spi,以便開發人員可以擴展Jersey以最適合他們的需求。

github:https://github.com/eclipse-ee4j/jersey

2.Spring Web MVC

Spring Web MVC是基于Servlet API構建的原始Web框架,從一開始就已包含在Spring框架中。正式名稱“ Spring Web  MVC”來自其源模塊的名稱(spring-webmvc),但通常稱為“Spring MVC”。

官網:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/web.html

數據持久化框架

1.MyBatis

MyBatis是一個一流的持久性框架,支持自定義SQL、存儲過程和高級映射,它幾乎消除了JDBC代碼、參數手動設置和結果檢索。MyBatis可以使用簡單的XML或注釋進行配置,并將原語、接口和javapojo(普通的舊Java對象)映射到數據庫記錄。

官網:https://mybatis.org/mybatis-3/

github:https://github.com/mybatis/mybatis-3

2.Hibernate

Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。

官網:http://hibernate.org/

Excel讀寫

1.Alibaba EasyExcel

Java解析、生成Excel比較有名的框架有Apache  poi、jxl。但他們都存在一個嚴重的問題就是非常的耗內存,poi有一套SAX模式的API可以一定程度的解決一些內存溢出的問題,但POI還是有一些缺陷,比如07版Excel解壓縮以及解壓后存儲都是在內存中完成的,內存消耗依然很大。easyexcel重寫了poi對07版Excel的解析,能夠原本一個3M的excel用POI  sax依然需要100M左右內存降低到幾M,并且再大的excel不會出現內存溢出,03版依賴POI的sax模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便。

github:https://github.com/alibaba/easyexcel

2.Apache POI

一個用于讀寫Microsoft Office二進制和OOXML文件格式的Java庫,可用于讀寫Excel 97-2008。

github:https://github.com/apache/poi

CSV讀寫

1.Apache Commons CSV

Apache Commons CSV庫提供了用于讀取和寫入各種類型CSV文件的接口。

github:https://github.com/apache/commons-csv

2.Java CSV

Java CSV是一個小型、快速且開源Java庫,用于讀、寫各種CSV文件。

官網:https://www.csvreader.com/java_csv.php

API:http://javacsv.sourceforge.net/

3.Super CSV

Super CSV是一個快速、免費跨平臺的CSV格式數據的讀寫庫,可以方便的處理對象、Map、列表的讀寫操作,以及自動化的類型轉換和數據檢查功能。

官網:http://super-csv.github.io/super-csv/index.html

github:https://github.com/super-csv/super-csv

JSON讀寫

1.Jackson

Jackson被稱為Java的標準JSON庫,號稱“Java的最佳JSON解析器”。

github:https://github.com/FasterXML/jackson

2.Gson

Gson是谷歌開源的一個Java庫,可用于將Java對象轉換為其JSON表示形式。它還可以用于將JSON字符串轉換為等效的Java對象。Gson可以處理任意Java對象,包括您沒有源代碼的現有對象。

github:https://github.com/google/gson

3.fastjson

fastjson是阿里巴巴的開源JSON解析庫,它可以解析JSON格式的字符串,支持將Java  Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean。

github:https://github.com/alibaba/fastjson

XML讀寫

1.dom4j

dom4j是用于處理XML的開源框架,該框架與XPath集成在一起,并完全支持DOM、SAX、JAXP和Java平臺。

github:https://github.com/dom4j/dom4j

官網:https://dom4j.github.io/

2.StAX

StAX全稱Streaming API for XML,一種全新的、基于流的Java XML解析標準類庫。

3.jaxb-api

jaxb-api用于執行XML文檔和Java對象之間的映射。

文檔:https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/JAXB.html

4.XStream

XStream是一個可以輕易的將Java對象和xml文檔相互轉換的類庫。

官網:http://x-stream.github.io/

IO讀寫

1.Apache Commons IO Apache Commons IO是一個實用程序庫,可協助開發IO功能。

官網:https://commons.apache.org/proper/commons-io/

2.Okio

Okio是對java.io和java.nio的補充,使訪問、存儲和處理數據變得更加容易。

github:https://github.com/square/okio

HTTP客戶端

1.OkHttp

OkHttp是一個HTTP客戶端,使用OkHttp很容易,它的請求/響應API具有流暢的構建器和不變性。它支持同步阻塞調用和帶有回調的異步調用。

github:https://github.com/square/okhttp

官網:https://square.github.io/okhttp/

2.Apache HttpClient

Apache HttpClient提供了對基本HTTP協議的強大支持,用于構建基于HTTP的客戶端。

官網:http://hc.apache.org/index.html

github:https://github.com/apache/httpcomponents-client

Java Bean復制

1.Cglib BeanCopier

Cglib庫內的BeanCopier提供了ava Bean到Java Bean的復制功能,性能優于Spring BeanUtils。

BeanCopier beanCopier = BeanCopier.create(sourceClass, targetClass, false); beanCopier.copy(source, target, null);

2.Spring BeanUtils

Spring框架的Spring Beans庫中的BeanUtils也實現了Java Bean到Java Bean的復制。

3.Dozer

Dozer是Java Bean到Java  Bean映射器,它以遞歸方式將數據從一個對象復制到另一個對象。Dozer支持簡單屬性映射、復雜類型映射、雙向映射、隱式顯式映射以及遞歸映射。Dozer不僅支持屬性名稱之間的映射,而且還可以在類型之間自動轉換。開箱即用地支持大多數轉換方案,同時也允許您通過XML或基于代碼的配置指定自定義轉換。

github:https://github.com/DozerMapper/dozer

文檔:https://dozermapper.github.io/gitbook/

Redis客戶端

1.Redission

Redis推薦的Java客戶端Redisson是一個在Redis的基礎上實現的Java駐內存數據網格(In-Memory Data  Grid),它充分利用了Redis鍵值數據庫提供的一系列優勢,基于Java實用工具包中常用接口,為使用者提供了一系列具有分布式特性的常用工具類,讓使用Redis更加簡單、便捷,從而讓使用者能夠將更多精力集中到業務邏輯處理上。

github:https://github.com/redisson/redisson/

2.Jedis

Redis推薦的Java客戶端。

github:https://github.com/xetorthio/jedis

數據庫連接池

數據庫連接池提供了一套高效的連接分配、使用策略, 最終實現連接的高效管理。

1.HikariCP

快速、簡單、可靠。HikariCP是“零開銷”生產就緒的JDBC連接池。

github:https://github.com/brettwooldridge/HikariCP

2.Druid

Druid是Java語言中最好的數據庫連接池之一,Druid能夠提供強大的監控和擴展功能。

github:https://github.com/alibaba/druid/

3.Tomcat JDBC

JDBC連接池是Apache Commons DBCP連接池的替代品。

官網:http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

網絡編程

1.Netty

Netty是一個廣泛使用的Java網絡編程框架。

github:https://github.com/netty/netty

官網:https://netty.io/

文件上傳

1.Apache Commons FileUpload

Apache Commons FileUpload使高性能的文件上傳功能變得容易。

官網:http://commons.apache.org/proper/commons-fileupload/

發送郵件

1.Apache Commons Email

Apache commons Email旨在提供用于發送電子郵件的API,它建立在Java Mail API之上,它的目標就是簡便。

官網:http://commons.apache.org/proper/commons-email/

編碼和解碼

1.Apache Commons Codec

Apache Commons Codec提供了常見編碼器和解碼器的實現,例如Base64,Hex,Phonetic和URL。

官網:http://commons.apache.org/proper/commons-codec/

IO操作

1.Apache Commons IO

簡單、快捷的IO操作。

官網:http://commons.apache.org/proper/commons-io/index.html

對象池

1.Apache Commons Pool

提供了通用對象池。

官網:http://commons.apache.org/proper/commons-pool/

java.lang包工具類

1.Apache Commons Lang

為java.lang中的類提供額外的功能,例如StringUtils、DateUtils、RandomUtils、FastDateFormat(線程安全版本的SimpleDateFormat)。

官網:http://commons.apache.org/proper/commons-lang/index.html

集合操作

1.Apache Commons Collections

集合相關操作工具類。

官網:http://commons.apache.org/proper/commons-collections/

2.Guava

Guava是Google的一組核心Java庫,除了可以操作我們常用的集合類型之外,還可以操作新的集合類型(例如多圖和多集)和不可變的集合。

github:https://github.com/google/guava

全能型工具類

1.Guava

Guava是Google的一組核心Java庫,其中包括新的集合類型(例如多圖和多集),不可變的集合,圖形庫以及用于并發,I /  O,哈希,緩存,基元,字符串等的實用程序!它廣泛用于Google的大多數Java項目中,也被許多其他公司廣泛使用。

github:https://github.com/google/guava

2.Hutool

Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。

github:https://github.com/looly/hutool

日期和時間操作

1.Joda-Time

Joda-Time提供了Java日期和時間類的質量替代。

官網:https://www.joda.org/joda-time/

單元測試

1.JUnit

官網:https://junit.org/junit5/

2.Mockito

Mockito是一個Java單元測試模擬框架。

官網:https://site.mockito.org/

3.PowerMock

PowerMock也是一個Java單元測試模擬框架,它可以模擬靜態方法、構造函數、最終類和方法、私有方法、刪除靜態初始化器等。

官網:http://powermock.github.io/

4.moco

在日常接口測試的工作中,經常需要依賴其他系統的API,但是聯調不常有,只能自己通過mock完成數據依賴。Moco是一個模擬服務器端服務的項目,可以用于測試打樁。

github:https://github.com/dreamhead/moco

安全框架

1.Apache Shiro

Apache  Shiro是一個功能強大且易于使用的Java安全框架,它用于身份驗證、授權、加密和會話管理。使用Shiro易于理解的API,可以快速輕松地保護任何應用程序,從最小的移動應用程序到最大的Web和企業應用程序。

官網:http://shiro.apache.org/

日志

1.SLF4J + Logback

SLF4J是為各種loging APIs提供一個簡單統一的接口,從而使得最終用戶能夠在部署的時候配置自己希望的loging  APIs實現,它是一個日志接口。

Logback是由log4j創始人設計的又一個開源日志組件,它是一個日志的實現。

SLF4J官網:http://www.slf4j.org/

Logback官網:https://logback.qos.ch/

對象池

1.Apache Commons Pool

Apache Commons Pool提供了對象池API和一系列對象池實現。

官網:https://commons.apache.org/proper/commons-pool/

基本網絡通訊

1.Apache Commons Net

Apache Commons Net庫實現了許多基本互聯網協議的客戶端。該庫的目的是提供基本協議訪問,而不是更高級別的抽象。

官網:http://commons.apache.org/proper/commons-net/index.html

作業調度框架(定時任務)

1.Quartz

Quartz是一個開源的作業調度框架,它完全由Java編寫,能夠用它來為執行一個作業而創建簡單的或復雜的調度。

官網:http://www.quartz-scheduler.org/

github:https://github.com/quartz-scheduler/quartz

2.ElasticJob

ElasticJob是一種分布式調度解決方案,解決了Quartz不支持分布式的弊端。Elastic  job主要的功能有支持彈性擴容,通過Zookepper集中管理和監控job,支持失效轉移等。

github:https://github.com/apache/shardingsphere-elasticjob

配置中心

1.Nacos

Nacos是一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。Nacos的動態配置服務讓您能夠以中心化、外部化和動態化的方式管理所有環境的配置。動態配置消除了配置變更時重新部署應用和服務的需要。配置中心化管理讓實現無狀態服務更簡單,也讓按需彈性擴展服務更容易。

官網:https://nacos.io/

github:https://github.com/alibaba/nacos

2.Spring Cloud Config

Spring Cloud Config為分布式系統中的外部化配置提供服務器端和客戶端支持。使用Config  Server,您可以在中心位置管理所有環境中應用程序的外部屬性。

文檔:https://cloud.spring.io/spring-cloud-config/reference/html/

3.Apollo

Apollo(阿波羅)是攜程框架部門研發的分布式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改后能夠實時推送到應用端,并且具備規范的權限、流程治理等特性,適用于微服務配置管理場景。

github:https://github.com/ctripcorp/apollo

限流

1.Guava RateLimiter

RateLimiter基于令牌桶算法,即以用戶設定的恒定速率向令牌桶內放置令牌,用戶來執行任務時,只有拿到令牌才能執行。

2.Sentinel

Sentinel是面向分布式服務架構的高可用防護組件,主要以流量為切入點,從流量控制、熔斷降級、系統自適應保護等多個維度來幫助用戶保障微服務的穩定性。

官網:https://sentinelguard.io/

github:https://github.com/alibaba/Sentinel

熔斷降級

當調用鏈路中某個資源出現不穩定,例如,表現為timeout,異常比例升高的時候,則對這個資源的調用進行限制,并讓請求快速失敗,避免影響到其它的資源,最終產生雪崩的效果。

1.Sentinel

Sentinel通過并發線程數進行限制和通過響應時間對資源進行降級兩種手段對資源調用進行限制,讓請求快速失敗,避免影響到其它的資源。

官網:https://sentinelguard.io/

github:https://github.com/alibaba/Sentinel

2.Hystrix

Hystrix  通過線程池的方式,來對資源進行了隔離。這樣做的好處是資源和資源之間做到了最徹底的隔離。缺點是除了增加了線程切換的成本,還需要預先給各個資源做線程池大小的分配。Hystrix不再處于主動開發中,并且當前處于維護模式,官方推薦使用Resilience4j替代。

github:https://github.com/Netflix/Hystrix

3.Resilience4j

Resilience4j是受Netflix Hystrix啟發的輕量級容錯庫,但專為Java  8和函數式編程而設計。輕巧,因為該庫僅使用Vavr,而Vavr沒有任何其他外部庫依賴項。

github:https://github.com/resilience4j/resilience4j

分庫分表

1.Apache ShardingSphere

Apache  ShardingSphere定位為關系型數據庫中間件,旨在充分合理地在分布式的場景下利用關系型數據庫的計算和存儲能力,而并非實現一個全新的關系型數據庫。支持數據分片、讀寫分離、多數據副本、數據加密、影子庫壓測等功能。

官網:https://shardingsphere.apache.org/

github:https://github.com/apache/shardingsphere

2.Mycat

Mycat是數據庫分庫分表中間件。

官網:http://www.mycat.org.cn/

github:https://github.com/MyCATApache

序列化

1.Kryo

Kryo是用于Java的快速高效的二進制對象圖序列化框架。該項目的目標是高速,小尺寸和易于使用的API。每當需要將對象持久保存到文件,數據庫還是通過網絡時,該項目都是有用的。

github:https://github.com/EsotericSoftware/kryo

2.Hessian

Hessian是一款支持多種語言進行序列化操作的框架技術,同時在進行序列化之后產生的碼流也較小,處理數據的性能方面遠超于java內置的jdk序列化方式。

官網:http://hessian.caucho.com/

3.Protobuf

Protobuf是谷歌開源的一個靈活的、高效的用于序列化數據的協議。相比較XML和JSON格式,protobuf更小、更快、更便捷。

github:https://github.com/protocolbuffers/protobuf

官網:https://developers.google.com/protocol-buffers/

RPC框架

1.Dubbo Apache Dubbo是一款高性能、輕量級的開源Java  RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動注冊和發現。

官網:http://dubbo.apache.org/zh-cn/

github:https://github.com/apache/dubbo

2.Thrift  Thrift是一個軟件框架(遠程過程調用框架),用來進行可擴展且跨語言的服務的開發。它結合了功能強大的軟件堆棧和代碼生成引擎,以構建在C++, Java,  Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js,  Smalltalk, and  OCaml這些編程語言間無縫結合的、高效的服務。Thrift最初由facebook開發,07年四月開放源碼,08年5月進入apache孵化器,現在是  Apache  基金會的頂級項目。Thrift允許你定義一個簡單的定義文件中的數據類型和服務接口,以作為輸入文件,編譯器生成代碼用來方便地生成RPC客戶端和服務器通信的無縫跨編程語言。

官網:http://thrift.apache.org/

3.gRPC  gRPC是一個現代的、開源的、高性能的遠程過程調用(RPC)框架,可以在任何地方運行。gRPC使客戶機和服務器應用程序能夠透明地通信,并簡化了連接系統的構建。目前提供C、Java和Go語言版本,分別是:grpc,  grpc-java, grpc-go. 其中C版本支持C, C++, Node.js, Python, Ruby, Objective-C,  PHP和C#支持。

官網:https://www.grpc.io/

github:https://github.com/grpc/grpc

到此,關于“Java開發人員的常用類庫有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城步| 沙田区| 泗水县| 莱州市| 克拉玛依市| 满城县| 长白| 芒康县| 平远县| 涟水县| 延长县| 九龙坡区| 石家庄市| 绥江县| 黄骅市| 富民县| 鄂伦春自治旗| 汾阳市| 南丰县| 都兰县| 华容县| 德昌县| 武功县| 堆龙德庆县| 东至县| 扬州市| 义乌市| 南汇区| 嘉定区| 察哈| 民乐县| 思南县| 西昌市| 洪湖市| 乐清市| 大同市| 雅江县| 平顶山市| 卢湾区| 聂拉木县| 舞阳县|