C++ÓëJava±È½Ï(ת)
C++ÓëJava±È½Ï(ת)
Ó¢ÎÄÔÎÄ£ºhttp://www.javacoffeebreak.com/articles/thinkinginjava/comparingc++andjava.html
“×÷ΪһÃûC++³ÌÐòÔ±£¬ÎÒÃÇÔçÒÑÕÆÎÕÁËÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù±¾¸ÅÄ¶øÇÒJavaµÄÓï·¨ÎÞÒÉÊǷdz£ÊìϤµÄ¡£ÊÂʵÉÏ£¬Java±¾À´¾ÍÊÇ´ÓC++ÑÜÉú³öÀ´µÄ¡£”
¡¡¡¡È»¶ø£¬C++ºÍJavaÖ®¼äÈÔ´æÔÚһЩÏÔÖøµÄ²îÒì¡£¿ÉÒÔÕâÑù˵£¬ÕâЩ²îÒì´ú±í׿¼ÊõµÄ¼«´ó½ø²½¡£Ò»µ©ÎÒÃÇŪÇå³þÁËÕâЩ²îÒ죬¾Í»áÀí½âΪʲô˵JavaÊÇÒ»ÖÖÓÅÐãµÄ³ÌÐòÉè¼ÆÓïÑÔ¡£±¾¸½Â¼½«Òýµ¼´ó¼ÒÈÏʶÓÃÓÚÇø·ÖJavaºÍC++µÄÒ»Ð©ÖØÒªÌØÕ÷¡£
¡¡¡¡(1) ×î´óµÄÕϰÔÚÓÚËÙ¶È£º½âÊ͹ýµÄJavaÒª±ÈCµÄÖ´ÐÐËÙ¶ÈÂýÉÏÔ¼20±¶¡£ÎÞÂÛʲô¶¼²»ÄÜ×èÖ¹JavaÓïÑÔ½øÐбàÒ롣д×÷±¾ÊéµÄʱºò£¬¸Õ¸Õ³öÏÖÁËһЩ׼ʵʱ±àÒëÆ÷£¬ËüÃÇÄÜÏÔÖø¼Ó¿ìËÙ¶È¡£µ±È»£¬ÎÒÃÇÍêÈ«ÓÐÀíÓÉÈÏΪ»á³öÏÖÊÊÓÃÓÚ¸ü¶àÁ÷ÐÐÆ½Ì¨µÄ´¿¹ÌÓбàÒëÆ÷£¬µ«¼ÙÈôûÓÐÄÇЩ±àÒëÆ÷£¬ÓÉÓÚËٶȵÄÏÞÖÆ£¬±ØÐëÓÐЩÎÊÌâÊÇJava²»Äܽâ¾öµÄ¡£
¡¡¡¡(2) ºÍC++Ò»Ñù£¬JavaÒ²ÌṩÁËÁ½ÖÖÀàÐ͵Ä×¢ÊÍ¡£
¡¡¡¡(3) ËùÓж«Î÷¶¼±ØÐëÖÃÈëÒ»¸öÀà¡£²»´æÔÚÈ«¾Öº¯Êý»òÕßÈ«¾ÖÊý¾Ý¡£Èç¹ûÏë»ñµÃÓëÈ«¾Öº¯ÊýµÈ¼ÛµÄ¹¦ÄÜ£¬¿É¿¼Âǽ«static·½·¨ºÍstaticÊý¾ÝÖÃÈëÒ»¸öÀàÀï¡£×¢ÒâûÓÐÏó½á¹¹¡¢Ã¶¾Ù»òÕßÁªºÏÕâÒ»ÀàµÄ¶«Î÷£¬Ò»ÇÐÖ»ÓГÀà”£¨Class£©£¡
¡¡¡¡(4) ËùÓз½·¨¶¼ÊÇÔÚÀàµÄÖ÷Ì嶨ÒåµÄ¡£ËùÒÔÓÃC++µÄÑ۹⿴£¬ËƺõËùÓк¯Êý¶¼ÒÑǶÈ룬µ«ÊµÇé²¢·ÇÈçºÎ£¨Ç¶ÈëµÄÎÊÌâÔÚºóÃæ½²Êö£©¡£
¡¡¡¡(5) ÔÚJavaÖУ¬ÀඨÒå²ÉÈ¡¼¸ºõºÍC++Ò»ÑùµÄÐÎʽ¡£µ«Ã»ÓбêÖ¾½áÊøµÄ·ÖºÅ¡£Ã»ÓÐclass fooÕâÖÖÐÎʽµÄÀàÉùÃ÷£¬Ö»ÓÐÀඨÒå¡£
¡¡¡¡class aType()
¡¡¡¡void aMethod() {/* ·½·¨Ö÷Ìå*/}
¡¡¡¡}
¡¡¡¡(6) JavaÖÐûÓÐ×÷ÓÃÓò·¶Î§ÔËËã·û“::”¡£JavaÀûÓõãºÅ×öËùÓеÄÊÂÇ飬µ«¿ÉÒÔ²»Óÿ¼ÂÇËü£¬ÒòΪֻÄÜÔÚÒ»¸öÀàÀﶨÒåÔªËØ¡£¼´Ê¹ÄÇЩ·½·¨¶¨Ò壬Ҳ±ØÐëÔÚÒ»¸öÀàµÄÄÚ²¿£¬ËùÒÔ¸ù±¾Ã»ÓбØÒªÖ¸¶¨×÷ÓÃÓòµÄ·¶Î§¡£ÎÒÃÇ×¢Òâµ½µÄÒ»Ïî²îÒìÊǶÔstatic·½·¨µÄµ÷ÓãºÊ¹ÓÃClassName.methodName()¡£³ý´ËÒÔÍ⣬package£¨°ü£©µÄÃû×ÖÊÇÓõãºÅ½¨Á¢µÄ£¬²¢ÄÜÓÃimport¹Ø¼ü×ÖʵÏÖC++µÄ“#include”µÄÒ»²¿·Ö¹¦ÄÜ¡£ÀýÈçÏÂÃæÕâ¸öÓï¾ä£º
¡¡¡¡import java.awt.*;
¡¡¡¡£¨#include²¢²»Ö±½ÓÓ³Éä³Éimport£¬µ«ÔÚʹÓÃʱÓÐÀàËÆµÄ¸Ð¾õ¡££©
¡¡¡¡(7) ÓëC++ÀàËÆ£¬Javaº¬ÓÐһϵÁГÖ÷ÀàÐÍ”£¨Primitive type£©£¬ÒÔʵÏÖ¸üÓÐЧÂʵķÃÎÊ¡£ÔÚJavaÖУ¬ÕâЩÀàÐͰüÀ¨boolean£¬char£¬byte£¬short£¬int£¬long£¬floatÒÔ¼°dou
Ïà¹ØÎĵµ£º
¶¯Ì¬´úÀíÊÇÖ¸¿Í»§Í¨¹ý´úÀíÀàÀ´µ÷ÓÃÆäËü¶ÔÏóµÄ·½·¨
¶¯Ì¬´úÀíʹÓó¡ºÏ:
•
Ô¶³Ì·½·¨µ÷ÓÃ(RMI)
•
1.´´½¨Ò»¸öʵÏÖ½Ó¿ÚInvocationHandlerµÄÀ࣬Ëü±ØÐëʵÏÖinvoke·½·¨
2.´´½¨±»´úÀíµÄÀàÒÔ¼°½Ó¿Ú
3.ͨ¹ýProxyµÄ¾²Ì¬·½·¨
newProxyInstance(ClassLoader loader, Class[] interfaces, Invocat ......
ÔÚÍøÉÏ¿´µ½ºÜ¶àÈ˶¼ÔÚΪDelphiÊÇ·ñÖ§³ÖC++/JavaÖеľ²Ì¬±äÁ¿¼°¾²Ì¬·½·¨µÄ¹¦ÄܶøÀ§ÈÅ,ÆäʵÕâÔÚDelphiÖÐÊǺܼòµ¥µÄ.
¾²Ì¬·½·¨¾ÍÊÇʹÓÃClass Function. ¾²Ì¬±äÁ¿ÔòʹÓõ¥Ôª¾Ö²¿±äÁ¿À´ÊµÏÖ. ´úÂëÈçÏÂ:
//=========================================
// StaticVarTestU - ¶¨ÒåÁË¿ÉÒÔ¼ÆÊýµÄÀ࣬ͨ¹ýÀà·½·¨¼´¿É·ÃÎÊ´ËÀàµÄ¶ÔÏóÊý ......
1.È¥ÍøÕ¾http://files.zentus.com/sqlitejdbc/ÏÂÔØsqlitejdbc.¸ù¾Ý×ÔÒÑÐèÒª£¬ÏÂÔØsqlitejdbc.(sqlitejdbcÓÐÁ½¸ö°æ±¾£¬Ò»ÖÖÊÇpureµÄÒ»ÖÖÊÇnativeµÄ¡£nativeµÄËٶȿ졣Ëü·ÅÔÚ**-bin.tgzÀï¡£ÎÒϵľÍÊÇÕâÖÖsqlitejdbc-v056-bin.tgz£©
2. ÏÂÔØºó½âѹsqlitejdbc-v056-bin.tg £¬ÓÐÒÔϼ¸¸öÎļþ£º libsqlitejdbc.so£¬sqlitejdbc.d ......
code review ¹¤¾ßÁбí
1.´úÂë¸ñʽ¼ì²écheckstyle;
2.ÐÔÄܰ²È«×î¼Ñʵ¼ù¼ì²éRAD Software AnalyzerºÍFindBug;
3.ÒÀÀµ¼ì²éJDepend;
4.ÖØ¸´ÐÔ¼ì²éeclipse PMD²å¼þ;
5.¸´ÔӶȼì²éeclipse Metrics²å¼þ;
6.Ð×÷¹¤¾ßJupiter
Jupiter
1.Unset±íʾûÓÐÑ¡Ôñ£¬¶ø²»ÊÇÒ»¸ö¾ßÌåÀàÐÍ
2.Èý¸ö½×¶ÎÓÐĬÈϵÄFilterÌõ¼þ£ ......
¾³£Íü¼ÇÕâЩ»ù´¡µÄ¶«Î÷£¬¼ÇÏÂÀ´ÁË¡£
ÔÚjspºÍclassÎļþÖе÷ÓõÄÏà¶Ô·¾¶²»Í¬¡£ ÔÚjspÀ¸ùĿ¼ÊÇWebRoot ÔÚclassÎļþÖУ¬¸ùĿ¼ÊÇWebRoot/WEB-INF/classes µ±È»ÄãÒ²¿ÉÒÔÓÃSystem.getProperty("user.dir")»ñÈ¡Ä㹤³ÌµÄ¾ø¶Ô·¾¶¡£
Áí:ÔÚJsp,Servlet,JavaÖÐÏêϸ»ñµÃ·¾¶µÄ·½·¨!
1.jspÖÐÈ¡µÃ·¾¶£º
ÒÔ¹¤³ÌÃûΪTESTΪÀý£º
......