오라클 "자바8, 다시 디바이스로"

일반입력 :2014/05/07 17:08

지난 3월말 오라클이 2년 7개월만에 자바8을 내놨다. 자바5 이후 처음 이뤄진 언어 차원의 혁명적 변동이었다. 스탠더드에디션(SE)8과 마이크로에디션(ME)8의 출시에 대한 오라클의 메시지는 ‘디바이스로 회귀’로 요약된다.

한동안 자바의 초점은 백엔드 시스템에 맞춰져 있었다. 그러나 자바8의 여러 개선사항은 디바이스를 위한 개발 프레임워크로 방향을 몰아간다.

최근 만난 한국오라클의 김경한 자바임베디드사업부 상무는 “자바의 태생은 임베디드였는데, 지금은 백엔드의 표준이 됐다”며 “자바8은 임베디드쪽 요구사항이 들어간 것으로 임베디드 친화적으로 설계됐다”고 설명했다.

그는 “하드웨어 변화에 대한 요구사항이 있었고, 가짓수는 많지 않지만 혁신이 매우 중요한 부분이었다”며 “사물인터넷(IoT) 대응과 멀티코어, 콤팩트프로파일, 새 API, 빠른 퍼포먼스 등이 관심있게 볼만 한 변화”라고 말했다.

자바SE 8의 주요 기능은 람다프로젝트(Lambda), 나스호른(Nashorn) 자바스크립트 엔진, 새로운 데이트/타임 API, 콤팩트프로파일 세트, 핫스팟 자바 가상 머신(JVM)에서의 ‘퍼머넌트 제너레이션(Permanent Generation)’ 영역 제거를 포함한다.

람다프로젝트는 멀티코어 프로세스에 대한 대응이다. 이제 PC뿐 아니라 소형 임베디드 디바이스까지 멀티코어 프로세서를 채택하고 있다. 멀티코어 환경을 효율적으로 사용하려면 그에 맞는 프로그래밍이 요구된다.

김 상무는 “람다는 애플리케이션이 CPU의 어떤 코어를 사용할지 정의하기 쉽게 하고, 생산성과 성능을 높이면서, 코드 유지보수를 편하게 한다”며 “코드는 단순해지고, 버그는 적어져 비용이 자연스럽게 줄어든다”고 설명했다.

하지만 멀티코어와 병렬처리를 위해 도입된 여러 함수형 개발언어는 좀 더 두고 봐야 할 부분으로 보인다. 기존 자바 개발자를 오랜 시간 축적된 지적 경험에서 벗어나 새로운 도전에 나서도록 몰아가는 탓이다. 오라클은 일단 오픈JDK커뮤니티와 여러 교육프로그램으로 개발업계의 충격파를 흡수할 수 있을 것으로 보고 있다.

콤팩트 프로파일은 자바 런타임 환경 용량을 목적에 따라 세분화한 것이다. 자바SE8의 경우 48MB, 20MB, 15MB, 12MB 등으로 나눴다.

가장 최소용량의 프로파일로 짠 코드라 해도 100% 서브셋이기 때문에 윗단계 용량에서도 사용할 수 있다. 김 상무는 “개발자가 원하는 기능을 만들다 보면 어느정도 사이즈로 정해야 할지 파악하기 힘든데, 자바8 의 툴이 어느 프로파일에 있는 기능을 쓰는지 알려주고 넘어설 경우 경고를 주기도 한다”며 “ME8의 경우도 2MB부터 128KB까지 4개의 서브셋으로 나뉘며, ME8 자체가 SE8의 서브셋이 된다”고 말했다.

성능 개선의 경우 가비지컬렉터의 퍼머넌트제너레이션(PermGen)에 변화를 가한 게 중요한 작용점 역할을 했다. 메모리에서 삭제하면 안 되는 부분을 정의해놓은 PermGen사이즈를 수정해야 할 때 JVM에서 가변적으로 운영해주는 것이다. 김 상무는 “이 작업을 위해 전체 코드의 10%를 바꿔야 했다고 한다”고 설명했다.

이밖에 자바FX가 임베디드를 고려해 새로운 UI 효과를 갖게 됐고, 오픈GL 등의 3D 피처도 강화됐다. 자바스크립트 실행엔진도 내장해 자바 앱 안에서 자바스크립트를 실행할 수 있게 완전히 새로 개발됐다.

김 상무는 “자바 SE도 임베디드 버전을 내놓게 됨으로써 SE와 ME의 경계는 이제 없어졌다고 봐야 한다”며 “프로파일을 타깃 하드웨어에 맞춰 다양하게 상황에 맞게 선택해 사용하게 했고, 퀄컴, 프리스케일, ARM 같은 SOC업체와 파트너십 맺어 하드웨어에 맞춘 JVM을 만들어 내놓고 있다”고 설명했다.

관련기사

그는 “오라클은 자바란 플랫폼을 JVM에 더해 SOC 하드웨어까지 보고 있으며, 긴밀한 파트너십을 구축해 전체 솔루션을 제공하려 한다”고 강조했다.

그는 “다양한 디바이스가 나오는 시대로 가고, 하드웨어를 회사가 아니라 소프트웨어처럼 개인이 만드는 시대다”며 “보안성, 이동성, 타임투마켓 등 요즘 디바이스의 요구사항은 다 자바가 잘하는 부분인데, 자바의 특성, 장점이 이와 잘 맞는다”고 강조했다.