java socketºÍ¶àỊ̈߳¨Thread£©ÊµÀý
1. socketͨÐÅ£ºÓпͻ§¶ËºÍ·þÎñ¶ËµÄsocket´úÂë¡£
2.
¶àỊ̈߳º¿Í»§¶ËºÍ·þÎñ¶Ë¸÷ÓÃÒ»Ï̷߳¢ËÍÐÅÏ¢£»·þÎñ¶ËÁíÓÐÒ»¼àÌýỊ̈߳¬ÓÃÓڰѳ¬Ê±µÄÐÅϢɾ³ý¡£
ÕâÀïÓ¦Óõ½ÁËͬ²½£¬Ê¹Á½¸öÏ߳̿ÉÒÔ²Ù×÷ͬһ¸ömap¡£
´úÂ룺£¨ÀàÈ«ÔÚͬһ¸ö°üÄÚ£©
server¶Ë£º
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Collections;
import java.util.concurrent.TimeUnit;
import java.util.HashMap;
import java.util.Map;
public class ServerNet {
// ÒÔºÁÃëΪµ¥Î»
private final static long timeLimit = 10000 ;
private Map<String,String> map = Collections.synchronizedMap(new HashMap<String,String>());
public void ServerSocketNet(){
try{
ServerSocket ss = new ServerSocket(6060);
Socket s = ss.accept();
// ÓÃÓÚ»ñÈ¡¿Í»§¶Ë´«ÊäÀ´µÄÐÅÏ¢
BufferedReader buff = new BufferedReader(new InputStreamReader(s.getInputStream()));
// ÓÃÓÚ»ñÈ¡·þÎñ¶Ë×¼±¸ÏìÓ¦µÄÐÅÏ¢
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
// ·¢ËÍ·þÎñ¶Ë×¼±¸ÏìÓ¦µÄÐÅÏ¢
PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
pw.println("ÄúÒѾ³É¹¦½¨Á¢Á¬½Ó!");
new ServerOutNet(pw, in);
new ServerTimeListener(map, timeLimit);
// ÏÔʾ¿Í»§¶ËµÄ´«ÊäÀ´µÄÐÅÏ¢
while(true){
String str = buff.readLine();
if(str.equals("exit")){
break;
}else{
map.put(ServerHelper.getInstance().getMapKey(), str);
System.out.println(str + " map.size: " + map.size());
}
System.out.println("To Client:");
Thread.sleep(100);
}
s.close();
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
new ServerNet().ServerSocketNet();
}
}
/**
* server·¢ËÍÏß³Ì Ïò¿Í»§¶Ë·¢ËÍÏìÓ¦ÐÅÏ¢
* @author ids-user
*
*/
class ServerOutNet extends Thread{
pri
Ïà¹ØÎĵµ£º
JAVAÏà¹Ø»ù´¡ÖªÊ¶
1¡¢ÃæÏò¶ÔÏóµÄÌØÕ÷ÓÐÄÄЩ·½Ãæ
1.³éÏó£º
³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
2.¼Ì³Ð£º
¼Ì³ÐÊÇÒ»ÖÖÁª½áÀàµÄ²ã´ÎÄ£ÐÍ£¬²¢ ......
½ñÌìÎÒÔÚ×ö·É»ú¡£ÎªÊ²Ã´ËµÎÒÔÚ×ö·É»úÄØ£¡ÒòΪÕâÊÇÎÒ½ø´«ÖDz¥¿ÍÒÔÀ´£¬¸öÈ˸оõ·Ç³£ÖØÒªµÄÒ»ÌÿΣ¬µ«ÊÇÎÒ²»ÄÜÒ»ÏÂ×Ó¼ÇסËùËùÓеĶ«Î÷£¬×òÌìÍíÉÏ£¬¿´ÊÓÆµ¿´µ½ÍíÉÏÈýµã£¬½ñÌìÉϿκÜÏ뼯ÖÐ×¢ÒâÁ¦£¬µ«ÊÇ×îÖÕ»¹ÊÇÈ̲»×¡´òÁËî§Ë¯£¬µ«½ñÌìµÄµÄ¿Î¸øÎҵĸоõÊǷdz£¾ßÓÐÁ¬¹áÐÔ£¬Ç°ÃæµÄ¿ÎÈç¹ûÌýµÃ²»ÊǺÜÇ ......
package com.xiaobian;
public class BubbleSort {
//ðÅÝÅÅÐò
public static void bubbleSort(int[] data){
&n ......
³ÌÐòÉè¼ÆÊǽâ¾öÎÊÌâ˼·µÄ¾ßÌ廯.¾ÍÏñ½¨ÔìÒ»×ù·¿×ÓÒ»Ñù£¬ÓÃʲôÑùµÄ²ÄÁÏ,½¨Ôìʲô·ç¸ñµÄ½¨Öþ,¾ßÌåÿ¸öλÖÃÊÇʲô... ²»Í¬µÄ½¨Öþʦ»áÓв»Í¬µÄ·½·¨. ¶ø°ÑÍê³ÉÄ³Ò»ÌØ¶¨ÎÊÌâµÄ½â¾ö˼·¹æ·¶Ò»Ï ¾Í¿ÉÒÔ³Æ×÷ΪһÖÖÉè¼ÆÄ£Ê½.
³ÌÐòÉè¼ÆÖÐÉè¼ÆÄ£Ê½ÎªÎÒÃÇÔÚijһÎÊÌâÓòÌṩÁËÒ»ÖÖÁ¼ºÃµÄʵÏÖ·½·¨²Î¿¼£¬¿ÉÒÔ´ó´óʵÏÖ¸´Óú͸ßЧ¡£
ÏÂÃæÎ ......
btraceÊÇsunÍÆ³öµÄÒ»¿îjavaÐÔÄÜ¼à¿Ø¹¤¾ß£¬ÀûÓÃjava agent ºÍ jvm attach¼¼Êõ£¬¿ÉÒÔ²»Í£»úµÄÇé¿öÏÂ¼à¿ØÏßÉÏÇé¿ö£¬²¢ÇÒ×öµ½×îÉÙµÄÇÖÈ룬ռÓÃ×îÉÙµÄϵͳ×ÊÔ´¡£
Ïêϸ¼û¹Ù·½Îĵµ
ÁíÍâbtraceÓкÜÑϸñµÄÏÞÖÆ£¬±ÈÈçÆ´½Ó×Ö·û´®¡¢Ñ»·¡¢µÝ¹é¡¢ÒÔ¼°ÎÒÃÇÆ½Ê±¾³£ÓõÄһЩ·½·¨¶¼²»¿ÉÒÔÓã¬ËûÓÐËû×Ô¼º×¨ÃŵÄÀà¿â¡£
btrace»¹ÌṩÁËVi ......