易截截图软件、单文件、免安装、纯绿色、仅160KB

技术贴:java nio的示例

package com.vista.Server;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Set;
public class SelectorServer
{
private static int DEFAULT_SERVERPORT = 6018;//默认端口
private static int DEFAULT_BUFFERSIZE = 1024;//默认缓冲区大小为1024字节
private ServerSocketChannel channel;
private LinkedList<SocketChannel> clients;
private Selector readSelector;
private ByteBuffer buffer;//字节缓冲区
private int port;

public SelectorServer(int port) throws IOException
{
this.port = port;
this.clients = new LinkedList<SocketChannel>();
this.channel = null;
this.readSelector = Selector.open();//打开选择器
this.buffer = ByteBuffer.allocate(DEFAULT_BUFFERSIZE);
}
// 服务器程序在服务循环中调用sericeClients()方法为已接受的客户服务
public void serviceClients()throws IOException
{
Set keys;
Iterator it;
SelectionKey key;
SocketChannel client;
// 在readSelector上调用select()方法,参数1代表如果调用select的时候 那么阻塞最多1秒钟等待可用的客户端连接
if(readSelector.select(1) > 0)
{
keys = readSelector.selectedKeys(); // 取得代表端通道的键集合
it = keys.iterator();
// 遍历,为每一个客户服务
while(it.hasNext())
{
key = (SelectionKey)it.next();
if(key.isReadable())
{ // 如果通道可读,那么读此通道到buffer中
int bytes;
client = (SocketChannel)key.channel();// 取得键对应的通道
buffer.clear(); // 清空缓冲区中的内容,设置好positi


相关文档:

用java编写多线程ftp断点下载文件程序


作者
:
李志涛
邮箱地址
:lizhitao67116961@163.com
深圳优网科技有限公司
 
前几天看到有某位网友写了用http进行断点下载文件,但是网上没有看到ftp断点下载的文章或代码,现在本人写了一下。经过测试没有问题。请大家多多指教。如有疏漏的地方请各位技术友人指出。本人不胜感激。
 
package
test.d ......

Java常用工具类


import java.text.*;
import java.util.*;
/**
*
* <p>
* Title: 通用工具类
* </p>
* <p>
* Description: 常用工具的集合,用来处理常见问题,比如中文乱码的方法等。
* </p>
* <p>
* Copyright: Copyright (c) 2003
* </p>
* <p>
* Company: Towery
* </ ......

欢迎Java编程爱好者交流

     大家好!
     我是一个编程爱好者。
     经过专业课的学习,有一定的编程基础,对C/C++、ASP.ENT以及数据库比较熟悉。
     现在,我在一个Java培训班学习。
     空闲之余,在这里找到了一个交流的平台, ......

JAVA缓存

JAVA缓存有两种:
一、文件缓存,是指把数据存储在磁盘上,可以XML格式,也可以序列化文件DAT格式还是其它文件格式。
二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查。
其代码如下:
目录 [隐藏]
1 Cache类
2 CacheManager类
 JAVA缓存-Cache类      &n ......

Java 的缓存的实质

计算机缓存的定义 :缓存是CPU的一部分,它存在于CPU中
就此可以说明 CPU中不可能存放大量的数据
所以java 的缓存 不是真正意义上的缓存
而且
缓存是为了解决CPU速度和内存速度的速度差异问题
内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号