Effective Java ѧϰ±Ê¼Ç (11)
CloneÕâ¸ö·½·¨ºÜ¼¦Àߣ¬ÔÒòÊÇÒòΪËüÊÇÊܱ£»¤µÄ(protected)£¬Æä¶þCloneÕâ¸ö·½·¨ÊÇ¿ÉÑ¡µÄ£¬¼´ÓпÉÄÜÀàûÓÐÌṩÕâ¸ö·½·¨¡£
cloneûÓе÷Óù¹Ô캯Êý£¬¶øÇÒÈç¹û¸¸ÀàûÓÐʵÏÖcloneµÄ»°£¬×ÓÀàÓÀÔ¶Ò²²»¿ÉÄÜÕýȷʵÏÖclone.
×ÜÖ®£¬cloneÊǸöºÜÍ·Í´µÄº¯Êý£¬Èç¹ûÒªÕýȷʵÏÖ£¬±ØÐ뿼Âǵ½É±´µÄÇé¿ö£¬·ñÔò±»¿Ë¡³öÀ´µÄ¶ÔÏó¾Í²»ÊǶÀÁ¢µÄ£¬È磬Ҫдһ¸ö¶ÑÕ»ÀàµÄ¿Ë¡º¯Êý£¬ÕýÈ·µÄʵÏÖ·½·¨ÊÇ£º
@Override public Stack clone() {
try {
Stack result = (Stack) super.clone();
result.elements = elements.clone();
return result;
} catch (CloneNotSupportedException e) {
throw new AssertionError();
}
}
ҪעÒâ¶ÔÓÚfinal×ֶβ»ÄÜÕý³£¹¤×÷£¬clone½á¹¹Óë¿É±ä¶ÔÏóµÄfinal×Ö¶ÎÊDz»¼æÈݵġ£
¶ÔÓÚÁÐÉ¢Êý×飬½ö½öµÝ¹éµ÷ÓõÄclone·½·¨»¹²»¹»£¬¿´ÊéÖÐÕýÈ·µÄ×ö·¨£º
public class HashTable implements Cloneable {
private Entry[] buckets = ...;
private static class Entry {
final Object key;
Ïà¹ØÎĵµ£º
¼ÆËã»ú»º´æµÄ¶¨Òå £º»º´æÊÇCPUµÄÒ»²¿·Ö£¬Ëü´æÔÚÓÚCPUÖÐ
¾Í´Ë¿ÉÒÔ˵Ã÷ CPUÖв»¿ÉÄÜ´æ·Å´óÁ¿µÄÊý¾Ý
ËùÒÔjava µÄ»º´æ ²»ÊÇÕæÕýÒâÒåÉϵĻº´æ
¶øÇÒ
»º´æÊÇΪÁ˽â¾öCPUËٶȺÍÄÚ´æËٶȵÄËٶȲîÒìÎÊÌâ
ÄÚ´æÖб»CPU·ÃÎÊ×îƵ·±µÄÊý¾ÝºÍÖ¸Áî±»¸´ÖÆÈëCPUÖеĻº´æ£¬ÕâÑùCPU¾Í¿ÉÒÔ²»¾³£µ½Ïó“ÎÏÅ£”Ò»ÑùÂýµÄÄÚ´æÖÐȥȡÊý ......
java´óÖÂÓÐ3ÖÖÓï¾ä£ºË³ÐòÓï¾ä¡¢Ìõ¼þÓï¾ä¡¢Ñ»·Óï¾ä
Ìõ¼þÓï¾ä£º
µÚÒ»ÖÖ£ºif Ìõ¼þ
Óï¾ä
µÚ¶þÖÖ£ºif Ìõ¼þ
&nbs ......
package com.vista.Server;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels. ......
È«¾Ö±äÁ¿£ºÒ²½Ð³ÉÔ±±äÁ¿£¬ÊÇÖ¸ÔÚÀàÖж¨ÒåµÄ±äÁ¿£»ËüÔÚÕû¸öÀàÖж¼ÓÐЧ
È«¾Ö±äÁ¿ÓÖ¿É·ÖΪ£ºÀà±äÁ¿ºÍʵÀý±äÁ¿
1.Àà±äÁ¿£ºÓֽо²Ì¬±äÁ¿ ......
ÍøÂçµÄ¸ÅÄî:Ï໥Á¬½Ó,¶ÀÁ¢×ÔÖ÷
ÍøÂçÓë·Ö²¼Ê½¼¯ÈºÏµÍ³µÄÇø±ð£ºÃ¿¸ö½Úµã¶¼ÊÇһ̨¼ÆËã»ú£¬¶ø²»ÊǸ÷ÖÖ¼ÆËã»úÄÚ²¿µÄ¹¦ÄÜÉ豸¡£
Ip:¾ßÓÐÈ«ÇòΨһÐÔ£¬Ïà¶ÔÓÚinternet£¬IPΪÂß¼µØÖ·£¬TCP/IPÍøÂçÖеÄÿ̨¼ÆËã»ú¶¼ÓÐΨһµÄµØÖ·--IPµØÖ·. Ψһ±êʾһ̨Ö÷»ú
ÔÚJavaÖÐ,ÓÐÒ»¸öÓÃÀ´´æ´¢internetµØÖ·µÄÀà½ÐInetAddress.
Àý:»ñÈ¡±¾» ......