Effective Java ѧϰ±Ê¼Ç(15)
Ò»¸ö²»¿É¸Ä±ä£¨immutable£©µÄÀ࣬¹ËÃû˼Ò壬¾ÍÊÇÆäʵÀý²»Äܸı䣬¼´ÀïÃæËùÓеÄÐÅÏ¢ÔÚ´´½¨Ê±¾Í¸³Öµ£¬ÔÚÆäÉúÃüÖÜÆÚÖÐÆäÖµ²»±ä¡£
ʹÓò»¿É¸Ä±äµÄÀàµÄÓŵãÔÚÓÚ£¬Éè¼Æ¼òµ¥£¬Ò×ÓÚʵÏÖºÍʹÓ㬾ßÌåÀ´½²£¬ËüµÄ״̬»úºÜ¼òµ¥£¬Ö»ÓÐÒ»¸ö״̬¡£ËüÊÇḬ̈߳²È«£¬Äܹ»×ÔÓɵı»¹²Ïí£¬Äܹ»Í¨¹ý¾²Ì¬¹¤³§Ä£Ê½¾¡¿ÉÄܸ´ÓÃÒѾ´´½¨³öÀ´µÄ¶ÔÏó£¬Ò²²»ÓÃΪËüдclone»òÊÇ¿½±´¹¹Ô캯Êý£¬²»¿É¸Ä±äµÄÀàÒ²±ãÓÚά»¤£¬ÊÇϵͳµÄÁ¼ÐÔ»ùʯ¡£
ÆäΨһµÄȱµã¾ÍÊÇ£¬Ëü±ØÐëΪ²»Í¬µÄÖµ·Ö±ð´´Ô첻ͬµÄ¶ÔÏó¡£
ʹһ¸öÀàΪimmutable£¬Òª×öµ½ÒÔϼ¸µã¡£
1.²»ÒªÌṩÈκοÉÒÔÐ޸ĶÔÏóÖÐÊý¾ÝµÄ·½·¨¡£
2.È·±£´ËÀ಻»á±»¼Ì³Ð¡£Õâ¸ö¿ÉÒÔ·ÀÖ¹×ÓÀ಻СÐĶԸ¸ÀàÖеÄÊý¾Ý½øÐиü¸Ä¡£
3.ʹËùÓеÄ×Ö¶ÎΪfinal.
4.ʹËùÓеÄ×Ö¶ÎΪprivate.
5.È·±£ËùÓÐ×Ö¶ÎÖеĿɱ»¸Ä±äµÄ¶ÔÏóµÄÒýÓò»±»Íâ½ç»ñµÃ¡£
µ«Òª×¢ÒâµÄµ±ÊµÏÖÐòÁл¯µÄʱºò£¬Èç¹ûÒ»¸ö²»¿É¸Ä±äÀàÖаüº¬¿É¸Ä±äÀàµÄÒýÓ㬾ͱØÐëÌṩһ¸öÏÔʽµÄreadObject»òreadResolve£¬»òʹÓÃObjectOutputStream.writeUnsharedºÍOjbectInputStream.readUnshared·½·¨¡£·ñÔò¾Í¹¥»÷Õ߾ͿÉÄÜ´´½¨Ò»¸ö¿ÉÒԸıäµÄʵÀý¡£
×ܽ᣺³ý·ÇÓÐ×ã¹»µÄÀíÓÉ£¬Ó¦¸Ã½«ÀàÉè¼ÆÎªimmutable¡£
Èç¹ûÒ»¸öÀ಻ÄÜÉè¼Æ³Éimmutable£¬ÄÇô¾¡Á¿¼õÉٿɸıäµÄ×ֶΡ£
Ïà¹ØÎĵµ£º
Ò»¡¢
ʲôÊÇ
Servlet
Servlet
ÔÚ
web
ÈÝÆ÷ÖÐÓÃÀ´´´½¨¶¯Ì¬ÍøÒ³Óõģ¬ÒòΪËûûÓÐ
main
·½·¨£¬ËùÒÔ
Servlet
²»ÊÇÒ»¸öÍêÕûµÄ
Java
Ó¦ÓóÌÐò¡£
¶þ¡¢
Servlet
µÄ±àд
×î»ù±¾µÄ
Servlet
Òª°üÀ¨Èý²¿·Ö£¬·Ö±ðΪ
Servlet-name
¡¢
Servlet-class
¡¢
url-pattern
¡£
Èý¡¢
Servlet API
Generi
Servlet
ÊµÏ ......
Ò»¡¢
GET
ºÍ
POST
µÄÇø±ð
1.GET
Ìá½»µÄÊÇÎı¾ÄÚÈÝ£¬¹æ¶¨ÆäÊý¾Ý³¤¶È²»³¬¹ý
255
¸ö×Ö·û¡£ÔÚ
GET
·½Ê½Ìá½»µÄ
URL
ÖлáÏÔʾ³öÌá½»µÄ²éѯÊý¾Ý¶øÈ´Ìá½»Êý¾ÝµÄ»º´æ»áÔÚä¯ÀÀÆ÷µÄ
URL
Àúʷ״̬ÖУ¬ÕâÑùÎÒÃÇÍùÍùÔÚä¯ÀÀÍøÒ³µÄʱºòµã»÷ºóÍ˼ü²»ÐèÒªÖØÐ·¢ËÍÇëÇó¡£
2.POST
Ìá½»µÄ¿ÉÒÔʹÎı¾ÄÚÈÝ£¬Ò²¿ÉÒÔʹ¶þ½øÖÆÄÚÈÝ£¬Ëù ......
¼ÇµÃÒ»Äêǰ£¬ÕýÊÇ×Ô¼º¶Ôjava°®²»ÊÍÊÖµÄʱºò£¬¶øÍøÉÏÒ²ÊÇÒ»²¨ÓÖÒ»²¨µÄjava³°·íÈÈ£¬ÎÒ·ßÅÁË£¬¾ÍÏñÈËÈ˶¼»áº´ÎÀ×Ô¼ºÏ²»¶µÄ¶«Î÷Ò»Ñù¡£ÎÒÔÚÄÚÍøÒ»´ÎÓÖÒ»´ÎµÄ·¢Ìû·¢Ð¹£¬¿ÉÄܰÓÚÎÒÊǰæÖ÷£¬javaÅúÅÐÕßÃÇҲûÓлØÌû¡£Ö±µ½ºóÀ´£¬´ó¼ÒÈÏʶÎÒ£¬¶¼ËµÂ··ÉºÜÉó¤java£¬javaºÜÀ÷º¦¡£ÆäʵÎÒÖ»¶ÔJ2SEÂÔ¶®Æ¤Ã«¡£ÎÒϲ»¶javaµÄÔÒòÊÇ£¬¶ÔÓÚÒ»¸ö ......
Ö±½ÓÑ¡ÔñÅÅÐòËã·¨£º´Ó´ýÅÅÐòµÄÊý¾ÝÔªËØ¼¯ºÏÖÐѡȡ×îСµÄÔªËØ·Åµ½ÔʼÊý¾ÝµÄµÚÒ»¸öÔªËØµÄλÖÃÉÏ¡£È»ºó²»°üÀ¨µÚÒ»¸öÔªËØµÄÊý¾ÝÔªËØ¼¯ºÏÖÐÕÒµ½×îСµÄÔªËØ·Åµ½´Ë¼¯ºÏÖУ¬ÒÀ´ÎÀàÍÆ£¬¼´¿ÉÍê³ÉÅÅÐò¡£
Ë㷨ʵÏÖÈçÏ£º
/**
* Ö±½ÓÑ¡ÔñÅÅÐò
* @param a ÓÃÓÚÅÅÐòµÄÊý×é
* */
public void ......
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Terris extends JFrame implements Runnable, KeyListener {
private short isPlaying=0,xOffSet = 2, yOffSet = 0, blockType = (short) Math.round(Math.random() * 6), blockRotation = 0, blockColor = (short) Math.round(Math. ......