Java를 네이티브 코드로 컴파일 할 수 있습니까?
JVM없이 Java에서 독립 실행 형 (또는 라이브러리) 기계 코드로 컴파일 할 수있는 방법이 있습니까?
GCC의 일부인 GCJ라는 도구가 있었지만 제거되었습니다 . 이제 GCC 사이트의 모든 링크는 GCC가 아닌 해당 링크로 리디렉션됩니다.
NB : 댓글은 모두 GCJ를 사용하여 Java를 네이티브 코드로 컴파일 할 수 있다는 원래 답변을 참조했습니다.
Excelsior JET 는 상용 Java to native 코드 컴파일러입니다.
예!
오라클은 네이티브 이미지를 지원하는 GraalVm을 개발하고 있습니다. 여기에서 확인하십시오 : https://www.graalvm.org/
네이티브 이미지 GraalVM SDK의 네이티브 이미지 기능은 Java 애플리케이션의 시작 시간을 개선하고 더 작은 공간을 제공합니다. 사실상 이는 JVM (모든 플랫폼에서)에서 실행되는 바이트 코드를 특정 OS / 플랫폼 용 네이티브 코드로 변환하는 것입니다. 우수한 성능을 달성하기 위해 적극적인 AOT (Ahead-of-Time) 최적화를 사용하고 있습니다.
더보기:
요약
https://www.graalvm.org/docs/getting-started/#native-images데모 : 더 빠른 시작을위한 기본 이미지
https://www.graalvm.org/docs/examples/native-list-dir/상세 : 'AOT 컴파일'
https://www.graalvm.org/docs/reference-manual/aot-compilation/
예, JVM의 JIT가 정확히 수행합니다.
실제로 코드가 런타임에 사용되는 방식에 따라 특정 플랫폼에 최적화 된 코드를 생성 할 수 있으므로 코드를 미리 컴파일하는 것보다 더 빠른 코드를 생성 할 수 있습니다.
JVM은 바이트 코드를 동적으로로드하고 실행할 수 있으므로 매우 높은 비율이 원시 코드로 컴파일 되더라도 항상 관련됩니다.
참고 URL : https://stackoverflow.com/questions/2991799/can-i-compile-java-to-native-code
'Development Tip' 카테고리의 다른 글
Webkit 브라우저에서 TBODY를 스크롤 가능하게 만들기 (0) | 2020.11.05 |
---|---|
동일한 이름을 가진 두 개의 입력 요소를 갖는 것이 유효합니까? (0) | 2020.11.05 |
.vimrc에서`set nocompatible`은 완전히 쓸모가 없습니까? (0) | 2020.11.05 |
github 프로젝트에서 바이너리를 배포하는 가장 좋은 방법은 무엇입니까? (0) | 2020.11.05 |
"이벤트 이미 터"란 무엇입니까? (0) | 2020.11.05 |