java socket多线程 接收xml
java socket多线程 接收xml
2009-08-21 17:25
这段时间做了个项目,不过觉得一直是我在写,我们总监再改。。看样子自己的代码能力太差了。而且乱七八糟的啦。。
现将代码分享一下吧 :是从客户端接收xml进行一定的解析,然后入库最后返回吧 中间复杂的逻辑就不说了 。。。
SocketServer.java
package com.socket;
import java.io.IOException;
import java.net.*;
import
java.util.concurrent.*;
import com.Config;
import org.apache.log4j.Logger;
public class SocketServer {
Config c = new Config();
private static Logger logger = Logger.getLogger(SocketServer.class);
private ServerSocket serverSocket;
private ExecutorService
executorService;//线程池
private final int POOL_SIZE =
100;//单个CPU线程池大小
public SocketServer() throws IOException {
serverSocket = new ServerSocket(c.port);
//Runtime的availableProcessor()方法返回当前系统的CPU数目.
executorService =
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() *
POOL_SIZE);
System.out.println("服务器启动");
logger.debug("service start!!");
}
public void service() {
while (true) {
Socket
socket = null;
try {
//接收客户连接,只要客户进行了连接,就会触发accept();从而建立连接
socket =
serverSocket.accept();
&
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
转IBM的文章,比较详细。需要注意的是,
通过JavaCompiler进行编译都是在当前目录下生成.class文件,而使用编译选项可以改变这个默认目录。编译选项是一个元素为String类型的Iterable集合。如我们可以使用如下代码在D盘根目录下生成.class文件。
Iterable options = Arrays.asList("-d", "d:\\");
JavaCompiler. ......
为了方便,有时我们需要直接将本地文件或字符或图片直接拖拽到图形上,让组件自动打开拖拽的文件。基于这种思想,我写了如下代码实现这个拖拽监听的功能。
1.UI源码
package ibees.desktop;
import javax.swing.BorderFactory;
import javax.swing ......
java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
String相关函数
1)substring()
它有两种形式,第一种 ......