자바솔루션
Javolution![]() |
![]() | |
개발자 | 장마리 도텔 |
---|---|
안정된 릴리스 | 7.0.0 / 2017년 7월 2일 ( |
저장소 | |
기입처 | 자바, C++ |
운영 체제 | 크로스 플랫폼 |
크기 | 480KB(아카이브) |
유형 | 실시간 라이브러리 |
면허증. | BSD |
웹 사이트 | javolution |
Javolution은 Java 또는 Java-Like/C++ 애플리케이션을 보다 빠르고 예측 가능한 시간으로 만드는 것을 목표로 하는 실시간 라이브러리입니다.실제로 표준 라이브러리(느긋한 초기화, 어레이 크기 조정 등)를 사용하면 시간 예측성이 쉽게 무너질 수 있으며, 이는 안전이 중요한 시스템에서는 허용되지 않습니다.오픈 소스 Javolution 라이브러리는 Java 플랫폼 및 네이티브 애플리케이션에 대한 이러한[1] 문제를 해결합니다.실시간이 아닌 애플리케이션에도 유용한 수많은 고성능 클래스 및 유틸리티를 제공합니다.예를 들어 다음과 같습니다.
- 컬렉션[2] 클래스, 커스텀 [3]뷰 지원, 클로저 기반 반복, 맵 축소 패러다임, 병렬 컴퓨팅 등
- 실시간 Java 주석을 사용하여[4] 기록된 최악의 실행 시간 동작
- 프랙탈 구조를[5] 통해 데이터 크기에 관계없이 고성능 유지
- OSGi[6] 콘텍스트를 통해 애플리케이션 코드를 오염시키지 않고 OSGi 퍼블리싱된 서비스를 통해 런타임에 크로스 컷 우려 사항(컨커런시, 로깅, 보안 등)에 대처할 수 있습니다.
- 동시[7] 콘텍스트를 사용한 알고리즘 병렬 컴퓨팅 지원 및 컴퓨팅[8] 콘텍스트를 사용한 그래픽 처리 장치에서의 범용 컴퓨팅 지원
- 네이티브 애플리케이션과 직접 인터페이스하기 위한 구조/유니온[9] 베이스 클래스
- 최악의[10] 경우 높은 정밀도로 실행 시간을 측정하는 성능계 유틸리티 클래스
- 기존 클래스의 직접 시리얼화/디시리얼라이제이션이 가능한 XML 마샬링/언마샬링[11] 기능(중간 데이터 구조 불필요)
- StAX와 같은 XML 리더/라이터로[12] 객체 생성(String 등)이 불필요하여 표준 StAX보다 빠릅니다.
- 심플하면서도 강력한 애플리케이션 구성 관리[13].
버전 6.0 이후 Javolution을 사용하면 교차 플랫폼 네이티브 컴파일을 위해 Java 소스 코드를 C++로 쉽게 포팅할 수 있습니다[14].OSGi와 JUnit은 포팅되어 코어 C++ 디스트리뷰션에 포함되어 있습니다.
모든 모듈(Java 및 네이티브)은 maven을 사용하여 구축됩니다.Javolution은 OSGi 번들(권장) 또는 스탠드아론 라이브러리로 사용할[15] 수 있습니다.
레퍼런스
- ^ 완전 시간 결정론적 자바
- ^ javolution.displaces
- ^ 컬렉션 뷰
- ^ 실시간 주석
- ^ 프랙탈 테이블
- ^ OSGi 컨텍스트
- ^ 동시 콘텍스트
- ^ 콘텍스트 계산
- ^ 구조/유니온
- ^ 성능계 유틸리티[영구 데드링크]
- ^ XML 마샬링/언마샬링 기능
- ^ StAX 라이크 리더/라이터
- ^ Javolution 구성 관리
- ^ "Javolution C++ Overview" (PDF). Archived from the original (PDF) on 2013-10-01. Retrieved 2013-08-19.
- ^ Javolution 사용 개요
외부 링크
- Javolution 웹사이트
- 풀타임 결정론 Java – AIAA Space 2007 회의
- 안전 크리티컬 애플리케이션용 Java 검증– AIAA Space 2005 Conference
- 실시간 애플리케이션용 Java Turbo-Charging – Java Developer Journal 기사