Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Java×Ô¶¨Òå¶àÏ̷߳þÎñÆ÷

// multi.MultiServer.java
package multi;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class MultiServer {
private int port = 8000;
private int backlog = 42;
private ServerSocket server_socket;
private ThreadPool threadPool;
private final int POOL_SIZE = 7;

public MultiServer()throws IOException{
server_socket = new ServerSocket();
server_socket.setReuseAddress(true);
server_socket.bind(new InetSocketAddress(port),backlog);
int system_cpu_total = Runtime.getRuntime().availableProcessors();
threadPool = new ThreadPool(POOL_SIZE * system_cpu_total);
System.out.println("--- server started! ---");
}
public void service(){
while(true){
try{
Socket socket = server_socket.accept();
threadPool.execute(new WorkHandler(socket));
} catch(Exception e){
e.printStackTrace();
}
}
}
public static void main(String[] args)throws Exception {
MultiServer server = new MultiServer();
server.service();
}
}
// multi.ThreadPool.java
package multi;
import java.util.LinkedList;
public class ThreadPool extends ThreadGroup{
private static int threadPoolId;
private boolean isClosed = false;
private LinkedList<Runnable> workQueue;

public ThreadPool(int poolSize){
super("ThreadPool-" + (threadPoolId++));
setDaemon(true);
workQueue = new LinkedList<Runnable>();
for(int i=0;i<poolSize;i++){
new WorkThread(this,i).start(); // Æô¶¯¹¤×÷ÕßÏß³Ì
}
}

public synchronized void execute(Runnable task){
if(isClosed){
throw new IllegalStateException("The " + getName()
+ " has closed!");
}
if(task != null){
workQueue.add(task);
// Ò»´ÎÖ»ÓÐÒ»¸öÏß³ÌÈ¡ÈÎÎñ[getTask() ±» synchronized ÐÞÊÎ]
// ËùÓд˴¦Ã»ÓÐʹÓÃnotifyAll();


Ïà¹ØÎĵµ£º

java ¶¨Ê±Æ÷µÄʹÓã¨Timer£©

µÚÒ»ÖÖ·½·¨Îª³£¼ûÇÒÒ×ÓÚÉÏÊÖ
1¡¢ÔÚÓ¦Óÿª·¢ÖУ¬¾­³£ÐèҪһЩÖÜÆÚÐԵIJÙ×÷£¬±ÈÈçÿ5·ÖÖÓÖ´ÐÐijһ²Ù×÷
µÈ¡£¶ÔÓÚÕâÑùµÄ²Ù×÷×î·½±ã¡¢¸ßЧµÄʵÏÖ·½Ê½¾ÍÊÇʹÓÃjava.util.Timer¹¤¾ßÀà¡£
private java.util.Timer timer;
timer
= new Timer(true);
timer.schedule(
new java.util.TimerTask() {
public void run() { // ......

JavaÈëÃÅ£­Éú³É¿ÉÖ´ÐÐjarÎļþµÄ½Ì³Ì

http://www.cn-java.com/www1/?action-viewnews-itemid-3295
ÎÒÏë£Ê£Á£Ö£ÁµÄ°®ºÃÕߣ¬ÓÈÆäÊdzõѧÕß´ó¶¼ÓйýÕâÑùµÄ¾­Àú£¬¾ÍÊÇϲ»¶£Ê£Á£Ö£Á±à³ÌÓïÑÔ£¨Õâ¸öÈ˵ÄÇé¿ö¿ÉÄܲ»Ò»Ñù£©£¬µ«ÊÇÓÐʱºò×Ü»á¾õµÃJAVAµÄÓŵã±ãÊÇËýµÄ“ÖÂÃü”µÄȱµã¡£´ó¼ÒµÄÐÅÄîÒÀ¾ÉÊǓһ´Î±àÒ룬µ½´¦ÔËÐДµ«ÊǾÍÊÇÒòΪÖÁÒ»µã£Ê£Á£Ö£Á ......

java ¶¯Ì¬´úÀí


1¡¢Ê×ÏȱØÐëÓиö½Ó¿Ú
package reflection;
public interface HelloWorld {
    void sayHelloWorld();
    void testHello(String hello);
}
2¡¢½Ó¿ÚµÄʵÏÖÀà
package reflection;
public class HelloWorldImpl implements HelloWorld {
 public void sayHelloWorld() {
&n ......

Java¼¯ºÏ¿ò¼Üͼ


Java¼¯ºÏ¿ò¼Üͼ
¡¡¡¡¼¯ºÏ½Ó¿Ú£º6¸ö½Ó¿Ú£¨¶ÌÐéÏß±íʾ£©£¬±íʾ²»Í¬¼¯ºÏÀàÐÍ£¬ÊǼ¯ºÏ¿ò¼ÜµÄ»ù´¡¡£
¡¡¡¡³éÏóÀࣺ5¸ö³éÏóÀࣨ³¤ÐéÏß±íʾ£©£¬¶Ô¼¯ºÏ½Ó¿ÚµÄ²¿·ÖʵÏÖ¡£¿ÉÀ©Õ¹Îª×Ô¶¨Ò弯ºÏÀà¡£
¡¡¡¡ÊµÏÖÀࣺ8¸öʵÏÖÀࣨʵÏß±íʾ£©£¬¶Ô½Ó¿ÚµÄ¾ßÌåʵÏÖ¡£
¡¡¡¡Ôںܴó³Ì¶ÈÉÏ£¬Ò»µ©ÄúÀí½âÁ˽ӿڣ¬Äú¾ÍÀí½âÁË¿ò¼Ü¡£ËäÈ»Äú×ÜÒª´´½ ......

JavaÓïÑÔ»ù´¡ÖªÊ¶

JavaÓïÑÔ»ù´¡ÖªÊ¶
³ÌÐòÔ±¶Ô³ÌÐòÖеĸ÷¸öÔªËØ¼ÓÒÔÃüÃûʱʹÓõÄÃüÃû¼ÇºÅ³ÆÎª±êʶ·û£¨identifier£©¡£
JavaÓïÑÔÖУ¬±êʶ·ûÊÇÒÔ×Öĸ£¬Ï»®Ïߣ¨_£©,ÃÀÔª·û($)¿ªÊ¼µÄÒ»¸ö×Ö·ûÐòÁУ¬ºóÃæ¿ÉÒÔ¸ú×Öĸ£¬Ï»®Ïߣ¬ÃÀÔª·û£¬Êý×Ö¡£
ÀýÈ磬identifier£¬userName£¬User_Name£¬_sys_val£¬ $changeΪºÏ·¨µÄ±êʶ·û£¬¶ø2mail room#£¬class Ϊ· ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ