JavaÍøÂçÁÄÌì·þÎñÆ÷¶Ë
//JavaÍøÂçÁÄÌì·þÎñÆ÷
import java.io.*;
import java.awt.*;
import java.net.*;
import java.util.*;
import java.awt.event.*;
public class ServerFrame extends Frame implements ActionListener{
int ScreenWidth,ScreenHeight;
Button CloseServer;
TextArea ServerStatus;
ServerThread sThread;
public ServerFrame(){
super("ÓÎÏ··þÎñÆ÷");
ServerStatus = new TextArea();
CloseServer = new Button("¹Ø±Õ·þÎñÆ÷");
ServerStatus.setEditable(false);
CloseServer.addActionListener(this);
add(ServerStatus,BorderLayout.CENTER);
add(CloseServer,BorderLayout.SOUTH);
ScreenWidth = getToolkit().getScreenSize().width;
ScreenHeight = getToolkit().getScreenSize().height;
setSize(ScreenWidth/2,ScreenHeight /2);
setLocation((ScreenWidth - getWidth())/2,
(ScreenHeight - getHeight())/2);
setResizable(false);
setVisible(true);
sThread = new ServerThread(this);
sThread.start();
}
public static void main(String[] args){
new ServerFrame();
}
public void actionPerformed(ActionEvent e){
dispose();
System.exit(0);
}
}
class ServerThread extends Thread{
int sPort;
ServerSocket sSocket;
ServerFrame frame;
TextArea sStatus;
Vector Clients;
Vector messages;
BroadCast BroadCastWriter;
CleanDeadConnect Cleaner;
public ServerThread(ServerFrame f){
Clients = new Vector();
messages = new Vector();
try{
sPort = 6633;
sSocket = new ServerSocket(sPort);
}catch(IOException E){
System.out.println("·¢ÉúÒì³£: "+E);
System.out.println("ÎÞ·¨½¨Á¢·þÎñÆ÷½Ó¿Ú£¡£¡");
System.exit(1);
}
this.frame = f;
sStatus = frame.ServerStatus;
sStatus.append("ÓÎÏ··þÎñÆ÷ÒÑÆô¶¯..\n\n"
Ïà¹ØÎĵµ£º
ÏÖÔÚ£¬Ì¸ÔƼÆËãµÄ¿É¶àÁË£¬²»¹ý£¬Ò»°ã±È½Ï¹Ø×¢µÄÊÇGoogleºÍAmazonµÄÔÆ·þÎñ¡£´Ó´ó·¶Î§À´¿´£¬Ò²Ö»ÓÐÕâÁ½¼Ò»ñµÃÁ˹«Öڵĸü¶à¹Ø×¢¡£±ÈÈ磬ÎÒ¸öÈ˺ܸÐÐËȤµÄ£¬¾ÍÊÇGoogleµÄApp EngineʹÓû§Äܹ»ÔÚGoogle»ù´¡ÉèÊ©ÉϹ¹½¨ºÍÍÐ¹Ü Web Ó¦ÓóÌÐò¡£ÖÁÓÚAmazon£¬ËüµÄAmazonWeb Services»¹°üÀ¨Elastic Clou ......
1.1 ²»ÓÃnew¹Ø¼ü´Ê´´½¨ÀàµÄʵÀý
ÓÃnew¹Ø¼ü´Ê´´½¨ÀàµÄʵÀýʱ£¬¹¹Ô캯ÊýÁ´ÖеÄËùÓй¹Ô캯Êý¶¼»á±»×Ô¶¯µ÷Óᣵ«Èç¹ûÒ»¸ö¶ÔÏóʵÏÖÁËCloneable½Ó¿Ú£¬ÎÒÃÇ¿ÉÒÔµ÷ÓÃËüµÄclone()·½·¨¡£clone()·½·¨²»»áµ÷ÓÃÈκÎÀ๹Ô캯Êý¡£
ÔÚʹÓÃÉè¼ÆÄ£Ê½£¨Design Pattern£©µÄ³¡ºÏ£¬Èç¹ûÓÃFactoryģʽ´´½¨¶ÔÏó£¬Ôò¸ÄÓÃclone()·½·¨´´½¨Ðµ ......
package com.chinacache.utils;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
public class FileUtils {
private static final Logger logger = Logger.getLogger(FileUtils.class);
/**
* ÒÆ¶¯Îļþµ½Ö¸¶¨Ä¿ ......
×î½ü²Î¼ÓÁ˼¸´ÎÃæÊÔ£¬·¢ÏÖ¹«Ë¾µÄ±ÊÊÔÌâÄ¿ÓÐһЩÏàËÆÖ®´¦£¬¾Í×ܽáһϣº
Ò»°ã»á´ÓÏÂÃæ¼¸¸ö·½Ã濼£¬²»¹ÜÊÇÃæÊÔC++,C#,java¶¼ÊÇ
Ê×ÏÈÊǹØÓڹؼü×ֺͱêʾ³£Á¿µÄ¿¼²ì
È»ºóÊǹØÓÚÀàºÍ½Ó¿ÚµÄÊÔÌâ
È»ºóÊǹØÓÚarray,ioºÍsocketµÄÊÔÌâ
È»ºóÊǹØÓÚÊý¾Ý¿âµÄ¸÷ÖÖsqlÓï¾äµÄ¿¼²ì
È»ºóÊÇÅÅÐò£¬°üÀ¨¿ìËÙÅÅÐò£¬²åÈëÅÅÐò£ ......
java.util Öеļ¯ºÏÀà°üº¬ Java ÖÐijЩ×î³£ÓõÄÀà¡£ ×î³£Óõļ¯ºÏÀàÊÇ List ºÍ Map¡£ List µÄ¾ßÌåʵÏÖ°üÀ¨ ArrayList ºÍ Vector£¬ËüÃÇÊǿɱä´óСµÄÁÐ±í£¬±È½ÏÊʺϹ¹½¨¡¢´æ´¢ºÍ²Ù×÷ÈκÎÀàÐͶÔÏóµÄÔªËØÁÐ±í¡£ List ÊÊÓÃÓÚ°´ÊýÖµË÷Òý·ÃÎÊÔªËØµÄÇéÐΡ£
Map ÌṩÁËÒ»¸ö¸üͨÓõÄÔªËØ´æ´¢·½·¨¡£ Map ¼¯ºÏÀàÓÃÓÚ´æ´¢ÔªËØ ......