|
˟΂‹ Þ›ŸÁ ÁÍ Ëߊ ÿÁß‚‡ ÿ‚ à›‚œÍƒ Todd Sundsted à…Œßœ JavaWorld Í•ÎßÍŸ„ ΂œžŒ :݇ͅ› àšŠ ÿ‚éœéé› àƒ Áß‚‡ ÍË ÅŸœ›Á .ËÍÁË ÿ…ß‚•…› ÿœ‚› Ø™…Š› ËÁÍ•Á ÍÕœ ÎÁ ÅŸœ›Á àËÍé— Ñß›ÁÍ• ÁÍ Ýž› Ýßž•› ßË Ë‚›œ ÞŸÁ à…ƒ™Á .Å‹Á á΂‡› ÞŸŒ‚› ß Ë— ÅŸ‚ƒ ÅéŸéœé›Á Ë…‹Ëœ‚‹ Ë‚… ¬Åš‚–› áÍ‹ ÞŸÁ ÍË .à—ƒŒ ÅŸœ›Á ß à›‚œÍƒ ÅŸœ›Á :Å‹Á .ËËÿ› ÍÁÍ– ÿ‹Í̓ ËÍß› ÁÍ à—ƒŒ ß à›‚œÍƒ ¬ÿ΂‡› ÞŸŒ‚› Ý郂Ÿÿ› ÍË Ã™’Á ¬Ýœ—ÿ› щ ÅŸœ›Á àÍ‚ƒ ÍË Þ‚‹Ëœž› ß ÞÁÍŸË› ‚ƒ à—Ÿ›‚˜œ ."Åé‹Á Þ›Á Áß‚‡" ‚žœÀ Ë‚–…Á àƒ ÁÍŸÎ Ëœ…‹Ÿœ ÞÁ͘œ àÔƒÁÍ ÞŸÁ ÍË ‚žœÀ à— Áß‚‡ ÿ‚à›‚œÍƒ Ë‚‡ŸÁ ÍË à— ÁÍ à™ì‹› ÞŸÁ Þ‚‹Ëœž› ¬à‚ƒ…ŒÁ ÞŸÁ Þ…•ÍŸÌ„ ‚ƒ ß àé—éƒéŒ ÅŸœ›Á ¬ÿ΂‡› ÞŸŒ‚› ÅŸœ›Á ÿœŸ Ø™…Š› àƒœ‡ à‹ ÎÁ ÁÍ ÅŸœ›Á ËŸ‚ƒ àéœéŸé›Î ÍË Ôé–• Áß‚‡ .Ëœœ—ÿ›œ ËŸì‚… ¬ËÁË ÍÁÍ– ÿ‹Í̓ ËÍß› à›‚œÍƒ ÅŸœ›Á .Å‹Á Þ›Á á΂‡› ÞŸŒ‚› ÞéŸÁ ÿÁÍéƒ .ÝŸ‚›œ ÉšÁ ÁÍ Íß—Ì› ÝŸ‚•› à— ÝÍÁË ÿ‹ Åš‚–› áÍ‹ ÞŸÁ ÍË Þ› .ÝËÿ› ÉŸŽß… Íß—Ì› àƒœ‡ à‹ ÎÁ ÁÍ Áß‚‡ ÅŸœ›Á ÍßÕœ› ÅŸœ›Á àƒœ‡ à‹ áË‚éŸÎ Ü‚é‡éœ‡ ÞÁÍ‚˜œ à›‚œÎßÍ ß Þ‚––‰› ¬Þ‚˜ËœË à‹ß… ¬Áß‚‡ ÍßžÕ Ý‚˜œ ß Ë— ÅŸ‚ƒ ÅŸœ›Á ÿ‚œ› àƒ Áß‚‡ ÅŸœ›Á ¬‚ÎßÍ ÞÀ ÍË .ËœËÍ— ‚„̓ ÞÀ àÍ‚ƒÍË ÿ陉› ÿÁ͇Á ß ‚à›‚œÍƒ download ÿÁ̓ Áß‚‡ à—Ÿì‚‡œÀ ÎÁ .Ë߃ á΂‡› ÞŸŒ‚› .Åé•‚éŸ ÅŸ›Á àËŒ download Ë— ÿÁ͇Á ÔŸ‰› ß ÿ˜ˆÍ‚„—Ÿ ¬Å•Íÿ› Í‚— àƒ ‚žœÀ ß security manager ß class loader ÉŸ‰ Ü Ýßž•› àƒ ÅŸœ›Á ¬Ý‚˜œ ÞÀ ÍË .Ë߃ àËŒ download Ë— ÿŸ‚‹‚œŒ ÅéŸéœé›Á àÍ‚éƒ ÍË ¬Ý酌ߜÿ› C++ ß C Þ‚ƒÎ àƒ áË̓͂— ÿ‚à›‚œÍƒ à—Ÿ›‚˜œ Åš‚é—éŒÁ ÞÁ͘œ ÝËÍ—ÿ› Í—• ÅŸœ›Á àƒ ÿ…–ß ‚›Á .Ý…ŒÁËœ ÿœÁ͘œ á΂‡› ÞŸŒ‚› Ãééœ ÞÀ ÿßÍ Íéƒ à雂œÍƒ à— ÿ›…‹Ÿ‹ ‚Ÿ à›‚œÍƒ á΂‹ àË‚Ÿ„ ‚Ÿ à›‚œÍƒ ÙÔœ› àÎßé‰ ÞËßé›éœ ËßËé‰é› ÿ‚éœéé› àéƒ à雂œÍƒ ÍË ÅŸœ›Á C++ ÍË .ÝË߃ ¬ËŒÿ› ß (Ë錂ƒÿ› ͘ŸË ̓͂— ÞÁßœ àƒ setuid code ЗŸœßŸ ÔŸ‰› ÍË) setuid code .ËŸÀÿ› Ü› àƒ Åœ‚›› stack Åš—Œ› ÍŸ‚‹ ß Í•‚ƒ overrun ÎÁ àËéŒ ‘éŸÎß… à›‚œÍƒ .Å‹Á ÅŸœ›Á ÎÁ á͘ŸË àƒœ‡ ¬àËŒ ‘ŸÎß… ÿ‚à›‚œÍƒ ÿ•Í› ‚éƒ ß Ëߌ ÝŸ–› Ëߊ àƒ Ô߃͛ ÞŸŒ‚› ÍË ËŸ‚ƒ ÑŠƒ Í à— ËÍÁË ÿ•™…Š› ÿ‚ÑŠƒ Ãß áË̓͂— à›‚œÍƒ .ËŸ‚›œ ÍÁ͖̓ Ô‚ƒ…ÍÁ ÿ›ß› à—ƒŒ ÚŸ ÿßÍ Íƒ ‚ÑŠƒ ÍŸ‚‹ Í‚éƒé…éÁ ÜÍé…霗 ÿ‚œ› àƒ à—ƒŒ àœŸ›Î ÍË ÅŸœ›Á .Å‹Á àœŸ›Î ÞŸÁ ÍË ÿ™‚†› .Å‹Á ÿÔ‚ƒ…ÍÁ ÿ‚Ü‚œ‚— áÍÁÌ˜Î›Í ß áË̓͂— à›‚œÍƒ Á·Á ß ÞÁ̓͂— Åé‹Á ÞŸÁ ̓ Þ‚ŒÍß… ß ËœÍÁËœ à‡ß… Åß‚•… ÞŸÁ àƒ Þ‚˜ËœË àÖ‹ß… ÎÁ áÍ‚Ÿ‹ƒ àé› ÍË Áß‚‡ áË̓͂— ÿ‚à›‚œÍƒ ¬Å‹Á Þ›Á á΂‡› ÞŸŒ‚› ÉÔ‹ ÍË Áß‚‡ Þ߈ à— .Ëœ…‹ Þ›Á ‚àœŸ›Î á΂‡› ÞŸŒ‚› ÅŸœ›Á àËß雜 Ù‡ Ëߊ àƒ ÁÍ Þ‚˜ËœË à‹ß… à‡ß… á΂‡› ÞŸŒ‚› ÅŸœ›Á ÿœšßÔ ÿ‚ž…Ë› .ÝËÿ› ÉÍŒ àšŠ ÍßÔƒ ÁÍ á΂‡› ÞŸŒ‚› ÅŸœ›Á ÁË…ƒÁ .Ë߃ ËÍßé› ËœËŒ ÿŸ‚‹‚œŒ à…ŒÌ˜ Ü‚‹ ÑŒ ÿÔ à— ÁÍ ÅŸœ›Á ÿ‚áÍŸÌ„ ß‹À ÖÁßœÁ ͘Á .ËœÍÁË ÍÁÍ– Íß—Ì› Å‚–ƒÔ ÍË à— ËŸƒ‚Ÿÿ› ÍË ¬ËŸË ÍÁÍ– ÿ‹Í̓ àËŒœ ÿŸ‚‹‚œŒ Ë— Î›Í ÎÁ ¬ËßéŒÿé› load àé—éƒéŒ ÍË ÍßÍ‹ ÎÁ ÜŸ‚• К— ÚŸ ÞÁßœ àƒ JVM à— ÿ›‚˜œ à‚˜ˆŸ Þ›Á Ë— ÅŸ‚ƒ .ËÍÁËœ ÿšÔÁ ÍŸŠ ‚Ÿ Å‹Á Þ›Á Ë— ÅŸ‚ƒ ÿÁ͇Á ‚ŸÀ à—œŸÁ ΂é‡é› ÍŸ’ ÅŸŽß ‚Ÿ áÍ‚˜Î‚‹‚œ Ë à— ÿ…‚Ÿ™› ÿÁ͇Á ÿÁ̓ ÁÍ á΂‡› ÞŸŒ‚› .Ëœ—ÿ›œ ÅŸÁË ¬ËœßŒÿ› Áß‚‡ .Åé‹Á Þé›Á Ëé—ÅéŸ‚éƒ àé— Ë霗ÿ› Ü‚‰ Þ‚œŸ›ÔÁ Áß‚‡ Í™Ÿ‚„›‚— ¬Üß›› ÍßÔƒ Þ韜Áß– ‚ƒ à— ÁÍ áË— ß àËß›œ ÿ‹Í̓ ÁÍ ‚Ë— ÅŸ‚ƒ à› Áß‚‡ àËœœ— ÿŸ‚‹‚œŒ ¬ËéŒ ÿŸ‚‹‚œŒ Ë— ÅŸ‚ƒ à—œŸÁ Ó‰› àƒ .Ëœ—ÿ› ÿŸ‚‹‚œŒ ¬ËÍÁË ÅÍŸ‚“› ÍÕœ ËÍß› .Å‹Á Þ›Á ÞÀ ÿÁ͇Á à— Ëƒ‚Ÿÿ› ÍË á΂‡› ÞŸŒ‚› :ÝŸœ—ÿ› ÿ‹Í̓ ÁÍ ÍŸÎ Ðš—
Ä‚ˆ ÁÍ 56/78 à…ŒÍ áË̓͂— à›‚œÍƒ ¬ËŸì‚›œ Á͇Á ß ÜŸ‚„›‚— ÁÍ Ðš— ÞŸÁ ͘Á ÉšéÁ ‚éƒ ‚› .Ëߌÿ› Ë…œ› Float К— ÎÁ ÿÁàœß›œ àƒ ÍÁË–› ÞŸÁ .ËÍ— ËÁߊ ‚… ÝŸÁߊÿ› ÞÀ ÎÁ ß ÝŸËÿ› ß͕ ÁÍ á΂‡› ÞŸŒ‚› ¬Ðš— Ë— ÅŸ‚ƒ ÎÁ ÅŸ‚ƒ ÚŸ .ÁÍ Float К— àœ Ëœ— ÁË Integer К— ÿÁ̓ ÁÍ toString() Ë…›
àéƒ Ößé‡Í á΂é‡é› ÞŸŒ‚› ¬²µ ÿ„— ÍË .Å‹Á main() Ë…› ÿ‡ßÍŠ ÿß‚‰ Ùß• Å‹Ÿ™ .Ë霗ÿ› áÍÁ̘͂ƒ ¬(10 ‚… 0 ÿ„— ÎÁ) àËŒ à…Š‚‹ "šƒ– ÁÍ Float ÎÁ ÿÁ àœß›œ :ËÁË ÝŸÁߊ ÍŸŸ“… ÁÍ Ü›™Á Íß…‹Ë ÞŸÁ ‚›
JVM Îßéœé ÿé…Í‚éƒé àƒ .Å‹Á ΂‡› Ë— ÅŸ‚ƒ ÚŸ à‡Ÿ…œ Îßœ à— ËŸì‚›œ à‡ß… ËéœÁßé…ÿé› àËéœéœ— ÿŸ‚‹‚œŒ ¬ÞŸÁ Ëß‡ß ‚ƒ .ËŸ‚›œ Á͇Á ÁÍ Ë— ÅŸ‚ƒ ËœÁß…ÿ› ÍéŸÎ ÿ‚ÔŠ Ý‚Ÿ„ ¬ÝËß›œ áÍÁ̘͂ƒ ÁÍ Ðš— à— ÿ›‚˜œ .ËŸ‚›œ ÒŠŒ› ÁÍ ÅÁÍŸŸ“… :ÝËÍ— Å•‚ŸÍË ÁÍ
Þ‚›Í• Í—Á .Ëœ—ÿ›œ Í‚— ÿƒßŠ àƒ Ë— ¬ËŸì‚›œ Ü‚• ÍŸ’ ÁÍ àËœœ— ÿŸ‚‹‚œŒ ͘Á .ËÍ— ÝÁߊ Å•‚ŸÍË ÁÍ 1234 Ê‹‚„ ¬Ýœ— Á͇Á ÁÍ ÍŸÎ
¬ËßéŒ Á͇Á àËŒœ ÿŸ‚‹‚œŒ Ë— ‚… ËËÿ› à΂‡Á à— Ùß• ÚŸœ—… àƒ‚Œ› ÿŸ‚ÚŸœ—… .˜ߌÿ› Ë ÁÍ Ößœ ÿ˜…ŠŸÍ Ý àƒ Ößœ ÿ˜…ŠŸÍ Ý àƒ Ößé›é‡é› ÞéŸéŸé… ÿÁ̓ áÍÁË–› Ößœ Å‚šÔÁ ÎÁ JVM ß ËÍÁË ÿßœ ¬ÿÍÁË–› Í .Ëœ—ÿ› àË‚•…‹Á ˜͟˜ ÅÍß ÍÁË–› ÞÀ ÿßÍ Íƒ ËœœÁß…ÿ› à— ÿ…‚Ÿ™› .Å‹Á áÍßÍŽ á΂‡› ÞŸŒ‚› ÅŸœ›Á ÿÁ̓ ¬Ößœ Å‚šÔÁ ‚ƒ Í‚˜Î‚‹ áË̓͂— à›‚œÍƒ ÎÁ ÿé—ßé™éƒ à— Ëœ— Íß… ß ËÍߊƒ ß͕ JVM ‚… Ëߌÿ› Ë Ößœ ÿ˜…ŠŸÍ Ý àƒ .Ë錂ƒÿ› ͘ŸË К— ÎÁ ÿÁàœß›œ ‘–Áß ÍË ¬Å‹Á К— àœß›œ ÚŸ ͘œ‚Ÿƒ à— àÕ•‚‰ áËÍéƒÍ‚é— à雂éœÍƒ ¬ËÍŸ˜ ÅÍß áΟ›À ÅŸ–•ß› ÍßÔ àƒ ÿ˜…ŠŸÍ Ý àƒ ÞŸÁ ͘Á .Ëœ— áÍ‚—…‹Ë ¬Å‹Ÿœ К— ÉÁÍÔ ÍÕœ Ë› à— ÿÁàœß˜ àƒ ÁÍ àœß›œ ÅŸŽß ËœÁß…ÿ› Ýé˜ÍËÍé‹ á΂‡› ÞŸŒ‚› ÁÍŸÎ ¬Ëߌÿ› àËŸ›‚œ Ößœ ÿ˜…ŠŸÍ Ý àƒ à™›‰ Å™‚‰ ÞŸÁ Þ‚é—é›Á Îé˜Í Ößœ ÿ˜…ŠŸÍ Ý àƒ ¬Ëߌ ÿŸ‚‹‚œŒ ÉŸ‰ ÍßÔ àƒ Ðš— ͘Á .Ëߌÿ› ÍË‚é ÁÍ Verify Error ÿ‚éÔéŠ àËéœéœ— ÿŸ‚‹‚œŒ ¬Å‹Ÿ™ ÞŸ›ßË ÍË .Å‹Ÿœ ÍŸÌ„ .Ëߌÿ› ËŸì‚… ÅŸœ›Á ¬àËŒœ Ü‚• ÍŸ’ àËœœ— ÿŸ‚‹‚œŒ à— ÿœ‚›Î ‚… .Ëœ—ÿ› ±¹¹¹ Ü‚é‹ ÍéŠÁßÁ ÍË Áß‚‡ Ë— ÅŸ‚ƒ àËœœ— ÿŸ‚‹‚œŒ ÍË áÍŠÁ ÿ‚ÔŠ ¬àœ‚…ŠƒŒßŠ .ËŒ ÉšÁ .˟΂‹ Ü‚• ÍŸ’ ÁÍ ÿŸ‚‹‚œŒ ÿ…‹Ë ÍßÔ àƒ ËŸœÁß…ÿ› à— ËŸŒ‚ƒ à…ŒÁË ÍÔ‚Š àƒ Ýéžé› · ¬Ë΂‹ Ü‚• ÍŸ’ ÁÍ ÿŸ‚‹‚œŒ ËœÁß…ÿ› à— áË̓͂— ÿ‚à›‚œÍƒ ÎÁ ÿ—Ÿ ÁÍ ÿ韂鋂œŒ ËŸœÁß…ÿ›œ ÞÀ Þß˃ à— ËÍÁË (Remote Methode Invocation) RMI .ËŸì‚›œ Ü‚• ÍŸ’ ‚é›éŒ Ößœ ÿ˜…ŠŸÍ Ý àƒ ß àËŒœ ÿŸ‚‹‚œŒ Ë— Ɖƒ› .Å‹Á Ýž› Í‚Ÿ‹ƒ JVM ÅŸœ›Á Ü‚é‰é› ÅŸœ›Á ¬àËŒ download Ë— ËŸì‚… Þß˃ .Ëœ—ÿ› Ú›— Ùԛ ÞŸÁ ÚÍË ÍË ÁÍ .Å‹Á
Resources |
|
|
![]()
(c) Copyright 2001 IDG.net, an IDG Communications company/PC WORLD Iran. All rights reserved.