Apache Commons는 프로그래머가 바퀴를 다시 만들 필요 없이 다양한 실제 문제를 해결하기 위해 미리 만들어진 공통 코드를 제공하는 매우 유용한 툴킷입니다. 본 클래스 라이브러리에 대한 자세한 소개는 공식 홈페이지를 참조하세요. 아래 표에는 일부 도구 키트가 나열되어 있습니다. 일반적인 개발 프로세스에서는 필요에 따라 적절한 툴킷을 선택할 수 있습니다.
구성요소 | 설명 | 최신 버전 | 출시 |
---|---|---|---|
BCEL | 바이트 코드 엔지니어링 라이브러리 - Java 클래스 파일을 분석, 생성 및 조작 | 6.3.1 | 2019/3/24 |
BeanUtils | Java 리플렉션 및 자체 검사 API에 대한 사용하기 쉬운 래퍼입니다. | 1.9.3 | 2016/9/26 |
BSF | Bean 스크립팅 프레임워크 - JSR-223 | 을 포함한 스크립팅 언어에 대한 인터페이스 3.1 | 2010/6/24 |
체인 | 책임 사슬 패턴 구현 | 1.2 | 2008/6/2 |
CLI | 명령줄 인수 파서. | 1.4 | 2017/3/9 |
코덱 | 일반 인코딩/디코딩 알고리즘(예: 음성, base64, URL) | 1.12 | 2019/2/16 |
컬렉션 | Java 컬렉션 프레임워크를 확장하거나 보강합니다. | 4.3 | 2019/2/5 |
압축 | tar, zip 및 bzip2 파일 작업을 위한 API를 정의합니다. | 1.18 | 2018/8/16 |
구성 | 다양한 형식의 구성/기본 설정 파일 읽기 | 2.4 | 2018/10/29 |
암호화폐 | AES-NI 래핑 Openssl 또는 JCE 알고리즘 구현으로 최적화된 암호화 라이브러리입니다. | 1.0.0 | 2016/7/22 |
CSV | 쉼표로 구분된 값 파일을 읽고 쓰기 위한 구성 요소입니다. | 1.6 | 2018/9/25 |
데몬 | Unix 데몬과 유사한 Java 코드를 위한 대체 호출 메커니즘입니다. | 1.0.15 | 2013/4/3 |
DBCP | 데이터베이스 연결 풀링 서비스 | 2.6.0 | 2019/2/19 |
DbUtils | JDBC 도우미 라이브러리 | 1.7 | 2017/7/20 |
소화기 | XML-Java 객체 매핑 유틸리티입니다. | 3.2 | 2011/12/13 |
이메일 | Java에서 이메일을 보내기 위한 라이브러리 | 1.5 | 2017/8/1 |
임원 | Java에서 외부 프로세스 실행 및 환경 관리를 처리하는 API입니다. | 1.3 | 2014/11/6 |
파일업로드 | 서블릿 및 웹 애플리케이션을 위한 파일 업로드 기능. | 1.4 | 2019/1/16 |
펑터 | 펑터는 객체 또는 단일 일반 함수를 나타내는 객체로 조작할 수 있는 함수입니다. | 1 | 2011-??-?? |
기하학 | 공간과 좌표. | 1 | 2018-??-?? |
이미징(이전의 Sanselan) | 순수 Java 이미지 라이브러리입니다. | 0.97-인큐베이터 | 2009/2/20 |
IO | I/O 유틸리티 모음입니다. | 2.6 | 2017/10/15 |
JCI | 자바 컴파일러 인터페이스 | 1.1 | 2013/10/14 |
JCS | 자바 캐싱 시스템 | 2.2,1 | 2018/8/23 |
젤리 | XML 기반 스크립팅 및 처리 엔진. | 1.0.1 | 2017/9/27 |
젝슬 | JSTL의 표현 언어를 확장한 표현 언어입니다. | 3.1 | 2017/4/14 |
JXPath | XPath 구문을 사용하여 Java Bean을 조작하기 위한 유틸리티입니다. | 1.3 | 2008/8/14 |
랑 | java.lang의 클래스에 추가 기능을 제공합니다. | 3.9 | 2019/4/15 |
로깅 | 다양한 로깅 API 구현을 둘러싼 래퍼입니다. | 1.2 | 2014/7/11 |
수학 | 가볍고 독립적인 수학 및 통계 구성 요소입니다. | 3.5 | 2015/4/17 |
넷 | 네트워크 유틸리티 및 프로토콜 구현 모음입니다. | 3.6 | 2017/2/15 |
숫자 | 숫자 유형(복소수, 사원수, 분수) 및 유틸리티(배열, 조합론). | 1 | 2017-??-?? |
OGNL | 객체 그래프 탐색 언어 | 4 | 2013-??-?? |
수영장 | 일반 개체 풀링 구성 요소입니다. | 2.6.2 | 2019/4/11 |
프록시 | 동적 프록시 생성을 위한 라이브러리입니다. | 1 | 2008/2/28 |
RDF | JVM의 시스템에서 구현할 수 있는 RDF 1.1의 일반적인 구현입니다. | 0.3.0-인큐베이팅 | 2016/11/15 |
RNG | 난수 생성기 구현 | 1.2 | 2018/12/12 |
SCXML | Java SCXML 엔진 생성 및 유지 관리를 목표로 하는 상태 차트 XML 사양의 구현입니다. SCXML 문서를 사용하여 정의된 상태 머신을 실행할 수 있으며 환경 인터페이스를 추상화합니다. | 0.9 | 2008/12/1 |
통계 | 통계. | 0.1 | ????-??-?? |
문자 | Apache Commons Text는 문자열 작업 알고리즘에 초점을 맞춘 라이브러리입니다. | 1.6 | 2018/10/16 |
검증기 | XML 파일에서 유효성 검사기와 유효성 검사 규칙을 정의하는 프레임워크입니다. | 1.6 | 2017/2/21 |
VFS | 파일, FTP, SMB, ZIP 등을 단일 논리 파일 시스템으로 처리하기 위한 가상 파일 시스템 구성 요소입니다. | 2.3 | 2019/2/4 |
위버 | 컴파일된 바이트코드를 향상(엮기)하는 쉬운 방법을 제공합니다. | 2 | 2018/9/7 |
위 표의 툴킷 외에도 Apache Common 프로젝트에는 다음 툴킷도 포함되어 있으며, 그 중 http-client가 일반적으로 사용됩니다.
Cactus: Cactus는 서버측 Java 코드(서블릿, EJB, 태그 Libs, 필터 등)를 단위 테스트하기 위한 간단한 테스트 프레임워크입니다. Cactus의 목적은 서버측 코드에 대한 테스트 작성 비용을 낮추는 것입니다.
HiveMind: HiveMind는 서비스 및 구성 마이크로커널입니다. HiveMind를 사용하면 서비스 지향 아키텍처를 사용하여 애플리케이션을 만들 수 있습니다.
HttpClient 3.x: HTTP 프로토콜의 클라이언트측 작업을 위한 프레임워크입니다.
이름 지정: 이름 지정 하위 프로젝트에는 다양한 JNDI 제공자와 함께 공통 JNDI 코드가 포함됩니다.
Guava 프로젝트에는 컬렉션, 캐싱, 프리미티브 지원, 동시성 라이브러리, 공통 주석, 문자열 처리, I/O 등과 같이 Google Java 프로젝트에서 널리 사용되는 여러 핵심 라이브러리가 포함되어 있습니다. Guava 툴킷의 공통 기능 포인트는 필요할 때 쉽게 참조하고 사용할 수 있도록 아래에 나열되어 있습니다.
Null 사용 및 방지: Null은 모호하고 혼란스러운 오류를 일으킬 수 있으며 때로는 사람들을 불편하게 만듭니다. 많은 Guava 유틸리티 클래스는 null 값을 맹목적으로 받아들이는 대신 빠른 실패를 사용하여 null 값을 거부합니다.
전제 조건: 메서드에서 조건 확인을 더 쉽게 만듭니다.
공통 객체 메서드: hashCode() 및 toString()과 같은 객체 메서드의 구현을 단순화합니다.
정렬: Guava의 강력한 "유체 스타일 비교기"
Throwables: 예외 및 오류의 전파 및 확인을 단순화합니다.
Guava
의 가장 성숙하고 잘 알려진 부분인 JDK 컬렉션에 대한 Guava의 확장입니다. 불변 컬렉션: 불변 컬렉션을 통한 방어 프로그래밍 및 성능 향상.
새로운 컬렉션 유형: 다중 집합, 다중 맵, 테이블, 양방향 맵 등
강력한 수집 도구 클래스: java.util.Collections에 없는 수집 도구를 제공합니다.
유틸리티 클래스 확장: 컬렉션 데코레이터 생성 또는 반복기 구현과 같은 컬렉션 클래스 구현 및 확장을 더 쉽게 만듭니다.
Guava Cache: 로컬 캐시 구현, 여러 캐시 만료 전략을 지원합니다.
Guava의 기능 지원은 코드를 크게 단순화할 수 있지만 주의해서 사용하세요.
강력하면서도 간단한 추상화로 올바른 동시 코드 작성이 더 쉬워집니다
ListenableFuture: 완료 후 콜백을 트리거하는 Future
서비스 프레임워크: 서비스의 상태 로직을 유지하는 데 도움이 되도록 켜고 끌 수 있는 추상 서비스
분할, 연결, 채우기 및 기타 작업을 포함한 매우 유용한 문자열 도구
특정 유형의 서명되지 않은 형식을 포함하여 JDK에서 제공하지 않는 기본 유형(예: int, char) 작업을 확장합니다
연속형 및 이산형을 포함한 유사한 유형을 위한 간격 API
Java 5 및 6 버전의 경우 I/O, 특히 I/O 스트림 및 파일 작업을 단순화합니다
Object.hashCode()보다 더 복잡한 해시 구현을 제공하고 Bloom 필터 구현을 제공합니다
구성 요소 통신의 게시-구독 모드이지만 구성 요소를 다른 구성 요소에 명시적으로 등록할 필요는 없습니다
최적화되고 완전히 테스트된 수학 도구
Guava의 Java 반사 메커니즘 도구 클래스
FileCopyUtils;
WebUtil;
위 내용은 Java 개발에서 일반적으로 사용되는 도구 라이브러리는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!