易截截图软件、单文件、免安装、纯绿色、仅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开发环境

原发表于http://saharabear.javaeye.com
 和http://www.haulynjason.net(英)
同时发表在这里.
在我周围,有很多人是Java程序员或者计算机专业的学生.有时,我帮他们调试程序的时候,发现他们的机器上总是安装着很多没有授权的工具,比如盗版的
windows,没有License的MyEclipse等,甚至有一些人分不清eclipse和myeclipse ......

Java 6 RowSet 使用完全剖析(2)

Java 6 RowSet 使用完全剖析(2)
关键字: rowset
分页
由于 CachedRowSet 是将数据临时存储在内存中,因此对于许多 SQL 查询,会返回大量的数据。如果将整个结果集全部存储在内存中会占用大量的内存,有时甚至是不可行的。对此 CachedRowSet 提供了分批从 ResultSet 中获取数据的方式,这就是分页。应用程序可以简单的通 ......

开始Java旅程!

光荣的在期末再一次患上了“化脓性扁桃体炎”。带着39度的体温考试的确不是个舒服的事,那几天这把我给急得啊,总不能在这个时候晚节不保吧?真不知是为什么,这个病在这半个学期里折磨了我好几次,弄的我都对自己没什么信心了,希望这回在家里能够好好调整修养一番,开始新的旅程。
毕设的题目也出来了,只不过 ......

Java用AWT实现的状态栏

      AWT中没有提供状态栏工具,可以在Frame中添加一个Panel实现类似的功能。基本功能有创建状态栏,添加指示器,移除指示器,改变指示器内容,获得指示器内容,添加指示器鼠标消息响应,添加指示器右键弹出菜单,获得对一个指示器的引用等。
import java.awt.Color;
import java.awt.Componen ......

JAVA获取当前工程路径(非web工程)


 
注:不适合web工程
1、利用System.getProperty()函数获取当前路径:
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹
try{
    System.out.println(directory. ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号