1.javaçåå±åå²
2.java的公检发展历史
javaçåå±åå²
ä¸ãJavaè¯è¨çåå±åå²
SunçJavaè¯è¨å¼åå°ç»æç«äºå¹´ï¼å ¶ç®çæ¯å¼ææ¶è´¹ç±»çµå产åå¸åºï¼ä¾å¦ï¼äº¤äºå¼çµè§ï¼ç¤é¢å ç®±çãSunå é¨äººåæè¿ä¸ªé¡¹ç®ç§°ä¸ºGreenï¼é£æ¶World Wide Webè¿å¨å¾çº¸ä¸å¢ã该å°ç»çé¢å¯¼äººæ¯James Gosling,å²ãäºå¹´å çSun Microsystemå ¬å¸ï¼ä»¥åå¨ä¸å®¶IBMç 究æºæå·¥ä½ãä»æ¯Sun NeWsçªå£ç³»ç»çæ»è®¾è®¡å¸ï¼è½ç¶å½æ¶NeWså¨ææ¯ä¸é常æåï¼ä½å¨åä¸ä¸å´å®å ¨å¤±è´¥ï¼æ²¡æäºJavaé£ä¹å¥½çè¿æ°ãGoslingæ¯ä¸ä½é常æ°åºçç¨åºåï¼GOSMACSä¹æ¯Goslingåçï¼å®æ¯ç¬¬ä¸ä¸ªç¨Cå®ç°çEMACSçææ¬ç¼è¾å¨ã
å¨ç 究å¼åè¿ç¨ä¸ï¼Gosling æ·±å»ä½ä¼å°æ¶è´¹ç±»çµå产ååå·¥ä½ç«äº§åçå¼åå²å¦ä¹é´å·®å¼ï¼æ¶è´¹ç±»çµå产åè¦æ±é«å¯é ãè´¹ç¨ä½ãæ ååã使ç¨ç®åï¼èå·¥ä½ç«ç¨æ·è¦æ±å¼ºå¤§ç计ç®è½åï¼èä¸å¨æ¤ä¹ä»·æ ¼ä»¥åæä½çå¤ææ§ãæ¶è´¹ç±»çµå产åç¨æ·å¹¶ä¸å ³å¿CPUçåå·ï¼ä¹ä¸æ¬£èµä¸ç¨æè´µçRISCå¤çå¨ï¼ä»ä»¬éè¦å»ºç«å¨ä¸ä¸ªæ ååºç¡ä¹ä¸ï¼ä¸ç³»åå¯éçæ¹æ¡ï¼ä»-é½å¯ä»¥ä¸ã
ä»C++å¼å§ 为äºä½¿æ´ä¸ªç³»ç»ä¸å¹³å°æ å ³ï¼Goslingé¦å ä»æ¹åC++ç¼è¯å¨çæãä½æ¯Goslingå¨æ¹åè¿ç¨ä¸æå°ä» C++æ¯æ æ³æ»¡è¶³éè¦çï¼äºæ¯å¨å¹´6æ份å¼å§åå¤å¼åä¸ä¸ªæ°çè¯è¨ï¼é£ä¹ç»å®èµ·ä¸ä¸ªä»ä¹ååå¢ï¼ Goslingåé¦åçªå¤æå»ï¼çè§ä¸æ£µèæ©¡æ ï¼äºæ¯å»ºä¸ä¸ªç®å½å«Oakï¼è¿å°±æ¯Javaè¯è¨çå身ãï¼åæ¥åç°Oakå·²æ¯Sunå ¬å¸çå¦ä¸ä¸ªè¯è¨ç注ååæ ï¼ææ¹å为Javaï¼å³çªåï¼å¤ªå¹³æ´ä¸ä¸ä¸ªç产åå¡çå²å±¿çååï¼ã
Goslingå¨å¼å§åJavaæ¶ï¼å¹¶ä¸å±éäºæ©å è¯è¨æºå¶æ¬èº«ï¼æ´æ³¨éäºè¯è¨æè¿è¡è½¯ç¡¬ä»¶ç¯å¢ï¼ä»è¦å»ºç«ä¸ä¸ªç³»ç»ï¼è¿ä¸ªç³»ç»è¿è¡äºä¸ä¸ªå·¨å¤§çãåå¸çãå¼è´¨çç½ç»ç¯å¢ä¸ï¼å®æåçµå设å¤ä¹é´çé讯ä¸ååå·¥ä½ãGoslingå¨è®¾è®¡ä¸éç¨äºèæºå¨ç ï¼Virtual Machine Codeï¼æ¹å¼ãå³Javaè¯è¨ç¼è¯å产ççæ¯èæºå¨ç ï¼èæºå¨ç è¿è¡å¨ä¸ä¸ªè§£éå¨ä¸ï¼æ¯ä¸ä¸ªæä½ç³»ç»åæä¸ä¸ªè§£éå¨ï¼è¿æ ·ä¸æ¥ï¼Javaå°±æäºå¹³å°æ å ³è¯è¨ãè¿åGosling设计çSun NeWsçªå£ç³»ç»æçç¸åçææ¯å³éï¼å¨NeWsä¸ç¨æ·çé¢ç»ä¸ç¨Postscriptæè¿°ï¼ä¸åçæ¾ç¤ºå¨æä¸åçPostscript解éå¨ï¼è¿æ ·ä¾¿ä¿è¯äºç¨æ·çé¢çè¯å¥½çå¯ç§»æ¤æ§ã
å½Patrick Naughtonå å ¥è¯¥å°ç»åï¼æ´ä¸ªå·¥ä½è¿å±ç¥éãNaughtonä¹æ¯Sunå ¬å¸çææ¯éª¨å¹²ï¼æ¾ç»æ¯Open Windowsç项ç®çè´è´£äººãç»è¿ä¸ªæçå¥æï¼æ´ä¸ªç³»ç»èå©å®æãå®æ¯ç±ä¸ä¸ªæä½ç³»ç»ï¼ä¸ç§è¯è¨ï¼Javaï¼ï¼ä¸ä¸ªç¨æ·çé¢ï¼ä¸ä¸ªæ°ç硬件平å°ï¼ä¸åä¸ç¨è¯ççææãèé常æ åµä¸ï¼è¿æ ·ç项ç®å¨Sunå ¬å¸è¦ä¸ªäººå¹²ä¸å¹´ã项ç®å®æåï¼å¨Sunå ¬å¸å é¨åä¸æ¬¡å±ç¤ºåé´å®ï¼è§ä¼çååºæ¯ï¼ å¨åæ¹é¢é½éç¨äºå´æ°çãé常大èçææ¯ã许å¤åè§è 对Javaçä¸äºé常深å»çå°è±¡ï¼ç¹å«å¾å°Sunçäºä½é¢å¯¼äººScott McNealyåBill Joyçå ³æ³¨ï¼ä½Javaçåéæªåã
åæåè´¥
æ¥çï¼Java项ç®çå·¥ä½äººåå¼å§ååºç¨è§åï¼çææç«ä¸å®¶å ¬å¸ï¼ä»äºæ¶è´¹ç±»çµå产åçå¼åï¼è¿å®¶å ¬å¸å°±æ¯FirstPerson Inc.ãå ¬å¸ç第ä¸ä¸ªé¡¹ç®å°±æ¯Time-Warnerçææ 项ç®ï¼é¡¶ç½®çå¼æä½ç³»ç»å请æ±å¼çµè§ææ¯ãè½ç¶FirstPerson Inc.å¨ææ¯æ¯«ä¸éè²äºä»»ä½å ¬å¸ï¼ä½æ¯ç±äºç»è¥çç¥ä¸ç失误ï¼è´¥ç»äºSGIãFirstPersonä¸ç´å°å¹´åä»å¨åæå¼åä¸ç¨ç顶置çå¼æä½ç³»ç»ï¼ä½å®è·µè¯æï¼è¿ä¸ªå¸åºå°æªæçãä¾å¦ï¼å¥½å 家交äºå¼æ线çµè§ç½çå®éªé½ä»¥å¤±è´¥åç»ã
Naughtonç«å³è®¤è¯å°ç 究æ¹ååºè¯¥è½¬ç§»ãå¨Naughtonçåªåä¸ï¼ç 究å¼å§åå¨çº¿æå¡ï¼CD-ROMååºäºç½ç»çå°å¼æºæ¹å转移ãæåFirstPerson解æ£ï¼ä¸é¨å人å»äºSun Interactiveå¼åæ°åè§é¢æ°æ®æå¡å¨ï¼èå¦ä¸é¨åå¼å§æJavaç¨äºåºäºç½ç»çå°å¼æºç³»ç»ã
Javaè¯è¨ç转æç¹
å°äºå¹´ï¼WWWå·²å¦ç«å¦è¼çåå±èµ·æ¥ãGoslingæè¯å°WWWéè¦ä¸ä¸ªä¸æ§çæµè§å¨ï¼å®ä¸ä¾èµäºä»»ä½ç¡¬ä»¶å¹³å°å软件平å°ãå®åºæ¯ä¸ç§å®æ¶æ§è¾é«ï¼å¯é å®å ¨ï¼æ交äºåè½çæµè§å¨ãäºæ¯Goslingå³å®ç¨Javaå¼åä¸ä¸ªæ°çWebæµè§å¨ã
äºãJavaåå±å²Javaæ¯ä¸ç§å¯ä»¥æ°å跨平å°åºç¨è½¯ä»¶çé¢å对象çç¨åºè®¾è®¡è¯è¨ï¼æ¯ç±Sun Microsystemså ¬å¸äºå¹´5ææ¨åºçJavaç¨åºè®¾è®¡è¯è¨åJavaå¹³å°ï¼å³JavaSE, JavaEE, JavaMEï¼çæ»ç§°ã
Java ææ¯å ·æåè¶çéç¨æ§ãé«ææ§ãå¹³å°ç§»æ¤æ§åå®å ¨æ§ï¼å¹¿æ³åºç¨äºä¸ªäººPCãæ°æ®ä¸å¿ã游ææ§å¶å°ãç§å¦è¶ 级计ç®æºã移å¨çµè¯åäºèç½ï¼åæ¶æ¥æå ¨çæ大çå¼åè ä¸ä¸ç¤¾ç¾¤ãå¨å ¨çäºè®¡ç®å移å¨äºèç½ç产ä¸ç¯å¢ä¸ï¼Javaæ´å ·å¤äºæ¾èä¼å¿å广éåæ¯ã
ä¸ãJavaè¯è¨çåå±åå²ä»»èäºå¤ªé³å¾®ç³»ç»ç詹å§æ¯•é«æ¯æç人äºå¹´ä»£åå¼åJavaè¯è¨çéå½¢ï¼æå被å½å为Oakï¼ç®æ 设置å¨å®¶ç¨çµå¨çå°åç³»ç»çç¨åºè¯è¨ï¼åºç¨å¨çµè§æºãçµè¯ãé¹éãç¤é¢å æºç家ç¨çµå¨çæ§å¶åéä¿¡ã
ç±äºè¿äºæºè½å家çµçå¸åºéæ±æ²¡æé¢æçé«ï¼Sunå ¬å¸æ¾å¼äºè¯¥é¡¹è®¡åãéç年代äºèç½çåå±ï¼Sunå ¬å¸çè§Oakå¨äºèç½ä¸åºç¨çåæ¯ï¼äºæ¯æ¹é äºOakï¼äºå¹´5æ以Javaçå称æ£å¼åå¸ã
Javaä¼´éçäºèç½çè¿ çåå±èåå±ï¼éæ¸æ为éè¦çç½ç»ç¼ç¨è¯è¨ãJavaè¯è¨çåå±åå²å为以ä¸å 个é¶æ®µï¼ å¹´Sunå ¬å¸çJames Goslingç人å¼å§å¼åå称为 Oak çè¯è¨ã
å¸æç¨äºæ§å¶åµå ¥å¨æ线çµè§äº¤æ¢çãPDAççå¾®å¤çå¨å¹´å°Oakè¯è¨æ´å为Javaå¹´JDK1.2æ¶ï¼æ´å为Java 2 Platformå为æ åçJ2SEï¼ä¼ä¸çJ2EEï¼å¾®åçJ2MEJava æ¢å®å ¨ãå¯ç§»æ¤ï¼åå¯è·¨å¹³å°ï¼èä¸äººä»¬åç°å®è½å¤è§£å³Inter ä¸ç大ååºç¨é®é¢Inter使Javaæ为ç½ä¸ææµè¡çç¼ç¨è¯è¨Java对Interçå½±åä¹æä¹æ·±è¿B/Sçå ´èµ· & C/Sç没è½ã
åãJAVAçåå±åå²æ¯ä»ä¹æ åµä¸ãJDKåä¼
å¨è¿ä¸ªä¸çä¸ï¼çæJavaåå²ç人é常å¤ï¼å¦æè¦é®ä¸ä¸ªäººJavaæ¯ä»åªå¹´è¯ççï¼ä¹è®¸å¤§å¤æ°äººé½ä¼åçæ¯å¹´ï¼è¿ä¸ªé常好记ï¼å 为微软çWindowsä¹æ¯å¨è¿ä¸å¹´åå¸çï¼ãä½äºå®ä¸Javaæ©å¨ä¸ä¸ªä¸çºªå¹´ä»£åå°±å¼å§é é ¿äºã
å¹´4æï¼Sunå ¬å¸çJames Goslingé¢å¯¼ç绿è²è®¡åï¼Green Projectï¼å¼å§çååå±ä¸ç§åå¸å¼ç³»ç»ç»æï¼ä½¿å ¶è½å¤å¨åç§æ¶è´¹æ§çµå产åä¸è¿è¡ãèGreen项ç®ç»çæåä¸å¼å§ä½¿ç¨C++è¯è¨æ¥å®æè¿ä¸ªé¡¹ç®ï¼ ç±äºGreen项ç®ç»çæåé½å ·æC++èæ¯ï¼æ以ä»ä»¬é¦å æç®å éå®äºC++ç¼è¯å¨ï¼Goslingé¦å æ¹åäºC++ç¼è¯å¨ï¼ä½å¾å¿«ä»å°±æå°C++çå¾ å¤ä¸è¶³ï¼éè¦ç åä¸ç§æ°çè¯è¨Javaæ¥æ¿ä»£å®ï¼ä¸æ¯é£é¦çåå¡æ为äºå®çæ å¿ã
å¨ ä¸ªæåï¼æ´ä¸ªç³»ç»å®æäºï¼è¿ä¸ªç³»ç»æ¯æ´æ³¨éæºé¡¶çå¼çæä½ç³»ç»ï¼ä¸è¿å¨å½æ¶å¸åºä¸æççæ åµä¸ï¼ä»ä»¬ç项ç®æ²¡æè·å¾æåï¼ä½Javaè¯è¨å´å¾å°äºSunæ»è£McNealyçèµè¯ã
ç´è³ å¹´ä¸åå¹´ï¼ç±äºInterçè¿ çåå±åç¯çä¿¡æ¯ç½ WWWçå¿«éå¢é¿ï¼ç¬¬ä¸ä¸ªå ¨çä¿¡æ¯ç½ç»æµè§å¨Mosaicè¯çäºï¼æ¤æ¶ï¼å·¥ä¸ç对éåå¨ç½ç»å¼æç¯å¢ä¸ä½¿ç¨çè¯è¨æä¸ç§é常æ¥è¿«çéæ±ï¼Games Goslingå³å®æ¹å绿è²è®¡åçåå±æ¹åï¼ä»ä»¬å¯¹Oakè¿è¡äºå°è§æ¨¡çæ¹é ï¼å°±è¿æ ·ï¼Javaå¨å¹´ç3ææ¥è¯çäºï¼Javaçè¯çæ å¿çäº èç½æ¶ä»£çå¼å§ï¼å®è½å¤è¢«åºç¨å¨å ¨çä¿¡æ¯ç½ç»çå¹³å°ä¸ç¼åäºå¨æ§å强çAppletç¨åºï¼èå¹´çAppletæ çè½ç»äººä»¬æ ç©·çè§è§åèåéè¡ã æ们å§ä¸å°Javaçè¿æ®µåå²ç§°ä¸ºJavaåä¼ å§ã
å ¶å®Javaçè¯çé¢æé£ä¹ä¸è¡âæå¿æ ½è±è±ä¸å¼ï¼æ å¿ææ³æ³æé´âçå³éã就象å½å¹´Unixåå®çå身MULTICSç³»ç»ä¸æ ·ã
äºãJDKç幼年æ¶æï¼~ï¼
Sun继Green项ç®ååç»è¿äºå å¹´çç 究ï¼ç»äºå¨å¹´5ææ¥å¨SunWorld'ä¸æ£å¼åå¸JavaåHotJavaæµè§å¨ãå¨å å¹´ï¼æå¾å¤å ¬å¸å åè·å¾äºJava许å¯è¯ï¼å¦Netscapeå¨å¹´8æï¼Oracleå¨å¹´æåå«è·å¾äºJava许å¯è¯ãSunå¨ å¹´åå¸ç¬¬ä¸ä¸ªJavaçæ¬åï¼äºå¹´1æ宣å¸æç«æ°çä¸å¡é¨é¨ââJavaSofté¨ï¼è¿ä¸ªé¨å主è¦è´è´£å¼åãéå®å¹¶æ¯æåºäºJavaææ¯ ç产åï¼ç±AlanBaratzå çä»»æ»è£ã
å¨å¹´Sunè½ç¶æ¨åºäºJavaï¼ä½è¿åªæ¯ä¸ç§è¯è¨ï¼èè¦æ³å¼åå¤æçåºç¨ç¨ åºï¼å¿ é¡»è¦æä¸ä¸ªç强大çå¼ååºæ¯æè¿è¡ãå æ¤ï¼Sunå¨å¹´1ææ¥åå¸äºJDK1.0ãè¿ä¸ªçæ¬å æ¬äºä¸¤é¨åï¼è¿è¡ç¯å¢ï¼å³JREï¼åå¼åç¯ å¢ï¼å³JDKï¼ãå¨è¿è¡ç¯å¢ä¸å æ¬äºæ ¸å¿APIãéæAPIï¼ç¨æ·çé¢APIï¼åå¸ææ¯ï¼Javaèææºï¼JVMï¼äºä¸ªé¨åãèå¼åç¯å¢è¿å æ¬äºç¼è¯ Javaç¨åºçç¼è¯å¨ï¼å³javacï¼ãå¨JDK1.0æ¶ä»£ï¼JDKé¤äºAWTï¼ä¸ç§ç¨äºå¼åå¾å½¢ç¨æ·çé¢çAPIï¼å¤ï¼å ¶å®çåºå¹¶ä¸å®æ´ã
Sunå¨æ¨åºJDK1.0åï¼ç´§è·çï¼Sunå¨å¹´2ææ¥åå¸äºJDK1.1ãJDK1.1ç¸å¯¹äºJDK1.0æ大çæ¹è¿å°±æ¯ä¸ºJVMå¢å äº JITï¼å³æ¶ç¼è¯ï¼ç¼è¯å¨ãJITåä¼ ç»çç¼è¯å¨ä¸åï¼ä¼ ç»çç¼è¯å¨æ¯ç¼è¯ä¸æ¡ï¼è¿è¡å®ååå°å ¶ææï¼èJITä¼å°ç»å¸¸ç¨å°çæ令ä¿åå¨å 容ä¸ï¼å¨ä¸æ¬¡è° ç¨æ¶å°±ä¸éè¦åç¼è¯äºãè¿æ ·JDKå¨æçä¸æäºé常大çæåã
Sunå¨æ¨åºJDK1.1åï¼æ¥çåæ¨åºäºæ°ä¸ªJDK1.xçæ¬ãèªä»Sunæ¨åºJavaåï¼JDKçä¸è½½éä¸æ彪åï¼å¨å¹´ï¼JDKçä¸è½½éçªç ´äº,ï¼èå¨å¹´ï¼JDKçä¸è½½éå·²ç»è¶ è¿äº2,,ã
äºãJavaè¯è¨çåå±åå²Javaè¯è¨çåå²
SunçJavaè¯è¨å¼åå°ç»æç«äºå¹´ï¼å ¶ç®çæ¯å¼ææ¶è´¹ç±»çµå产åå¸åºï¼ä¾å¦ï¼äº¤äºå¼çµè§ï¼ç¤é¢å ç®±çãSunå é¨äººåæè¿ä¸ªé¡¹ç®ç§°ä¸ºGreenï¼é£æ¶World Wide Webè¿å¨å¾çº¸ä¸å¢ã该å°ç»çé¢å¯¼äººæ¯James Gosling,å²ãäºå¹´å çSun Microsystemå ¬å¸ï¼ä»¥åå¨ä¸å®¶IBMç 究æºæå·¥ä½ãä»æ¯Sun NeWsçªå£ç³»ç»çæ»è®¾è®¡å¸ï¼è½ç¶å½æ¶NeWså¨ææ¯ä¸é常æåï¼ä½å¨åä¸ä¸å´å®å ¨å¤±è´¥ï¼æ²¡æäºJavaé£ä¹å¥½çè¿æ°ãGoslingæ¯ä¸ä½é常æ°åºçç¨åºåï¼GOSMACSä¹æ¯Goslingåçï¼å®æ¯ç¬¬ä¸ä¸ªç¨Cå®ç°çEMACSçææ¬ç¼è¾å¨ã
å¨ç 究å¼åè¿ç¨ä¸ï¼Gosling æ·±å»ä½ä¼å°æ¶è´¹ç±»çµå产ååå·¥ä½ç«äº§åçå¼åå²å¦ä¹é´å·®å¼ï¼æ¶è´¹ç±»çµå产åè¦æ±é«å¯é ãè´¹ç¨ä½ãæ ååã使ç¨ç®åï¼èå·¥ä½ç«ç¨æ·è¦æ±å¼ºå¤§ç计ç®è½åï¼èä¸å¨æ¤ä¹ä»·æ ¼ä»¥åæä½çå¤ææ§ãæ¶è´¹ç±»çµå产åç¨æ·å¹¶ä¸å ³å¿CPUçåå·ï¼ä¹ä¸æ¬£èµä¸ç¨æè´µçRISCå¤çå¨ï¼ä»ä»¬éè¦å»ºç«å¨ä¸ä¸ªæ ååºç¡ä¹ä¸ï¼ä¸ç³»åå¯éçæ¹æ¡ï¼ä»-é½å¯ä»¥ä¸ã
ä»C++å¼å§ 为äºä½¿æ´ä¸ªç³»ç»ä¸å¹³å°æ å ³ï¼Goslingé¦å ä»æ¹åC++ç¼è¯å¨çæãä½æ¯Goslingå¨æ¹åè¿ç¨ä¸æå°ä» C++æ¯æ æ³æ»¡è¶³éè¦çï¼äºæ¯å¨å¹´6æ份å¼å§åå¤å¼åä¸ä¸ªæ°çè¯è¨ï¼é£ä¹ç»å®èµ·ä¸ä¸ªä»ä¹ååå¢ï¼ Goslingåé¦åçªå¤æå»ï¼çè§ä¸æ£µèæ©¡æ ï¼äºæ¯å»ºä¸ä¸ªç®å½å«Oakï¼è¿å°±æ¯Javaè¯è¨çå身ãï¼åæ¥åç°Oakå·²æ¯Sunå ¬å¸çå¦ä¸ä¸ªè¯è¨ç注ååæ ï¼ææ¹å为Javaï¼å³çªåï¼å¤ªå¹³æ´ä¸ä¸ä¸ªç产åå¡çå²å±¿çååï¼ã
Goslingå¨å¼å§åJavaæ¶ï¼å¹¶ä¸å±éäºæ©å è¯è¨æºå¶æ¬èº«ï¼æ´æ³¨éäºè¯è¨æè¿è¡è½¯ç¡¬ä»¶ç¯å¢ï¼ä»è¦å»ºç«ä¸ä¸ªç³»ç»ï¼è¿ä¸ªç³»ç»è¿è¡äºä¸ä¸ªå·¨å¤§çãåå¸çãå¼è´¨çç½ç»ç¯å¢ä¸ï¼å®æåçµå设å¤ä¹é´çé讯ä¸ååå·¥ä½ãGoslingå¨è®¾è®¡ä¸éç¨äºèæºå¨ç ï¼Virtual Machine Codeï¼æ¹å¼ãå³Javaè¯è¨ç¼è¯å产ççæ¯èæºå¨ç ï¼èæºå¨ç è¿è¡å¨ä¸ä¸ªè§£éå¨ä¸ï¼æ¯ä¸ä¸ªæä½ç³»ç»åæä¸ä¸ªè§£éå¨ï¼è¿æ ·ä¸æ¥ï¼Javaå°±æäºå¹³å°æ å ³è¯è¨ãè¿åGosling设计çSun NeWsçªå£ç³»ç»æçç¸åçææ¯å³éï¼å¨NeWsä¸ç¨æ·çé¢ç»ä¸ç¨Postscriptæè¿°ï¼ä¸åçæ¾ç¤ºå¨æä¸åçPostscript解éå¨ï¼è¿æ ·ä¾¿ä¿è¯äºç¨æ·çé¢çè¯å¥½çå¯ç§»æ¤æ§ã
å½Patrick Naughtonå å ¥è¯¥å°ç»åï¼æ´ä¸ªå·¥ä½è¿å±ç¥éãNaughtonä¹æ¯Sunå ¬å¸çææ¯éª¨å¹²ï¼æ¾ç»æ¯Open Windowsç项ç®çè´è´£äººãç»è¿ä¸ªæçå¥æï¼æ´ä¸ªç³»ç»èå©å®æãå®æ¯ç±ä¸ä¸ªæä½ç³»ç»ï¼ä¸ç§è¯è¨ï¼Javaï¼ï¼ä¸ä¸ªç¨æ·çé¢ï¼ä¸ä¸ªæ°ç硬件平å°ï¼ä¸åä¸ç¨è¯ççææãèé常æ åµä¸ï¼è¿æ ·ç项ç®å¨Sunå ¬å¸è¦ä¸ªäººå¹²ä¸å¹´ã项ç®å®æåï¼å¨Sunå ¬å¸å é¨åä¸æ¬¡å±ç¤ºåé´å®ï¼è§ä¼çååºæ¯ï¼ å¨åæ¹é¢é½éç¨äºå´æ°çãé常大èçææ¯ã许å¤åè§è 对Javaçä¸äºé常深å»çå°è±¡ï¼ç¹å«å¾å°Sunçäºä½é¢å¯¼äººScott McNealyåBill Joyçå ³æ³¨ï¼ä½Javaçåéæªåã
åæåè´¥
æ¥çï¼Java项ç®çå·¥ä½äººåå¼å§ååºç¨è§åï¼çææç«ä¸å®¶å ¬å¸ï¼ä»äºæ¶è´¹ç±»çµå产åçå¼åï¼è¿å®¶å ¬å¸å°±æ¯FirstPerson Inc.ãå ¬å¸ç第ä¸ä¸ªé¡¹ç®å°±æ¯Time-Warnerçææ 项ç®ï¼é¡¶ç½®çå¼æä½ç³»ç»å请æ±å¼çµè§ææ¯ãè½ç¶FirstPerson Inc.å¨ææ¯æ¯«ä¸éè²äºä»»ä½å ¬å¸ï¼ä½æ¯ç±äºç»è¥çç¥ä¸ç失误ï¼è´¥ç»äºSGIãFirstPersonä¸ç´å°å¹´åä»å¨åæå¼åä¸ç¨ç顶置çå¼æä½ç³»ç»ï¼ä½å®è·µè¯æï¼è¿ä¸ªå¸åºå°æªæçãä¾å¦ï¼å¥½å 家交äºå¼æ线çµè§ç½çå®éªé½ä»¥å¤±è´¥åç»ã
Naughtonç«å³è®¤è¯å°ç 究æ¹ååºè¯¥è½¬ç§»ãå¨Naughtonçåªåä¸ï¼ç 究å¼å§åå¨çº¿æå¡ï¼CD-ROMååºäºç½ç»çå°å¼æºæ¹å转移ãæåFirstPerson解æ£ï¼ä¸é¨å人å»äºSun Interactiveå¼åæ°åè§é¢æ°æ®æå¡å¨ï¼èå¦ä¸é¨åå¼å§æJavaç¨äºåºäºç½ç»çå°å¼æºç³»ç»ã
Javaè¯è¨ç转æç¹
å°äºå¹´ï¼WWWå·²å¦ç«å¦è¼çåå±èµ·æ¥ãGoslingæè¯å°WWWéè¦ä¸ä¸ªä¸æ§çæµè§å¨ï¼å®ä¸ä¾èµäºä»»ä½ç¡¬ä»¶å¹³å°å软件平å°ãå®åºæ¯ä¸ç§å®æ¶æ§è¾é«ï¼å¯é å®å ¨ï¼æ交äºåè½çæµè§å¨ãäºæ¯Goslingå³å®ç¨Javaå¼åä¸ä¸ªæ°çWebæµè§å¨ã
å ãJavaåå±å²Javaæ¯ä¸ç§å¯ä»¥æ°å跨平å°åºç¨è½¯ä»¶çé¢å对象çç¨åºè®¾è®¡è¯è¨ï¼æ¯ç±Sun Microsystemså ¬å¸äºå¹´5ææ¨åºçJavaç¨åºè®¾è®¡è¯è¨åJavaå¹³å°ï¼å³JavaSE, JavaEE, JavaMEï¼çæ»ç§°ã
Java ææ¯å ·æåè¶çéç¨æ§ãé«ææ§ãå¹³å°ç§»æ¤æ§åå®å ¨æ§ï¼å¹¿æ³åºç¨äºä¸ªäººPCãæ°æ®ä¸å¿ã游ææ§å¶å°ãç§å¦è¶ 级计ç®æºã移å¨çµè¯åäºèç½ï¼åæ¶æ¥æå ¨çæ大çå¼åè ä¸ä¸ç¤¾ç¾¤ãå¨å ¨çäºè®¡ç®å移å¨äºèç½ç产ä¸ç¯å¢ä¸ï¼Javaæ´å ·å¤äºæ¾èä¼å¿å广éåæ¯ã
ä¸ãjavaçåå±è¶å¿Javaæªæ¥çåºç¨åæ¯ï¼ä»åå²æ¥çï¼Javaææ¯èªå¹´é®ä¸ä»¥æ¥ï¼å¨æå½çåºç¨åå¼åä¹å¾å°äºè¿ éæ®åï¼æ»ä½æ¥çï¼è¿äºåºç¨ä¸»è¦éä¸äºä¼ä¸åºç¨å¼åã
æ®æå ³åä½è°æ¥æ¾ç¤ºï¼ä»å¼åé¢åçåå¸æ åµä¸çWebå¼åå äºä¸å以ä¸ï¼ä¸º.9%,JavaME移å¨æåµå ¥å¼åºç¨å %,C/Såºç¨å .7%ï¼ç³»ç»ç¼ç¨å .4%ãè¿%çå¼åè ç¨Javaä»äºC/Såºç¨æç³»ç»çº§åºç¨çå¼åã
å¨æ¡é¢åºç¨ä¸ï¼å°½ç®¡Javaå¨æ¡é¢GUIæ¹é¢å°æä¸å°½å¦äººæä¹å¤ï¼ä½ä»ç¶æå¾å¤å¼åè ç¨æ¥å¼åè¿è¡å¨å¤ç§æä½ç³»ç»å¹³å°ä¸çæ¡é¢åºç¨ãå ·ä½åºç¨å¨å¦ä¸å 个é¢åï¼1.è¡ä¸åä¼ä¸ä¿¡æ¯åç±äºSunãIBMãOracleãBEAçå½é ååç¸ç»§æ¨åºåç§åºäºJavaææ¯çåºç¨æå¡å¨ä»¥ååç§åºç¨è½¯ä»¶ï¼å¸¦å¨äºJavaå¨éèãçµä¿¡ãå¶é çé¢åæ¥ç广æ³çåºç¨ã
å¦æ¸ å大å¦è®¡ç®æºç³»å©ç¨JavaãXMLåWebææ¯ç å¶å¼åäºå¤ä¸ªè½¯ä»¶å¹³å°ï¼ä¸æ¹ç§æçTongWebãéç¢çApusicãä¸åçInforwebçJ2EEåºç¨æå¡å¨ååä½³ERPåå®ä¿¡ERPçERP产åï¼å·²å¨è®¸å¤ä¼ä¸å¾å°åºç¨ã2.çµåæ¿å¡ååå ¬èªå¨åä¸æ¹ç§æãéç¢ãä¸åçå¼åçJ2EEåºç¨æå¡å¨å¨çµåæ¿å¡ååå ¬èªå¨åä¸ä¹å¾å°åºç¨ï¼å¦éç¢çApusicå¨æ°æ¿é¨ã广ä¸çå¸å·¥åå±åºç¨ï¼ä¸è½¯çµåæ¿å¡æ¶æEAPå¹³å°å¨ç¤¾ä¼ä¿é©ãå ¬æ£æ³ãç¨å¡ç³»ç»å¾å°åºç¨ï¼ä¸åçInforwebçInforç³»åä¸é´ä»¶äº§åå¨å½å®¶æµ·äºå±ãå±±ä¸ç *** åä¸å½å»ºè®¾é¶è¡ãæ°çé¶è¡çéèç³»ç»åºç¨ï¼æ é¡æ°¸ä¸ç§æåºäºJavaå¹³å°å¼åçå½äº§åéæåå ¬è½¯ä»¶âæ°¸ä¸Officeâä¹å·²å¨ä¸äºçå¸ *** é¨é¨å¾å°åºç¨ã
3.åµå ¥å¼è®¾å¤åæ¶è´¹ç±»çµå产åæ 线ææ设å¤ãéä¿¡ç»ç«¯ãå»ç设å¤ãä¿¡æ¯å®¶çµï¼å¦æ°åçµè§ãæºé¡¶çãçµå°ç®±ï¼ã汽车çµå设å¤çæ¯ä»å¹´ä»¥æ¥æ¯è¾çé¨çJavaåºç¨é¢åãå¨è¿æ¹é¢çåºç¨æä¸å½èéCDMA1Xç½ç»ä¸åºäºJavaææ¯çæ 线æ°æ®å¢å¼æå¡ââUniJaã
4.è¾ å©æå¦å¨è¾ å©æå¦æ¹é¢ï¼ä¸å大å¦ä¸ä¸å ´éè®¯å ¬å¸å¼åäºè¿ç¨æå¦ç³»ç»ï¼ç¨äºæ¬å°ç½ä¸æå¦ã课åå¦ä¹ åå¼å°è¿ç¨æè²ï¼æ¸ å大å¦ç¨Javaè¿è¡äºâ计ç®æºè½¯ä»¶åºç¡è¯¾âæå¦æ¹é©ï¼åæç 究Javaæå¦è½¯ä»¶BlueJçæ±åæ¹æ¡ï¼çµåç§æ大å¦åºç¨JavaRMIææ¯è¿è¡è¿ç¨æè²ï¼è¥¿å®çµåé«çä¸ç§å¦æ ¡éç¨Javaææ¯ï¼å¼åäºäº¤äºå¼çµç«ä»¿çç³»ç»ï¼å®ç°çµç«é ç仿çãé çèç«ç°ä»¿çï¼ä¸ºå®ç°ç½ä¸ä»¿çè¿è¡æçæ¢ç´¢ãå°±Javaç¨åºè®¾è®¡è¯è¨èªèº«çåå±åæ¯æ¥è®²ï¼å®ä¼ä¸äºèç½çåå±éæ±é¦å®ï¼å ·ä½ä½ç°å¨ä»¥ä¸å 个æ¹é¢ï¼1ï¼ææé¢å对象çåºç¨å¼åã
2ï¼è½¯ä»¶å·¥ç¨ä¸éæ±åæãç³»ç»è®¾è®¡ãå¼åå®ç°åç»´æ¤ã3ï¼ä¸å°åå¤åªä½ç³»ç»è®¾è®¡ä¸å®ç°ã
4ï¼æ¶æ¯ä¼ è¾åªä½ã5ï¼åå¸è®¡ç®äº¤æ管çå¹³å°åºç¨ã
6)Interçç³»ç»ç®¡çåè½æ¨¡åç设计ï¼å æ¬Web页é¢çå¨æ设计ãç½ç«ä¿¡æ¯æä¾ç®¡çå交äºæä½è®¾è®¡çã7)Interï¼ä¼ä¸å é¨ç½ï¼ä¸å®å ¨åºäºJavaåWebææ¯çåºç¨å¼åã
8)Webæå¡å¨å端ä¸åç±»æ°æ®åºè¿æ¥ç®¡çå¨ï¼éåãç¼å²æ± ï¼ã9ï¼å®å ¨æ«æç³»ç»ï¼å æ¬ç½ç»å®å ¨æ«æãæ°æ®åºå®å ¨æ«æãç¨æ·å®å ¨æ«æçï¼ã
ï¼ç½ç»/åºç¨ç®¡çç³»ç»ãï¼å ¶ä»åºç¨ç±»åçç¨åºã
Javaè¯è¨çåºç¨æ¨å¨çç½ç»åºç¨æçæ´å é«æã便æ·ãå®ç¨çæ¹ååå±ï¼å¹¶æç»æ为IT产ä¸æåæ¨å¨çä¸é¡¹ææ¯ãæå½å¯¹äºJavaè¯è¨çåºç¨å¤æ¾å¨ä¼ä¸äºèç½ä½ç¨æ¹é¢ï¼æ´å éè§ç½ç»åºç¨è¿ç¨ä¸æ å¯ *** Java/J2EEææ¯ï¼å¹¶å°è¯¥ææ¯ä½ä¸ºåºç¨ç¨åºå¼åè¿ç¨ä¸çé¦éã
æ 论å¨ç§»å¨è®¾å¤ãæ¶è´¹åï¼è¿æ¯åµå ¥å¼è®¾å¤ä¸ï¼Javaè¯è¨åå¾å°äºå¹¿æ³çåºç¨ï¼çè³å»¶ä¼¸å°äºICé¢åãæªæ¥Javaè¯è¨å°å¨åµå ¥å¼å移å¨è®¾å¤ä¸å¾å°è¿ä¸æ¥çæå±ï¼å¨åç§çµåä¿¡æ¯äº§åä¸é½æJavaçåºç¨ã
ç¹å«æ¯ç§»å¨è®¾å¤é¢åï¼Javaè¯è¨çåºç¨ææå°æ´å æ¾èï¼å¹¶å°å®ä½ç±ç³»ç»çéä¿¡ç»ç«¯è½¬å为个人信æ¯ç«¯ãç®åï¼Sunå ¬å¸å·²å°Javaæ ¸å¿æºä»£ç å ¬å¼ï¼è¿å°ä¸ºå¼å人åè¿ä¸æ¥å¼ååºç¨Javaè¯è¨æä¾æåçæ¡ä»¶ï¼å¹¶ä¸ºæ¨å¨Javaçè¿ä¸æ¥åå±ï¼ç»´æ¤å ¶ææ¯å ¼å®¹æ§å¥ å®æåçåºç¡ã
Javaå¼æºå°ä¼å¸å¼æ´å¤ç¨åºäººåçå å ¥ï¼å¹¶å°è¿ä¸æ¥å®åJavaè¯è¨ï¼å¹¶æç» *** æ´ä¸ªITè¡ä¸çåå±ãæ»ä¹ï¼Javaè¯è¨ä½ä¸ºä¸ç§åå±è¿ éçè¯è¨ç¨åºï¼å·²ç»æ·±å»æ示äºç¨åºç¼åè¿ç¨çç²¾é«ï¼å¹¶åå©å ¶ä¸¥è°¨çç»æä¸é´æ¥çç¼åè¿ç¨ï¼ä¸ºJavaè¯è¨çæªæ¥åå±æä¾äºéè¦ä¿è¯ã
å¦ä»ï¼æå ³Javaè¯è¨æ¹é¢çç 究æ£æçæå¡å¨ç«¯ä¼å¿åºç¨ç³»ç»æ¹é¢å»¶ä¼¸ï¼ç¸ä¿¡æªæ¥Javaè¯è¨å¿ å°å ·ææ´å 广æ³çåºç¨ï¼ä¹å¿ å°ä¼ç»ITè¡ä¸çåå±èµ·å°æ´æåçä¿è¿ä½ç¨ã
java的发展历史
一、Java语言的法源发展历史
Sun的Java语言开发小组成立于年,其目的检法是开拓消费类电子产品市场,例如:交互式电视,程序烤面包箱等。公检Sun内部人员把这个项目称为Green,法源领劵网站源码那时World Wide Web还在图纸上呢。检法该小组的程序***是James Gosling,岁。于年加盟Sun Microsystem公司,公检以前在一家IBM研究机构工作。法源他是检法Sun NeWs窗口系统的总设计师,虽然当时NeWs在技术上非常成功,程序但在商业上却完全失败,公检没有了Java那么好的法源运气。Gosling是检法一位非常杰出的程序员,GOSMACS也是Gosling写的,它是第一个用C实现的EMACS的文本编辑器。
在研究开发过程中,Gosling 深刻体会到消费类电子产品和工作站产品的开发哲学之间差异:消费类电子产品要求高可靠、费用低、标准化、使用简单,而工作站用户要求强大的计算能力,而不在此乎价格以及操作的复杂性。消费类电子产品用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,一系列可选的方案,从-都可以上。
从C++开始 为了使整个系统与平台无关,Gosling首先从改写C++编译器着手。但是Gosling在改写过程中感到仅C++是无法满足需要的,于是在年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢? Gosling回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身。(后来发现Oak已是Sun公司的另一个语言的注册商标,才改名为Java,即爪哇,太平洋上一个盛产咖啡的岛屿的名字)。
Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行软硬件环境,他要建立一个系统,这个系统运行于一个巨大的、分布的、异质的imessage群发源码网络环境中,完成各电子设备之间的通讯与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式。即Java语言编译后产生的是虚机器码,虚机器码运行在一个解释器上,每一个操作系统均有一个解释器,这样一来,Java就成了平台无关语言。这和Gosling设计的Sun NeWs窗口系统有着相同的技术味道,在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。
当Patrick Naughton加入该小组后,整个工作进展神速。Naughton也是Sun公司的技术骨干,曾经是Open Windows的项目的负责人。经过个月的奋战,整个系统胜利完成。它是由一个操作系统,一种语言(Java),一个用户界面,一个新的硬件平台,三块专用芯片的构成。而通常情况下,这样的项目在Sun公司要个人干三年。项目完成后,在Sun公司内部做一次展示和鉴定,观众的反应是: 在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun的二位***Scott McNealy和Bill Joy的关注,但Java的前途未卜。
初战告败
接着,Java项目的工作人员开始做应用规划,着手成立一家公司,从事消费类电子产品的开发,这家公司就是FirstPerson Inc.。公司的第一个项目就是Time-Warner的投标项目,顶置盒式操作系统和请求式电视技术。虽然FirstPerson Inc.在技术毫不逊色于任何公司,但是由于经营策略上的失误,败给了SGI。FirstPerson一直到年初仍在坚持开发专用的顶置盒式操作系统,但实践证明,这个市场尚未成熟。例如:好几家交互式有线电视网的实验都以失败告终。
Naughton立即认识到研究方向应该转移。在Naughton的dnf伪材料源码努力下,研究开始向在线服务,CD-ROM和基于网络的台式机方向转移。最后FirstPerson解散,一部分人去了Sun Interactive开发数字视频数据服务器,而另一部分开始把Java用于基于网络的台式机系统。
Java语言的转折点
到了年,WWW已如火如荼的发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一种实时性较高,可靠安全,有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。
二、Java发展史
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
三、Java语言的发展历史
任职于太阳微系统的詹姆斯•高斯林等人于年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。
由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于年5月以Java的名称正式发布。
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Java语言的发展历史分为以下几个阶段: 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。
希望用于控制嵌入在有线电视交换盒、PDA等的微处理器年将Oak语言更名为Java年JDK1.2时,更名为Java 2 Platform分为标准版J2SE,php 文号申请源码企业版J2EE,微型版J2MEJava 既安全、可移植,又可跨平台,而且人们发现它能够解决Inter 上的大型应用问题Inter使Java成为网上最流行的编程语言Java对Inter的影响也意义深远B/S的兴起 & C/S的没落。
四、JAVA的发展历史是什么情况
一、JDK前传
在这个世界上,熟悉Java历史的人非常多,如果要问一个人Java是从哪年诞生的,也许大多数人都会回答是年(这个非常好记,因为微软的Windows也是在这一年发布的)。但事实上Java早在上个世纪年代初就开始酝酿了。
年4月,Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行。而Green项目组的成员一开始使用C++语言来完成这个项目, 由于Green项目组的成员都具有C++背景,所以他们首先把目光锁定了C++编译器,Gosling首先改写了C++编译器,但很快他就感到C++的很 多不足,需要研发一种新的语言Java来替代它,一杯飘香的咖啡成为了它的标志。
在 个月后,整个系统完成了,这个系统是更注重机顶盒式的操作系统,不过在当时市场不成熟的情况下,他们的项目没有获得成功,但Java语言却得到了Sun总裁McNealy的赏识。
直至 年下半年,由于Inter的迅猛发展和环球信息网 WWW的快速增长,第一个全球信息网络浏览器Mosaic诞生了;此时,工业界对适合在网络异构环境下使用的语言有一种非常急迫的需求;Games Gosling决定改变绿色计划的发展方向,他们对Oak进行了小规模的改造,就这样,Java在年的3月日诞生了!Java的诞生标志着互 联网时代的开始,它能够被应用在全球信息网络的平台上编写互动性及强的Applet程序,而年的Applet无疑能给人们无穷的视觉和脑力震荡。 我们姑且将Java的这段历史称为Java前传吧。
其实Java的诞生颇有那么一股“有心栽花花不开,无心插柳柳成阴”的味道。就象当年Unix和它的前身MULTICS系统一样。
二、JDK的幼年时期(~)
Sun继Green项目后又经过了几年的研究,终于在年5月日在SunWorld'上正式发布Java和HotJava浏览器。在同 年,模拟开户网站源码有很多公司先后获得了Java许可证,如Netscape在年8月,Oracle在年月分别获得了Java许可证。Sun在 年发布第一个Java版本后,于年1月宣布成立新的业务部门──JavaSoft部,这个部分主要负责开发、销售并支持基于Java技术 的产品,由AlanBaratz先生任总裁。
在年Sun虽然推出了Java,但这只是一种语言,而要想开发复杂的应用程 序,必须要有一个的强大的开发库支持还行。因此,Sun在年1月日发布了JDK1.0。这个版本包括了两部分:运行环境(即JRE)和开发环 境(即JDK)。在运行环境中包括了核心API、集成API,用户界面API,发布技术,Java虚拟机(JVM)五个部分。而开发环境还包括了编译 Java程序的编译器(即javac)。在JDK1.0时代,JDK除了AWT(一种用于开发图形用户界面的API)外,其它的库并不完整。
Sun在推出JDK1.0后,紧跟着,Sun在年2月日发布了JDK1.1。JDK1.1相对于JDK1.0最大的改进就是为JVM增加了 JIT(即时编译)编译器。JIT和传统的编译器不同,传统的编译器是编译一条,运行完后再将其扔掉,而JIT会将经常用到的指令保存在内容中,在下次调 用时就不需要再编译了。这样JDK在效率上有了非常大的提升。
Sun在推出JDK1.1后,接着又推出了数个JDK1.x版本。自从Sun推出Java后,JDK的下载量不断彪升,在年,JDK的下载量突破了,,而在年,JDK的下载量已经超过了2,,。
五、Java语言的发展历史
Java语言的历史
Sun的Java语言开发小组成立于年,其目的是开拓消费类电子产品市场,例如:交互式电视,烤面包箱等。Sun内部人员把这个项目称为Green,那时World Wide Web还在图纸上呢。该小组的***是James Gosling,岁。于年加盟Sun Microsystem公司,以前在一家IBM研究机构工作。他是Sun NeWs窗口系统的总设计师,虽然当时NeWs在技术上非常成功,但在商业上却完全失败,没有了Java那么好的运气。Gosling是一位非常杰出的程序员,GOSMACS也是Gosling写的,它是第一个用C实现的EMACS的文本编辑器。
在研究开发过程中,Gosling 深刻体会到消费类电子产品和工作站产品的开发哲学之间差异:消费类电子产品要求高可靠、费用低、标准化、使用简单,而工作站用户要求强大的计算能力,而不在此乎价格以及操作的复杂性。消费类电子产品用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,一系列可选的方案,从-都可以上。
从C++开始 为了使整个系统与平台无关,Gosling首先从改写C++编译器着手。但是Gosling在改写过程中感到仅C++是无法满足需要的,于是在年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢? Gosling回首向窗外望去,看见一棵老橡树,于是建一个目录叫Oak,这就是Java语言的前身。(后来发现Oak已是Sun公司的另一个语言的注册商标,才改名为Java,即爪哇,太平洋上一个盛产咖啡的岛屿的名字)。
Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行软硬件环境,他要建立一个系统,这个系统运行于一个巨大的、分布的、异质的网络环境中,完成各电子设备之间的通讯与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式。即Java语言编译后产生的是虚机器码,虚机器码运行在一个解释器上,每一个操作系统均有一个解释器,这样一来,Java就成了平台无关语言。这和Gosling设计的Sun NeWs窗口系统有着相同的技术味道,在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器,这样便保证了用户界面的良好的可移植性。
当Patrick Naughton加入该小组后,整个工作进展神速。Naughton也是Sun公司的技术骨干,曾经是Open Windows的项目的负责人。经过个月的奋战,整个系统胜利完成。它是由一个操作系统,一种语言(Java),一个用户界面,一个新的硬件平台,三块专用芯片的构成。而通常情况下,这样的项目在Sun公司要个人干三年。项目完成后,在Sun公司内部做一次展示和鉴定,观众的反应是: 在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun的二位***Scott McNealy和Bill Joy的关注,但Java的前途未卜。
初战告败
接着,Java项目的工作人员开始做应用规划,着手成立一家公司,从事消费类电子产品的开发,这家公司就是FirstPerson Inc.。公司的第一个项目就是Time-Warner的投标项目,顶置盒式操作系统和请求式电视技术。虽然FirstPerson Inc.在技术毫不逊色于任何公司,但是由于经营策略上的失误,败给了SGI。FirstPerson一直到年初仍在坚持开发专用的顶置盒式操作系统,但实践证明,这个市场尚未成熟。例如:好几家交互式有线电视网的实验都以失败告终。
Naughton立即认识到研究方向应该转移。在Naughton的努力下,研究开始向在线服务,CD-ROM和基于网络的台式机方向转移。最后FirstPerson解散,一部分人去了Sun Interactive开发数字视频数据服务器,而另一部分开始把Java用于基于网络的台式机系统。
Java语言的转折点
到了年,WWW已如火如荼的发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一种实时性较高,可靠安全,有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。
六、Java发展史
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
七、java的发展趋势
Java未来的应用前景,从历史来看,Java技术自年问世以来,在我国的应用和开发也得到了迅速普及,总体来看,这些应用主要集中于企业应用开发。
据有关单位调查显示,从开发领域的分布情况上看Web开发占了一半以上,为.9%,JavaME移动或嵌入式应用占%,C/S应用占.7%,系统编程占.4%。近%的开发者用Java从事C/S应用或系统级应用的开发。
在桌面应用上,尽管Java在桌面GUI方面尚有不尽如人意之处,但仍然有很多开发者用来开发运行在多种操作系统平台上的桌面应用。具体应用在如下几个领域:1.行业和企业信息化由于Sun、IBM、Oracle、BEA等国际厂商相继推出各种基于Java技术的应用服务器以及各种应用软件,带动了Java在金融、电信、制造等领域日益广泛的应用。
如清华大学计算机系利用Java、XML和Web技术研制开发了多个软件平台,东方科技的TongWeb、金碟的Apusic、中创的Inforweb等J2EE应用服务器及和佳ERP和宝信ERP等ERP产品,已在许多企业得到应用。2.电子政务及办公自动化东方科技、金碟、中创等开发的J2EE应用服务器在电子政务及办公自动化中也得到应用:如金碟的Apusic在民政部、广东省市工商局应用;东软电子政务架构EAP平台在社会保险、公检法、税务系统得到应用;中创的Inforweb等Infor系列中间件产品在国家海事局、山东省 *** 及中国建设银行、民生银行等金融系统应用;无锡永中科技基于Java平台开发的国产化集成办公软件“永中Office”也已在一些省市 *** 部门得到应用。
3.嵌入式设备及消费类电子产品无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是今年以来比较热门的Java应用领域。在这方面的应用有中国联通CDMA1X网络中基于Java技术的无线数据增值服务——UniJa。
4.辅助教学在辅助教学方面,东南大学与中兴通讯公司开发了远程教学系统,用于本地网上教学、课后学习和异地远程教育,清华大学用Java进行了“计算机软件基础课”教学改革,分析研究Java教学软件BlueJ的汉化方案,电子科技大学应用JavaRMI技术进行远程教育,西安电力高等专科学校采用Java技术,开发了交互式电站仿真系统,实现电站锅炉仿真、锅炉膛火焰仿真,为实现网上仿真进行有益探索。就Java程序设计语言自身的发展前景来讲,定会与互联网的发展需求邦定,具体体现在以下几个方面:1)所有面向对象的应用开发。
2)软件工程中需求分析、系统设计、开发实现和维护。3)中小型多媒体系统设计与实现。
4)消息传输媒体。5)分布计算交易管理平台应用。
6)Inter的系统管理功能模块的设计,包括Web页面的动态设计、网站信息提供管理和交互操作设计等。7)Inter(企业内部网)上完全基于Java和Web技术的应用开发。
8)Web服务器后端与各类数据库连接管理器(队列、缓冲池)。9)安全扫描系统(包括网络安全扫描、数据库安全扫描、用户安全扫描等)。
)网络/应用管理系统。)其他应用类型的程序。
Java语言的应用推动着网络应用朝着更加高效、便捷、实用的方向发展,并最终成为IT产业极力推动的一项技术。我国对于Java语言的应用多放在企业互联网作用方面,更加重视网络应用过程中无可 *** Java/J2EE技术,并将该技术作为应用程序开发过程中的首选。
无论在移动设备、消费品,还是嵌入式设备中,Java语言均得到了广泛的应用,甚至延伸到了IC领域。未来Java语言将在嵌入式及移动设备中得到进一步的拓展,在各种电子信息产品中都有Java的应用。
特别是移动设备领域,Java语言的应用效果将更加显著,并将定位由系统的通信终端转变为个人信息端。目前,Sun公司已将Java核心源代码公开,这将为开发人员进一步开发应用Java语言提供有力的条件,并为推动Java的进一步发展,维护其技术兼容性奠定有力的基础。
Java开源将会吸引更多程序人员的加入,并将进一步完善Java语言,并最终 *** 整个IT行业的发展。总之,Java语言作为一种发展迅速的语言程序,已经深刻揭示了程序编写过程的精髓,并借助其严谨的结构与间接的编写过程,为Java语言的未来发展提供了重要保证。
如今,有关Java语言方面的研究正朝着服务器端优势应用系统方面延伸,相信未来Java语言必将具有更加广泛的应用,也必将会给IT行业的发展起到更有力的促进作用。