Java 9 버젼에서 변화된 내용들을 가볍게 정리하는 형태로 만들어봤다.
소프트웨어 캠퍼스 강사팀 4기의 발표자료 이기도 하다.
소프트웨어 캠퍼스(https://www.facebook.com/groups/softwarecamp/)는 강의와 스터디등을 통해 서로를 성장시켜갈 수 있는 커뮤니티가 되려는 곳이다.
Java 9 버젼에서 변화된 내용들을 가볍게 정리하는 형태로 만들어봤다.
소프트웨어 캠퍼스 강사팀 4기의 발표자료 이기도 하다.
소프트웨어 캠퍼스(https://www.facebook.com/groups/softwarecamp/)는 강의와 스터디등을 통해 서로를 성장시켜갈 수 있는 커뮤니티가 되려는 곳이다.
안녕하세요. 이희종입니다. 한국 오라클에서 근무 하고 있습니다.
저희 팀에서는 지식 먹방이라는 방송을 Youtube 채널을 통해서 하고 있구요. 이번에 마이크로서비스라는 주제를 가지고 한번 다루어 보는 시간을 가져 보았습니다. 아직 마이크로서비스라는 단어에 대해서 생소하신 분이라면 개념을 이해하기에 좋은 자료라고 생각됩니다.
방송영상은 https://www.youtube.com/watch?v=64t4Kck6JEQ 보실 수 있습니다.
이와 더불어 오라클 클라우드 서비스 중에 하나인 Application Container Cloud Service 에 대한 내용도 포함되어 있습니다.
This slide introduces Java technology based on its Object Oriented Programming features. It is now used in my class for a high school in Korea.
I'd like somebody who is willing to learn Java to enjoy this.
Here I have to mention that some clip arts in this slide are searched via Googling and some sentences to define terms and features are from books like Thinking in Java, Bruce Eckel.
Please let me know if anyone find some of them has patent or legal issues.
Feel free to ask me if you have any question.
Jongdae.Lim@oracle.com
Jongdae.Lim@gmail.com
Caramel.Macch@gmail.com
안녕하세요. 이희종입니다. 한국 오라클에서 근무 하고 있습니다.
저희 팀에서는 지식 먹방이라는 방송을 Youtube 채널을 통해서 하고 있구요. 이번에 마이크로서비스라는 주제를 가지고 한번 다루어 보는 시간을 가져 보았습니다. 아직 마이크로서비스라는 단어에 대해서 생소하신 분이라면 개념을 이해하기에 좋은 자료라고 생각됩니다.
방송영상은 https://www.youtube.com/watch?v=64t4Kck6JEQ 보실 수 있습니다.
이와 더불어 오라클 클라우드 서비스 중에 하나인 Application Container Cloud Service 에 대한 내용도 포함되어 있습니다.
This slide introduces Java technology based on its Object Oriented Programming features. It is now used in my class for a high school in Korea.
I'd like somebody who is willing to learn Java to enjoy this.
Here I have to mention that some clip arts in this slide are searched via Googling and some sentences to define terms and features are from books like Thinking in Java, Bruce Eckel.
Please let me know if anyone find some of them has patent or legal issues.
Feel free to ask me if you have any question.
Jongdae.Lim@oracle.com
Jongdae.Lim@gmail.com
Caramel.Macch@gmail.com
2. JAVA의 역사
• 2006 년 11 월 13 일, Sun MicroSystems 은 Java 을 공식적으로
오픈소스화 선언!
• Sun MicroSystems 은 GNU GPL 로 오픈소스화.
• Java 애플리케이션을 실행하기 위해서는 JVM이 필요하고 컴파
일하기 위해서는 JDK가 필요하다. 일반적으로 JDK를 설치하면
JVM(Hotspot이라고도 표현, Java 기술의 핵심)도 함께 설치된다.
3. 2019년부터 JDK의 유료화 선언!
• Oracle JDK 바이너리에 적용되던 BCL 라이센스가 2018년 7월
부로 Java SE Subscription라는 이름의 년 단위 유료 구독형 라
이센스로 새롭게 개편되었다.
• 2019년부터 업데이트 및 버그 패치 적용을 위해서는 서브스크
립션 구매 필수 Oracle JDK 상용화와 OpenJDK 오픈소스 제공
As announced last year, Oracle now provides OpenJDK builds under the GPL+CPE
license with plans to make them functionally interchangeable with the Oracle JDK
by the Java SE 11 launch in September, 2018. Going forward, we expect most
developers and organizations to be using our builds as we complete the effort of
making Oracle JDK and our OpenJDK builds equivalent. No more “BCL” license,
use the JDK under the same license as Linux, with the “Classpath” exception to
afford even more flexibility.
5. JAVA에서 오라클의 힘은 어디까지?
• Java 은 JCP(Java Community Process) 에서 JSR 이라는 표준 스펙을
제정하고 이를 구현하는 방식으로 완성됩니다. JCP 에서의 의결 방식
은 주식회사의 의결과 비슷합니다. JCP 내 지분율에 따라 의결권을
가지고, 의결 시 총 의결권의 수로 결정을 합니다. Oracle 은 현재
JCP 의 최고 지분율을 가지고 있다고 알려져 있습니다.
• 그리고, JSR 에 의거해 OpenJDK 가 만들어지면 이 소스를 이용해서
각 회사나 단체, 혹은 개인이 별도의 JDK/JRE 을 만들 수 있는데, 이
렇게 만들어진 제품이 JSR 을 제대로 구현했는지 확인하는 것이
TCK(Java Technology Certification Kit) Tool 입니다. 이 TCK 을 이용
해서 검수를 진행하는 곳이 Oracle 이기도 합니다. 또한 OracleJDK
역시 OpenJDK 소스를 포함하여 빌드가 되고 있다고 알려져 있습니
다.
6. Open JDK란?
• 오픈소스기반의 JDK
• http://openjdk.java.net/
• https://ko.wikipedia.org/wiki/OpenJDK
• GNU GPL라이선스를 따름.
• Sun Microsystems의 유산.
• 오라클에 의해 개발/관리되고 있다.
7. Open JDK vs. Oracle JDK
• OpenJDK와 Oracle JDK는 현재 오라클에 의해서만 생성되고 유지 관
리됩니다.
• OpenJDK와 Oracle JDK는 TCK (Java Technology Certification Kit)를
통과 한 동일한 Java 사양의 구현입니다.
• OpenJDK는 Oracle GPL v2에서 배포되며 Oracle JDK는 Oracle
Binary Code License Agreement에 따라 라이센스가 부여됩니다.
• Oracle JDK의 빌드 프로세스는 OpenJDK 소스 코드를 기반으로합니
다. 따라서 Oracle JDK와 OpenJDK간에 기술적인 차이는 없습니다.
기본 코드 외에도 Oracle JDK에는 오라클의 Java Plugin 및 Java
WebStart 구현이 포함됩니다. 또한 그래픽 래스터 라이저 및 Rhino
와 같은 타사 폐쇄 소스 및 오픈 소스 구성 요소도 포함 됩니다.
OpenJDK Font Renderer와 Oracle JDK Flight Recorder는 Oracle
JDK와 OpenJDK의 두드러진 차이점입니다.
8. 다른 Open JDK의 종류
• http://jdk.java.net/
• https://adoptopenjdk.net/
• Azul Systems 의 Zulu
• 개인이나 기업 모두 Zulu 을 사용하는 것은 무료이고, 기술지원
(Subscription)은 유료로 구입
JVM(Java Virtual Machine)의 종류
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
9. OpenJDK로 대체 할 경우 문제점
• OracleJDK 에만 포함되어 있는 기능 존재
• 이러한 기능을 대체할 수 있는 오픈소스 제품 역시 존재
우리 솔루션들이 OpenJDK에서도
재대로 동작하는지 테스트 필요 필수!!
10. 대안은
• 가장 쉬운 방법
• 돈 내고 계속 쓰면 됩니다. (가격만 맞다면요)
• 오픈 JDK사용
• 우리에게 맞는 Open JDK 탐색
• 테스트 필수!
별다른 큰 문제 없이 동작
할 것이라고 예상합니다.