▀τ√Ω JAVA: ≡ατ≡αßε≥Ωα ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ  Γ ±≡σΣσ Internet

╤. ├αΘ±α≡ φ, ╚φ±≥Φ≥≤≥ ±Φ±≥σ∞φεπε ∩≡επ≡α∞∞Φ≡εΓαφΦ  ╨└═

┬ΓσΣσφΦσ

▀τ√Ω Java [1] - ²≥ε φεΓ√Θ εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√Θ  τ√Ω ∩≡επ≡α∞∞Φ≡εΓαφΦ , ±ετΣαφφ√Θ ⌠Φ≡∞εΘ Sun Σδ  ≡ατ≡αßε≥ΩΦ ∩≡επ≡α∞∞, ≡α±∩≡ε±≥≡αφ σ∞√⌡ ∩ε ±σ≥Φ Internet [2]. ╤Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java ∩ετΓεδ σ≥ Φ±∩εδⁿτεΓα≥ⁿ World Wide Web (WWW) Σδ  ≡α±∩≡ε±≥≡αφσφΦ  φσßεδⁿ°Φ⌡ Φφ≥σ≡αΩ≥ΦΓφ√⌡ ∩≡ΦΩδαΣφ√⌡ ∩≡επ≡α∞∞ (α∩∩δσ≥εΓ), Ωε≥ε≡√σ ≡ατ∞σ∙α■≥±  φα ±σ≡Γσ≡α⌡ Internet, ≥≡αφ±∩ε≡≥Φ≡≤■≥±  ΩδΦσφ≥≤ ∩ε ±σ≥Φ (≥ε≈φε ≥αΩ µσ, ΩαΩ Ωα≡≥ΦφΩΦ ΦδΦ τΓ≤ΩεΓ√σ ⌠αΘδ√), αΓ≥ε∞α≥Φ≈σ±ΩΦ ≤±≥αφαΓδΦΓα■≥±  Φ τα∩≤±Ωα■≥±  φα ∞σ±≥σ, ΩαΩ ≈α±≥ⁿ ΣεΩ≤∞σφ≥α WWW. ╧≡Φ ²≥ε∞ α∩∩δσ≥ Φ∞σσ≥ Γσ±ⁿ∞α επ≡αφΦ≈σφφ√Θ Σε±≥≤∩ Ω ≡σ±≤≡±α∞ Ωε∞∩ⁿ■≥σ≡α ΩδΦσφ≥α, ≥αΩ ≈≥ε εφ ∞εµσ≥ ∩≡σΣε±≥αΓΦ≥ⁿ ∩≡εΦτΓεδⁿφ√Θ ∞≤δⁿ≥Φ∞σΣΦΘφ√Θ Φφ≥σ≡⌠σΘ± Φ Γ√∩εδφ ≥ⁿ ±δεµφ√σ Γ√≈Φ±δσφΦ , φσ ∩≡ΦΓφε±  ∩≡Φ ²≥ε∞ ≡Φ±Ωα τα≡αµσφΦ  ΓΦ≡≤±ε∞ ΦδΦ ∩ε≡≈Φ Σαφφ√⌡.

╤Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java ∞εµσ≥ ±δ≤µΦ≥ⁿ ε±φεΓεΘ Σδ  ±εΓ∞σ±≥φεΘ ≡ατ≡αßε≥ΩΦ ßεδⁿ°Φ⌡ ∩≡επ≡α∞∞φ√⌡ ±Φ±≥σ∞ ΩεδδσΩ≥ΦΓε∞ ≡ατ≡αßε≥≈ΦΩεΓ, ±Γ ταφφ√⌡ ∞σµΣ≤ ±εßεΘ ≥εδⁿΩε ≈σ≡στ WWW (εφΦ Φ τφαΩε∞√ ∞σµΣ≤ ±εßεΘ ∞επ≤≥ ß√≥ⁿ δΦ°ⁿ ταε≈φε, ≈σ≡στ e-mail, α ΩεπΣα εφΦ φαΩεφσ÷ ∩εΓ±≥≡σ≈α■≥±  πΣσ-φΦß≤Σⁿ φα ∞σµΣ≤φα≡εΣφε∞ ±Φ∞∩ετΦ≤∞σ, Γ Φ⌡ αΩ≥ΦΓσ ≤µσ ∞εµσ≥ ß√≥ⁿ ±εΓ∞σ±≥φε ≡ατ≡αßε≥αφφα  ∩≡επ≡α∞∞φα  ±Φ±≥σ∞α). Java Φ WWW  Γδ ■≥±  ∩σ≡Γ√∞Φ ±Φ±≥σ∞α∞Φ, εßσ±∩σ≈ΦΓα■∙Φ∞Φ ≥αΩ≤■ Γετ∞εµφε±≥ⁿ, ∩ε²≥ε∞≤ Φ⌡ ΓφσΣ≡σφΦσ Φ ≡α±∩≡ε±≥≡αφσφΦσ ∞φεπΦσ ∩≡επ≡α∞∞Φ±≥√ ±∩≡αΓσΣδΦΓε φατ√Γα■≥ ≡σΓεδ■÷ΦσΘ Γ ≡ατ≡αßε≥Ωσ ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ . ▀±φε, ≈≥ε ΓσΣ≤∙≤■ ≡εδⁿ Γ εßσ±∩σ≈σφΦΦ ≤ΩαταφφεΘ Γετ∞εµφε±≥Φ Φπ≡ασ≥ Φ∞σφφε Java, ≥αΩ ΩαΩ Φ∞σφφε Java ∩ετΓεδ σ≥ ≡α±∩≡ε±≥≡αφ ≥ⁿ φσ ∩≡ε±≥ε ≥σΩ±≥√, α ≡αßε≥α■∙Φσ ∩≡επ≡α∞∞√ Φ Φ⌡ ⌠≡απ∞σφ≥√ (α∩∩δσ≥√) ∩ε WWW.

╬≥±■Σα ßεδⁿ°εΘ Φφ≥σ≡σ± Ω  τ√Ω≤ Φ ±Φ±≥σ∞σ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java ±ε ±≥ε≡εφ√ ß≤ΩΓαδⁿφε Γ±σ⌡ Ωα≥σπε≡ΦΘ ≡ατ≡αßε≥≈ΦΩεΓ Φ ∩εδⁿτεΓα≥σδσΘ ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ . ┬±σ ΓσΣ≤∙Φσ ⌠Φ≡∞√, ≡ατ≡αßα≥√Γα■∙Φσ Ωε∞∩ⁿ■≥σ≡φ≤■ α∩∩α≡α≥≤≡≤ Φ ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ (Φ IBM, Φ DEC, Φ Microsoft, ±∩Φ±εΩ ∞εµφε ∩≡εΣεδµα≥ⁿ ε≈σφⁿ Σεδπε) ε⌠Φ÷Φαδⁿφε εß· ΓΦδΦ ε ∩εΣΣσ≡µΩσ  τ√Ωα Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java. ┬±σ ≡α±∩≡ε±≥≡αφσφφ√σ Φφ±≥≡≤∞σφ≥αδⁿφ√σ ±Φ±≥σ∞√ ≤µσ ∩εΣΣσ≡µΦΓα■≥ ∩≡επ≡α∞∞Φ≡εΓαφΦσ φα Java. ┬ WWW ∞εµφε φαΘ≥Φ ±ε≥φΦ ≥√± ≈ ∩≤ßδΦΩα÷ΦΘ Φ ∩≡επ≡α∞∞φεΘ ∩≡εΣ≤Ω÷ΦΦ, ±Γ ταφφ√⌡ ± Java, Γ ≥ε∞ ≈Φ±δσ ±ΓεßεΣφε ≡α±∩≡ε±≥≡αφ σ∞α  ±Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java, ≡ατ≡αßε≥αφφα  ⌠Φ≡∞εΘ Sun-Soft (φσΣαΓφε Φτ ²≥εΘ ⌠Φ≡∞√ Γ√ΣσδΦδα±ⁿ ±α∞ε±≥ε ≥σδⁿφα  ⌠Φ≡∞α Java-Soft), α ≥αΩµσ ±ΓεßεΣφε ≡α±∩≡ε±≥≡αφ σ∞α  ±Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ  GNU-Java, ≡ατ≡αßε≥αφφα  FSF. ═α∩Φ±αφ√ Σσ± ≥ΩΦ ≤≈σßφ√⌡ ∩ε±εßΦΘ ∩ε Java (≈α±≥ⁿ Φτ φΦ⌡ ∩σ≡σΓσΣσφα φα ≡≤±±ΩΦΘ  τ√Ω Φ ΦτΣαφα Γ φα°σΘ ±≥≡αφσ), ±≥α≥ⁿΦ Φ εßτε≡√ ∩ε  τ√Ω≤ Java Φ σπε ∩≡Φ∞σφσφΦ ∞ ≡σπ≤δ ≡φε ∩≤ßδΦΩ≤■≥±  Γ ±σ≡ⁿστφ√⌡ Φ ∩ε∩≤δ ≡φ√⌡ ∩≡επ≡α∞∞Φ±≥±ΩΦ⌡ µ≤≡φαδα⌡ Φ σµσφσΣσδⁿφΦΩα⌡.

╓σδⁿ ΣαφφεΘ ∩≤ßδΦΩα÷ΦΦ - ετφαΩε∞Φ≥ⁿ ≈Φ≥α≥σδσΘ ± ε±φεΓφ√∞Φ ±ΓεΘ±≥Γα∞Φ Φ ε±εßσφφε±≥ ∞Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java Φ ∩εΩατα≥ⁿ, ΩαΩ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ∞φεπε≈Φ±δσφφ√σ Java-α∩∩δσ≥√, Σε±≥≤∩φ√σ Γ ±≡σΣσ Internet, Φ Σ≡≤πΦσ Γετ∞εµφε±≥Φ  τ√Ωα Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java Γ ±ΓεσΘ ∩εΓ±σΣφσΓφεΘ Σσ ≥σδⁿφε±≥Φ.

╤φα≈αδα ß≤Σσ≥ Σαφε Ω≡α≥Ωεσ ε∩Φ±αφΦσ ε±εßσφφε±≥σΘ ±Φφ≥αΩ±Φ±α Φ ±σ∞αφ≥ΦΩΦ Ωεφ±≥≡≤Ω÷ΦΘ  τ√Ωα Java, Φ±∩εδⁿτ≤  Σδ  ±≡αΓφσφΦ  Γ±σ∞ ⌡ε≡ε°ε ΦτΓσ±≥φ√Θ εß·σΩ≥φε-ε≡Φσφ≥Φ-
≡εΓαφφ√Θ  τ√Ω C++. ┬φΦ∞αφΦσ ≈Φ≥α≥σδ  ß≤Σσ≥ εß≡α∙σφε ≥εδⁿΩε φα ∩≡Φφ÷Φ∩Φαδⁿφ√σ ∞ε∞σφ≥√, ± ΣαδⁿφσΘ°Φ∞Φ ∩εΣ≡εßφε±≥ ∞Φ ∞εµφε ετφαΩε∞Φ≥ⁿ±  ∩ε ε∩Φ±αφΦ■  τ√Ωα Φ Σ≡≤πΦ∞ ε±φεΓε∩εδαπα■∙Φ∞ ΣεΩ≤∞σφ≥α∞ ⌠Φ≡∞√ Sun [1,3,4], α ≥αΩµσ ± ∩ε∞ε∙ⁿ■ ∞φεπε≈Φ±δσφφ√⌡ ≤≈σßφ√⌡ ∩ε±εßΦΘ Φ ≡≤ΩεΓεΣ±≥Γ ∩ε  τ√Ω≤ Java (±∞., φα∩≡Φ∞σ≡, [5]).

╟α≥σ∞ ß≤Σσ≥ ε∩Φ±αφα ±Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ   τ√Ωα Java. ┬ σσ ±ε±≥αΓ Γ⌡εΣ ≥ ±δσΣ≤■∙Φσ Ωε∞∩εφσφ≥√:

┬ετ∞εµφε±≥Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ   τ√Ωα Java (Γ ≈α±≥φε±≥Φ, ≤≥ΦδΦ≥√ Φ φσΩε≥ε≡√σ ßΦßδΦε≥σ≈φ√σ Ωδα±±√) ß≤Σ≤≥ ∩≡εΣσ∞εφ±≥≡Φ≡εΓαφ√ φα ∩≡Φ∞σ≡σ ≡ατ≡αßε≥ΩΦ Φ Φ±∩εδⁿτεΓαφΦ  φσ±ΩεδⁿΩΦ⌡ ∩≡ε±≥√⌡ α∩∩δσ≥εΓ, Σε±≥≤∩φ√⌡ ∩ε WWW.

▀τ√Ω Java Φ σπε εΩ≡≤µσφΦσ φσ∩≡σ≡√Γφε ≡ατΓΦΓα■≥± : ∩ε±≥ε φφε ∩ε Γδ ■≥±  φεΓ√σ Φφ±≥≡≤∞σφ≥√, ∞φεπΦσ ±Φ±≥σ∞√ Φφ≥σπ≡Φ≡≤■≥±  ± ±Φ±≥σ∞εΘ Java. ╨ατΓΦ≥Φσ∞ εΩ≡≤µσφΦ  Java ταφΦ∞α■≥±  π≡≤∩∩√ Γε Γ±σ⌡ ≤φΦΓσ≡±Φ≥σ≥α⌡, α ≥αΩµσ ∞ε∙φ√σ Ωε∞∩αφΦΦ (⌠Φ≡∞√), ≡ατ≡αßα≥√Γα■∙Φσ Ωε∞∩ⁿ■≥σ≡φ≤■ α∩∩α≡α≥≤≡≤ Φ ∩≡επ≡α∞∞φεσ εßσ±∩σ≈σφΦσ. ╧ε²≥ε∞≤ ε±φεΓφα  ≈α±≥ⁿ ΣαφφεΘ ∩≤ßδΦΩα÷ΦΦ ∩ε±Γ ∙σφα ∩≡εßδσ∞α∞ ≡ατΓΦ≥Φ   τ√Ωα Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java. ═α ∩≡Φ∞σ≡σ Java ∞εµφε ∩≡ε±δσΣΦ≥ⁿ ΩαΩ  τ√Ω, ∩σ≡Γεφα≈αδⁿφε ε≡Φσφ≥Φ≡εΓαφφ√Θ, Γ ε±φεΓφε∞, φα φα∩Φ±αφΦσ α∩∩δσ≥εΓ, ∩ε±≥σ∩σφφε ∩≡σΓ≡α∙ασ≥±  Γ ∞ε∙φ√Θ ≤φΦΓσ≡±αδⁿφ√Θ  τ√Ω ∩≡επ≡α∞∞Φ≡εΓαφΦ . ╨ατΓΦ≥Φσ εΩ≡≤µσφΦ  Java φσ≥≡≤Σφε ∩≡ε±δσΣΦ≥ⁿ ∩ε ∞φεπε≈Φ±δσφφ√∞ ∩≤ßδΦΩα÷Φ ∞ Γ WWW, φε Φ∞σφφε Φ⌡ ∞φεπε≈Φ±δσφφε±≥ⁿ Σσδασ≥ ²≥≤ ταΣα≈≤ ΣεΓεδⁿφε ≥≡≤ΣφεΘ: ΓσΣⁿ φ≤µφε φσ ≥εδⁿΩε ≤±∩σΓα≥ⁿ ∩≡ε±∞ε≥≡σ≥ⁿ Γ±σ ²≥Φ, ∩ε≡εΘ ∩≡ε≥ΦΓε≡σ≈ΦΓ√σ, α ∩ε≡εΘ Φ ∩≡ε±≥ε ε°Φßε≈φ√σ ∩≤ßδΦΩα÷ΦΦ, φε Φ ±≤∞σ≥ⁿ ±Σσδα≥ⁿ ∩≡αΓΦδⁿφ√σ Γ√ΓεΣ√ ε ≥σφΣσφ÷Φ ⌡ ≡ατΓΦ≥Φ  Java. ╬Σφα Φτ ∩ε∩√≥εΩ ≤δεΓΦ≥ⁿ ≥αΩΦσ ≥σφΣσφ÷ΦΦ Φ ±⌠ε≡∞≤δΦ≡εΓα≥ⁿ Φ⌡ ±Σσδαφα Γ ΣαφφεΘ ±≥α≥ⁿσ.

╬±φεΓφ√∞ ±ΓεΘ±≥Γε∞ α∩∩δσ≥εΓ  Γδ σ≥±  Γετ∞εµφε±≥ⁿ Γ√∩εδφ ≥ⁿ Φ⌡ φα ≡ατδΦ≈φ√⌡ ∩δα≥⌠ε≡∞α⌡ Φ Γ ≡ατδΦ≈φ√⌡ εΩ≡≤µσφΦ ⌡, φσ εΩατ√Γα  Γ≡σΣφεπε ΓδΦ φΦ  φα α∩∩α≡α≥≤≡≤, ∩≡επ≡α∞∞√ Φ Σαφφ√σ Φ⌡ ∩εδⁿτεΓα≥σδσΘ. ▀τ√Ω, ε≡Φσφ≥Φ≡εΓαφφ√Θ φα ∩≡επ≡α∞∞Φ≡εΓαφΦσ α∩∩δσ≥εΓ Σεδµσφ ∩≡σµΣσ Γ±σπε εßσ±∩σ≈ΦΓα≥ⁿ φαΣσµφε±≥ⁿ Φ ßστε∩α±φε±≥ⁿ. ▌≥επε δσπ≈σ Γ±σπε Σε±≥Φ≈ⁿ Γ Φφ≥σ≡∩≡σ≥Φ≡≤σ∞ε∞  τ√Ωσ, ⌡ε≥  Φφ≥σ≡∩≡σ≥α÷Φ , ΩαΩ ∩≡αΓΦδε, ΓσΣσ≥ Ω ±≤∙σ±≥ΓσφφεΘ ∩ε≥σ≡σ ²⌠⌠σΩ≥ΦΓφε±≥Φ ∩≡επ≡α∞∞√ (εφα Γ√∩εδφ σ≥±  πε≡ατΣε ∞σΣδσφφσσ, ≈σ∞ ∞επδα ß√), ∩≡Φ≈σ∞ ²≥Φ ∩ε≥σ≡Φ ≡α±≥≤≥ (φσδΦφσΘφε!) ± ≡ε±≥ε∞ εß·σ∞α ∩≡επ≡α∞∞√ Φ εß·σ∞α εß≡αßα≥√Γασ∞√⌡ σ■ Σαφφ√⌡. ╧εΩα  τ√Ω Φ±∩εδⁿτ≤σ≥±  Σδ  ≡ατ≡αßε≥ΩΦ ±≡αΓφΦ≥σδⁿφε φσßεδⁿ°Φ⌡ α∩∩δσ≥εΓ (φα∩≡Φ∞σ≡, α∩∩δσ≥α, Γ√ΓεΣ ∙σπε φα ²Ω≡αφ ≥σΩ≤∙σσ ±ε±≥ε φΦσ ≥αßδε α²≡ε∩ε≡≥α, ΦδΦ ßΦ≡µΦ, ΦδΦ ßα±Ωσ≥ßεδⁿφεπε ∞α≥≈α), ²≥Φ ∩ε≥σ≡Φ ∩≡ε±≥ε φσ τα∞σ≈α■≥± . ╤ετΣασ≥±  Φδδ■τΦ , ≈≥ε ±Ωε≡ε Γεεß∙σ ∞εµφε ß≤Σσ≥ ≡σ°Φ≥ⁿ ∩≡εßδσ∞≤ ±ε±≥αΓδσφΦ  φεΓ√⌡ ∩≡επ≡α∞∞ ∩≤≥σ∞ εß·σΣΦφσφΦ  ("±°ΦΓαφΦ ") ≤µσ Φ∞σ■∙Φ⌡±  Γ ±σ≥Φ α∩∩δσ≥εΓ. ┼±δΦ ±≥α≥ⁿ φα ≥αΩ≤■ ≥ε≈Ω≤ τ≡σφΦ , ≥ε Φφ≥σ≡∩≡σ≥Φ≡≤σ∞√Θ  τ√Ω  Γδ σ≥±  φαΦßεδσσ σ±≥σ±≥Γσφφ√∞: ΓσΣⁿ ∩≡επ≡α∞∞α, ±ε±≥ε ∙α  Φτ Γ√τεΓεΓ ßεδⁿ°επε ≈Φ±δα α∩∩δσ≥εΓ, Γ±σ ≡αΓφε Φφ≥σ≡∩≡σ≥Φ≡≤σ≥± . ╩ ±εµαδσφΦ■, ± ≡ε±≥ε∞ εß·σ∞α ≥αΩεΘ ∩≡επ≡α∞∞√ εφα Γεεß∙σ ∩σ≡σ±≥αφσ≥ Γ√∩εδφ ≥ⁿ±  ΓΓΦΣ≤ φσ⌡Γα≥ΩΦ ≡σ±≤≡±εΓ, ΦδΦ ß≤Σσ≥ Γ√∩εδφ ≥ⁿ±  φσ∩≡Φσ∞δσ∞ε Σεδπε. ╧ε²≥ε∞≤ Γ εΩ≡≤µσφΦΦ Java ε±≥≡ε ±≥εΦ≥ ∩≡εßδσ∞α ²⌠⌠σΩ≥ΦΓφε±≥Φ Java-∩≡επ≡α∞∞. └Γ≥ε≡√  τ√Ωα Java ∩≡σΣ≈≤Γ±≥ΓεΓαδΦ ΓετφΦΩφεΓσφΦσ ²≥εΘ ∩≡εßδσ∞√. ╬φΦ ΓΓσδΦ Γ  τ√Ω δσπΩεΓσ±φ√σ ∩≡ε÷σ±±√ (≥≡²Σ√), εßσ±∩σ≈ΦΓ Φ⌡ ∩α≡αδδσδⁿφεσ Γ√∩εδφσφΦσ φα ∞φεπε∩≡ε÷σ±±ε≡φ√⌡ Ωε∞∩ⁿ■≥σ≡α⌡ (Ωε≥ε≡√⌡ ±≥αφεΓΦ≥±  Γ±σ ßεδⁿ°σ), εφΦ ±Ωεφ±≥≡≤Φ≡εΓαδΦ Φφ≥σ≡∩≡σ≥α≥ε≡  τ√Ωα (JavaVM) ≥αΩΦ∞ εß≡ατε∞, ≈≥ε Γ Java-∩≡επ≡α∞∞≤ ∞εµφε ΓΩδ■≈α≥ⁿ ⌠≡απ∞σφ≥√, φα∩Φ±αφφ√σ φα Σ≡≤πΦ⌡  τ√Ωα⌡ Φ Γ√∩εδφ σ∞√σ Γ εß·σΩ≥φε∞ ΩεΣσ (native code) ±εε≥Γσ≥±≥Γ≤■∙σΘ ∩δα≥⌠ε≡∞√. ═ε, ΩαΩ ß≤Σσ≥ ∩εΩαταφε, ²≥Φ ±≡σΣ±≥Γα  τ√Ωα Java φσ ≡σ°α■≥ ∩≡εßδσ∞√ ²⌠⌠σΩ≥ΦΓφε±≥Φ Γ ∩εδφεΘ ∞σ≡σ, ≥αΩ ΩαΩ ∩ε≥σ≡Φ, ±Γ ταφφ√σ ± Φφ≥σ≡∩≡σ≥α÷ΦσΘ φα∞φεπε ßεδⁿ°σ. ┬ ΣαφφεΘ ±≥α≥ⁿσ ß≤Σ≤≥ ≡α±±∞ε≥≡σφ√ ε±φεΓφ√σ ∩≤≥Φ ≡σ°σφΦ  ∩≡εßδσ∞√ ²⌠⌠σΩ≥ΦΓφε±≥Φ ±Φ±≥σ∞√ Java.

╩αΩ ≤µσ ß√δε ε≥∞σ≈σφε, Java - εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√Θ  τ√Ω. ▌≥ε Σαδε Γετ∞εµφε±≥ⁿ τα⌠ΦΩ±Φ≡εΓα≥ⁿ Σε±≥α≥ε≈φε Ωε∞∩αΩ≥φεσ  Σ≡ε  τ√Ωα, επ≡αφΦ≈ΦΓ σπε ±≡αΓφΦ≥σδⁿφε φσßεδⁿ°Φ∞ ≈Φ±δε∞ ≡ατδΦ≈φ√⌡ ±Φφ≥αΩ±Φ≈σ±ΩΦ⌡ Ωεφ±≥≡≤Ω÷ΦΘ, α ßεδⁿ°≤■ ≈α±≥ⁿ Γετ∞εµφε±≥σΘ  τ√Ωα ΓΓεΣΦ≥ⁿ ± ∩ε∞ε∙ⁿ■ Ωδα±±εΓ. ╥αΩ, ≥≡²Σ√ ΓΩδ■≈σφ√ Γ  τ√Ω ± ∩ε∞ε∙ⁿ■ Ωδα±±εΓ Thread Φ ThreadGroup. ┬ ΓΦΣσ Ωδα±±εΓ ≡σαδΦτεΓαφ√ Φ ≥αΩΦσ ßατεΓ√σ  τ√ΩεΓ√σ ∩εφ ≥Φ , ΩαΩ ⌠≤φΩ÷ΦΦ εß≡αßε≥ΩΦ ±≥≡εΩ Φ εß≡αßε≥Ωα Φ±Ωδ■≈σφΦΘ. ╨ατΓΦ≥Φσ  τ√Ωα Java ≥εµσ ΓσΣσ≥±  ∩≤≥σ∞ ΓΩδ■≈σφΦ  Γ φσπε φεΓ√⌡ Ωδα±±εΓ Φ ∩αΩσ≥εΓ (∩αΩσ≥√ τα∞σφ ■≥ Γ ±Φ±≥σ∞σ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java ⌠αΘδ√-ταπεδεΓΩΦ εΩ≡≤µσφΦ  C/C++, εΣφαΩε, Γ ε≥δΦ≈Φσ ε≥ ⌠αΘδεΓ-ταπεδεΓΩεΓ, ∩αΩσ≥√ ±εΣσ≡µα≥ ΩαΩ ±∩σ÷Φ⌠ΦΩα÷Φ■ Ωδα±±εΓ, ≥αΩ Φ Φ⌡ ≡σαδΦτα÷Φ■; ∩εΣ≡εßφσσ ε ∩αΩσ≥α⌡ ±∞. φΦµσ). ╥αΩεΘ ±∩ε±εß ≡α±°Φ≡σφΦ   τ√Ωα ≤Σεßσφ ≥σ∞, ≈≥ε ±≥α≡√σ Ωε∞∩Φδ ≥ε≡√ ε±≥α■≥±  ∩≡ΦπεΣφ√∞Φ Φ Σδ  ≡α±°Φ≡σφφεπε  τ√Ωα. ╠φεπΦσ φεΓ√σ ±ΓεΘ±≥Γα  τ√Ωα, ΓΓσΣσφφ√σ Γ φσπε ≈σ≡στ φεΓ√σ Ωδα±±√ Φ ∩αΩσ≥√, ß≤Σ≤≥ ≡α±±∞ε≥≡σφ√ (ΦδΦ ⌡ε≥  ß√ ≤∩ε∞ φ≤≥√) φΦµσ. ┬ ≈α±≥φε±≥Φ, ß≤Σ≤≥ ≡α±±∞ε≥≡σφ√ ∩αΩσ≥√ GJL Φ SJL, εßσ±∩σ≈ΦΓα■∙Φσ φσΩε≥ε≡√σ ≤Σεßφ√σ Σδ  ∩≡ΦδεµσφΦΘ ±≥≡≤Ω≥≤≡√ εß·σΩ≥εΓ (Ωεφ≥σΘφσ≡√ Φ Φ≥σ≡α≥ε≡√) [6,7]. ┬  τ√Ωσ C++ ≥αΩΦσ Γετ∞εµφε±≥Φ ∩εΣΣσ≡µΦΓα■≥±  °Φ≡εΩε ΦτΓσ±≥φεΘ ßΦßδΦε≥σΩεΘ Ωδα±±εΓ STL [8], Γ 1995 πεΣ≤ ΓΩδ■≈σφφεΘ Γ σπε ±≥αφΣα≡≥.

┬ ταΩδ■≈σφΦσ ß≤Σ≤≥ Ω≡α≥Ωε ≡α±±∞ε≥≡σφ√ Φ φσΩε≥ε≡√σ Σε∩εδφΦ≥σδⁿφ√σ ±≡σΣ±≥Γα εΩ≡≤µσφΦ  Java. ╥αΩΦ∞Φ ±≡σΣ±≥Γα∞Φ  Γδ ■≥± , φα∩≡Φ∞σ≡, web'εΓ±ΩΦΘ ß≡α≤τσ≡ HotJava [9] (Φ∞σφφε ²≥ε∞≤ ß≡α≤τσ≡≤ ±Φ±≥σ∞α Java εß ταφα ±ΓεσΘ ²∞ßδσ∞εΘ - ≈α°σ≈ΩεΘ Σ√∞ ∙σπε±  Ωε⌠σ), α ≥αΩµσ φσßεδⁿ°εΘ εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√Θ  τ√Ω JavaScript [10], ∩≡σΣφατφα≈σφφ√Θ Σδ  ≡ατ≡αßε≥ΩΦ CGI-±Ω≡Φ∩≥εΓ [2, ±. 189 - 199], Φ±∩εδⁿτ≤  Ωεφ±≥≡≤Ω÷ΦΦ  τ√Ωα Java. Netscape Navigator 2.0, ΦδΦ HotJava, Φφ≥σ≡∩≡σ≥Φ≡≤σ≥ ε∩σ≡α≥ε≡√ JavaScript, Ωε≥ε≡√σ ΓΩδ■≈α■≥±  φσ∩ε±≡σΣ±≥Γσφφε Γ ±≥≡αφΦ÷≤ HTML. ═α  τ√Ωσ JavaScript ≈α±≥ε ∩≡επ≡α∞∞Φ≡≤■≥ ≥σΩ≤∙≤■ Σα≥≤, ≡ατδΦ≈φ√σ "ßσπ≤∙Φσ ±≥≡εΩΦ" Φ Σ≡≤πΦσ ∞σφ ■∙Φσ±  Γε Γ≡σ∞σφΦ εß·σΩ≥√, Γ±≥≡σ≈α■∙Φσ±  φα ±≥≡αφΦ÷α⌡ HTML.

╬±φεΓφ√σ Ωεφ±≥≡≤Ω÷ΦΦ  τ√Ωα Java

└Γ≥ε≡√  τ√Ωα Java ±≥≡σ∞ΦδΦ±ⁿ ±Σσδα≥ⁿ σπε Γφσ°φσ ∩ε⌡εµΦ∞ φα °Φ≡εΩε ≡α±∩≡ε±≥≡αφσφφ√Θ ±≡σΣΦ ∩≡επ≡α∞∞Φ±≥εΓ  τ√Ω C++. ╧ε²≥ε∞≤ ±Φφ≥αΩ±Φ±  τ√Ωα Java Γε ∞φεπε∞ ±εΓ∩αΣασ≥ ± ±Φφ≥αΩ±Φ±ε∞ C Φ C++. ╚ ΣσΘ±≥ΓΦ≥σδⁿφε Γ Java ±ε⌡≡αφσφα δσΩ±ΦΩα Φ ε±φεΓφ√σ ±Φφ≥αΩ±Φ≈σ±ΩΦσ Ωεφ±≥≡≤Ω÷ΦΦ C++. ╩αΩ Φ Γ C++ Γ Java ε∩≡σΣσδσφ√ ≤φα≡φ√σ Φ ßΦφα≡φ√σ α≡Φ⌠∞σ≥Φ≈σ±ΩΦσ, δεπΦ≈σ±ΩΦσ Φ ßΦ≥εΓ√σ ε∩σ≡α÷ΦΦ, φσ±ΩεδⁿΩε ε∩σ≡α÷ΦΘ ∩≡Φ±ΓαΦΓαφΦ , ≥≡σφα≡φα  ≤±δεΓφα  ε∩σ≡α÷Φ ,  Γφ√σ Φ φσ Γφ√σ ε∩σ≡α÷ΦΦ ∩≡ΦΓσΣσφΦ  ≥Φ∩εΓ (∩≡Φ≈σ∞ Γ±σ ∩σ≡σ≈Φ±δσφφ√σ ε∩σ≡α÷ΦΦ Φ∞σ■≥ ≥αΩΦσ µσ εßετφα≈σφΦ  Φ ∩≡Φε≡Φ≥σ≥√, ≈≥ε Φ ±εε≥Γσ≥±≥Γ≤■∙Φσ ε∩σ≡α÷ΦΦ C/C++). ╩αΩ Φ Γ C++ Γ Java ε∩≡σΣσδσφ√ ≤∩≡αΓδ ■∙Φσ ε∩σ≡α≥ε≡√ if, if-else, break, switch, return, while, do-while, for, continue (Γ±σ ∩σ≡σ≈Φ±δσφφ√σ ε∩σ≡α≥ε≡√ Φ∞σ■≥ ±σ∞αφ≥ΦΩ≤ αφαδεπΦ≈φ≤■ ±σ∞αφ≥ΦΩσ ±εε≥Γσ≥±≥Γ≤■∙Φ⌡ ε∩σ≡α≥ε≡εΓ C/C++). ╩αΩ Φ Γ C++ Γ Java ε∩≡σΣσδσφ√ Ωδα±±√, Φ∞σ■∙Φσ ταΩ≡√≥≤■ (private), επ≡αφΦ≈σφφε Σε±≥≤∩φ≤■ (protected) Φ εß∙σΣε±≥≤∩φ≤■ (public) ≈α±≥Φ, Ωδα±±√ ±δ≤µα≥ °αßδεφα∞Φ Σδ  ∩ε≡εµΣσφΦ  εß·σΩ≥εΓ, Σδ  Ωδα±±εΓ ε∩≡σΣσδσφε ε≥φε°σφΦσ φα±δσΣεΓαφΦ  (∩≡αΓΣα Γ Java ε≥∞σφσφε ∞φεµσ±≥Γσφφεσ φα±δσΣεΓαφΦσ), ε∩≡σΣσδσφ√ Ωεφ±≥≡≤Ω≥ε≡√ Φ Σσ±≥≡≤Ω≥ε≡√, ≤Ωατα≥σδⁿ this, αß±≥≡αΩ≥φ√σ Ωδα±±√. ═α ∩σ≡Γ√Θ Γτπδ Σ ∞εµσ≥ ∩εΩατα≥ⁿ± , ≈≥ε Java - ∩≡ε±≥ε σ∙σ εΣφα Γσ≡±Φ  C++.

═ε ²≥ε Γ∩σ≈α≥δσφΦσ φσΓσ≡φεσ. ▀τ√Ω Java ±≤∙σ±≥Γσφφε ε≥δΦ≈ασ≥±  ε≥ C++, ≥αΩ ΩαΩ ∩≡Φ ≡ατ≡αßε≥Ωσ Java Φτ C++, Ωε≥ε≡√Θ ß√δ Γτ ≥ τα ε±φεΓ≤, ß√δΦ Φ±Ωδ■≈σφ√ ∩ε≈≥Φ Γ±σ ε±εßσφφε±≥Φ C++, Φ∞σ■∙Φσ Ωε≡φΦ Γ  τ√Ωσ C, Φτ Ωε≥ε≡επε ≡ατΓΦδ±  C++. ┬ ≡στ≤δⁿ≥α≥σ Java εΩαταδ±  φσ ε≈σ≡σΣφ√∞ ΣΦαδσΩ≥ε∞ C++, α φεΓ√∞  τ√Ωε∞, Ωε≥ε≡√Θ δ≤≈°σ C++ Γ ε±φεΓφε∞ τα ±≈σ≥ ≥επε, ≈σπε Γ φσ∞ φσ≥ ∩ε ±≡αΓφσφΦ■ ± C++. ┬ ε≥δΦ≈Φσ ε≥ C++ Java ∩ετΓεδ σ≥ ∩Φ±α≥ⁿ φαΣσµφ√σ, ßστε∩α±φ√σ, ∩≡ε±≥√σ, ≤Σεßφ√σ Φ δσπΩΦσ Σδ  ∩εφΦ∞αφΦ  ∩≡επ≡α∞∞√, ⌡ε≥  Φ ßεδσσ ∞σΣδσφφ√σ, ≈σ∞ ∩≡επ≡α∞∞√, φα∩Φ±αφφ√σ φα C++.

╫≥ε µσ ß√δε Φ±Ωδ■≈σφε Φτ C++ ∩≡Φ ≡ατ≡αßε≥Ωσ Java? ╧≡σµΣσ Γ±σπε ß√δΦ Φ±Ωδ■≈σφ√ ≤Ωατα≥σδΦ. ╙Ωατα≥σδΦ ΦδΦ αΣ≡σ±α Γ ∩α∞ ≥Φ - φαΦßεδσσ ∞ε∙φεσ ±≡σΣ±≥Γε φα∩Φ±αφΦ  Γ√±εΩε²⌠⌠σΩ≥ΦΓφ√⌡ ∩≡επ≡α∞∞ Γ εΩ≡≤µσφΦΦ C/C++, φε ²≥ε Φ φαΦßεδσσ ε∩α±φεσ ±≡σΣ±≥Γε ²≥Φ⌡  τ√ΩεΓ. ╚ Σσδε Σαµσ φσ Γ ≥ε∞, ≈≥ε, ΩαΩ ε≥∞σ≈α■≥ αΓ≥ε≡√  τ√Ωα Java, ∩≡Φ φσΣε±≥α≥ε≈φε αΩΩ≤≡α≥φε∞ εß≡α∙σφΦΦ ± ≤Ωατα≥σδ ∞Φ ∞επ≤≥ ΓετφΦΩα≥ⁿ ≥≡≤Σφε ≤±≥≡αφΦ∞√σ ε°ΦßΩΦ Γ C++-∩≡επ≡α∞∞σ. ┴εδσσ ±≤∙σ±≥Γσφφ√σ ≥≡≤Σφε±≥Φ Γ ≡αßε≥σ ± ≤Ωατα≥σδ ∞Φ Γ√ Γδ ■≥±  ∩≡Φ ≡ατ≡αßε≥Ωσ ≡α±∩≡σΣσδσφφ√⌡ ∩≡επ≡α∞∞, ΩεπΣα ≥≡σß≤σ≥±  ε±≤∙σ±≥ΓΦ≥ⁿ ≤Σαδσφφ√Θ Γ√τεΓ ⌠≤φΩ÷ΦΦ (∞σ≥εΣα), ±≡σΣΦ ∩α≡α∞σ≥≡εΓ Ωε≥ε≡εΘ σ±≥ⁿ ≤Ωατα≥σδΦ. ┼∙σ ßεδσσ ±≤∙σ±≥Γσφφ√σ ≥≡≤Σφε±≥Φ ±Γ ταφ√ ± Γετ∞εµφε±≥ⁿ■ ≡αßε≥√ ± ∩≡εΦτΓεδⁿφ√∞Φ αΣ≡σ±α∞Φ ∩α∞ ≥Φ ≈σ≡στ ßσ±≥Φ∩εΓ√σ ≤Ωατα≥σδΦ, ≥αΩ ΩαΩ ²≥ε ∩ετΓεδ σ≥ ∩εδφε±≥ⁿ■ Φπφε≡Φ≡εΓα≥ⁿ τα∙Φ≥≤ ∩α∞ ≥Φ.

┬  τ√Ωσ Java φσ≥ ≤Ωατα≥σδσΘ; Γ±σ εß·σΩ≥√ ∩≡επ≡α∞∞√ ≡α±∩εδεµσφ√ Γ Ω≤≈σ (heap) Φ Σε±≥≤∩φ√ ∩ε εß·σΩ≥φ√∞ ±±√δΩα∞, Ωε≥ε≡√σ ∩≡σΣ±≥αΓδ ■≥ εß·σΩ≥√ Γε Γ±σ⌡ ±≥≡≤Ω≥≤≡α⌡, Γ Ωε≥ε≡√σ ∞επ≤≥ Γ⌡εΣΦ≥ⁿ εß·σΩ≥√ Γ Ωα≈σ±≥Γσ Ωε∞∩εφσφ≥εΓ. ╧ε±ΩεδⁿΩ≤ ∩≡Φ ≡αßε≥σ ± Ω≤≈σΘ ∩≡επ≡α∞∞Φ±≥ φσ ∞εµσ≥ ∩εδⁿτεΓα≥ⁿ±  ΓταΦ∞φ√∞ ≡α±∩εδεµσφΦσ∞ εß·σΩ≥εΓ Γ ∩α∞ ≥Φ, ²≥ε ≡σ°σφΦσ ετφα≈ασ≥, ≈≥ε Φτ  τ√Ωα Java Φ±Ωδ■≈σφα "Ω≤±ε≈φε-δΦφσΘφα " ∞εΣσδⁿ ∩α∞ ≥Φ ±Φ±≥σ∞√ C/C++, ∩≡Φ Ωε≥ε≡εΘ ∞α±±ΦΓ - δΦ°ⁿ ≥ε≈Ωα ( ≈σΘΩα) ∩α∞ ≥Φ, φα Ωε≥ε≡≤■ ±±√δασ≥±  ≤Ωατα≥σδⁿ ²≥επε ∞α±±ΦΓα; Ωεφσ≈φε, ²≥ε ≡σ°σφΦσ Φ±Ωδ■≈Φδε φσ∩ε±≡σΣ±≥Γσφφ√Θ Σε±≥≤∩ Ω ∩α∞ ≥Φ, φε εφε ≤±δεµφΦδε ≡αßε≥≤ ± ²δσ∞σφ≥α∞Φ ∞α±±ΦΓεΓ Φ, σ±≥σ±≥Γσφφε,  Γδ σ≥±  Φ±≥ε≈φΦΩε∞ ßεδσσ φΦτΩεΘ ²⌠⌠σΩ≥ΦΓφε±≥Φ Java-∩≡επ≡α∞∞ ∩ε ±≡αΓφσφΦ■ ± C++-∩≡επ≡α∞∞α∞Φ. ═σεß⌡εΣΦ∞ε ε≥∞σ≥Φ≥ⁿ, ≈≥ε εß·σΩ≥φ√σ ±±√δΩΦ  τ√Ωα Java ±εΣσ≡µα≥ Φφ⌠ε≡∞α÷Φ■ ε Ωδα±±σ εß·σΩ≥εΓ, φα Ωε≥ε≡√σ εφΦ ±±√δα■≥± , ≥αΩ ≈≥ε εß·σΩ≥φ√σ ±±√δΩΦ - ²≥ε φσ ≤Ωατα≥σδΦ, α Σσ±Ω≡Φ∩≥ε≡√ εß·σΩ≥εΓ. ═αδΦ≈Φσ Σσ±Ω≡Φ∩≥ε≡εΓ ∩ετΓεδ σ≥ JavaVM Γ√∩εδφ ≥ⁿ ∩≡εΓσ≡Ω≤ ±εΓ∞σ±≥φε±≥Φ ≥Φ∩εΓ φα ⌠ατσ Φφ≥σ≡∩≡σ≥α÷ΦΦ ΩεΣα, Γετß≤µΣα  Φ±Ωδ■≈σφΦσ Γ ±δ≤≈ασ ε°ΦßΩΦ.

┬ Java ∩σ≡σ±∞ε≥≡σφα Φ Ωεφ÷σ∩÷Φ  C/C++ ΣΦφα∞Φ≈σ±Ωεπε ≡α±∩≡σΣσδσφΦ  ∩α∞ ≥Φ. ╚±Ωδ■≈σφα ⌠≤φΩ÷Φ  ε±ΓεßεµΣσφΦ  ΣΦφα∞Φ≈σ±ΩΦ Γ√ΣσδσφφεΘ ∩α∞ ≥Φ free(), ≥αΩ ΩαΩ ≡αßε≥α ± φσΘ ±ε≈≥σφα ±δεµφεΘ Φ ≈≡σΓα≥εΘ ∞φεπΦ∞Φ ε°ΦßΩα∞Φ Γ ∩≡επ≡α∞∞σ, Γετ∞εµφε±≥ⁿ Ωε≥ε≡√⌡ ≤∞σφⁿ°ασ≥ φαΣσµφε±≥ⁿ C++-∩≡επ≡α∞∞. ┬∞σ±≥ε ²≥επε Γ Java ≡ατ≡αßε≥αφα Φ ≡σαδΦτεΓαφα ±Φ±≥σ∞α αΓ≥ε∞α≥Φ≈σ±Ωεπε ε±ΓεßεµΣσφΦ  ΣΦφα∞Φ≈σ±ΩΦ Γ√ΣσδσφφεΘ ∩α∞ ≥Φ (±ßε≡∙ΦΩ ∞≤±ε≡α). ═αδΦ≈Φσ ∞σ⌡αφΦτ∞α αΓ≥ε∞α≥Φ≈σ±ΩεΘ ±ßε≡ΩΦ ∞≤±ε≡α, σ±≥σ±≥Γσφφεσ Σδ  Φφ≥σ≡∩≡σ≥Φ≡≤σ∞επε  τ√Ωα, ≤±δεµφ σ≥ ≡ατ≡αßε≥Ω≤ ε∩≥Φ∞ΦτΦ≡≤■∙Φ⌡ Ωε∞∩Φδ ≥ε≡εΓ Σδ  ≥αΩεπε  τ√Ωα. ╥σ∞ φσ ∞σφσσ ΩαΩ ∩εΩατ√Γασ≥ ∩≡αΩ≥ΦΩα Φ±∩εδⁿτεΓαφΦ  Java φ≤µΣα Γ ≥αΩΦ⌡ Ωε∞∩Φδ ≥ε≡α⌡ Φ∞σσ≥±  (±∞. φΦµσ).

╤≥≡σ∞δσφΦσ ≤∩≡ε±≥Φ≥ⁿ Java-∩≡επ≡α∞∞√ Φ ±Σσδα≥ⁿ Φ⌡ ßεδσσ ∩εφ ≥φ√∞Φ ∩≡ΦΓσδε Ω ε≥Ωατ≤ ε≥ ⌠αΘδεΓ-ταπεδεΓΩεΓ (h-⌠αΘδεΓ) Φ ∩≡σ∩≡ε÷σ±±ε≡φεΘ εß≡αßε≥ΩΦ. ╧ε ∞φσφΦ■ αΓ≥ε≡εΓ Java ⌠αΘδ√-ταπεδεΓΩΦ, ±εΣσ≡µα∙Φσ ∩≡ε≥ε≥Φ∩√ Ωδα±±εΓ Φ ≡α±∩≡ε±≥≡αφ σ∞√σ ε≥Σσδⁿφε ε≥ ΣΓεΦ≈φεπε ΩεΣα ²≥Φ⌡ Ωδα±±εΓ, ≤±δεµφ ■≥ ≤∩≡αΓδσφΦσ Γσ≡±Φ ∞Φ, α ∞σ⌡αφΦτ∞ ∩εΣΣσ≡µΩΦ ²≥εΘ Γετ∞εµφε±≥Φ Γ C/C++ ∩ε∞επασ≥ τδεφα∞σ≡σφφ√∞ ∩εδⁿτεΓα≥σδ ∞ ∩εδ≤≈α≥ⁿ Σε±≥≤∩ Ω ∩≡ΦΓα≥φ√∞ Σαφφ√∞ εß·σΩ≥εΓ. ┬ Java-∩≡επ≡α∞∞α⌡ ±∩σ÷Φ⌠ΦΩα÷Φ  Ωδα±±α Φ σπε ≡σαδΦτα÷Φ  Γ±σπΣα ±εΣσ≡µα≥±  Γ εΣφε∞ Φ ≥ε∞ µσ ⌠αΘδσ. ╧≡σ∩≡ε÷σ±±ε≡ C/C++ ± σπε Γετ∞εµφε±≥ ∞Φ ≤±δεΓφεΘ Ωε∞∩Φδ ÷ΦΦ Σασ≥ Γετ∞εµφε±≥ⁿ ∩Φ±α≥ⁿ φσ∩εφ ≥φ√σ ≥σΩ±≥√ ∩≡επ≡α∞∞, ≈≥ε, Ωεφσ≈φε, φσ ε≈σφⁿ ⌡ε≡ε°ε. ═ε ε≥Ωατ ε≥ ∩≡σ∩≡ε÷σ±±ε≡α ∩≡ΦΓσδ Ω φσΓετ∞εµφε±≥Φ ∩α≡α∞σ≥≡Φτα÷ΦΦ Ωδα±±εΓ ∩ε ≥Φ∩α∞ (Ωδα±±α∞) Φ⌡ ≈δσφεΓ, ≈≥ε ≤±δεµφ σ≥ ∩≡επ≡α∞∞Φ≡εΓαφΦσ ∩≡ε±≥√⌡ Γσ∙σΘ (φα∩≡Φ∞σ≡, φα Java, Γ ε≥δΦ≈Φσ ε≥ C++, φσδⁿτ  Φ∞σ≥ⁿ ∞α±±ΦΓ, ²δσ∞σφ≥α∞Φ Ωε≥ε≡επε  Γδ ■≥±  εß·σΩ≥√ ∩≡εΦτΓεδⁿφεπε Ωδα±±α). ╚, Ωεφσ≈φε, Φτ Java Φ±Ωδ■≈σφ φσφαΓΦΣΦ∞√Θ ∞φεπΦ∞Φ ∩≡επ≡α∞∞Φ±≥α∞Φ-∩σΣαφ≥α∞Φ ε∩σ≡α≥ε≡ goto, τα∞σφσφφ√Θ φα continue Φ break ± ∞σ≥ΩεΘ.

╩≡ε∞σ ≥επε Φτ Java Φ±Ωδ■≈σφ√ "Σ≤ßδΦ≡≤■∙Φσ" ∩εφ ≥Φ  Φ Ωεφ±≥≡≤Ω÷ΦΦ  τ√Ωα C++, Γ ≈α±≥φε±≥Φ, ⌠≤φΩ÷ΦΦ (Γ Java σ±≥ⁿ ≥εδⁿΩε ∞σ≥εΣ√ Ωδα±±εΓ), α ≥αΩµσ ±≥≡≤Ω≥≤≡√ (struct) Φ εß·σΣΦφσφΦ  (union) (Γ Java Σδ  ²≥επε Φ±∩εδⁿτ≤■≥±  α≥≡Φß≤≥√ Ωδα±±εΓ).

═σεß⌡εΣΦ∞ε ≥αΩµσ ε≥∞σ≥Φ≥ⁿ, ≈≥ε Γ Ω≤≈σ ≡ατ∞σ∙α■≥±  Γ±σ Σαφφ√σ Java-∩≡επ≡α∞∞√. ▌≥ε ετφα≈ασ≥, ≈≥ε ⌡ε≥  Γ Java Φ ε∩≡σΣσδσφ√ Σαφφ√σ ∩≡ε±≥√⌡ ≥Φ∩εΓ (byte, short, int, long, char, float, double, boolean) ∩σ≡σ∞σφφ√σ ²≥Φ⌡ ≥Φ∩εΓ ∞επ≤≥ ß√≥ⁿ δΦ°ⁿ α≥≡Φß≤≥α∞Φ εß·σΩ≥εΓ. ╬≥±■Σα ±δσΣ≤σ≥, ≈≥ε σ±δΦ φ≤µφε ταΓσ±≥Φ ∩σ≡σ∞σφφ≤■, φα∩≡Φ∞σ≡, ÷σδεπε ≥Φ∩α (int), ≥ε φσεß⌡εΣΦ∞ε ταΓσ±≥Φ εß·σΩ≥ Ωδα±±α Int, Ωε≥ε≡√Θ Φ∞σσ≥ εΣΦφ α≥≡Φß≤≥ ≥Φ∩α int Φ ΣΓα ∞σ≥εΣα - ±εε≥Γσ≥±≥Γσφφε ≈≥σφΦ  τφα≈σφΦ  ²≥επε α≥≡Φß≤≥α Φ τα∩Φ±Φ Γ φσπε φεΓεπε τφα≈σφΦ .

╥αΩΦ∞ εß≡ατε∞, φσ±∞ε≥≡  φα Γφσ°φσσ ±⌡εΣ±≥Γε ± C++, Java φσ ∩≡ε±≥ε  Γδ σ≥±  φεΓ√∞  τ√Ωε∞ ∩≡επ≡α∞∞Φ≡εΓαφΦ , εφ φα±≥εδⁿΩε πδ≤ßεΩε ε≥δΦ≈ασ≥±  ε≥ C++, ≈≥ε ΩεφΓσ≡≥Φ≡εΓα≥ⁿ ≡ατ≤∞φ√∞ εß≡ατε∞ C++-∩≡επ≡α∞∞√ φα  τ√Ω Java (ΦδΦ φαεßε≡ε≥) - ε≈σφⁿ ±δεµφα  ταΣα≈α.

╟αΓσ≡°α  Ω≡α≥ΩΦΘ εßτε≡  τ√Ωα Java, ≡α±±∞ε≥≡Φ∞ σπε Ωεφ±≥≡≤Ω÷ΦΦ, Ωε≥ε≡√⌡ φσ≥ Γ C++. ▌≥ε ε∩σ≡α≥ε≡√ package, import, interface Φ implements.

╬∩σ≡α≥ε≡ package, ∩ε∞σ∙ασ∞√Θ Γ φα≈αδσ Φ±⌡εΣφεπε ∩≡επ≡α∞∞φεπε ⌠αΘδα ε∩≡σΣσδ σ≥ ∩αΩσ≥, ≥.σ. εßδα±≥ⁿ Γ ∩≡ε±≥≡αφ±≥Γσ Φ∞σφ Ωδα±±εΓ, Γ Ωε≥ε≡εΘ ε∩≡σΣσδ ■≥±  Φ∞σφα Ωδα±±εΓ, ±εΣσ≡µα∙Φ⌡±  Γ ²≥ε∞ ⌠αΘδσ; Γφ≤≥≡Φ ≤ΩαταφφεΘ εßδα±≥Φ ∩≡ε±≥≡αφ±≥Γα Φ∞σφ ∞εµφε Γ√ΣσδΦ≥ⁿ ∩εΣεßδα±≥Φ, Φ±∩εδⁿτ≤  Γ±σ ≥ε≥ µσ ε∩σ≡α≥ε≡ package; ΣσΘ±≥ΓΦσ ε∩σ≡α≥ε≡α package αφαδεπΦ≈φε ΣσΘ±≥ΓΦ■ εß· ΓδσφΦ  ΣΦ≡σΩ≥ε≡ΦΦ φα Φ∞σφα ⌠αΘδεΓ. ─δ  εßσ±∩σ≈σφΦ  Γετ∞εµφε±≥Φ Φ±∩εδⁿτεΓαφΦ  Ωε≡ε≥ΩΦ⌡ Φ∞σφ Ωδα±±εΓ, ∩ε∞σ∙σφφ√⌡ Γ Σ≡≤πΦσ ∩αΩσ≥√, Φ±∩εδⁿτ≤σ≥±  ε∩σ≡α≥ε≡ import. ╧αΩσ≥, ε∩≡σΣσδ σ∞√Θ ε∩σ≡α≥ε≡ε∞ package ∩ε ±≤∙σ±≥Γ≤  Γδ σ≥±  ±≥≡≤Ω≥≤≡φεΘ ≈α±≥ⁿ■ ∩≡εσΩ≥Φ≡≤σ∞εΘ ∩≡επ≡α∞∞φεΘ ±Φ±≥σ∞√, Γ α±∩σΩ≥σ Φφ≥σ≡⌠σΘ±α Γε ∞φεπε∞ ∩ε⌡εµσΘ φα εß·σΩ≥, φε Φ∞σ■∙σΘ ßεδσσ ±δεµφ≤■ ±≥≡≤Ω≥≤≡≤ (εφ Φπ≡ασ≥ ≡εδⁿ ∩εΣ±Φ±≥σ∞√). ┼±δΦ ΓΓσ±≥Φ ∩αΩσ≥√ (∩εΣ±Φ±≥σ∞√) Γ εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√σ ∞σ≥εΣεδεπΦΦ ±≥≡≤Ω≥≤≡φεπε ∩≡εσΩ≥Φ≡εΓαφΦ  ∩≡επ≡α∞∞φ√⌡ ±Φ±≥σ∞ (φα∩≡Φ∞σ≡, Γ ΦτΓσ±≥φ≤■ ∞σ≥εΣεδεπΦ■ OMT [11]), εφΦ ±≥αφ≤≥ σ∙σ ßεδσσ ∞ε∙φ√∞ ±≡σΣ±≥Γε∞ ∩εΣΣσ≡µΩΦ ∩≡επ≡α∞∞φ√⌡ ∩≡εσΩ≥εΓ.

╬∩σ≡α≥ε≡ interface, ∩εταΦ∞±≥ΓεΓαφφ√Θ ≡ατ≡αßε≥≈ΦΩα∞Φ Java Φτ  τ√Ωα Objective_C (≥α∞ αφαδεπΦ≈φεσ ∩εφ ≥Φσ φατ√Γασ≥±  ∩≡ε≥εΩεδε∞), ε≥Ω≡√Γασ≥ ε∩≡σΣσδσφΦσ Φφ≥σ≡⌠σΘ±α. ╚φ≥σ≡⌠σΘ± - ²≥ε φαßε≡ ±Φπφα≥≤≡ ∞σ≥εΣεΓ ßστ Φτ ≡σαδΦτα÷ΦΦ. ╩αµΣ√Θ Φφ≥σ≡⌠σΘ± ∞εµσ≥ ß√≥ⁿ ≡σαδΦτεΓαφ εΣφΦ∞ ΦδΦ φσ±ΩεδⁿΩΦ∞Φ Ωδα±±α∞Φ, ∩≡Φ ²≥ε∞ Ωδα±±√, ≡σαδΦτ≤■∙Φσ εΣΦφ Φ ≥ε≥ µσ Φφ≥σ≡⌠σΘ±, ∞επ≤≥ ß√≥ⁿ φΦΩαΩ φσ ±Γ ταφ√ ∩ε Φσ≡α≡⌡ΦΦ φα±δσΣεΓαφΦ . ╩δα±± ∞εµσ≥ ≡σαδΦτεΓ√Γα≥ⁿ δ■ßεσ ≈Φ±δε Φφ≥σ≡⌠σΘ±εΓ (±∩Φ±εΩ Φφ≥σ≡⌠σΘ±εΓ, ≡σαδΦτ≤σ∞√⌡ φσΩε≥ε≡√∞ Ωδα±±ε∞ ≤Ωατ√Γασ≥±  Γ ε∩σ≡α≥ε≡σ implements, Σε∩εδφ ■∙Φ∞ ε∩≡σΣσδσφΦσ ±εε≥Γσ≥±≥Γ≤■∙σπε Ωδα±±α). ═α ∞φεµσ±≥Γσ Φφ≥σ≡⌠σΘ±εΓ ≥εµσ ε∩≡σΣσδσφα Φσ≡α≡⌡Φ  ∩ε φα±δσΣεΓαφΦ■, φε εφα φσ Φ∞σσ≥ ε≥φε°σφΦ  Ω Φσ≡α≡⌡ΦΦ Ωδα±±εΓ. ┬  τ√Ωσ Java Φφ≥σ≡⌠σΘ±√ εßσ±∩σ≈ΦΓα■≥ ßεδⁿ°≤■ ≈α±≥ⁿ ≥εΘ ⌠≤φΩ÷Φεφαδⁿφε±≥Φ, Ωε≥ε≡α  Γ C++ εß√≈φε ∩≡σΣ±≥αΓδ σ≥±  ± ∩ε∞ε∙ⁿ■ ∞σ⌡αφΦτ∞α ∞φεµσ±≥Γσφφεπε φα±δσΣεΓαφΦ .

┴ΦßδΦε≥σΩα Ωδα±±εΓ  τ√Ωα Java

╤Φ±≥σ∞φα  ßΦßδΦε≥σΩα Ωδα±±εΓ  τ√Ωα Java ±εΣσ≡µΦ≥ Ωδα±±√ Φ ∩αΩσ≥√, ≡σαδΦτ≤■∙Φσ ≡ατδΦ≈φ√σ ßατεΓ√σ Γετ∞εµφε±≥Φ  τ√Ωα. ╠σ≥εΣ√ Ωδα±±εΓ, ΓΩδ■≈σφφ√⌡ Γ ²≥≤ ßΦßδΦε≥σΩ≤, Γ√τ√Γα■≥±  Φτ JavaVM Γε Γ≡σ∞  Φφ≥σ≡∩≡σ≥α÷ΦΦ Java-∩≡επ≡α∞∞√. ╚Σσ  ≡σαδΦτεΓ√Γα≥ⁿ ≈α±≥ⁿ  τ√ΩεΓ√⌡ Γετ∞εµφε±≥σΘ ± ∩ε∞ε∙ⁿ■ ±Φ±≥σ∞φ√⌡ ßΦßδΦε≥σΩ ß√δα ≤±∩σ°φε ε±≤∙σ±≥Γδσφα σ∙σ Γ  τ√Ωσ C Φ σπε ∩≡σσ∞φΦΩσ C/C++ (ε≥Ω≤Σα Java Φ Γτ δα ²≥≤ ΦΣσ■). ═ε σ±δΦ Γ ±Φ±≥σ∞σ ∩≡επ≡α∞∞Φ≡εΓαφΦ  C/C++ φ≤µφα ß√δα ΦτΓσ±≥φα  ε±≥ε≡εµφε±≥ⁿ ∩≡Φ ≡ατΓΦ≥ΦΦ  τ√Ωα ± ∩ε∞ε∙ⁿ■ ßΦßδΦε≥σΩ, ≥αΩ ΩαΩ ßΦßδΦε≥σΩΦ Γφε±ΦδΦ Γ  τ√Ω ²δσ∞σφ≥ Φφ≥σ≡∩≡σ≥α÷ΦΦ, ±φΦµα  ²⌠⌠σΩ≥ΦΓφε±≥ⁿ ∩≡επ≡α∞∞φεπε ΩεΣα, ≥ε Γ ±Φ±≥σ∞σ Java Φ ≥αΩ Γ±  ∩≡επ≡α∞∞α Φφ≥σ≡∩≡σ≥Φ≡≤σ≥±  φα JavaVM, ≥αΩ ≈≥ε Γετ∞εµφε±≥Φ ≡α±°Φ≡ ≥ⁿ  τ√Ω, ΓΓεΣ  Γ±σ φεΓ√σ Φ φεΓ√σ Ωδα±±√ Φ ∩αΩσ≥√ Γ ±Φ±≥σ∞φ≤■ ßΦßδΦε≥σΩ≤, ∩≡αΩ≥Φ≈σ±ΩΦ φσεπ≡αφΦ≈σφ√.

┬√°σ ≤µσ ß√δε ≤∩ε∞ φ≤≥ε, ≈≥ε ± ∩ε∞ε∙ⁿ■ ßΦßδΦε≥σ≈φ√⌡ Ωδα±±εΓ Thread Φ ThreadGroup Γ Java ΓΓσΣσφ√ δσπΩεΓσ±φ√σ ∩≡ε÷σ±±√ (≥≡²Σ√). ─δ  ±Φφ⌡≡εφΦτα÷ΦΦ ≥≡²ΣεΓ Γ Java Φ±∩εδⁿτ≤■≥±  ∞εφΦ≥ε≡√ ╒εα≡α, ± ∩ε∞ε∙ⁿ■ Ωε≥ε≡√⌡ ε±≤∙σ±≥Γδ σ≥±  ±Φφ⌡≡εφΦτα÷Φ  ε≈σ≡σΣσΘ (± ∩≡Φε≡Φ≥σ≥α∞Φ) Ω ±εΓ∞σ±≥φε Φ±∩εδⁿτ≤σ∞√∞ Σαφφ√∞. ╠σ⌡αφΦτ∞ φα±δσΣεΓαφΦ  ∩ετΓεδ σ≥ ΓΓεΣΦ≥ⁿ Γ ≤∩≡αΓδσφΦσ ≥≡²Σα∞Φ φεΓ√σ Γετ∞εµφε±≥Φ: ∞εµφε ≡ατ≡αßε≥α≥ⁿ "±ΓεΦ ≥≡²Σ√", φα±δσΣ≤ ±ⁿ ε≥ Ωδα±±α Thread.

╤Φ±≥σ∞φα  ßΦßδΦε≥σΩα Java ±εΣσ≡µΦ≥ ≥αΩµσ Ωδα±±√ String Φ StringBuffer, ∩εΣΣσ≡µΦΓα■∙Φσ ≡αßε≥≤ ±ε ±≥≡εΩα∞Φ. ▌≥Φ Ωδα±±√ εß· Γδσφ√ ΩαΩ final, ≈≥ε ετφα≈ασ≥, ≈≥ε ε≥ ²≥Φ⌡ Ωδα±±εΓ φσδⁿτ  ∩≡εΦτΓεΣΦ≥ⁿ ∩εΣΩδα±±√. ╩δα±± String ±εΣσ≡µΦ≥ ε±φεΓφ√σ ε∩σ≡α÷ΦΦ Σδ  ≡αßε≥√ ±ε ±≥≡εΩα∞Φ (±δΦ φΦσ ±≥≡εΩ, ±≡αΓφσφΦσ ±≥≡εΩ, ∩εΦ±Ω Φ ΦτΓδσ≈σφΦσ ±Φ∞ΓεδεΓ Φ ≥.∩.). ╬≥∞σ≥Φ∞, ≈≥ε ε∩σ≡α÷Φ  (∞σ≥εΣ) ΩεφΩα≥σφα÷ΦΦ (±δΦ φΦ ) ±≥≡εΩ εßετφα≈ασ≥±  ±Φ∞Γεδε∞ "+", ∩≡Φ≈σ∞ ²≥ε σΣΦφ±≥Γσφφ√Θ ±δ≤≈αΘ Γ  τ√Ωσ Java, ΩεπΣα Φ±∩εδⁿτεΓαφα ∩σ≡σπ≡≤τΩα τφαΩεΓ ε∩σ≡α÷ΦΘ (Γ ε≥δΦ≈Φσ ε≥ C++, °Φ≡εΩε Φ±∩εδⁿτ≤■∙σ∞ ∩σ≡σπ≡≤τΩ≤ ε∩σ≡α÷ΦΘ +, * Φ Σ≡., ≈≥ε ∩≡ΦΓεΣΦ≥ Ω ∩δε⌡ε ∩εφΦ∞ασ∞√∞ ≥σΩ±≥α∞ ∩≡επ≡α∞∞, Γ Java τα∩≡σ∙σφα ∩σ≡σπ≡≤τΩα τφαΩεΓ ε∩σ≡α÷ΦΘ). ╩δα±± StringBuffer  Γδ σ≥±  ßδΦτφσ÷ε∞ Ωδα±±α String, φε, Γ ε≥δΦ≈Φσ ε≥ Ωδα±±α String, εß·σΩ≥√ Ωε≥ε≡επε φσδⁿτ  Φτ∞σφ ≥ⁿ (φεΓα  ±≥≡εΩα - ²≥ε φεΓ√Θ εß·σΩ≥ Ωδα±±α String), ±≥≡εΩΦ,  Γδ ■∙Φσ±  εß·σΩ≥α∞Φ Ωδα±±α StringBuffer, ∞εµφε Φτ∞σφ ≥ⁿ.

╩αΩ Φ Γ ±Φ±≥σ∞σ ∩≡επ≡α∞∞Φ≡εΓαφΦ  C/C++, Γ ±Φ±≥σ∞φ≤■ ßΦßδΦε≥σΩ≤ Java ΓΩδ■≈σφ ∩αΩσ≥ java.io, Γ Ωε≥ε≡ε∞ ≡σαδΦτεΓαφ√ ∩ε≥εΩΦ ΓΓεΣα-Γ√ΓεΣα. ┬ετ∞εµφε±≥Φ ΓΓεΣα-Γ√ΓεΣα Γ Java, Γ ε±φεΓφε∞ αφαδεπΦ≈φ√ ≡σαδΦτα÷ΦΦ ΓΓεΣα-Γ√ΓεΣα Γ ±Φ±≥σ∞σ C/C++.

┬ ±Φ±≥σ∞φ≤■ ßΦßδΦε≥σΩ≤ Java Γ⌡εΣ ≥ ∩αΩσ≥√ java.lang Φ java.util, Ωε≥ε≡√σ ±εΣσ≡µα≥ φαßε≡√ Γ±∩ε∞επα≥σδⁿφ√⌡ Ωδα±±εΓ, °Φ≡εΩε Φ±∩εδⁿτ≤σ∞√⌡ Γ Σ≡≤πΦ⌡ Γ±≥≡εσφφ√⌡ ∩αΩσ≥α⌡ Java Φ, σ±≥σ±≥Γσφφε Γ ∩≡ΦΩδαΣφ√⌡ ∩αΩσ≥α⌡ Φ Ωδα±±α⌡, ≡ατ≡αßα≥√Γασ∞√⌡ ∩εδⁿτεΓα≥σδ ∞Φ εΩ≡≤µσφΦ  Java. ┬ ≈α±≥φε±≥Φ, ∩αΩσ≥ java.lang ±εΣσ≡µΦ≥ αß±≥≡αΩ≥φ√Θ Ωδα±± Number, ∩≡σΣ±≥αΓδ ■∙ΦΘ ±εßεΘ Φφ≥σ≡⌠σΘ± Σδ  ≡αßε≥√ ±ε Γ±σ∞Φ ±Ωαδ ≡φ√∞Φ ≥Φ∩α∞Φ, σπε ∩εΣΩδα±±√ Integer, Long, Float Φ Double,  Γδ ■∙Φσ±  Ωδα±±α∞Φ-εßεδε≈Ωα∞Φ Σδ  τφα≈σφΦΘ ±εε≥Γσ≥±≥Γ≤■∙Φ⌡ ≥Φ∩εΓ (ΩαµΣ√Θ εß·σΩ≥ Ωδα±±α-εßεδε≈ΩΦ ±εΣσ≡µΦ≥ εΣφε τφα≈σφΦσ ±εε≥Γσ≥±≥Γ≤■∙σπε ≥Φ∩α Φ Φ∞σσ≥ ∞σ≥εΣ√, εßσ±∩σ≈ΦΓα■∙Φσ Σε±≥≤∩ Ω ≤Ωαταφφε∞≤ τφα≈σφΦ■), α ≥αΩµσ Ωδα±±√-εßεδε≈ΩΦ Character Φ Boolean. ╚τ Σ≡≤πΦ⌡ Ωδα±±εΓ ²≥Φ⌡ ∩αΩσ≥εΓ ∞εµφε ε≥∞σ≥Φ≥ⁿ Ωδα±± Math, Ωε≥ε≡√Θ ±εΣσ≡µΦ≥ ⌠≤φΩ÷ΦΦ ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ, Φ±∩εδⁿτ≤σ∞√σ Γ ⌠ΦτΦ≈σ±ΩΦ⌡ Φ ≥σ⌡φΦ≈σ±ΩΦ⌡ ≡α±≈σ≥α⌡, α ≥αΩµσ Ωεφ±≥αφ≥√ E (∩≡ΦßδΦτΦ≥σδⁿφε 2.72) Φ PI (∩≡ΦßδΦτΦ≥σδⁿφε 3.14).

╚φ≥σπ≡α÷Φ  ±Φ±≥σ∞√ Java ± ±σ≥ⁿ■ Internet εßσ±∩σ≈ΦΓασ≥±  ∩αΩσ≥ε∞ java.lang, Γ⌡εΣ ∙Φ∞ Γ ±Φ±≥σ∞φ≤■ ßΦßδΦε≥σΩ≤ Java. ╧≡Φ ²≥ε∞ αΣ≡σ±α αßεφσφ≥εΓ, ∩≡Φφ ≥√σ Γ Internet, ∩εΣΣσ≡µΦΓα■≥±  Ωδα±±ε∞ InetAddress, Σδ  ∩εΣΣσ≡µΩΦ ΣσΘ≥απ≡α∞∞ (∩αΩσ≥εΓ ∩≡ε≥εΩεδα UDP) Φ±∩εδⁿτ≤■≥±  Ωδα±±√ DatagramPacket Φ DatagramSocket, Ωδα±± Socket ∩εΣΣσ≡µΦΓασ≥ ±εΩσ≥√ TCP/IP, Σδ  ±ετΣαφΦ  ±σ≡Γσ≡εΓ Internet Φ±∩εδⁿτ≤■≥±  εß·σΩ≥√ Ωδα±±α ServerSocket. ═αΩεφσ÷, Φ∞σσ≥±  Ωδα±± URL Σδ  ±Γ τΦ ± WWW (∩εδⁿτεΓα≥σδΦ WWW τφα■≥, ≈≥ε URL, ΦδΦ Uniform Resource Locators - φαΦßεδσσ ⌠≤φΣα∞σφ≥αδⁿφ√Θ Ωε∞∩εφσφ≥ WWW, εßσ±∩σ≈ΦΓα■∙ΦΘ Σε±≥≤∩ Ω σσ ±εΣσ≡µΦ∞ε∞≤; Γ ±∩Φ±Ωσ δΦ≥σ≡α≥≤≡√ Ω ΣαφφεΘ ±≥α≥ⁿσ URL Φ±∩εδⁿτεΓαφ√ Σδ  ≤ΩαταφΦ  Φ±≥ε≈φΦΩεΓ, Σε±≥≤∩φ√⌡ ∩ε Internet). ╤σ≥σΓ√σ Ωδα±±√ Java ∩≡σΣ±≥αΓδ ■≥  ±φ√Θ Φ ∩≡ε±≥εΘ Γ Φ±∩εδⁿτεΓαφΦΦ Φφ≥σ≡⌠σΘ± Σδ  ≡αßε≥√ Γ Internet, ±≤∙σ±≥Γσφφε ≤∩≡ε∙α  φα∩Φ±αφΦσ ∩≡επ≡α∞∞ Σδ  Internet.

┬ ±Φ±≥σ∞φ≤■ ßΦßδΦε≥σΩ≤ Java ΓΩδ■≈σφ√ ≥αΩµσ Ωδα±±√, ∩εΣΣσ≡µΦΓα■∙Φσ ≡ατ≡αßε≥Ω≤ α∩∩δσ≥εΓ Φ ≤∩≡ε∙α■∙Φσ ≡αßε≥≤ ± εΩφα∞Φ. ▌≥Φ Ωδα±±√ ≡α±±∞α≥≡ΦΓα■≥±  Γ ±δσΣ≤■∙σ∞ ≡ατΣσδσ.

┴ΦßδΦε≥σΩα Ωδα±±εΓ Java ∩ε±≥ε φφε ≡α±°Φ≡ σ≥±  τα ±≈σ≥ φεΓ√⌡ Ωδα±±εΓ Φ ∩αΩ≥εΓ. ▌≥Φ Ωδα±±√ ⌠αΩ≥Φ≈σ±ΩΦ ≡α±°Φ≡ ■≥  τ√Ω Java, ∩≡σΣε±≥αΓδ   ∩≡επ≡α∞∞Φ±≥α∞ φεΓ√σ Γετ∞εµφε±≥Φ. ┬ Ωα≈σ±≥Γσ ∩≡Φ∞σ≡α ≥αΩεπε ≡α±°Φ≡σφΦ  Java ≡α±±∞ε≥≡Φ∞ ΣΓα ∩αΩσ≥α, ≡σαδΦτ≤■∙Φσ Σδ  εΩ≡≤µσφΦ  Java τφα∞σφΦ≥≤■ ßΦßδΦε≥σΩ≤ STL (Standard Template Library) [8], Ωε≥ε≡α  Φ∞σσ≥ ßεδⁿ°εΘ ≤±∩σ⌡ ≤ ∩≡επ≡α∞∞Φ±≥εΓ, Φ±∩εδⁿτ≤■∙Φ⌡ C++.

╧σ≡Γ√Θ Φτ ²≥Φ⌡ ∩αΩσ≥εΓ - SJL (Simple Java Library) [7] ∩≡σΣ±≥αΓδ σ≥ ±εßεΘ φαßε≡ Ωεφ≥σΘφσ≡φ√⌡ Ωδα±±εΓ Φ αδπε≡Φ≥∞εΓ, ∩α≡α∞σ≥≡ΦτεΓαφφ√⌡ ∩ε ≥Φ∩α∞ (Ωδα±±α∞) ±εΣσ≡µα∙Φ⌡±  Γ φΦ⌡ εß·σΩ≥εΓ Φ ≡ατ≡αßε≥αφφ√⌡ ≥αΩΦ∞ εß≡ατε∞, ≈≥εß√ ∩≡επ≡α∞∞Φ±≥√ ∞εδΦ Φ±∩εδⁿτεΓα≥ⁿ Φ⌡ Γ ≡ατδΦ≈φ√⌡ ±ε≈σ≥αφΦ ⌡ Γ ±ΓεΦ⌡ ∩≡επ≡α∞∞α⌡. ╩εφ≥σΘφσ≡φ√σ Ωδα±±√ ε∩≡σΣσδ ■≥ Ωεφ≥σΘφσ≡φ√σ εß·σΩ≥√ (ΦδΦ ∩≡ε±≥ε - Ωεφ≥σΘφσ≡√), ≥.σ. εß·σΩ≥√, Ωε≥ε≡√σ ±εΣσ≡µα≥ Γ ±σßσ φαßε≡√ (∞φεµσ±≥Γα) Σ≡≤πΦ⌡ εß·σΩ≥εΓ, εßσ±∩σ≈ΦΓα  Σε±≥≤∩ Ω ²≥Φ∞ εß·σΩ≥α∞. ╧≡Φ∞σ≡α∞Φ Ωεφ≥σΘφσ≡εΓ  Γδ σ≥±  ±∩Φ±εΩ, ∞α±±ΦΓ, ε≈σ≡σΣⁿ Φ ≥.∩. ╤ ΩαµΣ√∞ Ωεφ≥σΘφσ≡ε∞ εß√≈φε ß√Γασ≥ ±Γ ταφε εΣΦφ ΦδΦ φσ±ΩεδⁿΩε Φ≥σ≡α≥ε≡εΓ - εß·σΩ≥εΓ, εßσ±∩σ≈ΦΓα■∙Φ⌡ Σε±≥≤∩ Ω ±εΣσ≡µΦ∞ε∞≤ ±εε≥Γσ≥±≥Γ≤■∙σπε Ωεφ≥σΘφσ≡α Γ φσΩε≥ε≡ε∞ ∩ε≡ ΣΩσ. SJL εßσ±∩σ≈ΦΓασ≥ Γετ∞εµφε±≥Φ ßΦßδΦε≥σΩΦ STL Σδ  ∩εδⁿτεΓα≥σδσΘ ±Φ±≥σ∞√ Java.

╩ ±εµαδσφΦ■, Γ ±Φ±≥σ∞σ Java Γ ε≥δΦ≈Φσ ε≥ C++ φσ ∩≡σΣ≤±∞ε≥≡σφε ∩≡σ∩≡ε÷σ±±ε≡α (αΓ≥ε≡√ Java  Γδ ■≥±  ∩≡Φφ÷Φ∩Φαδⁿφ√∞Φ ∩≡ε≥ΦΓφΦΩα∞Φ ∩≡σ∩≡ε÷σ±±ε≡α). ╧ε²≥ε∞≤ ∩α≡α∞σ≥≡Φ≈σ±ΩΦσ (generic) Ωδα±±√, ≡σαδΦτεΓαφφ√σ Γ  τ√Ωσ C++ ≈σ≡στ °αßδεφ√ (templates), εß≡αßα≥√Γασ∞√σ ∩≡σ∩≡ε÷σ±±ε≡ε∞, Φ °Φ≡εΩε Φ±∩εδⁿτ≤σ∞√σ Γ ßΦßδΦε≥σΩσ STL (ΓσΣⁿ ²≥ε ßΦßδΦε≥σΩα °αßδεφεΓ), Γ SJL ≡σαδΦτεΓαφ√ ≈σ≡στ Γ√τεΓ√ ∞σ≥εΣεΓ ±εε≥Γσ≥±≥Γ≤■∙Φ⌡ Ωδα±±εΓ. ┬ ≡στ≤δⁿ≥α≥σ Γε Γ≡σ∞  Γ√∩εδφσφΦ  ∩≡επ≡α∞∞√ ∩≡Φ⌡εΣΦ≥±  Γ√∩εδφ ≥ⁿ ≈α±≥ⁿ ⌠≤φΩ÷ΦΘ, Ωε≥ε≡√σ Γ STL Γ√∩εδφ ■≥±  Γ ∩≡ε÷σ±±σ Ωε∞∩Φδ ÷ΦΦ (Σε∩εδφΦ≥σδⁿφα  Φφ≥σ≡∩≡σ≥α÷Φ !), ≈≥ε Ωεφσ≈φε µσ ≡στΩε ±φΦµασ≥ ∩≡εΦτΓεΣΦ≥σδⁿφε±≥ⁿ Ωδα±±εΓ ßΦßδΦε≥σΩΦ SJL ∩ε ±≡αΓφσφΦ■ ± αφαδεπΦ≈φ√∞Φ Ωδα±±α∞Φ STL.

┬ Σ≡≤πεΘ, ßεδσσ ∩ε∩≤δ ≡φεΘ, ≡σαδΦτα÷ΦΦ ßΦßδΦε≥σΩΦ STL Σδ  εΩ≡≤µσφΦ  Java - ∩αΩσ≥σ JGL (Java Generic Library) [6], ≡ατ≡αßε≥αφφε∞ ∩εΣ ≡≤ΩεΓεΣ±≥Γε∞ ±α∞επε αΓ≥ε≡α STL └. ╤≥σ∩αφεΓα, ∩εΩαταφε ΩαΩ Γ ²≥ε∞ εΩ≡≤µσφΦΦ ∞εµφε Φφ≥σ≡∩≡σ≥Φ≡εΓα≥ⁿ ∩α≡α∞σ≥≡Φ≈σ±ΩΦσ (generic) Ωδα±±√. ─δ  ²≥επε αΓ≥ε≡√ JGL ≡ατ≡αßε≥αδΦ φαßε≡√ Φφ≥σ≡⌠σΘ±εΓ, ∩ε εΣφε∞≤ Σδ  ΩαµΣεπε Φτ εΣΦφφαΣ÷α≥Φ ΓΦΣεΓ Ωεφ≥σΘφσ≡εΓ (Array, Deque, Dlist, Slist, HashSet, OrderedSet, Stack, Queue, PriorityQueue, HashMap, OrderedMap), Φ Ωεφ≥σΘφσ≡φ√σ Ωδα±±√, ≡σαδΦτ≤■∙Φσ ²≥Φ φαßε≡√ Φφ≥σ≡⌠σΘ±εΓ. ╩αµΣ√Θ Φφ≥σ≡⌠σΘ± Ωεφ≥σΘφσ≡α ±εε≥Γσ≥±≥Γ≤σ≥ εΣφε∞≤ Φτ Ωδα±±εΓ εß·σΩ≥εΓ, ±εΣσ≡µα∙Φ⌡±  Γ ²≥ε∞ Ωεφ≥σΘφσ≡σ, ≥αΩ ≈≥ε ΩαΩ ≥εδⁿΩε ∩ε Γδ σ≥±  φεΓ√Θ Ωδα±± εß·σΩ≥εΓ, ΓΩδ■≈ασ∞√⌡ Γ Ωεφ≥σΘφσ≡, ±εε≥Γσ≥±≥Γ≤■∙ΦΘ φαßε≡ Φφ≥σ≡⌠σΘ±εΓ Σεδµσφ ß√≥ⁿ ∩ε∩εδφσφ σ∙σ εΣφΦ∞ Φφ≥σ≡⌠σΘ±ε∞. ╬ß≡α∙σφΦσ Ω Ωεφ≥σΘφσ≡≤ Γ±σπΣα ∩≡εΦτΓεΣΦ≥±  ≈σ≡στ εΣΦφ Φτ σπε Φφ≥σ≡⌠σΘ±εΓ. ╩εφσ≈φε, ∩ε ±≡αΓφσφΦ■ ± °αßδεφα∞Φ ≥αΩεΘ ±∩ε±εß ∩α≡α∞σ≥≡Φτα÷ΦΦ Ωδα±±εΓ ∩ε ≥Φ∩α∞ ±εΣσ≡µα∙Φ⌡±  Γ φΦ⌡ εß·σΩ≥εΓ Γ√πδ ΣΦ≥ φσ±ΩεδⁿΩε φσ≤Ωδ■µΦ∞. ─≡≤πΦ∞ φσΣε±≥α≥Ωε∞ ∩αΩσ≥α JGL  Γδ σ≥±  Γετ∞εµφε±≥ⁿ ΓΩδ■≈α≥ⁿ Γ σπε Ωεφ≥σΘφσ≡√ ≥εδⁿΩε εß·σΩ≥√, ≥αΩ ≈≥ε ²δσ∞σφ≥α∞Φ Ωεφ≥σΘφσ≡α "∞α±±ΦΓ ÷σδ√⌡ τφα≈σφΦΘ" ß≤Σ≤≥ φσ ∩εδ  ≥Φ∩α int, α ±εε≥Γσ≥±≥Γ≤■∙Φσ εß·σΩ≥√ Ωδα±±α Int Φτ ∩αΩσ≥α java.lang.

╚τ ε∩Φ±αφΦ  ΣΓ≤⌡ ±∩ε±εßεΓ ≡σαδΦτα÷ΦΦ ßΦßδΦε≥σΩΦ STL Σδ  εΩ≡≤µσφΦ  Java (SJL Φ JGL) ΓΦΣφε, ≈≥ε  τ√Ω Java φ≤µΣασ≥±  Γ ßεδσσ ≤Σεßφ√⌡ ±≡σΣ±≥Γα⌡ ∩α≡α∞σ≥≡Φ≈σ±Ωεπε (generic) ∩≡επ≡α∞∞Φ≡εΓαφΦ . ╧≡σΣδεµσφΦ  ∩ε ≡α±°Φ≡σφΦ■ Java Γ ²≥ε∞ φα∩≡αΓδσφΦΦ Γ±≥≡σ≈α■≥±  Γ ∩≤ßδΦΩα÷Φ ⌡ (±∞., φα∩≡Φ∞σ≡, [12]). ╬ΣφαΩε ∩εΩα ²≥Φ ∩≡σΣδεµσφΦ  φσ Γ±≥≡σ≈α■≥ Σεδµφεπε ∩εφΦ∞αφΦ  ≤ αΓ≥ε≡εΓ Java.

╧≡επ≡α∞∞Φ≡εΓαφΦσ Φ Φ±∩εδⁿτεΓαφΦσ α∩∩δσ≥εΓ

╬ß∙Φσ ±ΓσΣσφΦ  εß α∩∩δσ≥α⌡

└∩∩δσ≥√ ²≥ε ∞αδσφⁿΩΦσ ∩≡ΦΩδαΣφ√σ ∩≡επ≡α∞∞√ φα  τ√Ωσ Java, Ωε≥ε≡√σ ≡ατ∞σ∙α■≥±  φα ±σ≡Γσ≡α⌡ Internet, ≥≡αφ±∩ε≡≥Φ≡≤■≥±  ΩδΦσφ≥≤ ∩ε ±σ≥Φ, αΓ≥ε∞α≥Φ≈σ±ΩΦ ≤±≥αφαΓδΦΓα■≥±  Φ τα∩≤±Ωα■≥±  φα ∞σ±≥σ ΩαΩ ≈α±≥ⁿ ΣεΩ≤∞σφ≥α WWW. └∩∩δσ≥√ ∩ετΓεδ ■≥ Γ±≥αΓδ ≥ⁿ Γ ΣεΩ≤∞σφ≥, ≡α±∩≡ε±≥≡αφ σ∞√Θ ∩ε ±σ≥Φ, ∩εδ , ±εΣσ≡µαφΦσ Ωε≥ε≡√⌡ ∞σφ σ≥±  Γε Γ≡σ∞σφΦ (φα∩≡Φ∞σ≡, ≥σΩ≤∙α  Σα≥α, ≥σΩ≤∙ΦΘ Ω≤≡± Γαδ■≥√ Φ ≥.∩.), ε≡παφΦτεΓ√Γα≥ⁿ Γ φσ∞ "ßσπ≤∙Φσ ±≥≡εΩΦ",

╨Φ±. 1. ┬√∩εδφσφΦσ Java-α∩∩δσ≥α

∞≤δⁿ≥Φ∩δΦΩα÷Φ■. └∩∩δσ≥α∞Φ ∞επ≤≥ ß√≥ⁿ φσßεδⁿ°Φσ ∩≡ΦΩδαΣφ√σ ∩≡επ≡α∞∞√, ≡α±∩≡ε±≥≡αφ σ∞√σ ∩ε Web, ≥αΩΦσ ΩαΩ ΩαδⁿΩ≤δ ≥ε≡, ∩≡σεß≡ατεΓα≥σδⁿ αδπσß≡αΦ≈σ±ΩΦ⌡ Γ√≡αµσφΦΘ, Γ√≈Φ±δΦ≥σδⁿ Φφ≥σπ≡αδεΓ Σδ  ∩σ≡ΓεΩ≤≡±φΦΩεΓ, ≡ατδΦ≈φ√σ Φπ≡√ Φ ≥.∩. └∩∩δσ≥√ Ωε∞∩ΦδΦ≡≤■≥±  Γ ßαΘ≥ΩεΣ φα Ωε∞∩ⁿ■≥σ≡σ Φ⌡ ≡ατ≡αßε≥≈ΦΩα Φ ≡α±∩≡ε±≥≡αφ ■≥±  ∩ε Web Γ ΓΦΣσ ßαΘ≥ΩεΣφ√⌡ ⌠αΘδεΓ.

╬ßσ±∩σ≈σφΦσ ßστε∩α±φε±≥Φ ∩≡Φ ≡α±∩≡ε±≥≡αφσφΦΦ α∩∩δσ≥εΓ

╩αµΣ√Θ α∩∩δσ≥ Γ√ßΦ≡ασ≥±  φα Ωε∞∩ⁿ■≥σ≡ σπε ∩εδⁿτεΓα≥σδ  Φτ Web ± ∩ε∞ε∙ⁿ■ ß≡α≤τσ≡α (αΓ≥ε≡√ ±Φ±≥σ∞√ Java Φτπε≥εΓΦδΦ Σδ  ²≥επε ±ΓεΘ ß≡α≤τσ≡ HotJava, εΣφαΩε ßεδⁿ°Φφ±≥Γε ∩εδⁿτεΓα≥σδσΘ ∩≡σΣ∩ε≈Φ≥ασ≥ Netscape). ╧ε±δσ ²≥επε εφ ταπ≡≤µασ≥± , Γσ≡Φ⌠Φ÷Φ≡≤σ≥±  Φ τα∩≤±Ωασ≥±  φα JavaVM φα Ωε∞∩ⁿ■≥σ≡σ ∩εδⁿτεΓα≥σδ , Φ∞σ  Σε±≥≤∩ ≥εδⁿΩε Ω JavaVM Φ Ω ∩α∞ ≥Φ, Ωε≥ε≡≤■ εφ ±α∞ ταφΦ∞ασ≥ (≡Φ±. 1). ═Φ Ω ΩαΩΦ∞ Σ≡≤πΦ∞ ≡σ±≤≡±α∞ Ωε∞∩ⁿ■≥σ≡α ∩εδⁿτεΓα≥σδ  α∩∩δσ≥ Σε±≥≤∩α φσ Φ∞σσ≥, ≈≥ε εßσ±∩σ≈ΦΓασ≥ τα∙Φ≥≤ Σαφφ√⌡ Φ Σ≡≤πΦ⌡ ∩≡επ≡α∞∞ ∩εδⁿτεΓα≥σδ  ε≥ ∩ε≡≈Φ Φ ∩≡σΣε⌡≡αφ σ≥ Ωε∞∩ⁿ■≥σ≡ ∩εδⁿτεΓα≥σδ  ε≥ τα≡αµσφΦ  ΓΦ≡≤±α∞Φ. ╟α∙Φ≥α ≡σ±≤≡±εΓ Ωε∞∩ⁿ■≥σ≡α, φα Ωε≥ε≡ε∞ Γ√∩εδφ ■≥±  α∩∩δσ≥√, ταπ≡≤µασ∞√σ Φτ ±σ≥Φ,  Γδ σ≥±  ∩≡σΣ∞σ≥ε∞ ε±εß√⌡ ταßε≥ ≡ατ≡αßε≥≈ΦΩεΓ ±Φ±≥σ∞√ Java. ╧ε²≥ε∞≤ Γ ±Φ±≥σ∞σ ∩εΣΣσ≡µΦΓασ≥±  ≈σ≥√≡σ ≤≡εΓφ  ßστε∩α±φε±≥Φ Java-∩≡επ≡α∞∞ (Γ ≈α±≥φε±≥Φ, α∩∩δσ≥εΓ).

╧σ≡Γ√Θ ≤≡εΓσφⁿ ≡σαδΦτεΓαφ Γ Ωε∞∩Φδ ≥ε≡σ φα ßαΘ≥ΩεΣ. ┬ ε≥δΦ≈Φσ ε≥ ≥≡αΣΦ÷Φεφφ√⌡ Ωε∞∩Φδ ≥ε≡εΓ C/C++, Γ Ωε≥ε≡√⌡ ∩α∞ ≥ⁿ ≡α±∩≡σΣσδ σ≥±  Γε Γ≡σ∞  Ωε∞∩Φδ ÷ΦΦ, Γ Ωε∞∩Φδ ≥ε≡σ Java ≡α±∩≡σΣσδσφΦσ ∩α∞ ≥Φ ε≥δεµσφε Σε Γ≡σ∞σφΦ Γ√∩εδφσφΦ . ▌≥ε, σ±≥σ±≥Γσφφε, τα∞σΣδ σ≥ Φφ≥σ≡∩≡σ≥α÷Φ■ Java-∩≡επ≡α∞∞, φε ²≥ε ∞σ°ασ≥ ∩ε≥σφ÷Φαδⁿφ√∞ ⌡αΩΩσ≡α∞ Γτδα∞√Γα≥ⁿ ±Φ±≥σ∞≤, ≥αΩ ΩαΩ Σε±≥≤∩ Ω Φ±⌡εΣφε∞≤ ΩεΣ≤ Java-∩≡επ≡α∞∞√ φσ Σασ≥ Γετ∞εµφε±≥Φ ε≡παφΦτεΓα≥ⁿ φσ±αφΩ÷ΦεφΦ≡εΓαφφ√Θ Σε±≥≤∩ Ω σσ ∩α∞ ≥Φ. ▌≥ε ±Γ ταφε Φ ± ≥σ∞, ≈≥ε Γ  τ√Ωσ Java Γ∞σ±≥ε ≤Ωατα≥σδσΘ Φ±∩εδⁿτ≤■≥±  ±Φ∞ΓεδΦ≈σ±ΩΦσ εß·σΩ≥φ√σ ±±√δΩΦ Γ Ω≤≈≤, ∩≡Φ≈σ∞ Σε±≥≤∩ Ω ΩαΩε∞≤-δΦßε εß·σΩ≥≤ Γ±σπΣα επ≡αφΦ≈ΦΓασ≥±  ²≥Φ∞ εß·σΩ≥ε∞.

┬≥ε≡εΘ ≤≡εΓσφⁿ τα∙Φ≥√ ε±≤∙σ±≥Γδ σ≥ Γσ≡Φ⌠ΦΩα≥ε≡ ßαΘ≥ΩεΣα, Ωε≥ε≡√Θ ∩≡ε±∞α≥≡ΦΓασ≥ ταπ≡≤µσφφ√Θ α∩∩δσ≥ ∩σ≡σΣ σπε Φφ≥σ≡∩≡σ≥α÷ΦσΘ (≡Φ±. 1). ┬σ≡Φ⌠ΦΩα≥ε≡ ßαΘ≥ΩεΣα - ²≥ε φσ±δεµφα  ∩≡επ≡α∞∞α Σδ  ΣεΩατα≥σδⁿ±≥Γα ≥σε≡σ∞, Ωε≥ε≡α  ∩≡εΓσ≡ σ≥ ταπ≡≤µσφφ√Θ ßαΘ≥ΩεΣ φα ≤ΣεΓδσ≥Γε≡σφΦσ Φ∞ ±δσΣ≤■∙Φ⌡ ≤±δεΓΦΘ (²≥Φ ≤±δεΓΦ  ∞επ≤≥ ß√≥ⁿ φα≡≤°σφ√ Φτ-τα φσ∩εδαΣεΩ Γ ≡αßε≥σ ±σ≥Φ Φ ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ ≡ατ≡αßε≥≈ΦΩε∞ α∩∩δσ≥α φσΣεß≡εΩα≈σ±≥Γσφφεπε Ωε∞∩Φδ ≥ε≡α Java):

╥αΩα  Γσ≡Φ⌠ΦΩα÷Φ  ßαΘ≥ΩεΣα ±≥αδα Γετ∞εµφεΘ ßδαπεΣα≡  Γ√ß≡αφφεΘ ±σ∞αφ≥Φ≈σ±ΩεΘ ∞εΣσδΦ  τ√Ωα Java, ∩≡Φφ ≥εΘ ±⌡σ∞σ ≡α±∩≡σΣσδσφΦ  ∩α∞ ≥Φ Φ ±ε⌡≡αφσφΦ■ Φφ⌠ε≡∞α÷ΦΦ ε ≥Φ∩α⌡ (Ωδα±±α⌡) εß·σΩ≥εΓ Java-∩≡επ≡α∞∞√ φα ∩σ≡ΦεΣ σσ Φφ≥σ≡∩≡σ≥α÷ΦΦ.

╥≡σ≥ΦΘ ≤≡εΓσφⁿ τα∙Φ≥√ ε±≤∙σ±≥Γδ σ≥±  ∩≡Φ ΣΦφα∞Φ≈σ±ΩεΘ ταπ≡≤τΩσ Ωδα±±εΓ ∩≡Φ Γ√∩εδφσφΦΦ α∩∩δσ≥α φα Ωε∞∩ⁿ■≥σ≡σ ∩εδⁿτεΓα≥σδ . ┬ε Γ≡σ∞  Γ√∩εδφσφΦ  α∩∩δσ≥α εφ ∞εµσ≥ Γ√τ√Γα≥ⁿ ≡ατδΦ≈φ√σ Ωδα±±√ Φτ δεΩαδⁿφεΘ ⌠αΘδεΓεΘ ±Φ±≥σ∞√, α ≥αΩµσ Ωδα±±√ ± ≡ατδΦ≈φ√⌡ ±σ≡Γσ≡εΓ ±σ≥Φ. ─δ  εßσ±∩σ≈σφΦ  ßεδⁿ°σΘ ßστε∩α±φε±≥Φ ΩαµΣ√Θ Ωδα±±, ταπ≡≤µσφφ√Θ Φτ ±σ≥Φ, Γ√∩εδφ σ≥±  Γ ±Γεσ∞ ε≥Σσδⁿφε∞ ∩≡ε±≥≡αφ±≥Γσ Φ∞σφ (∩αΩσ≥σ). ─δ  Ωδα±±εΓ, ταπ≡≤µσφφ√⌡ Φτ δεΩαδⁿφεΘ ⌠αΘδεΓεΘ ±Φ±≥σ∞√, ε≡παφΦτ≤σ≥±  εß∙σσ ∩≡ε±≥≡αφ±≥Γε Φ∞σφ. ╩επΣα Ωδα±± ±±√δασ≥±  φα ΩαΩεΘ-δΦßε Σ≡≤πεΘ Ωδα±±, ταπ≡≤τ≈ΦΩ ±φα≈αδα ∩√≥ασ≥±  ≡ατ≡σ°Φ≥ⁿ ±±√δΩ≤ Γ ∩≡σΣσδα⌡ δεΩαδⁿφεπε ∩≡ε±≥≡αφ±≥Γα Φ∞σφ, α τα≥σ∞ Γ ε±≥αδⁿφ√⌡ (Γφσ°φΦ⌡) ∩≡ε±≥≡αφ±≥Γα⌡ Φ∞σφ. ╧ε²≥ε∞≤ φΦ εΣΦφ Φτ δεΩαδⁿφ√⌡ Ωδα±±εΓ φσ ∞εµσ≥ "Φ±∩ε≡≥Φ≥ⁿ" ΩαΩεΘ-δΦßε Γφσ°φΦΘ Ωδα±± Γ ±σ≥Φ. ╧ε ²≥εΘ µσ ∩≡Φ≈Φφσ δεΩαδⁿφ√σ Ωδα±±√ φσ ∞επ≤≥ ε°Φßε≈φε ±±√δα≥ⁿ±  φα Ωδα±±√ Φτ Γφσ°φΦ⌡ (Φ∞∩ε≡≥Φ≡εΓαφφ√⌡) ∩≡ε±≥≡αφ±≥Γ Φ∞σφ.

═αΩεφσ÷, ≈σ≥Γσ≡≥√Θ ≤≡εΓσφⁿ τα∙Φ≥√ ±Γ ταφ ± ≥αΩεΘ ε≡παφΦτα÷ΦσΘ Φφ≥σ≡⌠σΘ±εΓ ± ±σ≥σΓ√∞Φ ∩≡ε≥εΩεδα∞Φ (HTTP, FTP Φ Σ≡.), Ωε≥ε≡√σ εßσ±∩σ≈ΦΓα■≥ Σε±≥≤∩ φσ Ωε Γ±σΘ ±σ≥Φ, α ≥εδⁿΩε Ω ≥σ∞ ±σ≡Γσ≡α∞, ± Ωε≥ε≡√⌡ ταπ≡≤µα■≥±  Ωδα±±√, Φ±∩εδⁿτ≤σ∞√σ Φφ≥σ≡∩≡σ≥Φ≡≤σ∞√∞ α∩∩δσ≥ε∞. ╩≡ε∞σ ≥επε, Φ∞σσ≥±  Γετ∞εµφε±≥ⁿ ε≡παφΦτεΓα≥ⁿ ßα≡ⁿσ≡, ∩≡σΣε≥Γ≡α∙α■∙ΦΘ Σε±≥≤∩ Ω ≡σ±≤≡±α∞ Ωε∞∩ⁿ■≥σ≡α ∩εδⁿτεΓα≥σδ  α∩∩δσ≥α ±ε ±≥ε≡εφ√ ±σ≥Φ.

╬≥∞σ≥Φ∞, ≈≥ε σ±δΦ ≥≡σ≥ΦΘ Φ ≈σ≥Γσ≡≥√Θ Φτ Γ√°σ∩σ≡σ≈Φ±δσφφ√⌡ ≤≡εΓφσΘ φσ≥≡≤Σφε ε≡παφΦτεΓα≥ⁿ Φ Γ ±Φ±≥σ∞α⌡ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Σ≡≤πΦ⌡  τ√ΩεΓ, ≥ε ε≡παφΦτα÷Φ  ∩σ≡Γ√⌡ ΣΓ≤⌡ ≤≡εΓφσΘ Γετ∞εµφα ≥εδⁿΩε Γ ±Φ±≥σ∞σ Java, ≥αΩ ΩαΩ ²≥Φ ≤≡εΓφΦ ε±φεΓαφ√ φα ±ΓεΘ±≥Γα⌡  τ√Ωα Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java, Ωε≥ε≡√⌡ φσ≥ Γ Σ≡≤πΦ⌡  τ√Ωα⌡.

╩αΩ ∩εΩαταδΦ φσΣαΓφΦσ Γ±σ±≥ε≡εφφΦσ Φ±±δσΣεΓαφΦ  ∩ε ßστε∩α±φε±≥Φ Java-α∩∩δσ≥εΓ [14, 15], Γ√°σε∩Φ±αφφ√⌡ ∞σ≡ ßστε∩α±φε±≥Φ ∩εΩα εΩαταδε±ⁿ Σε±≥α≥ε≈φε, ≈≥εß√ εßσ±∩σ≈Φ≥ⁿ ßστε∩α±φεσ ≡α±∩≡ε±≥≡αφσφΦσ Φ Γ√∩εδφσφΦσ α∩∩δσ≥εΓ. ┬ε Γ± Ωε∞ ±δ≤≈ασ ∩εΩα φσ ΦτΓσ±≥φε ∩≡Φ∞σ≡εΓ ≡α±∩≡ε±≥≡αφσφΦ  ΓΦ≡≤±εΓ ≈σ≡στ α∩∩δσ≥√ Java. ┬ [15 Φ 16] ∞εµφε ≥αΩµσ φαΘ≥Φ ±εεß∙σφΦ  εß ε°ΦßΩα⌡, εßφα≡≤µσφφ√⌡ Γ ≡ατδΦ≈φ√⌡ Ωε∞∩εφσφ≥α⌡ ±Φ±≥σ∞√ Java.

╬ΣφαΩε ± ΓΦ≡≤±α∞Φ Γ±σ εß±≥εΦ≥ φσ ≥αΩ ∩≡ε±≥ε. ═σΣαΓφε Ωε∞∩αφΦ  Symantec εß· ΓΦδα ε Γετ∞εµφε±≥Φ ≡α±∩≡ε±≥≡αφσφΦ  ΣΓ≤⌡ ≥Φ∩εΓ ΓΦ≡≤±εΓ ± α∩∩δσ≥α∞Φ Java:

┬ ±Γ τΦ ± ²≥Φ∞ ≡ατ≡αßε≥αφε ≡α±°Φ≡σφΦσ ±Φ±≥σ∞√ Norton AntiVirus (NAV) Σδ  ±ΩαφΦ≡εΓαφΦ  Ωδα±±εΓ (α∩∩δσ≥εΓ) Java φα ∩≡σΣ∞σ≥ εßφα≡≤µσφΦ  Γ φΦ⌡ ΓΦ≡≤±εΓ. ▌≥ε ≡α±°Φ≡σφΦσ ±εΣσ≡µΦ≥ ±Ωαφσ≡ ⌠αΘδεΓ, ±εΣσ≡µα∙Φ⌡ Java-Ωδα±±√, Ωε≥ε≡√Θ ∩ετΓεδΦ≥ NAV εßσ±∩σ≈Φ≥ⁿ αφ≥ΦΓΦ≡≤±φ≤■ τα∙Φ≥≤ Java-ΩεΣα Γ ≡σµΦ∞σ ≡σαδⁿφεπε Γ≡σ∞σφΦ, Φ ∞εφΦ≥ε≡ αφ≥ΦΓΦ≡≤±φεΘ ±δ≤µß√ Σδ  Java, ≡αßε≥α■∙ΦΘ Γφ≤≥≡Φ Netscape ΦδΦ δ■ßεπε Σ≡≤πεπε ß≡α≤τσ≡α Σδ  Web, ∩εΣΣσ≡µΦΓασ∞επε ±Φ±≥σ∞εΘ Java. ╥σΩ≤∙α  Γσ≡±Φ  αφ≥ΦΓΦ≡≤±φεΘ ±δ≤µß√ NAV ±ΩαφΦ≡≤σ≥ α∩∩δσ≥√, ≡α±±√δασ∞√σ ∩ε Internet Γ ⌠αΘδα⌡ .CLASS, Φ ∞εµσ≥ εßφα≡≤µΦΓα≥ⁿ ΓΦ≡≤±√ ≥Φ∩α Java Type I, Ωε≥ε≡√σ ∞επ≤≥ ≡ατ∞φεµα≥ⁿ± , ∞εΣΦ⌠Φ÷Φ≡≤  ±≥≡αφΦ÷√ HTML. ┬ ±δσΣ≤■∙σΘ Γσ≡±ΦΦ ∩≡σΣ∩εδαπασ≥±  ≡σαδΦτεΓα≥ⁿ φεΓ√Θ ±Ωαφσ≡, Ωε≥ε≡√Θ ±∞εµσ≥ εßφα≡≤µΦΓα≥ⁿ ßεδσσ ±δεµφ√σ ΓΦ≡≤±√, ε≥φε± ∙Φσ±  Ω ≥Φ∩≤ Java Type II, Ωε≥ε≡√σ ∞επ≤≥ τα≡αµα≥ⁿ ⌠αΘδ√ .CLASS.

╤δσΣ≤σ≥ ε≥∞σ≥Φ≥ⁿ, ≈≥ε ≥≡σßεΓαφΦ  Ω εßσ±∩σ≈σφΦ■ ßστε∩α±φε±≥Φ α∩∩δσ≥εΓ αΓ≥ε∞α≥Φ≈σ±ΩΦ Γ√∩εδφ ■≥±  Σδ  α∩∩δσ≥εΓ, ≡ατ≡αßα≥√Γασ∞√⌡ Γ Φφ±≥≡≤∞σφ≥αδⁿφε∞ εΩ≡≤µσφΦΦ JDK.

╚φ±≥≡≤∞σφ≥αδⁿφεσ εΩ≡≤µσφΦσ JDK

╚φ±≥≡≤∞σφ≥αδⁿφεσ εΩ≡≤µσφΦσ Java Developer's Kit (JDK) ∩≡σΣφατφα≈σφε Σδ  ≡ατ≡αßε≥ΩΦ, ε≥δαΣΩΦ Φ ∞εΣΦ⌠ΦΩα÷ΦΦ Java-∩≡επ≡α∞∞ (Γ ∩σ≡Γ≤■ ε≈σ≡σΣⁿ, α∩∩δσ≥εΓ). ┬ σπε ±ε±≥αΓ Γ⌡εΣΦ≥ φσ±ΩεδⁿΩε Φφ±≥≡≤∞σφ≥αδⁿφ√⌡ ∩αΩσ≥εΓ, Γ ≈α±≥φε±≥Φ, ∩αΩσ≥√ java.applett Φ java.AWT.

╧ε±ΩεδⁿΩ≤ ßεδⁿ°α  ≈α±≥ⁿ α∩∩δσ≥εΓ  Γδ ■≥±  ±ε±≥αΓφ√∞Φ ≈α±≥ ∞Φ ("αΩ≥ΦΓφ√∞Φ ∩εδ ∞Φ") ΣεΩ≤∞σφ≥εΓ, ≡α±∩≡ε±≥≡αφ σ∞√⌡ ∩ε ±σ≥Φ, ∩≡Φ Φ⌡ ∩≡επ≡α∞∞Φ≡εΓαφΦΦ ≈α±≥ε ΓετφΦΩασ≥ φσεß⌡εΣΦ∞ε±≥ⁿ εß∞σφα Σαφφ√∞Φ ± εΩεφφ√∞Φ ±Φ±≥σ∞α∞Φ (π≡α⌠Φ≈σ±ΩΦΘ ΓΓεΣ/Γ√ΓεΣ Γ εΩφα). ┬ JDK ∩≡επ≡α∞∞Φ≡εΓαφΦσ ≡αßε≥√ ± εΩφα∞Φ ∩εΣΣσ≡µΦΓασ≥±  Φφ±≥≡≤∞σφ≥αδⁿφ√∞ ±≡σΣ±≥Γε∞ Abstract Window Toolkit (AWT), εßσ±∩σ≈ΦΓα■∙Φ∞ Γετ∞εµφε±≥ⁿ ∩Φ±α≥ⁿ α∩∩δσ≥√, Ωε≥ε≡√σ ∞εµφε Γ√∩εδφ ≥ⁿ ΩαΩ ± εΩεφφ√∞Φ ≡σΣαΩ≥ε≡α∞Φ ╬╤ UNIX, ≥αΩ Φ ± εΩεφφ√∞Φ ≡σΣαΩ≥ε≡α∞Φ Σ≡≤πΦ⌡ ╬╤.

─δ  ε≥δαΣΩΦ ∩≡επ≡α∞∞φ√⌡ Ωε∞∩εφσφ≥, ≡ατ≡αßα≥√Γασ∞√⌡ Γ εΩ≡≤µσφΦΦ JDK (Γ ≈α±≥φε±≥Φ, α∩∩δσ≥εΓ) Φ±∩εδⁿτ≤σ≥±  ε≥δαΣ≈ΦΩ JavaDebugger (JDB). ▌≥ε≥ ε≥δαΣ≈ΦΩ ∩εΣΣσ≡µΦΓασ≥ ∩≡ε±≥εΘ Φ ≤Σεßφ√Θ Φφ≥σ≡⌠σΘ± ± ∩εδⁿτεΓα≥σδσ∞ JavaDebuggerAPI, σπε ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ Σδ  ε≥δαΣΩΦ ≤Σαδσφφ√⌡ ∩≡επ≡α∞∞ ±εΓ∞σ±≥φε ± ß≡α≤τσ≡ε∞ HotJava, α ≥αΩµσ Σδ  ε≥δαΣΩΦ ∩≡επ≡α∞∞, φα∩Φ±αφφ√⌡ φα ∩εΣ∞φεµσ±≥Γσ Java Σδ  ≡ατ≡αßε≥ΩΦ ±Ω≡Φ∩≥εΓ -  τ√Ωσ JavaScript.

─δ  ≡αßε≥√ Γ ε∩σ≡α÷Φεφφ√⌡ ±Φ±≥σ∞α⌡ Windows 95, Windows NT, UNIX (Γ ≥ε∞ ≈Φ±δσ Solaris Φ Linux) Φ Macintosh ≥σΩ≤∙≤■ Γσ≡±Φ■ JDK (Γ φα±≥ε ∙σσ Γ≡σ∞  ²≥ε Γσ≡±Φ  2.0 ε≥ 18 ⌠σΓ≡αδ  1997 π.) ∞εµφε ταπ≡≤τΦ≥ⁿ φσ∩ε±≡σΣ±≥Γσφφε ± Web-±σ≡Γσ≡α Ωε∞∩αφΦΦ Sun ∩ε αΣ≡σ±≤ java.sun.com . ╧ε ²≥ε∞≤ µσ αΣ≡σ±≤ Σε±≥≤∩σφ Φ ß≡α≤τσ≡ HotJava, φα∩Φ±αφφ√Θ φα Java, Φ Ωε∞∩δσΩ≥ ΣεΩ≤∞σφ≥α÷ΦΦ ∩ε ±Φ±≥σ∞σ Java. ╨ατ∞σ≡ ΣΦ±≥≡Φß≤≥ΦΓα JDK (Γ ≤∩αΩεΓαφφε∞ ΓΦΣσ) ±ε±≥αΓδ σ≥ 4 - 5 ∞σπαßαΘ≥. ╤εΓσ≥√ ∩ε ≤±≥αφεΓΩσ JDK ±∞., φα∩≡Φ∞σ≡ Γ [5] (∩≡ΦδεµσφΦσ └). ╚φ±≥≡≤∞σφ≥αδⁿφεσ εΩ≡≤µσφΦσ JDK ±εΣσ≡µΦ≥ ßΦßδΦε≥σ≈φ√σ Ωδα±±√ Φ ∩αΩσ≥√, ±≤∙σ±≥Γσφφε ≤∩≡ε∙α■∙Φσ ∩≡επ≡α∞∞Φ≡εΓαφΦσ Φ ε≥δαΣΩ≤ α∩∩δσ≥εΓ.

╧≡εßδσ∞α ²⌠⌠σΩ≥ΦΓφε±≥Φ Java-∩≡επ≡α∞∞.
╬∩≥Φ∞ΦτΦ≡≤■∙Φσ Ωε∞∩Φδ ≥ε≡√  τ√Ωα Java

╟Σσ±ⁿ ∩εΣ ²⌠⌠σΩ≥ΦΓφε±≥ⁿ■ Φ∞σσ≥±  Γ ΓΦΣ≤ ±Ωε≡ε±≥ⁿ Γ√∩εδφσφΦ  Java-∩≡επ≡α∞∞. ╧ε±ΩεδⁿΩ≤ Java-∩≡επ≡α∞∞√ Φφ≥σ≡∩≡σ≥Φ≡≤■≥±  φα JavaVM, εφΦ, σ±≥σ±≥Γσφφε, Γ√∩εδφ ■≥±  ∞σΣδσφφσσ, ≈σ∞ ∩≡επ≡α∞∞√, ≡ατ≡αßε≥αφφ√σ ± ∩ε∞ε∙ⁿ■ ε∩≥Φ∞ΦτΦ≡≤■∙Φ⌡ Ωε∞∩Φδ ≥ε≡εΓ C/C++. ╚τ∞σ≡σφΦ  φα ßσφ≈-∞α≡Ωα⌡ ∩εΩαταδΦ, ≈≥ε Java-∩≡επ≡α∞∞√ Γ√∩εδφ ■≥±  ∩≡Φ∞σ≡φε Γ 30 ≡ατ ∞σΣδσφφσσ C-∩≡επ≡α∞∞ φα εΣφε∩≡ε÷σ±±ε≡φ√⌡ Ωε∞∩ⁿ■≥σ≡α⌡ (Γ ≈α±≥φε±≥Φ, φα ∩σ≡±εφαδⁿφ√⌡ Ωε∞∩ⁿ■≥σ≡α⌡) [17]. ═α ∩α≡αδδσδⁿφ√⌡ Ωε∞∩ⁿ■≥σ≡φ√⌡ ±Φ±≥σ∞α⌡ ≡ατ≡√Γ Σε±≥Φπασ≥ 50 ≡ατ. ╧ε²≥ε∞≤, Ωεφσ≈φε, ±≤∙σ±≥Γ≤σ≥ ∩≡εßδσ∞α ∩εΓ√°σφΦ  ²⌠⌠σΩ≥ΦΓφε±≥Φ Java-∩≡επ≡α∞∞. ┬ ∞σφⁿ°σΘ ±≥σ∩σφΦ ²≥α ∩≡εßδσ∞α αΩ≥≤αδⁿφα Σδ  α∩∩δσ≥εΓ, ΓσΣⁿ ²≥ε φσßεδⁿ°Φσ Φφ≥σ≡αΩ≥ΦΓφ√σ ∩≡επ≡α∞∞√, Φ ±Ωε≡ε±≥ⁿ Φ⌡ Γ√∩εδφσφΦ  Γ ßεδⁿ°Φφ±≥Γσ ±δ≤≈ασΓ ≤ΣεΓδσ≥Γε≡ σ≥ Φ⌡ ∩εδⁿτεΓα≥σδσΘ.

┬ ≥σ⌡ ≡σΣΩΦ⌡ ±δ≤≈α ⌡, ΩεπΣα ΓετφΦΩασ≥ ∩ε≥≡σßφε±≥ⁿ ≤ΓσδΦ≈Φ≥ⁿ ±Ωε≡ε±≥ⁿ Γ√∩εδφσφΦ  α∩∩δσ≥α, ∞εµφε Γε±∩εδⁿτεΓα≥ⁿ±  ΣΦφα∞Φ≈σ±ΩΦ∞ Ωε∞∩Φδ ≥ε≡ε∞ Java (just-in-time compiler), Ωε≥ε≡√Θ ≡αßε≥ασ≥ ∩α≡αδδσδⁿφε ± Φφ≥σ≡∩≡σ≥α÷ΦσΘ α∩∩δσ≥α (±∞. ≡Φ±. 1) Φ ∩σ≡σΓεΣΦ≥ ßαΘ≥ΩεΣ Γ εß·σΩ≥φ√Θ ΩεΣ Ωε∞∩ⁿ■≥σ≡α, φα Ωε≥ε≡ε∞ Γ√∩εδφ σ≥±  α∩∩δσ≥. ▌≥ε≥ εß·σΩ≥φ√Θ ΩεΣ ε⌠ε≡∞δ σ≥±  ΩαΩ εß√≈φα  ∩εΣ∩≡επ≡α∞∞α Φ (∩ε±δσ ταπ≡≤τΩΦ) Γ√τ√Γασ≥±  Φτ JavaVM (∩≡Φ ∩≡επ≡α∞∞Φ≡εΓαφΦΦ φα Java ≡ατ≡σ°ασ≥±  Φ±∩εδⁿτεΓα≥ⁿ ∩εΣ∩≡επ≡α∞∞√, Γ√∩εδφ σ∞√σ Γ εß·σΩ≥φε∞ ΩεΣσ Ωε∞∩ⁿ■≥σ≡α, φα Ωε≥ε≡ε∞ ≡αßε≥ασ≥ JavaVM (native subroutines); ²≥Φ ∩εΣ∩≡επ≡α∞∞√ ±≈Φ≥α■≥±  ∩εΣ∩≡επ≡α∞∞α∞Φ ±α∞εΘ JavaVM). ╩αΩ ∩εΩαταδΦ Φτ∞σ≡σφΦ  φα ßσφ≈-∞α≡Ωα⌡, ∩≡Φ ²≥ε∞ Γ√∩εδφσφΦσ α∩∩δσ≥α ≤±Ωε≡ σ≥±  ∩≡Φ∞σ≡φε Γ 10 ≡ατ.

═ε Γ εΩ≡≤µσφΦΦ Java ≡ατ≡αßα≥√Γα■≥±  φσ ≥εδⁿΩε α∩∩δσ≥√. Java - ≤φΦΓσ≡±αδⁿφ√Θ  τ√Ω ∩≡επ≡α∞∞Φ≡εΓαφΦ , Φ σπε ≤Σεßφε Φ±∩εδⁿτεΓα≥ⁿ Σδ  φα∩Φ±αφΦ  ΩδΦσφ≥±ΩΦ⌡ ∩≡επ≡α∞∞, ßΦßδΦε≥σΩ, ∩εΣΣσ≡µΦΓα■∙Φ⌡ ∩εδⁿτεΓα≥σδⁿ±ΩΦσ Φφ≥σ≡⌠σΘ±√ (ε±εßσφφε Γ ≥σ⌡ ±δ≤≈α ⌡, ΩεπΣα εφΦ Σεδµφ√ ⌠≤φΩ÷ΦεφΦ≡εΓα≥ⁿ Γ φσεΣφε≡εΣφεΘ ±σ≥Φ), ∩≡ΦΩδαΣφ√⌡ ∩αΩσ≥εΓ Φ ≥.∩. ┬±σεß∙σσ ≤Γδσ≈σφΦσ α∩∩δσ≥α∞Φ φσ±ΩεδⁿΩε ε≥εΣΓΦφ≤δε φα Γ≥ε≡εΘ ∩δαφ ²≥≤ ±≥ε≡εφ≤ Java, φε ²≥ε - Γ≡σ∞σφφεσ  ΓδσφΦσ. ╙µσ ±σΘ≈α± ∩≤ßδΦΩ≤σ≥±  ∞φεπε ≡αßε≥ ∩ε ∩≡Φ∞σφσφΦ ∞ Java, φσ ±Γ ταφφ√∞ ± ≡ατ≡αßε≥ΩεΘ α∩∩δσ≥εΓ, Φ ≈Φ±δε ≥αΩΦ⌡ ≡αßε≥ ß≤Σσ≥ ≤ΓσδΦ≈ΦΓα≥ⁿ±  ⌡ε≥  ß√ ∩ε≥ε∞≤, ≈≥ε ∩≡εßδσ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ  Φ ≡α±∩≡ε±≥≡αφσφΦ  α∩∩δσ≥εΓ Γε ∞φεπε∞ Φ±≈σ≡∩αδα ±σß  (²≥ε Σεδµφε ß√≥ⁿ ΓΦΣφε Φ Φτ ΣαφφεΘ ∩≤ßδΦΩα÷ΦΦ). ╧≡Φ Φ±∩εδⁿτεΓαφΦΦ Java Σδ  ≡ατ≡αßε≥ΩΦ ßεδσσ ±δεµφεπε ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ , ≈σ∞ α∩∩δσ≥√, ∩≡εßδσ∞√ φαΣσµφε±≥Φ Φ ²⌠⌠σΩ≥ΦΓφε±≥Φ (∩≡εΦτΓεΣΦ≥σδⁿφε±≥Φ) Java-∩≡επ≡α∞∞, α ≥αΩµσ ∩≡εßδσ∞√, ±Γ ταφφ√σ ± φσεß⌡εΣΦ∞ε±≥ⁿ■ τα∙Φ≥√ πδεßαδⁿφεΘ ±σ≥Φ ε≥ ΓΦ≡≤±εΓ, Σεδµφ√ ß√≥ⁿ ∩ε±≥αΓδσφ√ ∩ε φεΓε∞≤.

╨α±±∞ε≥≡Φ∞ ∩≡εßδσ∞≤ ∩≡εΦτΓεΣΦ≥σδⁿφε±≥Φ ±≡αΓφΦ≥σδⁿφε Ω≡≤∩φ√⌡ ∩≡ΦΩδαΣφ√⌡ Java-∩≡επ≡α∞∞. ┼±δΦ Σδ  ßεδⁿ°Φφ±≥Γα α∩∩δσ≥εΓ ∩≡εßδσ∞√ ∩≡εΦτΓεΣΦ≥σδⁿφε±≥Φ Γεεß∙σ φσ ±≥ε δε, ≥αΩ ΩαΩ Σδ  ∩εδⁿτεΓα≥σδσΘ εφΦ Γ√∩εδφ δΦ±ⁿ "∞πφεΓσφφε", ≥ε τα∞σΣδσφΦσ ∩≡εΦτΓεδⁿφ√⌡ ∩≡ΦΩδαΣφ√⌡ ∩≡επ≡α∞∞ ∩ε≈≥Φ φα ΣΓα ∩ε≡ ΣΩα φσΦτßσµφε ∩≡ΦΓσΣσ≥ Ω ε≥Ωατ≤ ε≥ Φ⌡ Φ±∩εδⁿτεΓαφΦ . ╨ατ≡αßε≥≈ΦΩΦ ±Φ±≥σ∞√ Java Φ Java-∩≡ΦδεµσφΦΘ ⌡ε≡ε°ε ∩εφΦ∞αδΦ ²≥ε ± ±α∞επε φα≈αδα, φε, ΩαΩ ±ΓΦΣσ≥σδⁿ±≥Γ≤■≥ Φ⌡ ≡αφφΦσ ∩≤ßδΦΩα÷ΦΦ (±∞., φα∩≡Φ∞σ≡, [1]), εφΦ φαΣσ δΦ±ⁿ, ≈≥ε JavaVM φα±≥εδⁿΩε ⌡ε≡ε°ΦΘ Φφ≥σ≡∩≡σ≥α≥ε≡, ≈≥ε τα∞σΣδσφΦσ ε≥ Φφ≥σ≡∩≡σ≥α÷ΦΦ ß≤Σσ≥ φσ±≤∙σ±≥Γσφφ√∞. ╩≡ε∞σ ≥επε, εφΦ ≡σΩε∞σφΣεΓαδΦ ∩εΓ√°α≥ⁿ ß√±≥≡εΣσΘ±≥ΓΦσ Java-∩≡επ≡α∞∞ ∩≤≥σ∞ Φ±∩εδⁿτεΓαφΦ  Γ√±εΩε²⌠⌠σΩ≥ΦΓφ√⌡ ßΦßδΦε≥σ≈φ√⌡ ∩εΣ∩≡επ≡α∞∞, ≡ατ≡αßε≥αφφ√⌡ φα C/C++ (native methods). ╩ ±εµαδσφΦ■, ΩαΩ ∩εΩαταδΦ Φτ∞σ≡σφΦ  (±∞. Γ√°σ), Φ⌡ φαΣσµΣ√ ε∩≡αΓΣαδΦ±ⁿ δΦ°ⁿ Σδ  φσßεδⁿ°Φ⌡ α∩∩δσ≥εΓ, Ωε≥ε≡√σ, ∩ε ±≤∙σ±≥Γ≤,  Γδ ■≥±  CGI-±Ω≡Φ∩≥α∞Φ Φ Σδ  ≡ατ≡αßε≥ΩΦ Ωε≥ε≡√⌡ Σε±≥α≥ε≈φε ∩≡Φ∞Φ≥ΦΓφεπε ∩εΣ∞φεµσ±≥Γα Java -  τ√Ωα JavaScript [10]. ╩επΣα ²≥ε ß√δε ε±ετφαφε, ±≥αδΦ ∩≡σΣ∩≡ΦφΦ∞α≥ⁿ±  ≤±ΦδΦ  ∩ε ∩εΓ√°σφΦ■ ß√±≥≡εΣσΘ±≥ΓΦ  Java-∩≡επ≡α∞∞.

╧σ≡Γ√∞ °απε∞ Γ ²≥ε∞ φα∩≡αΓδσφΦΦ ß√δα α∩∩α≡α≥φα  ≡ατ≡αßε≥Ωα JavaVM, ∩≡σΣ∩≡Φφ ≥α  Ωε∞∩αφΦσΘ Sun, φε Java-∩≡ε÷σ±±ε≡ φσ ε∩≡αΓΣαδ ΓετδαπαΓ°Φ⌡±  φα φσπε εµΦΣαφΦΘ ∩ε ≡στΩε∞≤ ≤ΓσδΦ≈σφΦ■ ß√±≥≡εΣσΘ±≥ΓΦ  Java-∩≡επ≡α∞∞. ╩≡ε∞σ ≥επε, σ±δΦ Σδ  φε≡∞αδⁿφεπε Γ√∩εδφσφΦ  Java-∩≡επ≡α∞∞ ≥≡σß≤σ≥±  ±∩σ÷Φαδⁿφ√Θ ∩≡ε÷σ±±ε≡, ≥ε ²≥ε ±≤∙σ±≥Γσφφε ∞σφ σ≥ ±≥α≥≤±  τ√Ωα Java, ΩαΩ ≤φΦΓσ≡±αδⁿφεπε  τ√Ωα Σδ  Web, ≥αΩ ΩαΩ ε≈σΓΦΣφε, ≈≥ε ΣαδσΩε φσ Γε Γ±σ⌡ ≤τδα⌡ Web Φ∞σ■≥±  Java-∩≡ε÷σ±±ε≡√.

╧ε²≥ε∞≤ ß√δΦ ∩≡σΣ∩≡Φφ ≥√ ∩ε∩√≥ΩΦ ≤ΓσδΦ≈Φ≥ⁿ ß√±≥≡εΣσΘ±≥ΓΦσ Java-∩≡επ≡α∞∞ ± ∩ε∞ε∙ⁿ■ ε∩≥Φ∞ΦτΦ≡≤■∙Φ⌡ Ωε∞∩Φδ ≥ε≡εΓ, ∩σ≡σΓεΣ ∙Φ⌡ Java-∩≡επ≡α∞∞≤ Γ ε∩≥Φ∞ΦτΦ≡εΓαφφ√Θ εß·σΩ≥φ√Θ ΩεΣ Ωε∞∩ⁿ■≥σ≡α, φα Ωε≥ε≡ε∞ εφα ß≤Σσ≥ Γ√∩εδφ ≥ⁿ± . ╩ε∞∩αφΦ  JavaSoft (Σε≈σ≡φ   Ωε∞∩αφΦ  ⌠Φ≡∞√ Sun ∩ε ∩≡εΦτΓεΣ±≥Γ≤ ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ , ±Γ ταφφεπε ± Java) ≡ατ≡αßε≥αδα ∩σ≡Γ√Θ ΣΦφα∞Φ≈σ±ΩΦΘ ε∩≥Φ∞ΦτΦ≡≤■∙ΦΘ Ωε∞∩Φδ ≥ε≡ Java (just-in-time-compiler) [13]. ▌≥ε≥ Ωε∞∩Φδ ≥ε≡ Γ√τ√Γασ≥±  ∩ε ∩≡απ∞σ Φφ≥σ≡∩≡σ≥α≥ε≡ε∞ Java-ßαΘ≥ΩεΣα (JavaVM) Φ Γ√∩εδφ σ≥±  ∩α≡αδδσδⁿφε JavaVM (φα εΣφε∩≡ε÷σ±±ε≡φε∞ Ωε∞∩ⁿ■≥σ≡σ - Γ ≡σµΦ∞σ ≡ατΣσδσφΦ  Γ≡σ∞σφΦ), Ωε∞∩ΦδΦ≡≤  Φτ ∩σ≡σΣαφφεπε σ∞≤ ßαΘ≥ΩεΣα ε∩≥Φ∞ΦτΦ≡εΓαφφ√Θ εß·σΩ≥φ√Θ ΩεΣ. ╧α≡αδδσδⁿφε ± Ωε∞∩Φδ ÷ΦσΘ ßαΘ≥ΩεΣα JavaVM ∩≡εΣεδµασ≥ Φφ≥σ≡∩≡σ≥Φ≡εΓα≥ⁿ σπε. ╩επΣα Ωε∞∩Φδ ÷Φ  ταΓσ≡°ασ≥± , ΣΦφα∞Φ≈σ±ΩΦΘ ταπ≡≤τ≈ΦΩ ταπ≡≤µασ≥ ∩εδ≤≈σφφ√Θ εß·σΩ≥φ√Θ ΩεΣ ΩαΩ ∩εΣ∩≡επ≡α∞∞≤ Φφ≥σ≡∩≡σ≥Φ≡≤σ∞επε ßαΘ≥ΩεΣα, α JavaVM Γ√τ√Γασ≥ ²≥≤ ∩εΣ∩≡επ≡α∞∞≤, ΩαΩ εφα Γ√τΓαδα ß√ δ■ß≤■ Σ≡≤π≤■ εß·σΩ≥φ≤■ (native) ∩εΣ∩≡επ≡α∞∞≤ Φφ≥σ≡∩≡σ≥Φ≡≤σ∞εΘ Java-∩≡επ≡α∞∞√, Φ ≥σ∞ ±α∞√∞ ⌠αΩ≥Φ≈σ±ΩΦ ∩≡σΩ≡α∙ασ≥ Φφ≥σ≡∩≡σ≥α÷Φ■ ßαΘ≥ΩεΣα (±⌡σ∞α≥Φ≈σ±ΩΦ ²≥ε ∩εΩαταφε φα ≡Φ±. 1). ─Φφα∞Φ≈σ±ΩΦσ Ωε∞∩Φδ ≥ε≡√ Java ≡σαδΦτεΓαφ√ Φ Σ≡≤πΦ∞Φ Ωε∞∩αφΦ ∞Φ, ταφΦ∞α■∙Φ∞Φ±  ≡ατ≡αßε≥ΩεΘ ∩≡επ≡α∞∞φεπε εßσ±∩σ≈σφΦ  Java. ═ε, ΩαΩ ≤µσ ≤∩ε∞Φφαδε±ⁿ, ∩≡Φ∞σφσφΦσ ΣΦφα∞Φ≈σ±Ωεπε Ωε∞∩Φδ ≥ε≡α ∩εΓ√°ασ≥ ß√±≥≡εΣσΘ±≥ΓΦσ Java-∩≡επ≡α∞∞√ δΦ°ⁿ φα ∩ε≡ ΣεΩ, ≥αΩ ≈≥ε ∩≡εΦπ≡√° ε±≥ασ≥±  Γσ±ⁿ∞α ε∙≤≥Φ∞√∞.

╧ε²≥ε∞≤ ß√δ ∩≡σΣ∩≡Φφ ≥ σ∙σ εΣΦφ °απ: ≡σαδΦτεΓαφ√ ∩σ≡Γ√σ ε∩≥Φ∞ΦτΦ≡≤■∙Φσ Ωε∞∩Φδ ≥ε≡√ Java Γ εß·σΩ≥φ√Θ ΩεΣ ≡ατδΦ≈φ√⌡ Ωε∞∩ⁿ■≥σ≡εΓ [18, 19]. ╧≡Φ ²≥ε∞ Σαµσ φσ Γ±σπΣα Φ±∩εδⁿτ≤σ≥±  ßαΘ≥ΩεΣ Γ Ωα≈σ±≥Γσ Γφ≤≥≡σφφσπε ∩≡σΣ±≥αΓδσφΦ  Φ±⌡εΣφεΘ Java-∩≡επ≡α∞∞√. ┴εδσσ ≥επε, ≤µσ ∩≡σΣ∩≡ΦφΦ∞α■≥±  ∩σ≡Γ√σ ∩ε∩√≥ΩΦ ≡ατ≡αßε≥ΩΦ Ωε∞∩Φδ ≥ε≡εΓ Java Σδ  ∞ε∙φ√⌡ ∞φεπε∩≡ε÷σ±±ε≡φ√⌡ Ωε∞∩ⁿ■≥σ≡φ√⌡ ±Φ±≥σ∞. ╨σαδΦτα÷Φ  ≥αΩΦ⌡ Ωε∞∩Φδ ≥ε≡εΓ ±Σσδασ≥ Java Γ∩εδφσ ≤φΦΓσ≡±αδⁿφ√∞ ∞ε∙φ√∞  τ√Ωε∞ ∩≡επ≡α∞∞Φ≡εΓαφΦ . ╧≡αΓΣα ²≥ε ∩ε±≥αΓΦ≥ ∩σ≡σΣ ≡ατ≡αßε≥≈ΦΩα∞Φ Φ ∩εδⁿτεΓα≥σδ ∞Φ Java φεΓ√σ ±δεµφ√σ ∩≡εßδσ∞√.

╚±∩εδⁿτεΓαφΦσ ≡σ⌠δσΩ±ΦΦ ∩≡Φ ≡ατ≡αßε≥Ωσ Java-∩≡επ≡α∞∞

╨σ⌠δσΩ±ΦσΘ φατ√Γασ≥±  Γετ∞εµφε±≥ⁿ ∞σφ ≥ⁿ ±ΓεΘ±≥Γα εΩ≡≤µσφΦ , Γ Ωε≥ε≡ε∞ Γ√∩εδφ σ≥±  ∩≡επ≡α∞∞α, Φ τα ±≈σ≥ ²≥επε Φτ∞σφΦ≥ⁿ ∩εΓσΣσφΦσ ±α∞εΘ ∩≡επ≡α∞∞√. ╠φεπΦσ εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√σ  τ√ΩΦ Φ Φ⌡ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  (φα∩≡Φ∞σ≡, CLOS, Smalltalk Φ Σ≡.)  Γδ ■≥±  ≡σ⌠δσΩ±ΦΓφ√∞Φ, ≥.σ. ±εΣσ≡µα≥  τ√ΩεΓ√σ Φ ±Φ±≥σ∞φ√σ ±≡σΣ±≥Γα, ± ∩ε∞ε∙ⁿ■ Ωε≥ε≡√⌡ ∞εµφε ∞σφ ≥ⁿ ∩α≡α∞σ≥≡√ εΩ≡≤µσφΦ . ╨σ⌠δσΩ±Φ  ε≈σφⁿ ≤Σεßφα ∩≡Φ ≡ατ≡αßε≥Ωσ ∩≡επ≡α∞∞φ√⌡ ±Φ±≥σ∞, ≥αΩ ΩαΩ ±εεß∙ασ≥ Φ∞ Σε∩εδφΦ≥σδⁿφ≤■ πΦßΩε±≥ⁿ, ±∩ε±εßφε±≥ⁿ φα±≥≡αΦΓα≥ⁿ±  φα ≡ατδΦ≈φ√σ εΩ≡≤µσφΦ , Γετ∞εµφε±≥ⁿ ΓταΦ∞εΣσΘ±≥ΓεΓα≥ⁿ ± ∩≡επ≡α∞∞α∞Φ, Ωε≥ε≡√σ Γ√∩εδφ ■≥±  Γ Σ≡≤πΦ⌡ ±Φ±≥σ∞α⌡ ∩≡επ≡α∞∞Φ≡εΓαφΦ .

Java ± ±α∞επε φα≈αδα ≡ατ≡αßα≥√Γαδ±  ΩαΩ ≡σ⌠δσΩ±ΦΓφ√Θ  τ√Ω. ┬ Java ε∩≡σΣσδσφ Ωδα±± Object,  Γδ ■∙ΦΘ±  Ωε≡φσ∞ Φσ≡α≡⌡ΦΦ Ωδα±±εΓ ∩ε φα±δσΣεΓαφΦ■: δ■ßεΘ Ωδα±± Java φα±δσΣ≤σ≥ Ωδα±± Object. ┬ Ωδα±±σ Object ε∩≡σΣσδσφ Σε±≥≤∩ Ω ±Φ±≥σ∞φεΘ Φφ⌠ε≡∞α÷ΦΦ, Ωε≥ε≡≤■ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ Java-∩≡επ≡α∞∞α⌡. ═αδΦ≈Φσ Ωδα±±α Object ≤µσ ±εεß∙ασ≥ ε∩≡σΣσδσφφ√σ ≡σ⌠δσΩ±ΦΓφ√σ ±ΓεΘ±≥Γα ±Φ±≥σ∞σ Java.

─ε∩εδφΦ≥σδⁿφ√σ Γετ∞εµφε±≥Φ ∩ε ≡σαδΦτα÷ΦΦ ≡σ⌠δσΩ±ΦΓφ√⌡ Java-∩≡επ≡α∞∞ εßσ±∩σ≈ΦΓα■≥±  ∩αΩσ≥ε∞ JRI (Java Reflection Interface), Γ Ωε≥ε≡ε∞ ε∩≡σΣσδσφ√ ±∩ε±εß√ ε∩≡σΣσδσφΦ  ≡σ⌠δσΩ±ΦΓφεΘ Φφ⌠ε≡∞α÷ΦΦ Σδ  Ωδα±±εΓ Φ ∞σ≥εΣεΓ ±Φ±≥σ∞√ Java. ╨σ⌠δσΩ±ΦΓφα  Φφ⌠ε≡∞α÷Φ , ±Γ ταφφα  ± φσΩε≥ε≡√∞ Ωδα±±ε∞, ΓΩδ■≈ασ≥ Γ ±σß  ε∩Φ±αφΦσ σπε ∩≡ΦΓΦδσπΦΘ Σε±≥≤∩α Ω ≡ατδΦ≈φ√∞ Ωδα±±α∞, Φ⌡ ∩εδ ∞ Φ ∞σ≥εΣα∞, Φ⌡ ±≤∩σ≡Ωδα±±α∞, Ω Φφ≥σ≡⌠σΘ±α∞, ∩≡Φ±εσΣΦφσφφ√∞ Ω ²≥Φ∞ Ωδα±±α∞, α ≥αΩµσ Φφ⌠ε≡∞α÷Φ■ ε ±ΓεΘ±≥Γα⌡ σπε ∩εδσΘ Φ ∞σ≥εΣεΓ.

╧≡εßδσ∞α ≡ατ≡αßε≥ΩΦ ≡σ⌠δσΩ±ΦΓφ√⌡ Γετ∞εµφε±≥σΘ Σδ  εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√⌡  τ√ΩεΓ ∩≡επ≡α∞∞Φ≡εΓαφΦ  ±Γ ταφα ± ∩≡εßδσ∞εΘ ≡σαδΦτα÷ΦΦ Γετ∞εµφε±≥Φ ΓταΦ∞εΣσΘ±≥ΓΦ  ≡ατδΦ≈φ√⌡ εß·σΩ≥φε-ε≡Φσφ≥Φ≡εΓαφφ√⌡ εΩ≡≤µσφΦΘ, ≥.σ. ± ∩≡εßδσ∞εΘ ≡ατ≡αßε≥ΩΦ ORB (Object Request Broker) [21]. ╤σΘ≈α± ≤µσ ≡ατ≡αßε≥αφε φσ±ΩεδⁿΩε Ωε∞∞σ≡≈σ±ΩΦ⌡ ORB Σδ  Java [22]. ╚τ≤≈σφΦσ ²≥Φ⌡ ORB ∩εΩατ√Γασ≥, ≈≥ε  τ√Ω Java πε≡ατΣε δ≤≈°σ, ≈σ∞, φα∩≡Φ∞σ≡ C++, ∩≡Φ±∩ε±εßδσφ Ω ≡σ⌠δσΩ±ΦΓφε∞≤ ∩≡επ≡α∞∞Φ≡εΓαφΦ■ Φ ≡σαδΦτα÷ΦΦ ORB. ╨ατΓΦ≥Φσ ≡σ⌠δσΩ±ΦΓφεπε ∩≡επ≡α∞∞Φ≡εΓαφΦ  φα Java ß≤Σσ≥ ±∩ε±εß±≥ΓεΓα≥ⁿ σ∙σ ßεδσσ °Φ≡εΩε∞≤ ≡α±∩≡ε±≥≡αφσφΦ■ ±Φ±≥σ∞√ Java. ┬∞σ±≥σ ± ≥σ∞ Java Γ σσ ≥σΩ≤∙σ∞ ±ε±≥ε φΦΦ Φ∞σσ≥ ≡ Σ φσΣε±≥α≥ΩεΓ, ∩≡σ∩ ≥±≥Γ≤■∙Φ⌡ σσ Φ±∩εδⁿτεΓαφΦ■ Σδ  ≡σαδΦτα÷ΦΦ ≡α±∩≡σΣσδσφφ√⌡ ∩≡ΦΩδαΣφ√⌡ ±Φ±≥σ∞. ┬ [21] ε≥∞σ≈σφ√ ±δσΣ≤■∙Φσ φσΣε±≥α≥ΩΦ Java Γ ²≥ε∞ ∩δαφσ:

  1. ╬≥±≤≥±≥ΓΦσ ∩εΣΣσ≡µΩΦ ∩α≡αΣΦπ∞√ Γ√τεΓα ∞σ≥εΣεΓ ΩδΦσφ≥/±σ≡Γσ≡; εΩ≡≤µσφΦσ Java, ±Γ ταφφεσ ± α∩∩δσ≥α∞Φ, ±≥≡σ∞Φ≥±  ∩ε∞σ±≥Φ≥ⁿ ±σ≡Γσ≡ (α∩∩δσ≥) φα ±≥ε≡εφ≤ ΩδΦσφ≥α, ≈≥ε φσΣε∩≤±≥Φ∞ε ∩≡Φ ≡αßε≥σ ± ±σ≡ⁿστφ√∞Φ (φσ Φπ≡≤°σ≈φ√∞Φ) ±σΓσ≡α∞Φ.
  2. ╬≥±≤≥±≥ΓΦσ ≡α±∩≡σΣσδσφφ√⌡ ±δ≤µß, ≥αΩ ΩαΩ Java φσ  Γδ σ≥±  ±Φ±≥σ∞εΘ ≡α±∩≡σΣσδσφφεπε ∩≡επ≡α∞∞Φ≡εΓαφΦ ; φα∩≡Φ∞σ≡, Java ∩εΣΣσ≡µΦΓασ≥ Γσ≡Φ⌠ΦΩα÷Φ■ α∩∩δσ≥εΓ φα ΩαµΣε∞ ε≥Σσδⁿφε∞ Ωε∞∩ⁿ■≥σ≡σ ±σ≥Φ, ≈≥εß√ εßσ±∩σ≈Φ≥ⁿ ßστε∩α±φε±≥ⁿ Γ ∩≡σΣσδα⌡ ²≥επε Ωε∞∩ⁿ■≥σ≡α; φε ≥αΩεΘ ∩εΣ⌡εΣ Φ∞σσ≥ ∞αδε εß∙σπε ± πδεßαδⁿφεΘ ±δ≤µßεΘ ßστε∩α±φε±≥Φ ±εΓ≡σ∞σφφ√⌡ ≡α±∩≡σΣσδσφφ√⌡ ±Φ±≥σ∞.
  3. ╬≥±≤≥±≥ΓΦσ ⌡≡αφΦ∞√⌡ (persistent) εß·σΩ≥εΓ Φ ±Γ τΦ ± ╤╙┴─.

╬≥±≤≥±≥ΓΦσ  τ√ΩεΓεΘ ∩εΣΣσ≡µΩΦ ≤∩≡αΓδσφΦ  ≥≡αφταΩ÷Φ ∞Φ Φ Φ⌡ µ≤≡φαδΦτα÷ΦσΘ.

╧σ≡σ≈Φ±δσφφ√σ φσΣε±≥α≥ΩΦ ∞σ°α■≥ ∩≡Φ∞σφσφΦ■ Java Σδ  ≡ατ≡αßε≥ΩΦ ±σ≡ⁿστφ√⌡ ≡α±∩≡σΣσδσφφ√⌡ ±Φ±≥σ∞ Γ ≡α∞Ωα⌡ ±≥αφΣα≡≥α CORBA. ┬ φα±≥ε ∙σσ Γ≡σ∞  ΓσΣ≤≥±  Φφ≥σφ±ΦΓφ√σ Φ±±δσΣεΓαφΦ  ∩ε ∩≡σεΣεδσφΦ■ ≤Ωαταφφ√⌡ φσΣε±≥α≥ΩεΓ.

┬ ΣαφφεΘ ∩≤ßδΦΩα÷ΦΦ ß√δα ±Σσδαφα ∩ε∩√≥Ωα ετφαΩε∞Φ≥ⁿ °Φ≡εΩΦσ Ω≡≤πΦ ∩≡επ≡α∞∞Φ±≥εΓ ± ε±φεΓφ√∞Φ ±ΓεΘ±≥Γα∞Φ Φ ε±εßσφφε±≥ ∞Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java. Java - ∩σ≡Γα  ±Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ , εßσ±∩σ≈ΦΓα■∙α  Γετ∞εµφε±≥ⁿ ≡ατ≡αßε≥ΩΦ Φ Γ√∩εδφσφΦ  ∩≡επ≡α∞∞ Γ ±≡σΣσ WWW. ┴√δε ∩εΩαταφε, ≈≥ε ∩≡επ≡α∞∞√, ≡ατ≡αßε≥αφφ√σ Γ ±Φ±≥σ∞σ Java, εßδαΣα■≥ ≥αΩΦ∞Φ ±ΓεΘ±≥Γα∞Φ ΩαΩ ∩σ≡σφε±Φ∞ε±≥ⁿ, Γ√±εΩα  φαΣσµφε±≥ⁿ, αΣα∩≥Φ≡≤σ∞ε±≥ⁿ Ω φεΓ√∞ ≤±δεΓΦ ∞ Φ⌡ Γ√∩εδφσφΦ . ╩αΩ ε≥∞σ≈σφε Γ [21], Java ∩ετΓεδ σ≥ ≤µσ ±σΘ≈α± ≡ατ≡αßα≥√Γα≥ⁿ Γ√±εΩεφαΣσµφ√σ Ωε∞∞σ≡≈σ±ΩΦσ ∩≡ΦΩδαΣφ√σ ±Φ±≥σ∞√. ▌≥Φ ±ΓεΘ±≥Γα ∩≡ΦΓδσΩα■≥ Ω ±Φ±≥σ∞σ Java ∞φεπΦ⌡ ∩≡επ≡α∞∞Φ±≥εΓ, Φ Γ φα±≥ε ∙σσ Γ≡σ∞ , φσ±ε∞φσφφε, Java - ±α∞α  ∩ε∩≤δ ≡φα  ±Φ±≥σ∞α ∩≡επ≡α∞∞Φ≡εΓαφΦ . ╬ΣφαΩε ±Φ±≥σ∞α Java ±σΘ≈α± φα⌡εΣΦ≥±  Γ ±α∞ε∞ φα≈αδσ ±Γεσπε ≡ατΓΦ≥Φ . ┼∙σ φσ≥ Σαµσ ∩σ≡Γ√⌡ ∩≤ßδΦΩα÷ΦΘ, ±Γ ταφφ√⌡ ±ε ±≥αφΣα≡≥Φτα÷ΦσΘ Java, σ∙σ ∞φεπε φσ ±φ√⌡ Γε∩≡ε±εΓ, ±Γ ταφφ√⌡ ± φαΣσµφε±≥ⁿ■, ßστε∩α±φε±≥ⁿ■, ²⌠⌠σΩ≥ΦΓφε±≥ⁿ■, εßσ±∩σ≈σφΦσ∞ ß√±≥≡εΣσΘ±≥ΓΦ  Java-∩≡επ≡α∞∞. ╧ε²≥ε∞≤ ∞εµφε εµΦΣα≥ⁿ, ≈≥ε Γ ±α∞εσ ßδΦµαΘ°σσ Γ≡σ∞ , ß≤Σ≤≥ ∩εδ≤≈σφ√ Φ ε∩≤ßδΦΩεΓαφ√ φεΓ√σ ≡στ≤δⁿ≥α≥√ ΩαΩ ∩ε ≡ατΓΦ≥Φ■ Φ ±≥αφΣα≡≥Φτα÷ΦΦ  τ√Ωα Φ ±Φ±≥σ∞√ ∩≡επ≡α∞∞Φ≡εΓαφΦ  Java, ≥αΩ Φ ∩ε φεΓ√∞ ≥σ⌡φεδεπΦ ∞ Φ ∩εΣ⌡εΣα∞ Ω ∩≡Φ∞σφσφΦ■ Java Γ ±α∞√⌡ ≡ατδΦ≈φ√⌡ εßδα±≥ ⌡ ±Φ±≥σ∞φεπε Φ ∩≡ΦΩδαΣφεπε ∩≡επ≡α∞∞Φ≡εΓαφΦ .

╦Φ≥σ≡α≥≤≡α
  1. J. Gosling, "The Java Language Environment", A white paper, Sun Microsystems, Mountain View, CA, 1995; http://java.sun.com
  2. ╧. ╒≡α∞÷εΓ, ╦αßΦ≡Φφ≥ Internet. ╧≡αΩ≥Φ≈σ±Ωεσ ≡≤ΩεΓεΣ±≥Γε. - ╠.: "▌╦┼╩╥╨╬╚═╘╬╨╠", 1996.
  3. "The Java Language Specification", technical report, Sun Microsystems, Mountain View, CA, 1995; http://java.sun.com
  4. "The Java Virtual Machine Specification", technical report, , Sun Microsystems, Mountain View, CA, 1995; http://java.sun.com
  5. ╧. ═ε≥εφ, Java. ╤∩≡αΓε≈φεσ ≡≤ΩεΓεΣ±≥Γε (∩σ≡σΓεΣ ± αφπδΦΘ±Ωεπε ∩εΣ εß∙σΘ ≡σΣαΩ÷ΦσΘ └. ╥Φ⌡εφεΓα). - ╠.: ┬ε±≥ε≈φα  ╩φΦµφα  ╩ε∞∩αφΦ , 1996.
  6. R. Rew, "The Java Generic Library (JGL)", Boulder Java Users Group, UCAR Unidata, September 1996, www.unidata.ucar.edu/staff/russ/java/jgl-bjug
  7. Homepage of SJL [a Simple Java(tm) Library], Version 0.11, java.sun.com
  8. D.R.Musser, A.Saini STL Tutorial and Reference Guide. C++ Programming with the Standard Template LibraryAddison-Wesley, 1996 (Σε±≥≤∩φα ≥αΩµσ ∩ε www.aw.com/cp/musser-saini)
  9. The HotJava Browser: A white paper, sunsite.math.klte.hu/hotjava/doc/overview/hotjava/index
  10. G. McComb, JavaScript Sourcebook, Wiley Computer Publishing, 1996; Σε±≥≤∩φα ∩ε Web: gmccomb.com/javascript/index3 ±∞. ≥αΩµσ: JavaScript for Interactive Web Design, www.westlake.com/training/classes/outlines/js-outline
  11. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen, Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, New Jersey, 1991
  12. J. A. Bank, and B. Liskov, "Parameterized Types for Java," Proceedings of ACM Symposium on Principles of Programming Languages, January 1997, pp. 132-145. An HTML version is also available: ftp.pmg.lcs.mit.edu/pub/thor/popl97/popl97
  13. Marc A. Hamilton, "Java and the Shift to Net-Centric Computing", Computer, IEEE Computer Society, August 1996, vol. 29, ╣ 8, pp.31 - 39.
  14. D. Dean, E. W. Felten, and D. S. Wallach, "Java Security: From HotJava to Netscape and Beyond," Proc. Symp. Security and Privacy, IEEE CS Press, Los Alamos, CA, 1996, pp. 190 - 200.
  15. Java Security Research at Reliable Software Technologies, www.rstcorp.com/rst-java-security ±∞. ≥αΩµσ: Frequently Asked Questions - Applet Security, java.sun.com/sfaq
  16. B. J. Kvande Java Bug Demonstrations used to test bugs I have discovered, www.cs.odu.edu/ ~kvande/Projects/JavaBugs/
  17. E. Yourdon, "Java, the Web, and Software Development," Computer, IEEE Computer Society, August 1996, vol. 29, ╣ 8, pp.25 - 30.
  18. F. Yellin, "The Java Native Code API", Sun Microsystems, Mountain View, Calif., 1995; www.javasoft.com/doc/jit_interface.html
  19. Microsoft SDK for Java 1.5; www.microsoft.com/java/sdk
  20. The Java Runtime Interface. Introduction, www1.netscape.com/eng/jri/jri-intro ±∞. ≥αΩµσ: JRI Reflection Module, www1.netscape.com/eng/jri/jri-reflect
  21. R. I. Resnick, Bringing Distributed Objects to the World Wide Web, www.pacificspirit.com/DistributedObjects
  22. Java ORB Products, www.dstc.edu.au/AU/research_news/omg-isig/products.html

[═αταΣ] [╤εΣσ≡µαφΦσ] [┬∩σ≡σΣ]