HibernateÖ®¸¸£º¸ÃÉý¼¶µ½Java EE 6ÁË
Hibernate Ö®¸¸ Gavin King[1]½¨Ò鿪·¢ÕßÉý¼¶µ½ Java EE 6 ƽ̨£¬²¢Ö¸³ö£¬Ä¿Ç°¸÷ÖÖ²»Ô¸ÒâÉý¼¶µÄ¹ÛµãÆäʵÊÇûÓиù¾ÝµÄ¡£
Java EE 6 ·¢²¼ºó£¬ÎÒ¿´µ½Á˺ܶ෴¶ÔÉý¼¶µ½ÐÂÆ½Ì¨µÄ¹Ûµã¡£ÕâЩ·´¶Ô¹Ûµã´ó¶àÊÇÓÉ Tomcat / Jetty ÒÔ¼°Ò»Ð©¿ªÔ´¿ò¼Ü£¨ÀýÈç Hibernate Óë Spring£©µÄʹÓÃÕßÌá³ö¡£
µ±È»£¬Ñ¡Ôñ·Ç±ê×¼¡¢¿ªÔ´¼¼ÊõÓкܶàºÃ´¦¡£ÁíÍ⣬ÔÚ EE 6 ÖУ¬Äã¿ÉÒÔʹÓÃÄã¸ÐÐËȤµÄ¿ªÔ´¿ò¼Ü£¬Servlet 3 Óë CDI ¿ÉÒÔÎ޷켯³ÉµÚÈý·½¿ò¼Ü¡£Òò´Ë£¬Ã»ÓÐÀíÓɲ»Ê¹Óà EE 6¡£¾¡¹ÜÈç´Ë£¬ÎÒ»¹ÊÇ¿´µ½ÓÐÈË˵£º
Éý¼¶µ½ EE Ó¦Ó÷þÎñÆ÷ºÜÀ§ÄÑ
ÕâËÆºõÊǾßÌå×éÖ¯µÄÕþÖÎÎÊÌ⣬¶ø²»ÊÇʵ¼ÊµÄ¼¼ÊõÎÊÌâ¡£µ±È»£¬Éý¼¶·þÎñÆ÷£¨ÀýÈç GlassFish »ò JBoss£©ÊǷdz£ËöËéµÄÈÎÎñ¡££¨Éý¼¶µÚÈý·½¿ò¼Ü¾Í¸üΪʹ¿àÁË¡££©Ò»Ð©×éÖ¯»ú¹¹¶Ô·þÎñÆ÷Éý¼¶ÓÐ×ŷdz£ÖØÁ¿¼¶µÄ¹ý³Ì£¬¶ø¶ÔÓÚ·þÎñÆ÷ÄÚÔËÐеĿò¼ÜµÄÉý¼¶¹ý³ÌÈ´ ûÓÐÈç´ËÖØµÄ¹ý³Ì¿ØÖÆ¡£Òò´Ë£¬¶ÔÓÚ¿ª·¢ÍŶÓÀ´Ëµ£¬Éý¼¶µÚÈý·½¿ò¼Ü·´¶ø¸üÈÝÒ×һЩ¡£
ÎÒÈÏΪ¿ª·¢¸üÓÐ˵·þÁ¦¡¢¸üºÃµÄ¹ý³Ì²ÅÊÇ×îÖØÒªµÄ£¬¶ø²»ÊÇ·ÅÆú Java EE¡£½«ÄãµÄÓ¦ÓÃÔËÐÐÔÚÀϾɡ¢¹ýʱµÄ·þÎñÆ÷ƽ̨ÉÏ´æÔںܶà·çÏÕ£¬¹ý³Ì²»Ó¦¸Ã¹ÄÀøÕâÑùµÄʵ¼ù¡£
µ«´Óʵ¼ù½Ç¶È¿´£¬¼¸ºõÿһ¸öÈ˶¼×¼±¸×î½ü¾ÍÉý¼¶µ½ Servlet 3¡£ÎÞÂÛÄãÔÚʹÓà Tomcat¡¢Jetty¡¢JBoss¡¢GlassFish¡¢Resin¡¢WebLogic¡¢Oracle »¹ÊÇ WebSphere£¬¶¼Òâζ×Å·þÎñÆ÷µÄÉý¼¶¡£ÕâÊÇÒ»¸öÉý¼¶µ½ EE 6 Web Profile µÄ¾øºÃ»ú»á£¬»Æ½ðʱ»ú¡£
EE Ó¦Ó÷þÎñÆ÷Ì«ÅÓ´óÁË
·´¶ÔÀíÓÉÊÇ EE ·þÎñÆ÷°üº¬Á˺ܶࣨµ±Ç°£©Ê¹Óò»µ½µÄ¹¦ÄÜ¡£·´¶ÔÕßµÄÂÛ¾Ýͨ³£Éæ¼°µ½ÁËÌÖÂÛ jar °ü´óС¡¢Servlet ÒýÇæ+µÚÈý·½¿ò¼ÜÓë EE Ó¦Ó÷þÎñÆ÷ËùÕ¼ÓõĴÅÅ̿ռä´óСµÄ±È½Ï¡£Æäʵ£¬ÕâÑùµÄÂÛ¾ÝÊÇÓÐÎÊÌâµÄ£º
ÌÖÂ۵ĴÅÅÌÕ¼ÓᢴÅÅ̿ռäÓà $ ºâÁ¿ÆäʵÊÇ΢²»×ãµÀµÄ£¬²¢ÇÒÓ¦Óà war °ü±È·þÎñÆ÷°²×°°üµÄ´óÐ¡ÖØÒªµÃ¶à£¬·þÎñÆ÷Æäʵ°üº¬Á˺ܶ๦ÄÜÀ´¾¡Á¿½µµÍ war µÄ´óС¡£
ÁíÍ⣬ÎÒÈÏΪ×îÓÐ˵·þÁ¦µÄÊÇ Java EE 6 Web Profile ¸ü±¾²»ÅÓ´ó¡£Ò»µ©¾¹ýÈÏÖ¤µÄ Web Profile ·þÎñÆ÷Ͷ·ÅÊг¡£¬ÎÒÃǾͿÉÒÔÔÚ´óµÄ EE Ó¦Ó÷þÎñÆ÷ÓëСµÄ Servlet ÈÝÆ÷ÖмäÕÒµ½Ò»¸öƽºâµã¡£
Ôã¸âµÄ J2EE Óë EJB2£¡
Ëæ×Å JCP µÄ±ê×¼»¯½ø³Ì£¬Õâ¸öÎÊÌâÆäʵÔçÒѲ»´æÔÚÁË£º
1. EJB2 ´Ó³öÏÖµ½ÏÖÔÚÒѾ 8 ÄêÁË£¡ËüÒÀÈ»ÊÇÄãµÄ×î¼ÑÑ¡Ôñ£¿
2.²»´íµÄ¹æ·¶ÒѾͨ¹ý JCP ²»¶ÏµÄ±ê×¼»¯¶øºÏ²¢ÁË£¬¿ÉÒԷdz£È·¶¨µØÊ¹ÓÃÆäÖÐһЩ¹æ·¶¡£²»¹ý£¬JCP Ôڹ淶±ê×¼»¯ÉÏÒ²²»ÊÇ100% ³É¹¦µÄ¡£
3. ËùÓÐÔÚ EE 6 ƽ̨ÉϹ¤×÷µÄÈ˶¼ÌÖÑá EJB2 Óë J2EE¡£Õâ¾ÍÊÇΪʲÃ
Ïà¹ØÎĵµ£º
JavaµÄÄÚ´æÄ£ÐÍJMM£¨Java Memory Model£©JMMÖ÷ÒªÊÇΪÁ˹涨ÁËÏ̺߳ÍÄÚ´æÖ®¼äµÄһЩ¹ØÏµ¡£¸ù¾ÝJMMµÄÉè¼Æ£¬ÏµÍ³´æÔÚÒ»¸öÖ÷ÄÚ´æ(Main Memory)£¬JavaÖÐËùÓÐʵÀý±äÁ¿¶¼´¢´æÔÚÖ÷´æÖУ¬¶ÔÓÚËùÓÐÏ̶߳¼Êǹ²ÏíµÄ¡£Ã¿ÌõÏ̶߳¼ÓÐ×Ô¼ºµÄ¹¤×÷ÄÚ´æ(Working Memory)£¬¹¤×÷ÄÚ´æÓÉ»º´æºÍ¶ÑÕ»Á½²¿·Ö×é³É£¬»º´æÖб£´æµÄÊÇÖ÷´æÖбäÁ¿µÄ¿½±´£¬»º´ ......
1¡¢StringÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍÂð?
»ù±¾Êý¾ÝÀàÐͰüÀ¨byte¡¢int¡¢char¡¢long¡¢float¡¢double¡¢booleanºÍshort¡£
java.lang.StringÀàÊÇfinalÀàÐ͵ģ¬Òò´Ë²»¿ÉÒԼ̳ÐÕâ¸öÀà¡¢²»ÄÜÐÞ¸ÄÕâ¸öÀࡣΪÁËÌá¸ßЧÂʽÚÊ¡¿Õ¼ä£¬ÎÒÃÇÓ¦¸ÃÓÃStringBufferÀà
2¡¢int ºÍ Integer ÓÐÊ²Ã´Çø±ð
Java ÌṩÁ½ÖÖ²»Í¬µÄÀàÐÍ£ºÒýÓÃÀàÐͺÍÔʼÀàÐÍ£¨ ......
System.currentTimeMillis()£º¿ÉÒÔÌáÈ¡µ½µ±Ç°Ê±¼äµÄºÁÃëÊý£¬²úÉúÒ»¸öµ±Ç°µÄºÁÃ룬Õâ¸öºÁÃëÆäʵ¾ÍÊÇ×Ô1970Äê1ÔÂ1ÈÕ0ʱÆðµÄºÁÃëÊý¡£
³£¼û×÷ÓãºÒ»°ã¶¼ÊÇÓÃ2¸öʱ¼äµÄ²îÖµÀ´µÃµ½ÔËÐÐʱ¼äµÄ£¬³£ÓÃÀ´±È½Ï2¸öËã·¨µÄЧÂÊ£¡
long start = System.currentTimeMillis();
// ÕâÀï¿ÉÒÔ¼ÓÉÏÄãÒªÖªµÀµÄ·½·¨ÔËÐеÄʱ¼ä£¡£¡
......
LinuxÅäÖÃjava¿ª·¢Æ½Ì¨
Ò»¡¢°²×°jdk
1.ÏÂÔØ°²×°jdk
£¨1£©¡¢Ê×ÏÈ£¬ÔÚhttp://java.sun.com
ÕÒµ½ÒªÏÂÔØµÄjdk£¬ÏÂÔØ×Ô¼ºÐèÒªµÄjdk°æ±¾¡£ÎÒÕâÀïʹÓõÄÊÇjdk6£¬µÃµ½µÄÊÇÒ»¸öÃûΪjdk-6u6-linux-i586-rpm.binµÄÎļþ¡£´ËÎļþµ±Ç°Îª²»¿ÉÔËÐеÄshell script¡£
£¨2£©¡¢¸ü¸ÄȨÏÞ£¬ÌáÈ¡jdk°²×°Îļþ£º
´ò¿ªÖÕ¶ËÔËÐ ......
1¡¢StringÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍÂð?
»ù±¾Êý¾ÝÀàÐͰüÀ¨byte¡¢int¡¢char¡¢long¡¢float¡¢double¡¢booleanºÍshort¡£
java.lang.StringÀàÊÇfinalÀàÐ͵ģ¬Òò´Ë²»¿ÉÒԼ̳ÐÕâ¸öÀà¡¢²»ÄÜÐÞ¸ÄÕâ¸öÀࡣΪÁËÌá¸ßЧÂʽÚÊ¡¿Õ¼ä£¬ÎÒÃÇÓ¦¸ÃÓÃStringBufferÀà
2¡¢int ºÍ Integer ÓÐÊ²Ã´Çø±ð
Java ÌṩÁ½ÖÖ²»Í¬µÄÀàÐÍ£ºÒýÓÃÀàÐͺÍÔʼÀàÐÍ£¨ ......