IT 이모저모

Java 10 발표, 9 월에는 Java 11을 발표할 예정

exien 2018. 3. 20. 08:54

2017 년 9 월에 "Java 9 '가 등장한지 얼마되지 않았습니다 만, 지금부터 1 개월 후 2018 년 3 월에 이미 Java의 새로운 버전"Java 10 "가 출시됩니다. 그리고 6 개월 후 9 월에는 또한 다음의 "Java 11"출시 예정입니다.

Java 9 이후의 Java는 매년 3 월과 9 월 연 2 회 메이저 버전 업을 할 시간 기반의 자료 모델을 채용하게되었습니다. 올해는 첫해입니다.

오라클의 JDK의 제공 방법 및 지원 정책도 앞으로 크게 변경 될 수 밝혀져 있습니다. 공개 된 무상으로 다운로드 할 수있는 Oracle JDK의 공개는 Java 10이 마지막이 지원은 3 년마다 등장하는 장기 지원 (LTS) 대응의 메이저 버전에 이루어지는했던 것이 예정되어있는 입니다.

이러한 자료 모델, 제공 형태 지원 정책의 변경은 기존의 Java 어플리케이션의 유지 보수 및 향후 개발 체제에도 영향을 미칠 것입니다.

이러한 Java의 공식 정보는 오라클의 Web 사이트의 " Oracle Java SE 지원 로드맵」에 정리하고 있습니다. 또한 오라클은 Java 사용자 커뮤니티와 고객에게 설명하고, 정보를 제공하고 있습니다.

그러나 기사로 이러한 정보를 정리 한 것은 아마 존재하지 않았던 것 같습니다. 그래서 Java 10의 등장을 약 1 개월 앞둔 지금 (예정은 3 월 20 일 출시 예정), Web 사이트에 공개 된 정보를 기반으로하면서, 거기에서 다루지 않은 자세한 내용도 오라클 에 인터뷰를 통해 현재의 최신 정보를 정리했습니다.

Oracle Java SE 지원 로드맵Oracle Java SE 지원 로드맵

버전 번호는 앞으로도 Java 10, Java 11, Java 12과 연번

Java 9 이후의 Java 버전 번호는 지금 그대로 Java 10, Java 11, Java 12과 연번으로 늘어나게되었습니다.

Java 9 릴리스하면 Java 버전 번호가 출시 년도와 자료 달을 합친 숫자, 예를 들어 2018 년 3 월에 출시되는 Java 10은 "Java 2018.3"이된다는 설명도있었습니다. 그 자취로서 공식 사이트에서도 버전 표기가 "Java 10 (18.3)」나 「Java 11 (18.9) '과 버전 번호와 출시 년월 병렬 표기되어 있습니다.

그러나 현재의 정책은 지금까지대로 순차적으로 버전 번호를 나타가는 것이라고합니다. 버전 번호 및 릴리스 세월을 병기 한 「Java 10 (18.3) "는 중 버전 번호 만 바꾸게되어 나가게 될 것입니다.

버전 업주기는 6 개월마다

Java 버전 업 사이클은 전술 한 바와 같이 2018 년 3 월에 출시되는 Java 10에서 6 개월마다 메이저 버전 업이 이루어집니다. 즉 2018 년 3 월에 Java 10 2018 년 9 월에 Java 11 2019 년 3 월에 Java 12, 2019 년 9 월에 Java 13 이어져가는 것입니다.

그리고 그 사이의 1 월, 4 월, 7 월, 10 월 연 4 회, 버그 수정과 보안에 대응 한 마이너 버전이 제공 될 예정입니다.

버전 업의 기본 정책은 기능의 추가 변경 사항은 메이저 버전 업에서 열린 마이너 버전 업에서는 기능에 영향이없는 버그 수정과 보안 대응 변경 만 이뤄질 것으로되어 있습니다.

왜 6 개월마다 메이저 버전 업을 할 것인가?

왜 Java는 6 개월마다 메이저 버전 업으로 출시 모델을 변경하는 것입니까?

Java는 지금까지 큰 기능 추가에 따라 메이저 버전 업을 해왔습니다. 큰 새로운 기능의 개발에 오랜 시간이 걸리고 때로는 개발 일정 지연도 고통도 왔습니다.

예를 들어, Java 6에서 7로 메이저 버전 업에는 4 년 8 개월, Java 7에서 8로 2 년 8 개월, Java 8-9로는 3 년 6 개월 걸려 있습니다.

이것은 즉, Java의 진화는 몇 년 밖에 일어나지 않았다는 것을 보여줍니다.

안정이 중시되는 엔터프라이즈 시스템 개발 분야에서 사용되는 경우가 많다 Java에서 몇 년마다의 느린 진화의 속도는 바람직한 것이기도했습니다. 그러나 최근에는 Java는 다른 언어 나 기술과 비교하면 진화가 느린 다소 오래된 것으로 보인다하도록지고도있었습니다.

기존 출시 모델을 바꾸게 6 개월마다 메이저 버전 업을 할 시간 기반 릴리스 모델로 Java를 전환 한 것은 이러한 반성에 서 Java를 지금까지보다 빠른 속도로 전진 시키려고하고 있기 때문입니다 .

상용의 Oracle JDK와 오픈 소스 OpenJDK는 같은 것이된다

상용 라이센스 Oracle JDK는 무료 버전에는없는 Java 프로파일 러 Flight Recorder와 Mission Control과 같은 도구가 제공되고 있습니다.

오라클은 현재 이러한 도구를 오픈 소스 Java 구현 인 OpenJDK도 포함하는 작업을 진행하고 있습니다.

예정으로는 Java 11이 출시되는 2018 년 9 월에이 작업을 완료하고 상업 유통의 Oracle JDK와 오픈 소스 구현 OpenJDK는 기능, 품질면에서 같은 일이 될 예정입니다.

Oracle JDK의 무료 배포는 다음 JDK 10 마지막

현재 Java 구현으로 오라클에서 Oracle JDK가 공개되어 있으며, 무료로 다운로드하여 이용할 수 있습니다. 많은 개발자, 사용자가 Oracle JDK를 사용하는 것입니다.

그러나 Oracle JDK의 무상 공개는 Java 10까지로되어 있습니다. 2018 년 9 월에 출시 될 Java 11 이상 Oracle JDK는 오라클과 유상 지원 계약을 맺은 사용자에게만 제공되는 것입니다. Oracle JDK 11은 무상 공개되지 않습니다.

대신, 전술 한 바와 같이 Java 11에서 Oracle JDK와 동일한 기능과 품질을 갖춘 오픈 소스 구현 인 OpenJDK는 출시 된 바이너리가 무료로 제공됩니다. Java 11에서 OpenJDK는 기존 무상으로 제공되고 있던 Oracle JDK를 대체하는 것입니다.

오라클 주식회사 Cloud Platform 사업 추진 본부 수석 매니저 이토 타카시 씨는 "오라클은 JDK 11에서 OpenJDK는 널리 일반적으로 사용하기 JDK이며, 지금까지 유지해온 JDK의 기능 · 품질을 겸비한 Java 개발 키트로 자리 매김 "고 설명하고 있습니다.

무료 OpenJDK에 오라클의 지원은 제공되지 않고 유지 보수 기간은 6 개월

이어 지원 정책에 대해.

물론 무료로 제공되는 Oracle JDK 10과 OpenJDK 11 등 오라클의 지원은 제공되지 않습니다.

Java 9 이상에게 무료로 제공되는 Oracle JDK와 Open JDK의 지원 정책에서 중요한 점은 주 버전 당 유지 보수 기간이 다음 주 버전이 나올 때까지의 사이 인 것입니다 (Java 8에 대해 는 예외로 다른 규칙이 적용됩니다. 이에 대해서는 후술합니다).

구체적으로는 2018 년 3 월에 출시되는 Java 10의 구현 인 Oracle JDK 10은 출시 이후 4 월과 7 월에 버그 수정 및 보안 설비의 마이너 버전 업이 진행될 예정입니다. 그리고 출시 6 개월 후 9 월에는 다음의 주요 버전 인 Java 11과 그 구현 인 OpenJDK 11이 출시됩니다.

메이저 버전 업 후에는 이전 주요 버전에 대한 마이너 버전 업을하지 않게됩니다.

즉, OpenJDK 11이 출시되면 Oracle JDK 10에 대한 패치가 릴리스되지 않습니다. 2018 년 10 월과 2019 년 1 월에 출시 될 예정 패치는 OpenJDK 11에 대한 마이너 버전 업입니다.

그리고 2019 년 3 월에 Java 12이 등장하고 그 구현 인 OpenJDK 12이 출시되면 다음 4 월과 7 월에 출시되는 마이너 버전 업은 OpenJDK 12에 대응 한 것이되어, OpenJDK 11에 대한 버그 수정 등은 제공되지 않습니다.

(여기에서 추기 2018/2/8 14시 25 분)

그러나 OpenJDK는 오픈 소스 프로젝트의 판단으로 LTS를 설정하고 LTS에 대한 유지 보수 버전을 계속해서 출시하는 움직임이 있다는 지적을 받았습니다.

다음은 2017 년 11 월 Java의 공식 트윗. 미국 오라클의 Java Platform Group 수석 건축가의 Mark Reinhold 씨가 OpenJDK의 LTS 소개하고 있습니다.

이것이 실행되면 Java 11, Java 17 등 LTS가 설정된 버전 OpenJDK에 대해서는 몇 년간 (슬라이드에서는 다음 LTS의 메이저 버전이 등장하기까지의 3 년간), 무료 OpenJDK에서도 유지 보수 패치가 제공 될 수 있습니다.

OpenJDK는 오라클과는 독립적 인 오픈 소스 프로젝트로 소프트웨어 제공 정책을 수립 실행 해 나가는 것이되기 때문에, 본건에 대해서는 OpenJDK 측의 발표를 기다려야합니다.

며칠 전에도 OpenJDK의 관계자로부터 LTS에 대한 발언이 있었다 라는 것입니다 만, 아직 OpenJDK 커뮤니티에서 논쟁이 계속되고 있다고합니다.

(추기 여기까지)

유상의 Oracle JDK는 장기 지원 버전마다 3 년 동안 메이저 버전 업

Java 11에서 유상 지원 사용자에게만 제공된다 Oracle JDK는 무료 OpenJDK와는 다른 버전 업 및 지원 정책에서 제공됩니다.

2018 년 9 월에 등장하는 Java 11부터 Java는 3 년마다 "LTS"(Long Term Support)라는 장기 지원에 대응 한 메이저 버전이 등장합니다. 그 LTS 버전마다 Oracle JDK의 메이저 버전 업을하는 것입니다.

첫 번째 LTS되는 Java는 2018 년 9 월에 등장하는 Java 11에서 구현으로 Oracle JDK 11이 출시됩니다. 다음 LTS는 3 년 후인 2021 년 9 월에 등장하는 Java 17에서 구현으로 Oracle JDK 17이 출시됩니다. Oracle JDK의 메이저 버전 업판은 3 년마다 발표되는 것입니다.

LTS 버전의 지원 기간은 「Premier Support '로 출시 5 년 "Extended Support'로 다시 3 년이 추가 된 'Sustaining Support"를 계약하면 추가 지원 기간을 연장 할 수 있습니다. 3 년이 경과 한 다음 메이저 버전이 등장했다고해서 지원이 끝나는 것은 아닙니다.

그리고 지원 기간 동안 계속 1 월, 4 월, 7 월, 10 월의 3 개월마다 버그 수정과 보안 픽스를 대상으로 한 마이너 버전 업의 제공을받을 수있는 것입니다.

(추기 2018/2/8 : 마이너 버전 업 패치의 제공은 Premier Support와 Extended Support까지 .Sustaining Support에서는 패치 제공하지 않습니다)

다음은 오라클이 무료 버전의 JDK 및 유료 버전 JDK의 지원 정책에 대한 설명에 사용되는 그림을 허가 전재 한 것입니다.

Java의 새로운 지원 정책

흰색 마커는 무료 버전 Oracle JDK의 출시시기 및 지원 기간을 나타내며, 파란색 마커는 무료 버전 OpenJDK의 출시시기 및 지원 기간을 나타내고 빨간색 마커는 유료 버전 Oracle JDK의 출시시기 및 지원 기간을 보여줍니다.

무료 OpenJDK 6 개월마다 메이저 버전 업이 등장하고 그 때마다 지원 기간이 종료하는 것을 알 수 있습니다.

유상의 Oracle JDK는 3 년마다 LTS 버전이 등장하고 8 년 이상 동안이 있음을 알 수있을 것입니다.

Java 8의 지원 기간은 Java 11의 등장 이후까지 계속

마지막은 Java 8의 지원 기간입니다.

Java 9에서는 Java의 모듈화를 실현하는 Project Jigsaw가 구현 되었기 때문에, Java 9 이전과 이후로 지금까지 메이저 버전 업과 비교해도 큰 차이가 있습니다.

따라서 Java 8에서 Java 9 또는 그 이후 버전으로 마이그레이션하는 데 시간이 걸린다고 생각합니다.

Java 8의 지원 기간은 그것을 고려하여 설치되어 있습니다. 구체적으로는 최초의 LTS 버전 인 Java 11 2018 년 9 월에 나와 4 개월 후 2019 년 1 월까지는 무료 버전 Oracle JDK의 공식 업데이트가 제공됩니다. 또한 개인 Java SE를 사용하는 (non-corporate desktop use) 경우 2020 년 12 월말까지 계속 Java 8의 업데이트를받을 수 있다고 설명되어 있습니다.