JAVA µ{ ¦¡ »y ¨¥ ªº ¯S ©Ê


Simple (² ³æ)
Object-Oriented (ª« ¥ó ¾É ¦V)
Distributed (¤À ´² ©Ê)
Interpreted (ª½ Ķ ¦¡)
Robust (±j ©T ©Ê)
Architecture Neutral (¹q ¸£ ¬[ ºc ¤¤ ¥ß ©Ê)
Portable (¥i Äâ ©Ê)
High-Performance (°ª ®Ä ²v)
Multithreaded (¦h °õ ¦æ ºü)
Dynamic


 

Simple (² ³æ)

©M C++ ¤ñ °_ ¨Ó ¡A Java ½T ¹ê ¬O ² ³æ ÂI ( ¦³ ¤H »¡ Java ¬O C-- ¦Ó ¤£ ¬O C++ )  ¡C Java ¤ñ C++ ( ©Î C ) ¤£ ¦P ¤§ ³B ¦³

  1. Java ¤£ ¤ä ´© struct, union ©M «ü ¼Ð (Pointer) «¬ ºA
  2. Java ¤£ ¤ä ´© typedef ©Î #define
  3. Java ¤£ ¥i ¨Ï ¥Î ¹B ºâ ¤l ¶W ¸ü (Operator Overloading)
  4. Java ¤£ ¤ä ´© ¦h ­« Ä~ ©Ó (Multiple inheritance)
  5. Java ³B ²z ©R ¥O ¦C °Ñ ¼Æ »P C/C++ ¤£ ¦P
  6. Java ¹ï ¦r ¦ê ªº ³B ²z ¬O ¥H String ªº Ãþ §O ¡A ¥] §t ¦b java.lang ¤¤ ¡A ¦Ó ¤£ ¦P ©ó C ©Î C++ ¥H NULL µ² §À ªº ¦r ¤¸ °} ¦C
  7. Java ¨ã ¦³ ¦Û °Ê ªº °O ¾Ð Åé °t ¸m ¤Î ¦^ ¦¬ ¨t ²Î

Object-Oriented (ª« ¥ó ¾É ¦V)

¦p C++ ¤@ ¯ë ¡A Java ¤ä ´© ª« ¥ó ¾É ¦V ªº ¤è ªk ¨Ó ¼¶ ¼g µ{ ¦¡ ¡C ª« ¥ó ¾É ¦V ªº Àu ÂI ¤w ªñ ¥G ¤H ºÉ ¬Ò ª¾ ¡A ¤£ ¦A ÂØ ­z ¡A ¨ä ¤¤ ¤T ­Ó OOP »y ¨¥ ªº ­« ­n ¯S ©Ê ¦³ ¡G

  1. Encapsulation
  2. Inheritance
  3. Polymorphism

Distributed (¤À ´² ©Ê)

Java ¦b ³] ­p ®É ¡A ´N ¬O ­n ¦b ºô ¸ô ªº Àô ¹Ò ¤U ¤u §@ ¡A ¦] ¦¹ ¡A Java ¨ã ¦³ ³\ ¦h Ãö ©ó Internet ¤W TCP/IP ³q °T ªº class libraries ¡A ¥] §t HTTP ¡B FTP µ¥ ¡C Java ªº ­ì ©l µ{ ¦¡ ¤] ¥i ª½ ±µ ¨Ï ¥Î URL ¡A ¨Ï ¥Î ºô ¸ô ÀÉ ®× ´N ¹³ C/C++ ¨Ï ¥Î ÀÉ ®× ¤@ ¼Ë ®e ©ö ¡C

Interpreted (ª½ Ķ ¦¡)

·í Java ªº ½s Ķ ¾¹ ±N Java ªº ­ì ©l µ{ ¦¡ Âà ¦¨ ¤¤ ¶¡ «¬ ¦¡ ªº bytecode ¡C ³o bytecode ´N ¥i ¥H ¦b ¥ô ¦ó ¾÷ ¾¹ ¤W ¥H Java ªº ¸Ñ Ķ ¾¹ (Interpreter) ©Î Java-enabled ªº Âs Äý ¾¹ ¨Ó °õ ¦æ ¡C ³o ¼Ë ªº ¬[ ºc ¨Ï ±o Java ªº µ{ ¦¡ »P ¨Ï ¥Î ªÌ ªº ¥­ ¥x µL Ãö ¡C

Robust (±j ©T ©Ê)

¤@ ­Ó Robust ªº ³n Åé ¤£ ©ö ¦] µ{ ¦¡ ªº bugs ©Î ÅÞ ¿è ¿ù »~ ¦Ó "break" ¡C ¦Ó µ{ ¦¡ »y ¨¥ ­n ½T «O ¨ä ±j ©T ©Ê ³q ±` ¬O ¥[ ¤J §ó ¦h ªº ­­ ¨î ¨Ï µ{ ¦¡ ³] ­p ®v ¤£ ©ö ¥Ç ¿ù ¡C ³o ¦¹ ­­ ¨î ¥] §t ¸ê ®Æ «¬ ºA ¤Î «ü ¼Ð ªº ¨Ï ¥Î ¡C

Architecture Neutral (¹q ¸£ ¬[ ºc ¤¤ ¥ß ©Ê)

¥Ñ ©ó Java ½s Ķ ¾¹ ²£ ¥Í ªº ¬O ¤¤ ¶¡ «¬ ¦¡ ªº bytecode ¦Ó ¤£ ¬O ¾÷ ¾¹ ¬Û Ãö ªº Machine code ¡A ¦] ¦¹ Java ªº µ{ ¦¡ ¬O »P ¹q ¸£ ¬[ ºc µL Ãö ¡C

Portable (¥i Äâ ©Ê)

¦b C/C++ »y ¨¥ ¤¤ ¹ï «¬ ºA ªº ¤j ¤p ¨Ã ¨S ¦³ ¤Q ¤À ÄY ÂÔ ªº ³W ©w ¡A ¨Ò ¦p ¥u ¦³ ³W ©w ¡G
sizeof(shot) <= sizeof(int) <= sizeof(long)
¦Ó ¹ê »Ú ªº ¤j ¤p ´N ÀH µw Åé ¤£ ¦P ¦Ó ¤£ ¦P ¡C ¦b Java ¤¤ ¡A ¾ã ¼Æ ´N ¬O 32 ¦ì ¤¸ ¡B ¯B ÂI ¼Æ ´N ¬O IEEE 754 ªº ¼Ð ·Ç ¡A ¤£ ÀH µw Åé ¦Ó §ï ÅÜ ¡C

High-Performance (°ª ®Ä ²v)

Áö µM Java ªº bytecodes ¬O ¸Ñ Ķ ¦¡ ¡A ¦b ®Ä ²v ¤W ¤£ ¦p ª½ ±µ °õ ¦æ ¯S ®í µw Åé ªº ¾÷ ±ñ ½X ¡A Java ªº ½s Ķ ¥] §t ¤@ ­Ó ¿ï ¶µ ¥i ±N bytecodes Âà ¦¨ machine code ¡C ¨Æ ¹ê ¤W ¦b IE ¤Î Netscape ³£ ¤w ¥] §t ¤F JIT (Just In Time) Compiler ¡A ¤] ´N ¬O »¡ Netscape ¨Ã ¤£ ª½ ±µ ¹ï bytecode ¸Ñ Ķ ¡A ¦Ó ¬O §Q ¥Î §Y ®É ½s Ķ ªº §Þ ³N ±N bytecode Âà ¦¨ Clinet ºÝ ªº machine code ¦A °õ ¦æ ¥H ¼W ¥[ ®Ä ²v ¡C (¨Ì ·Ó Sun Microsystems ªº ´ú ¸Õ ¡A ¥Ñ Java Âà ¦¨ bytecode ¦A Âà ¦¨ machine code »P C/C++ ª½ ±µ Âà ¦¨ machine code ªº °õ ¦æ ®Ä ²v ¾÷ ¥G ¬Û ¦P )

Multithreaded (¦h °õ ¦æ ºü)

Java ¤ä ´© ³Ì ·s µ{ ¦¡ »y ¨¥ ªº ¥\ ¯à ¢w Multi-Threading ¡C

Dynamic

Java ¤£ ¹³ C++ »y ¨¥ ¨º ¼Ë ¡A ¨C ·í ¤÷ Ãþ §O (Parent Class) ¦³ ­× §ï ®É ¡A ©Ò ¦³ ªº µ{ ¦¡ ³£ ­n ­« ·s ½s Ķ ¡A Java §Q ¥Î interfaces ªº ¤è ªk ¨Ó «O «ù ¤÷ ¤l µ{ ¦¡ ¤§ ¶¡ ªº Ãö «Y ¡C


Last updated on by Jiann-Ching Liu