Javaã«ã¯æè¿å€ãã®å€æŽãå ããããŠãããèšèªã®é²åã®ä»æ¹ãæ ¹æ¬çã«å€ãã£ãããã§ãã æ°ããæ©èœãèšèªã«è¡šç€ºããããšäŸ¿å©ã§ãã ãããããããã®å€æŽã ãã§ã¯ãããŸããã ãªã©ã¯ã«ã¯ããã®äŒç€ŸããªãªãŒã¹ããJavaããŒãžã§ã³ã®ãµããŒãã¢ãã«ãšæŽæ°ãµã€ã¯ã«ã«å€§å¹ ãªå€æŽãå ããŸããã ããããã¹ãŠããå€åãèª€å ±ã誀解ã«ãã£ãŠåŒãèµ·ãããã倧ããªæ··ä¹±ããããããŸããã ãã®èšäºã§ã¯ãJavaãšã³ã·ã¹ãã ã®çµæ«è«çãªçµãããä¿¡ãå§ããåã«ããŠãŒã¶ãŒãã€ãããŒã·ã§ã³ã«ã€ããŠç¥ãå¿ èŠããããã¹ãŠãèŠçŽããŸãã
ãã ããæåã«ããã€ãã®ç¹ãæ確ã«ããå¿ èŠããããŸãã
Oracleã¯JavaãææããŠããŸãããJavaã¯Oracleã§ã¯ãããŸããã ã¯ã©ã¹ãã¹äŸå€ã䜿çšããŠGPLv2.0ã§ãªãªãŒã¹ãããJavaãœãŒã¹ã³ãŒãã å®éãããã¯ã誰ã§ãç¡æã§èšèªã®ãœãŒã¹ã³ãŒãã䜿çšããã³å€æŽã§ããããšãæå³ããŸãã Oracleãå«ããã¹ãŠã®äººãçŠæ¢ãããŠããããšã¯1ã€ã ãã§ããã³ãŒããå€æŽããã¯ããŒãºããœãŒã¹ã©ã€ã»ã³ã¹ã§å ¬éããããšã§ãã ããã¯ããªã©ã¯ã«ã®ããŒã±ãã£ã³ã°ãŸãã¯ããžãã¹äžã®å©çãå¿ èŠãšããå Žåã§ããææçã®ã¿ã®Javaã®åçšå©çšãæ³çã«äžå¯èœã§ããããšãæå³ããŸãã ããããç§ã¯ãŸã æè¡ã®å°é家ã§ãã ãã®ç¹ã«å¯ŸåŠããã«ã¯ãGPLv2ã©ã€ã»ã³ã¹ã®ããã¹ããããŠã³ããŒãããŠåŒè·å£«ã«çžè«ããã®ã100ïŒ æåã§ãã
Javaã¢ã»ã³ããªããªãªãŒã¹ããŠãµããŒããè¡ã£ãŠããã®ã¯ãªã©ã¯ã«ã ãã§ã¯ãªããä»ã«ãå€ãã®ãã³ããŒããããŸãã ãã¡ãããOracleã¯ãèšèªãšããŒã«ã®éçºã«æãæè³ããäž»èŠãªãã¬ãŒã€ãŒãšããŠãããããµããŒãããæãæš©åšã®ããåæ¥äŒç€Ÿã§ãã
å®éãOracleã«ã¯JavaãœãŒã¹ã³ãŒãã ãã§ãªãç¬å çãªæš©å©ããããŸããã éçºããã»ã¹ãJavaã®å®çŸ©ã®å€æŽãAPI-ãããã¯ãã¹ãŠJava Community Processã®æã«ããã誰ã§ãåå ã§ããŸãã å人ã®å Žåãããã¯å®å šã«ç¡æã§ãã ãã®ã°ã«ãŒãã®ã¡ã³ããŒã¯ãIntelãIBMãCredit SuisseãSoftware AGãRedHatãªã©ã®äŒæ¥ã§ãã Oracleã§ã¯ãªããJavaã®å°æ¥ã決å®ããŸãã ãããŠãJPMSã®æçµããŒãžã§ã³ã®æ¿èªãéåžžã«ã¹ã ãŒãºã«é²ãŸãªãã£ãæåŸã®æãèŠãããšãã§ããããã«ã圌ãã¯åœŒãèªèº«ã®æèŠãæã£ãŠããŸãã
OracleãJavaã§ã¯ãªãJavaããææãããŠãããšå€æãããã®çŽ¹ä»ã®åŸãOracleãå°å ¥ããéçºãµããŒãæé ãšJavaããŒããããã®å€æŽãèŠãŠã¿ãŸãããã
Java 9ã10ã11ã®åŸã®å€æŽ
Oracleã¯ãJDK11以éãOracle JDKã¯ç¡æã§ã¯ãªããªãããšãçºè¡šããŸããã ãããŠãæåã¯ãã®å£°æã¯æãã§ãã ç§ãã¡ãç¡æã§äœ¿ã£ãŠãããã®ã¯ããã¯ãããã§ã¯ãªããªããŸãã å®éã«ã¯ããæ¯æããªããã°ãªããªããããšã¯ã»ãšãã©è«ççã§ãã ãããããã»ãšãã©ããšããå°ããªèšèã¯ãçç±ããããŸãã 䜿çšãããµãŒãã¹ãããããããç¡æã§ãªããªã£ãå Žåã2ã€ã®éžæè¢ããããŸããåŸã§äœ¿çšããããã«æ¯æããããã以äžäœ¿çšããªããã§ãã Oracle JDKãåŒãç¶ã䜿çšããå¿ èŠããããŸããããããšãå¥ã®ãã®ã«åãæ¿ããããšãã§ããŸããïŒ ãããæ¬åœã®è³ªåã§ãã
ããã«çããã«ã¯ãOracle JDKãšã¯äœããããã«ãã代æ¿æ段ãç解ããå¿ èŠããããŸãã å¥ã®éèŠãªå€æŽã¯ãæ°ããããŒãžã§ã³ã®ãªãªãŒã¹ãµã€ã¯ã«ãšé·æãµããŒãã®æŠå¿µïŒè±èª-é·æãµããŒããŸãã¯LTSïŒã«é¢ãããã®ã§ãã ãŸãããªãªãŒã¹ãµã€ã¯ã«ã®å€æŽã次ã«Open JDKãšã®æ··ä¹±ãæåŸã«LTSæ§é ã«ã€ããŠèª¬æããŸãã
ãªãªãŒã¹ãµã€ã¯ã«
Javaã¯1996幎ã«ç»å ŽããŸããã Javaã®æåã®ããã€ãã®ããŒãžã§ã³ã¯ãã»ãŒå®æçã«ãªãªãŒã¹ãããŸããã
ãã ããå³ãèŠããšãJava 5.0ã®ããŒãžã§ã³ãé ããŠããããšãããããŸãã Java 6ã¯ä»¥åã®ããŒãžã§ã³ã§ãæ¥ãã§ããããæ倧ã®ãã¬ãŒã¯ã¯Java 6ãšJava 7ã®éã§ããããã®åŸããæ°ããããŒãžã§ã³ã¯ããŸããªãªãŒã¹ãããŸããã§ããã Java 8ã¯å€ãã®æ°æ©èœãåãåããŸãããã2幎ã®åŸ ã¡æéãããããŸããã ç¶æ³ã¯Java 9ãšåæ§ã§ãããJava9ã¯ããã«å€§ããªå€åãçµéšããŠããŸãããã3å¹ŽåŸ ã¡ãŸããã
ãã®ãããªæŽæ°ãªãªãŒã¹ãµã€ã¯ã«ã®åé¡ç¹ã¯ãé²åãç¶ããèšèªåžå Žã§ç«¶åããèšèªèªäœãååã«éãæ°ããæ©èœãæäŸã§ããªãããšã§ãã ã¢ãžã¥ãŒã«åŒã·ã¹ãã ã®éçºã«3幎ãããå Žåãããã»ã¹ãã¹ããŒãã¢ããããããšã¯ã§ããŸããã ãã ããJava 9ã«ç»å Žãããã®ã®äžéšã¯ä»¥åã«ãªãªãŒã¹ãããå¯èœæ§ããããŸãã ãããã以åã®ãªãªãŒã¹ããªãã£ãããã圌ãã¯åã«éçºè ã«é£çµ¡ããããšãã§ããŸããã§ããã ãã§ã«å©çšå¯èœã§ãã£ãé¢æ°ã¯ããã®ãªãªãŒã¹ã§æããã£ãããšéçºãããé¢æ°ã®åºçŸãåŸ ã€ã¹ãã§ããã ããã¯ãåŸæ¥ã®ã«ã¹ã±ãŒãéçºã¢ãã«ã®åé¡ã®1ã€ã§ãã
Oracleã¯ã6ãæããšã«ã¢ãžã£ã€ã«ã«ç§»è¡ããŠããŒãžã§ã³ãäœæããããšã決å®ããŸããã 2017幎9æããã3æãš9æã«æ°ããJavaãªãªãŒã¹ãäºå®ãããŠããŸãã äžéšã®æ©èœããããã®æ¥ä»ã«å¯ŸããŠæºåãã§ããŠããªãå Žåã次ã®ãªãªãŒã¹ã«è»¢éãããŸãããæ®ãã®æ©èœã¯æºåãã§ããŠãããããææ°ã®ãã®ã«åé¡ãããŸãã
äžè¬çã«ãããã¯æ£åžžã§ãã äžæ¹ã§ãJavaã³ãã¥ããã£ãšéçºè ã¯ããã«æºè¶³ããŠããã¯ãã§ãã äžæ¹ããµããŒãã®åé¡ã¯æ®ã£ãŠããŸãã å€ãã®JavaããŒãžã§ã³ããµããŒãã§ããã®ã¯èª°ã§ããïŒ ããããé·æãµããŒãïŒLTSïŒãå°å ¥ãããçç±ã§ããããã«ã€ããŠã¯ãåŸã»ã©èª¬æããŸãã ãã ããæåã«ãOracle JDKããã³OpenJDKãäœã§ããããæ確ã«ããå¿ èŠããããŸãã
Oracle JDKããã³OpenJDKã§ãã£ãããšãšãªãããš
Java 9ãŸã§ãJava Javaã¢ã»ã³ããªOracleïŒSun MicrosystemsïŒã®ãã€ããªãªãªãŒã¹ããããã»ãšãã©ã®éçºè ãäŒæ¥ãæ¬çªç°å¢ã§äœ¿çšããŠããŸããã ãã®ãã€ããªã¯ãªãŒãã³ãœãŒã¹Javaã«åºã¥ããŠãããJava Flight RecorderãJava Mission Controlãªã©ã®è¿œå ã®äŒæ¥ããŒã«ãããã³Application Class-Data Sharingãªã©ã®ä»ã®æ©èœãããã€ãæ¹åãããŠããŸãã
OpenJDKã¢ã»ã³ããªã¯ãªãŒãã³ãœãŒã¹JavaããäœæãããŸããããæ¹åã¯ãããŸããã§ããã ãã®Javaã¢ã»ã³ããªã¯ãJavaã®ããããã£ãå®éšããããã³ãŒããå€æŽããããåã«ãªãŒãã³ãœãŒã¹ã³ãŒãã®ä¿¡å¥è ã§ããçç±ãåãã䜿çšããããã人ã ã«ãã£ãŠäœ¿çšãããŸããã ãã ãããœãŒã¹ã³ãŒããããŠã³ããŒãããèªåã§ã³ã³ãã€ã«ããå¿ èŠããããŸãã
Java 9ãããOracleã¯Oracle JDKãšäžŠè¡ããŠOpenJDKã®æäŸãéå§ããŸããã å瀟ã¯ãŸãã2ã€ã®ããŒãžã§ã³ã®æ©èœãããã©ãŒãã³ã¹ãããã³å®å®æ§ã®å·®ãçž®ãããããå®çŸãããOracle JDKãææã«ããããšãçºè¡šããŸããã åœæãOpenJDKãšOracle JDKã®äž¡æ¹ã¯ãOracleãããã€ããªã¢ã»ã³ããªãšããŠç¡æã§å ¥æã§ããŸããã ãããã¯Java 9ãšJava 10ã§ããã
Java 11ã®ãªãªãŒã¹åŸãããã¯çµäºããŸããã OpenJDKã¯åŒãç¶ãç¡æã§å©çšã§ããŸãããæ¬çªã·ã¹ãã çšã®Oracle JDKã¯ææã«ãªããŸããã 2ã€ã®ããŒãžã§ã³ã®éã«å€§ããªéãã¯ãããŸããã åçšããŒãžã§ã³ã«ã¯ã€ã³ã¹ããŒã©ãŒããããŸãããOpenJDKã«ã¯ZIPãã¡ã€ã«ãããããŸããã ä»ã«ãéãããããŸãããJavaãŠãŒã¶ãŒã¯ãããã«æ³šæãæãã¹ãã§ã¯ãããŸããã ãã®èšäºã§ã¯ãOracleã®è£œå管çæ åœã·ãã¢ãã£ã¬ã¯ã¿ãŒã§ããããã«ãã¹ãã¹ããæè¡çã«è©³çŽ°ãªçžéç¹ã®ãªã¹ãã説æããŠããŸãã
ããã«ãOracle JDKã¯ãä»ã®ïŒåçšã®ãŠãŒã¶ãŒã§ãïŒãŠãŒã¶ãŒã«ã¯ç¡æã§ãã Oracle JDKã¯æ¬¡ã®çšéã«èªç±ã«äœ¿çšã§ããŸãã
â¢éçº
â¢ãã¹ã
â¢ãããã¿ã€ãã³ã°
â¢ãã¢ã³ã¹ãã¬ãŒã·ã§ã³
OpenJDKãä»ã®ç®çã«äœ¿çšããããOracleã«æ¯æããOracle JDKã䜿çšããŠãµããŒããåããããšãã§ããŸãã ãµããŒãã¯è¯ãã§ãã
é·æãµããŒããªãªãŒã¹
6ãæããšã«æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ãµã€ã¯ã«ã«ç§»è¡ãããšããµããŒãã®åé¡ãçºçããŸããã 誰ããèªåã®å©çã®ããã«ããã»ã©å€ãã®ããŒãžã§ã³ããµããŒãããããšã¯ã§ããŸããã 2007幎ã«ã¢ããªã±ãŒã·ã§ã³ã«Java 6ãã€ã³ã¹ããŒã«ããå Žåã11幎ã§OracleãããµããŒããåããããšãã§ããŸãã 6ãæããšã®æ°ããããŒãžã§ã³ã®ãªãªãŒã¹ã¯ã22ã®ç°ãªãããŒãžã§ã³ã®åæãµããŒããæå³ããŸãã ããã¯ãOracleãŸãã¯ãã¹ãŠã®ãªãªãŒã¹ããµããŒãããããšã決å®ããä»ã®ãã³ããŒã«ãšã£ãŠå€§ããªè² æ ã«ãªããŸãã
ãªã©ã¯ã«ã®æŠç¥ã¯ã3幎ããšã«1ã€ã®ãªãªãŒã¹ãç¹å®ããé·æçãªãµããŒããåããããšã§ãã ãã®ãããªæåã®ãªãªãŒã¹ã¯Java 11ã§ã2026幎ãŸã§ãµããŒããããŸãã ãã®æéäžãJava 17ã2021幎9æã«ãªãªãŒã¹ãããçŸåšã®èšç»ã«æ²¿ã£ãŠ7幎éã®é·æãµããŒããæäŸãããŸãã ä»ã®ãã¹ãŠã®ããããæ©èœãªãªãŒã¹ã¯ã次ã®ããŒãžã§ã³ã®ãªãªãŒã¹ãŸã§ã®ã¿ãµããŒããããŸãã
ãµããŒãã¯Oracle JDKã«ã®ã¿é©çšãããJDKããã³ãµããŒãã®æ¯æããè¡ã£ã人ã«ã®ã¿é©çšãããããšã«æ³šæããŠãã ããã ãã ããOpenJDKã䜿çšããäºå®ãããå Žåã¯ãéåœã«ç¿»åŒããããšã¯æããªãã§ãã ããã ç§ãã¡ã«ãšã£ãŠãäœãå€ãã£ãŠããŸããã 以åã«ãµããŒãã®æ¯æããããªãã£ãå Žåããšã«ãããããåãåããŸããã§ããã æ¯æãæžã¿ã®å ŽåãåŒãç¶ããã®ãµããŒããæ¯æããååŸããŸãã
以äžã¯ãããŸããŸãªããŒãžã§ã³ã®ãµããŒãçµäºäºæž¬ã«é¢ããOracleã®èšäºãžã®ãªã³ã¯ã§ãã
OpenJDKã®æ°ããããŒãžã§ã³ã¯ãããŸããïŒ ãã¡ããã 以åã¯ããã°ãä¿®æ£ããJavaãªãŒãã³ãœãŒã¹ã¢ããããŒãããªãªãŒã¹ãããŸãããããªãªãŒã¹ãããä¿èšŒã¯ãããŸããã§ããã ããã¯ããã¹ãŠã®åå è ãããã«èå³ãæã£ãŠããããã«èµ·ãããŸããã å°æ¥çã«ã¯ããã¹ãŠã以åã®ããã«æ®ããJavaã¯æ°ããããŒãžã§ã³ãæ°ããã¢ã»ã³ããªãåãåããŸãã
ã©ã®ããŒãžã§ã³ã®Javaãã€ã³ã¹ããŒã«ããã®ãæé©ããéžæããããã®3ã€ã®äž»èŠãªæŠç¥ããããŸãã
- Oracle JDKãšãµãã¹ã¯ãªãã·ã§ã³ã«å¯ŸããŠOracleã«æ¯æããé·æãµããŒãä»ãã®ãªãªãŒã¹ã䜿çšããŸãã ããã¯ãä¿¡é Œæ§ã®èŠä»¶ãæºããããã«ãJavaã€ã³ãã©ã¹ãã©ã¯ãã£ã䜿çšãã倧èŠæš¡ãªäŒæ¥ãè¡ãã¹ãããšã§ãã
- OpenJDKã«åãæ¿ããé·æãµããŒãã®ãããªãªãŒã¹ã®ã¿ã䜿çšããOpenJDKã§å©çšå¯èœãªãã°ä¿®æ£ããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŸãã ããã¯ãJavaã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã³ã¹ããå€æŽã§ããªãããŸãã¯å€æŽããããªããéå»ã«åçšãµããŒããªãã§å®è¡ã§ããé·æçã«ãå®è¡ã§ãããšèããŠããäŒæ¥ã«ãšã£ãŠå®è¡å¯èœãªãœãªã¥ãŒã·ã§ã³ã§ãã
- OpenJDKã«åãæ¿ãã衚瀺ããããããã«6ãæããšã«åŸç¶ã®ãªãªãŒã¹ãã€ã³ã¹ããŒã«ããŸãã ããã¯ãææ°ã®ãã¯ãããžãŒãœãªã¥ãŒã·ã§ã³ãå¿ èŠãšããäŒæ¥åãã®ãªãã·ã§ã³ã§ãã
ç°ãªããã·ã³ã«ç°ãªãããŒãžã§ã³ã®Javaãã€ã³ã¹ããŒã«ããããšã«ãããæŠç¥ãçµã¿åãããããšãã§ããŸãã äœãéžæããŠãã次ã®ãµã€ããããã¬ãã«ãã®ãã€ããªããŒãžã§ã³ãããŠã³ããŒãã§ããŸãã
- ãã«ãåã®OpenJDKã®ãã€ããªããŒãžã§ã³ãæ¡çšopenjdk.net
- Oracle JDKã¯java.oracle.comã§å ¥æã§ããŸãã ããã§ã¯ãJava SE 11ãã¯ãªãã¯ããŠããŠã³ããŒãããŒãžã«ç§»åããããŠã³ããŒããã¿ã³ã«ç§»åã§ããŸãã ããŒãžã«å€§ããªé»è²ã®èŠåããããŸãããŸããããŠã³ããŒããªã³ã¯ãå©çšå¯èœã«ãªãåã«ãã©ã€ã»ã³ã¹æ¡é ã®åæãã¯ãªãã¯ããå¿ èŠããããŸãã ãããŠä»åã¯ãèªåçã«åæããã ãã§ãªããå®éã«å©çšèŠçŽãèªãããšããå§ãããŸãã
ããã¯ãã€ããªããŠã³ããŒãã§ã¯ãããŸããããOracle JDKã®ããŠã³ããŒãã«å¯æ¥ã«é¢é£ããŠããŸããwww.oracle.com/ java / java - se - subscription.htmlã«ã¢ã¯ã»ã¹ããŠãOracle JDKãšãµããŒãã1ã€ã®ããã±ãŒãžã§å ¥æããããšãã§ããŸãã 詳现ãªäŸ¡æ Œæ å ±ã¯ã www.oracle.com / us / corporate / pricing / price-lists / java-se-subscription-pricelist-5028356.pdfã§å ¥æã§ããŸãã ãã£ãã¡ãªäººã®ããã«ããªã©ã¯ã«ã®å ¬åŒFAQããäŸ¡æ Œæ å ±ãã³ããŒããŸããã
ããã¹ã¯ãããããŒãžã§ã³ã®ã³ã¹ãã¯ããŠãŒã¶ãŒãããæé¡2.50ãã«ã§ããè€æ°ã¬ãã«ã®ããªã¥ãŒã ãã£ã¹ã«ãŠã³ããããå Žåã¯ãããããäœããªããŸãã 詳现ã«ã€ããŠã¯ãOracle Java SEãµãã¹ã¯ãªãã·ã§ã³ã®äŸ¡æ Œè¡šãã芧ãã ããã
ãŸãšã
ã©ãããïŒ OpenJDKã䜿çšããŸããããããšãOracle JDKã«æ¯æããŸããïŒ ããã¯åçæ§ã®åé¡ã§ããããªã©ã¯ã«ã®ãµããŒããããªãã«ãšã£ãŠã©ãã»ã©éèŠããšããããšã§ãã ããªããã¹ã¿ãŒãã¢ããã§ãããçŽ æŽããã補åã¢ã€ãã¢ãæã€æ°æã§ãããªãããã±ããã«ç©Žãããããã«ãããžãã¹ãOracle JDKãµããŒããè³Œå ¥ã§ããªãå ŽåãOpenJDKã¯ããŒãºãæºãããŸãã ãéãæãå¿ èŠã¯ãããŸããã ããã«ãããªããã¹ã¿ãŒãã¢ããã®å Žåãæè¡å°é家ãåé¡ã解決ãããŸã§æ°æéãµãŒããŒãåäœããªããŠããããã»ã©éèŠã§ã¯ãããŸããã ããŠã³ã¿ã€ã ã®äœè£ããªãå ŽåãããããæçããäŒç€Ÿã§åããŠãããããOracle JDKã䜿çšããŠãµããŒãã«ãµã€ã³ã¢ããããå¿ èŠããããŸãã ãŸããç°ãªãã¢ãã«ãçµã¿åãããŠã24æé幎äžç¡äŒã§äœ¿çšã§ãã補åãµãŒããŒãOracle JDKãããã³ããžãã¹ã«ãšã£ãŠããã»ã©éèŠã§ã¯ãªãå éšã¢ããªã±ãŒã·ã§ã³äžã®OpenJDKã«ã€ã³ã¹ããŒã«ããããšãã§ããŸãã
ãããã®å Žåã§ããJavaãããã«äœ¿çšãç¶ããããšãã§ããŸãã
èè ã«ã€ããŠïŒ
Peter Verhasã¯EPAMã®ã¹ã€ã¹ãªãã£ã¹ã§åããŠããŸãã ããŒã¿ãŒã¯ã¯ã©ã€ã¢ã³ãåãã®ãœãããŠã§ã¢ãéçºãã瀟å ã®ããã°ã©ããŒãšã¡ã³ã¿ãªã³ã°ã«ãã¬ãŒãã³ã°ãæäŸããŠããŸãã
Twitter ã LinkedInãããã³GitHub㧠Peterããã©ããŒã§ããŸãã èè ã«ã¯ããã°ãJava deepãããããŸãïŒ javax0.wordpress.com