易截截图软件、单文件、免安装、纯绿色、仅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 解析加密ZIP

2010-03-10
最近做项目遇到了一个问题,需要将客户端到处的加密ZIP压缩包直接导入到系统中。在网上查了下关于ZIP解密的问题,发现了winzipaes这个开源项目http://code.google.com/p/winzipaes ,这个项目需要依赖bcprov-jdk14-145.jar这个开源包,两个包联合使用可以解密AES -256算法的加密密码。
因为系统使用的是JDK1.4 ......

JAVA实现DES加密

DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准
,是1972年美国IBM
公司研制的对称密码体制加密算法。其密钥长度为56位,明文按64位进行分组,将分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
DES工作 ......

Flex+LCDS+Java 实践(一) 游戏大地图背景制作

前言:
本项目主要是通过把地图切片嵌入swf,把切片坐标用Java数据打包,然后 在Flex项目内通过Java读取打包数据,通讯给Flex,最后把swf内的图片安放在对应位置来实大地图 拆分->打包->再现的过程。
1.  swf图片打包代码 BitMapClass.as
package
{
import flash.display.Sprite;

public class BitM ......

推荐几个java学习网站

推荐几个java学习网站
Java代码查询站点 S+\s4hh@k  
1. java2s http://www.java2s.com/ PeYmf1ox  
这个网站非常好,分成三大类,分别是Example、Products、 Articles,每个大类下又分别设许多小类,还有搜索功能,这样查找起来非常方便。。比如,如果要学习SWT/JFace,只要把Example下的SWT JFace Eclipse ......

傻B自己看的java笔记:连接MYSQL

  改一个这样的题目正式告诉你,我终于动手记录一些java的笔记了。实在很久没有写java了。哈哈,不好意思,为了flash 后台有个支持,java 这部分还是要学一点,但不是很重点学。这部分东西,我不熟悉,也在慢慢记录。自己看的笔记,所以要是你不是傻B,最好不要看。
   在今晚练习的时候,尝试去连接可爱的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号