JAVA°æSocketƽ̨µÄÉè¼ÆÎĵµ
1. ×ÜÌåÉè¼Æ
1.1 »ù±¾Éè¼Æ¸ÅÄîºÍ´¦ÀíÁ÷³Ì
1.1.1 ³ÌÐò»®·Ö
Ö÷Òª·ÖΪ·þÎñ¶ËºÍ¿Í»§¶ËÁ½¸ö²¿·Ö¡£
¿Í»§¶Ë²¿·ÖÓÖ·ÖΪͬ²½ÓëÒì²½Á½ÖÖģʽ¡£
1.1.2 ´¦ÀíÁ÷³ÌÃèÊö
JAVA°æ½Ó¿Úƽ̨Ö÷ҪʵÏÖÓëÍⲿ½Ó¿ÚµÄ·þÎñ¶ËºÍ¿Í»§¶ËµÄͨѶ¡£²¢ÌṩҵÎñ½Ó¿Ú£¬ÔÊÐí»ùÓÚµ±Ç°ÄÚºËʵÏÖ¸÷ÖÖÒµÎñ¡£
2. ƽ̨Éè¼ÆË¼Ïë
2.1 ÒµÎñÎÞ¹ØÐÔ
±¾Æ½Ì¨Éè¼ÆµÄºËÐÄ˼ÏëÊÇʵÏÖͨѶƽ̨µÄºËÐŦÄÜ£¬¾¡¿ÉÄÜʹ´úÂëÓëÒµÎñ°þÀ룬Ìá¸ß´úÂëµÄ¿ÉÖØÓÃÐÔ¡£
2.2 ºËÐŦÄÜÄ£¿é
±¾Æ½Ì¨Ö÷ÒªÓɼ¸¸öºËÐÄÄ£¿éËù×é³É¶Ô¸÷ÖÖÒµÎñµÄÖ§³Ö
2.2.1 ͨÐÅÄ£¿é
ʹÓÃJAVA1.4+°æ±¾ÌṩµÄÎÞ¶ÂÈûIOʵÏÖ·þÎñ¶ËºÍ¿Í»§¶ËµÄͨѶ£¬²¢Ìṩͬ²½ºÍÒì²½´¦ÀíÁ½ÖÖ·½Ê½
2.2.2 Ï̳߳طþÎñ
ʹÓÃÁËJDK 1.5 ´øµÄÏ̳߳أ¬Ìṩһ¸öÏ̳߳صķþÎñ£¬Îª·þÎñ¶Ë»ò¿Í»§¶ËÌṩ¶àÏ̴߳¦ÀíµÄ¹¦ÄÜ¡£±¾ÉíʵÏÖÁËSingletonģʽºÍ×Ô´øÁË¼à¿ØỊ̈߳¬ÊµÏÖÁË×ÔÎÒ¹ÜÀí¡£
2.2.3 ×Ö½Ú´¦ÀíÄ£¿é
Ϊ½âÎöÐÒéÌṩ¼ò±ãµÄ·½·¨´¦Àí×Ö½ÚÊý×é¡£
2.3 Ö÷Òª½Ó¿Ú
ΪÁËʵÏÖͨÐÅÆ½Ì¨µÄÒµÎñÎÞ¹ØÐÔ£¬±¾Æ½Ì¨Éè¼ÆÁËһЩ½Ó¿ÚÌṩ¸øÒµÎñ¿ª·¢ÊµÏÖ¡£
2.3.1 ÐÒé½âÎö½Ó¿Ú
ΪËùÓнâÎöÐÒéÌṩͳһÐÒé½âÎöÀà½Ó¿Ú¡£Ö÷ÒªÊÇΪÁËͳһÐÒé½âÎöµÄ·½Ê½¡£
2.3.2 ÒµÎñ½Ó¿Ú
ÒµÎñ½Ó¿ÚÖ÷ÒªÓÐÁ½ÖÖ£ºÒµÎñÂß¼½Ó¿ÚºÍÒµÎñʵÏÖ½Ó¿Ú¡£
2.3.2.1 ÒµÎñÂß¼½Ó¿Ú
Ö÷ҪΪÁË´¦Àíÿһ¸öÖ¸ÁîµÄÒµÎñÁ÷³Ì£¬ÀýÈçÏȶÁÈ¡£¬ÔÙ´¦ÀíÒµÎñ£¬ÔÙ·µ»Ø½á¹û£»»òÕßÏÈ·¢ËÍÖ¸ÁÔٵȴý·µ»Ø½á¹û¡£
2.3.2.2 ÒµÎñʵÏÖ½Ó¿Ú
Ö÷Òª´¦Àíÿ¸öÐÒéÖÐÿһ¸öÖ¸ÁîËù¶ÔÓ¦µÄÒµÎñÍø´¦Àí¡£
2.3.3 ×¢²áÆ÷½Ó¿Ú
רÃÅΪ¿Í»§¶ËµÇ¼·þÎñÆ÷ʱÌṩµÄͳһµÄ×¢²á·½Ê½¡£
3. ƽ̨Éè¼Æ
3.1 ·þÎñ¶ËµÄÉè¼Æ
3.1.1 Ä£¿éÉè¼ÆÍ¼
3.1.2 ¹¦ÄÜ
l ͨѶ·þÎñ
l ²¢·¢´¦Àí¿Í»§¶ËÇëÇó
l ×Ô¼à¿Ø
l&nb
Ïà¹ØÎĵµ£º
·½°¸Ò»²½Ö裺
1¡¢ÅäÖÃTomcat\conf\context.xmlÌí¼Ó <Resource>
<Resource name="jdbc/books" auth="Container"
type="javax.sql.DataSource" maxActive="100" maxIdle="30"
maxWait="10000" username="sa" password=""
driverClassName="com.microsoft.jdbc.sqlse ......
µÚÒ»Õ£ºjava¶ÔÏó³Ö¾Ã»¯¼¼Êõ¸ÅÊö
1£º³Ö¾Ã»¯£ºpersistence£»¶ÔÏó³Ö¾Ã»¯°üº¬Á½·½ÃæµÄÄÚÈÝ£º½«ÄÚ´æÊý¾Ý´æÈ볤ÆÚ¼ÇÒä½éÖʲ¢ÄÜ´ÓÕâЩ½éÖÊÉÏÎÞ²î´íµØ¸´Ôµ½ÄÚ´æ¡£
2£ºÍ¨¹ýʵÏÖjava.io°üÖеÄSerializable½Ó¿Ú£¨¼´¶ÔÏóÐòÁл¯ºÍ·¹ÐòÁл¯¼¼Êõ£©ÊµÏÖ£¬ÕâÖÖ¼¼ÊõºÜÖØÒª£¬ËäÈ»ÔÚÖ´Ðг־û¯Ê±Óм«´óµÄÏÞÖÆ£¬È磺ЧÂʵÍÏ¡¢²»Ö§³ÖÊÂÎñµÈ ......
1.ʵÀý³ÉÔ±ºÍÀà³ÉÔ±
ʵÀý³ÉÔ±ÖÐÊÇÊôÓÚ¶ÔÏóµÄ,°üÀ¨ÊµÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨,Ö»Óд´½¨Á˶ÔÏóÖ®ºó²ÅÄÜ·ÃÎÊʵÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨.
Àà³ÉÔ±ÊÇÊôÓÚÀàµÄ,Àà³ÉÔ±ÐèÒªÓùؼü×Östatic±êʶ,Ò²³ÆÎª¾²Ì¬³ÉÔ±,Àà³ÉÔ±°üÀ¨Àà³ÉÔ±±äÁ¿ºÍÀà³ÉÔ±·½·¨,ͨ¹ýÀàÃû¿ÉÒÔÖ±½Ó·ÃÎÊÀà³ÉÔ±±äÁ¿ºÍµ÷ÓÃÀà³ÉÔ±·½·¨,¼´Ê¹Ã»Óд´½ ......
public class MultiThread {
public static void main(String[] args) {
ProductStack box = new ProductStack("box");
Producer p1 = new Producer(box, "p1");
Producer p2 = new Producer(box, "p2");
Producer p3 = new Producer(box, "p3");
&nb ......