ByteBuffer和String的互相转换
摘要:import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; public class TopNTool { /** * String 转换 ByteBuffer * @param str * @return */ public static ByteBuffer getByteBuffer(String str) {...
阅读全文
服务端的线程池方案2
摘要:Java提供了一个很好地类来实现1中的线程池功能就是Executors类。将服务端代码改变一下就OK了。当然了,ReceiveFile类还需要改变一下(实现一个Runnable接口,并将receiveFile方法的内容写到run方法中,删除receiveFile方法即可)。package com.wjy.threadpool;import java.io.BufferedInputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.con..
阅读全文
服务端的线程池方案1
摘要:服务端处理客户端的请求,对于Socket采用TCP连接的手段来说,由于一个SocketServer只对应和一个Socket通信。所以,为了有效的控制服务端的服务质量,采取线程池的策略。集体说来就是开启若干个SocketServer来对预想连接到服务器的客户端们进行处理,若是同一时间有很多客户端涌入,线程池中的ServerSocket都不够用了都被占用了,则多余的那些客户端就先等待,等有的ServerSocket执行完之后再来和他们通信处理。具体的最简单的线程池实现如下代码所示(每个ServerSocket实现了接受文件的任务,而假想很多客户端涌入要求向服务端传输文件):package co..
阅读全文