Javaãšã¯ïŒå®çŸ©ãæå³ãç¹åŸŽ
ãã®å æ¬çãªã¬ã€ãã§ã¯ãJavaã®åºæ¬ãåŠã¶ããšãã§ããŸããå®çŸ©ãæå³ãäž»ãªæ©èœããããŠãªããœãããŠã§ã¢éçºã§åºã䜿ãããŠããã®ããç¥ãããšãã§ããŸãã

ãããããJava ã®ãããã¯ã«é¢ããç§ãã¡ã®èšäºãž !ãã¯ãããžãŒã®äžçã«èå³ããã人ãªããJava ã«åºäŒããªãããšã¯ãªãã§ããããããã¯ããã¯ãããžãŒã®äžçã«å€§ããªåœ±é¿ãäžããããã°ã©ãã³ã°èšèªã§ãããã³ã³ãã¥ãŒãã£ã³ã°ãã©ãããã©ãŒã ã§ããäžçã§æã人æ°ã®ããããã°ã©ãã³ã°èšèªã®1ã€ã§ãç§ãã¡ãæ¯æ¥äœ¿ã£ãŠããã¢ããªãWebãµã€ãã®å€ãã«åãäžããŠããŸãã
å人çã«ã¯ãJavaã®å€çšéæ§ãç¹ã«å°è±¡çã§ããã¢ãã€ã«ã»ã¢ããªã±ãŒã·ã§ã³ããç§åŠç ç©¶ãŸã§ãããããåéã§æŽ»çšãããŠããŸããNASAã§ã¯ãç«ææ¢æ»æ©ã®å¶åŸ¡ã«ãã䜿ãããŠããŸãããéèæ¥çã§ã¯ãJava ãæ ªåŒåžå Žã§ã®ååŒã«å©çšãããŠããŸãããã®ããã«ãè€æ°ã®ãã¡ã€ã³ãã¢ããªã±ãŒã·ã§ã³ã«ãŸããã£ãŠäœ¿çšã§ããããšãã䟡å€ãé«ããŠããã®ã§ãã
ãŸããJava ã®ç¹çãã¹ãç¹ã¯ããã®ã»ãã¥ãªãã£æ©èœã§ããå®å šãªããã°ã©ãã³ã°èšèªãšããŠèšèšãããŠãããå®å šãªã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸããããã¯ããªã³ã©ã€ã³ã»ãã¥ãªãã£ãéèŠããç§ã«ãšã£ãŠã¯éèŠãªç¹ã§ãã
æåŸã«ãJava ã¯äœ¿ããããã§ç¥ãããŠããŸããã·ã³ãã«ãªæ§æãšãªããžã§ã¯ãæåã®ã¢ãããŒãã«ãããåå¿è ã«æé©ãªéžæè¢ãšãªãäžæ¹ããã®æ·±ããšè€éãã«ãããçµéšè±å¯ãªããã°ã©ããŒã¯ãã¯ãã«ã§è€éãªããã°ã©ã ãäœæããããšãã§ããŸãããã®ãããå¹ åºããŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããããã«ãªã£ãŠããŸãã
ãã®èšäºã§ã¯ãJavaã®å®çŸ©ãæå³ããããŠæ±çšæ§ãã»ãã¥ãªãã£ã䜿ãããããªã©ã®ç¹åŸŽã«ã€ããŠæãäžããŸããããã°ã©ãã³ã°ãå§ããã°ããã®äººããäœå¹Žããã£ãŠãã人ãããã®ã¬ã€ããèªãã°ãçŸåšäœ¿ãããŠããæãéèŠãªããã°ã©ãã³ã°èšèªã®1ã€ãæ·±ãçè§£ããããšãã§ããŸããããã§ã¯ããã£ããJava ãçè§£ããŸãããã
ã®ç޹ä»Java
Java ã¯ã ã1995幎ã«åããŠãªãªãŒã¹ããããã°ã©ãã³ã°èšèªã§ãããã³ã³ãã¥ãŒãã£ã³ã°ãã©ãããã©ãŒã ã§ããã¯ã©ã¹ããŒã¹ã®ãªããžã§ã¯ãæåèšèªã§ãããããŒã¿ãã«ã«èšèšãããŠããŸããã€ãŸãã ã®ã³ãŒãã¯ãããŸããŸãªããŒããŠã§ã¢ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§å®è¡ã§ããŸãã ã¯ãäŒæ¥ã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ãã¢ãã€ã«ã¢ããªããããªã²ãŒã ããã®ä»ã®çš®é¡ã®ãœãããŠã§ã¢ã®éçºã«åºã䜿çšãããŠããŸãã ã³ãŒãã¯ã ä»®æ³ãã·ã³ ( ) ããµããŒããããããããã©ãããã©ãŒã ã§å®è¡ã§ããããã«ã³ã³ãã€ã«ã§ããããããäžåºŠæžããããã©ãã§ãå®è¡ã§ãããå²åŠã§ç¥ãããŠããŸããããã«ã ãéçºè åãã®ã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãè±å¯ã«çšæãããŠãããå€§èŠæš¡ã§æŽ»çºãªãšã³ã·ã¹ãã ãæ§ç¯ãããŠããŸããSun MicrosystemsJavaJavaJavaJavaJVMJava
Java ã¯ãã¡ã¢ãªç®¡çãèªåäŸå€åŠçãªã©ã®æ©èœã«ãããåºç€ããå®å šã«èšèšãããŠãããããã»ãã¥ãªãã£æ©èœã§ãç¥ãããŠããŸããJavaã®ã¡ã¢ãªç®¡çæ©èœã¯ãã¬ããŒãžã³ã¬ã¯ã¿ããšåŒã°ãã䜿ãããªããªã£ãã¡ã¢ãªãèªåçã«è§£æŸããã¡ã¢ãªãªãŒã¯ã®å¯èœæ§ãäœãããããŸããèªåäŸå€åŠçæ©èœã«ãããéçºè ã¯äºæãã¬ãšã©ãŒã«å¯Ÿå¿ã§ããå ç¢ãªã³ãŒããç°¡åã«æžãããšãã§ããã

ãŸãããJava ãã®éèŠãªæ©èœãšããŠã1ã€ã®ããã°ã©ã å ã§è€æ°ã®ã¹ã¬ãããåæã«å®è¡ã§ããããã«ãã¹ã¬ãããã®ãµããŒããæããããŸããããã«ããããŠãŒã¶ãŒãããã°ã©ã ãæäœããŠããéã«ããã¯ã°ã©ãŠã³ãã¿ã¹ã¯ãå®è¡ãããªã©ãããŸããŸãªã¿ã¹ã¯ãåæã«å®è¡ããããšãå¯èœã«ãªããŸããå šäœãšããŠãJava ã¯åŒ·åã§æ±çšæ§ãé«ããæçããããã°ã©ãã³ã°èšèªã§ãããç£æ¥çããªãŒãã³ãœãŒã¹ãåŠè¡çã§åºã䜿çšãããŠããŸãããã®ç§»æ€æ§ãå®å šæ§ãæ§èœãããæ§ã ãªãããžã§ã¯ãã«æé©ãªéžæè¢ãšãªã£ãŠããŸãã
Java çšèª
ããã°ã©ãã³ã°èšèªJava ã«é¢é£ããããã€ãã®éèŠãªçšèªãšæŠå¿µããããŸãã
- Class:ã¯ã©ã¹ã¯ããªããžã§ã¯ããäœæããããã®ãã³ãã¬ãŒããŸãã¯éåçã§ãããªããžã§ã¯ãã®ããããã£ãã¡ãœãããå®çŸ©ããã
- Object:ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ããªããžã§ã¯ãã¯ã¯ã©ã¹ã«ãã£ãŠå®çŸ©ãããããããã£ãšã¡ãœãããæã¡ãŸãã
- Method:ç¹å®ã®ã¿ã¹ã¯ãå®è¡ããããã«ãªããžã§ã¯ãäžã§åŒã³åºãããšãã§ãã颿°ãŸãã¯ã«ãŒãã³ã
- Inheritance:ããã¯ã©ã¹ãã芪ã¯ã©ã¹ã®ããããã£ãã¡ãœãããç¶æ¿ããæ©èœãããã«ãããã³ãŒãã®åå©çšããããå°éçãªã¯ã©ã¹ã®äœæãå¯èœã«ãªãã
- Interface:ã¯ã©ã¹ãå®è£ ããªããã°ãªããªãã¡ãœããã®ã»ãããã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã³ãŒã¹ãåŸãã¹ãå¥çŽãå®çŸ©ããããã«äœ¿çšãããŸãã
- Package:é¢é£ããã¯ã©ã¹ãšã€ã³ã¿ãŒãã§ãŒã¹ã®ã°ã«ãŒãåãããã±ãŒãžã¯ãã³ãŒããæŽçããååã®è¡çªãé²ãããã«äœ¿çšãããŸãã
- JRE (Java Runtime Environment):Java ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããœãããŠã§ã¢ç°å¢ã§ããJVM ãšäžé£ã®ã©ã€ãã©ãªãããã³ãã®ä»ã®ãã¡ã€ã«ãå«ãŸããŸãã
- JDK (Java Development Kit):Java ã¢ããªã±ãŒã·ã§ã³ãéçºããããã®ããŒã«äžåŒãJRE ãã³ã³ãã€ã©ãªã©ãå«ãŸããã
- JIT (Just-In-Time) Compiler:JVM ã®æ©èœã§ãå®è¡æã«Java ãã€ãã³ãŒãããã·ã³ã³ãŒãã«ã³ã³ãã€ã«ããŸããããã«ãããJava ã®ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžããã
- Garbage Collection:ããã°ã©ã ã«ãã£ãŠäœ¿çšãããªããªã£ãã¡ã¢ãªãŒãèªåçã«è§£æŸããJVM ã®æ©èœãããã«ãããã¡ã¢ãªãªãŒã¯ãªã©ã®ã¡ã¢ãªé¢é£ã®åé¡ãé²ãããšãã§ããã
ã®äž»ãªæ©èœJava
Java ã¯ãæ§ã ãªã¢ããªã±ãŒã·ã§ã³ãäœæããããã«ãéçºè ãåºãæ¡çšããŠããäžè¬çãªæ±çšããã°ã©ãã³ã°èšèªã§ããéçºè ã«ãšã£ãŠåªããéžæè¢ãšãªã ã®äž»ãªç¹åŸŽã«ã¯ã次ã®ãããªãã®ããããŸããJava
- ãªããžã§ã¯ãæåããã°ã©ãã³ã°ïŒJava ã¯ãã¯ã©ã¹ããŒã¹ã®ãªããžã§ã¯ãæåããã°ã©ãã³ã°èšèªã§ããã€ãŸãããªããžã§ã¯ããã¯ã©ã¹ãç¶æ¿ã®æŠå¿µã«åºã¥ããŠããŸãããã®ãããä»ã®éçºè ã容æã«çè§£ããä¿å®ã§ãããããªãã¢ãžã¥ãŒã«åãããåå©çšå¯èœãªã³ãŒããç°¡åã«äœæããããšãã§ããŸãã
- ãã©ãããã©ãŒã éäŸå æ§ïŒJava ã®ã³ãŒãã¯ããã€ãã³ãŒããšåŒã°ããäžéãã©ãŒãããã«ã³ã³ãã€ã«ãããŸãã Java Virtual Machine(JVM) ãã€ã³ã¹ããŒã«ãããŠããã©ã®ãã©ãããã©ãŒã ã§ãå®è¡ã§ããŸãããã®æ©èœã¯ãwrite once, run anywhereã(WORA)ãšããŠç¥ãããéçºè ã¯äžåºŠæžããã³ãŒãã倿Žããããšãªããè€æ°ã®ãã©ãããã©ãŒã ã§å®è¡ããããšãã§ããŸãã
- ã¡ã¢ãª 管çãJava ã®èªåã¡ã¢ãªç®¡çããã³ã¬ããŒãžã³ã¬ã¯ã·ã§ã³æ©èœã¯ã䜿çšãããªããªã£ãããã°ã©ã ã®ã¡ã¢ãªãè§£æŸããã¡ã¢ãªãªãŒã¯ããã®ä»ã®ã¡ã¢ãªé¢é£ã®åé¡ã®é²æ¢ã«åœ¹ç«ã¡ãŸããããã«ãããéçºè ã¯äºæãã¬ãšã©ãŒã«å¯Ÿå¿ã§ããå ç¢ãªã³ãŒããç°¡åã«æžãããšãã§ããŸãã
- ãã«ãã¹ã¬ãããJavaã¯ãã«ãã¹ã¬ããã«å¯Ÿå¿ããŠããã1ã€ã®ããã°ã©ã å ã§è€æ°ã®ã¹ã¬ãããåæã«å®è¡ããããšãã§ããŸããããã«ããããŠãŒã¶ãŒãããã°ã©ã ãæäœããŠããéã«ããã¯ã°ã©ãŠã³ãã»ã¿ã¹ã¯ãå®è¡ãããªã©ãè€æ°ã®ã¿ã¹ã¯ãåæã«å®è¡ããããšãå¯èœã«ãªããŸãã
- äŸå€åŠçãJavaã«çµã¿èŸŒãŸããäŸå€åŠçã¡ã«ããºã ã«ãããéçºè ã¯ã³ãŒãå ã®ãšã©ãŒãäŸå€ã容æã«åŠçããããšãã§ããŸãããã®æ©èœã«ãããéçºè ã¯ããå ç¢ã§ä¿¡é Œæ§ã®é«ãã³ãŒããæžãããšãã§ããŸãã
- ã»ãã¥ãªãã£ïŒJava ã¯ãåºç€ããå®å šã«èšèšãããŠããã以äžã®ãããªæ©èœãåããŠããŸãã Java sandboxãŸããJava ã®ã¢ããªã±ãŒã·ã§ã³ã«ã»ãã¥ãªãã£ããªã·ãŒãé©çšãã Security Manager ãªã©ã®æ©èœã«ãããåºç€ããå®å šã«èšèšãããŠããŸãã
- APIãšã©ã€ãã©ãª:Java ã¯ãè±å¯ãª APIãš èšå€§ãªãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªãåããŠãããéçºè ã«å¹ åºãæ©èœãæäŸããŸãããããã®ã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ã«ãããéçºè ã¯ããŒã¿ããŒã¹ãžã®æ¥ç¶ã XMLã® åŠçãªã©ãäžè¬çãªã¿ã¹ã¯ãç°¡åã«å®è¡ããããšãã§ããŸãã
- ã³ãã¥ããã£ãšãšã³ã·ã¹ãã ïŒJava ã«ã¯å€§èŠæš¡ã§æŽ»çºãªéçºè ã³ãã¥ããã£ããããéçºè ãèšèªãåŠç¿ã䜿çšããã®ã«åœ¹ç«ã€ãªãœãŒã¹ããã¥ãŒããªã¢ã«ããã©ãŒã©ã ãè±å¯ã«çšæãããŠããŸããããã«ã掻çºãªãšã³ã·ã¹ãã ã«ã¯ãéçºè ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äœ¿çšã§ããããŸããŸãªãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªãå«ãŸããŠããŸãã
ãããã®ç¹åŸŽã«ãããJava ã¯åŒ·åã§æ±çšæ§ãé«ããæçããããã°ã©ãã³ã°èšèªãšããŠãç£æ¥çããªãŒãã³ãœãŒã¹ãåŠè¡çã§åºã䜿çšãããŠããŸãããã®ç§»æ€æ§ãã»ãã¥ãªãã£ãããã©ãŒãã³ã¹ã«ãããæ§ã ãªãããžã§ã¯ãã«æé©ãªéžæè¢ãšãªã£ãŠããŸãã
ã©ã®èšèªãJava ã«äœ¿çšãããŠããŸããïŒ
Java ã¯ããœãããŠã§ã¢ã¢ããªã±ãŒã·ã§ã³ãèšè¿°ããããã«äœ¿çšãããããã°ã©ãã³ã°èšèªã§ããä»ã®èšèªã§æžããããã®ã§ã¯ãããŸããã ã³ãŒãã¯ãã€ãã³ãŒãã«ã³ã³ãã€ã«ããããããããã°ã©ã®ãã©ãããã©ãŒã ã§ãå®è¡ããããšãã§ããŸããJavaJava Virtual Machine(JVM) ãã€ã³ã¹ããŒã«ãããŠãããã©ãããã©ãŒã ã§å®è¡ã§ããŸãã
Java ã¯ãC++ãSmalltalkãšãã£ãä»ã®ããã°ã©ãã³ã°èšèªã®åœ±é¿ãåããŠãããã·ã³ãã«ã§ãªããžã§ã¯ãæåããããŠç°ãªããã©ãããã©ãŒã éã§ã®ç§»æ€æ§ãé«ãããã«èšèšãããŠããŸãã1990 幎代åé ã« James Gosling ã (ãã®åŸ Oracle ã«è²·åããã) ã§ããã©ãããã©ãŒã ã«äŸåããªã察話åãã¬ãã·ã¹ãã ãšããŠäœæãããã®ã§ããSun Microsystems
Java ã¯äœã«äœ¿ãããã®ã§ããïŒ
Java ã¯ãããŸããŸãªçš®é¡ã®ãœãããŠã§ã¢ã¢ããªã±ãŒã·ã§ã³ãäœæããããã«åºã䜿çšãããŠããæ®éçãªããã°ã©ãã³ã°èšèªã§ããäžè¬çã«ã¯ã 顧客é¢ä¿ç®¡çã·ã¹ãã ãäŒæ¥è³æºèšç»ã·ã¹ãã ããµãã©ã€ãã§ãŒã³ç®¡çã·ã¹ãã ãªã©ã®äŒæ¥ã¬ãã«ã®ã¢ããªã±ãŒã·ã§ã³ãéçºããããã«äœ¿çšãããŸãããŸããã¢ã³ããã€ãæºåž¯ã¢ããªã±ãŒã·ã§ã³ããŠã§ãã¢ããªã±ãŒã·ã§ã³ããŠã§ããµãŒããŒãšã¢ããªã±ãŒã·ã§ã³ãµãŒããŒãã²ãŒã ãç§åŠçã¢ããªã±ãŒã·ã§ã³ãéèã¢ããªã±ãŒã·ã§ã³ãªã©ã®éçºã«ã䜿çšãããŠããŸããããã«ãJavaã®èšå€§ãªã©ã€ãã©ãªãŒãšãã¬ãŒã ã¯ãŒã¯ã«ãããéçºè ã¯ããŒã¿ããŒã¹ãšã®ããåããXMLã®åŠçããã®ä»ã®äžè¬çãªã¿ã¹ã¯ãå®è¡ã§ããã¢ããªã±ãŒã·ã§ã³ãç°¡åã«æ§ç¯ããããšãã§ããŸãã

Java ã¯åŒ·åã§åºã䜿ãããŠããããã°ã©ãã³ã°èšèªã§ãããŸããŸãªãœãããŠã§ã¢ã»ã¢ããªã±ãŒã·ã§ã³ã®äœæã«äœ¿çšããããšãã§ããŸããããããäžå®ã¬ãã«ã®ããã°ã©ãã³ã°ã®å°éç¥èãå¿ èŠã§ãéçºãšç¶æã«æéããããå ŽåããããŸããããã«å¯Ÿã㊠no-code ãã©ãããã©ãŒã ã¯ãã³ãŒããæžããã«ãœãããŠãšã¢ã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸããããã°ã©ãã³ã°ã®çµéšããªãæ¹ããã³ãŒãã£ã³ã°ã«æéããããã«çŽ æ©ããããã¿ã€ããäœãããæ¹ã«ã¯æé©ãªéžæè¢ãšãªãã§ããããããã«ãno-code ãã©ãããã©ãŒã ã¯ãå€ãã®å ŽåããŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ã€ã¹ãåããŠããŸãã drag-and-drop ãã®ããããŠãŒã¶ãŒã¯åºæ¬çãªã³ãŒããçè§£ããããšãªããç°¡åã«ã¢ããªã±ãŒã·ã§ã³ãäœæãããã¹ãããããšãã§ããŸããããã¯ãæ¬æ ŒçãªJava ã¢ããªã±ãŒã·ã§ã³ãæã€ããšã®å©ç¹ããéçºã®ã³ã¹ããšè€éããäžåããªããããããªãå Žåãããå¹ççãªãœãªã¥ãŒã·ã§ã³ãšãªãããŸãã
çµè«
çµè«ãšããŠãJava ã¯æ±çšæ§ã®é«ã匷åãªããã°ã©ãã³ã°èšèªã§ãããæè¡ã®äžçã«å€§ããªåœ±é¿ãäžããŸãããè€æ°ã®ãã¡ã€ã³ãã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšã§ããèœåãã»ãã¥ãªãã£æ©èœã䜿ããããã«ãããã¢ãã€ã«ã¢ããªããŠã§ããµã€ãããç§åŠç ç©¶ãéèååŒãŸã§ãããããã¬ãã«ã®éçºè ã«ãšã£ãŠäŸ¡å€ããéžæè¢ãšãªã£ãŠããŸããJava ã¯ãç§ãã¡ãæ¯æ¥é Œãã«ããŠããããŒã«ãã·ã¹ãã ã®å€ããåãããŠããŸãã
äžåºŠæžãã°ã©ãã§ãåãããšããå²åŠãšãã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ã®å€§èŠæš¡ãªãšã³ã·ã¹ãã ã«ãããJava ã¯éçºè ã®éã§äººæ°ã®ããéžæè¢ã§ããç¶ããŠããŸããã¯ã©ã¹ããªããžã§ã¯ããã¡ãœãããç¶æ¿ãã€ã³ã¿ãŒãã§ã€ã¹ãªã©ãJava ã«é¢é£ããéèŠãªçšèªãæŠå¿µãçè§£ããããšã¯ããã®èšèªãåŠã¶ããšã«é¢å¿ã®ãã人ã«ãšã£ãŠéèŠã§ãã


