存档

‘java’ 分类的存档

eclipse 自动补全的设置,不用按 alt-/ 了

2011年1月14日
51 views 没有评论

打开 Eclipse -> Window -> Perferences,会打开个Perferences 的设置界面。
最简单的修改方式是:Windows——>Preferences——>Java–>Editor–>Content Asist,在Auto activation triggers for Java后面的文本框里只有一个“.”。
会看到只有一个”.”存在。表示:只有输入”.”之后才会有代码提示,我们要修改的地方就是这里,可是Eclipse默认只允许输入4个自定义字符。

阅读全文…

java

Java操作XML(使用org.w3c.dom)

2010年11月27日
172 views 没有评论

一、创建DOM

view sourceprint?001 XMLBuilder.java

用于创建DOM,Root结点

/********************************************************************

* 项目名称 :rochoc

* 包名称 :rochoc.xml.oper

* 文件名称 :XmlBuilder

阅读全文…

java , ,

使用netty 作为 http服务器

2010年10月11日
784 views 没有评论

netty是继mina之后一个非常受欢迎的nio网络框架(其实netty的主程就是mina的主程).

其实netty的介绍就不说了,去看项目介绍吧,直接上代码

httpserver启动和配置类

  • import static org.jboss.netty.channel.Channels.pipeline;   
  •   
  • import java.net.InetSocketAddress;   
  • import java.util.concurrent.Executors;   
  •   
  • import org.jboss.netty.bootstrap.ServerBootstrap;   
  • import org.jboss.netty.channel.ChannelPipeline;   
  • import org.jboss.netty.channel.ChannelPipelineFactory;   
  • import org.jboss.netty.channel.Channels;   
  • import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;   
  • import org.jboss.netty.handler.codec.http.HttpChunkAggregator;   
  • import org.jboss.netty.handler.codec.http.HttpRequestDecoder;   
  • import org.jboss.netty.handler.codec.http.HttpResponseEncoder;   
  • import org.jboss.netty.handler.stream.ChunkedWriteHandler;   
  •   
  • /**  
  •  * 后台管理服务  
  •  *   
  •  * @author javagg  
  •  *   
  •  */  
  • public class AdminServer {   
  •     public static void main(String[] args) {   
  •         start(8080);   
  •     }   
  •   
  •     public static void start(int port) {   
  •         // 配置服务器-使用java线程池作为解释线程   
  •         ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool()));   
  •         // 设置 pipeline factory.   
  •         bootstrap.setPipelineFactory(new ServerPipelineFactory());   
  •         // 绑定端口   
  •         bootstrap.bind(new InetSocketAddress(port));   
  •         System.out.println(“admin start on ”+port);   
  •     }   
  •   
  •     private static class ServerPipelineFactory implements  
  •             ChannelPipelineFactory {   
  •         public ChannelPipeline getPipeline() throws Exception {   
  •             // Create a default pipeline implementation.   
  •             ChannelPipeline pipeline = Channels.pipeline();   
  •             pipeline.addLast(“decoder”, new HttpRequestDecoder());   
  •             pipeline.addLast(“encoder”, new HttpResponseEncoder());   
  •             //http处理handler   
  •             pipeline.addLast(“handler”, new AdminServerHandler());   
  •             return pipeline;   
  •         }   
  •     }   
  • }  
  •  

    阅读全文…

    java

    Netty实现原理浅析

    2010年7月28日
    442 views 1 条评论

    Netty是JBoss出品的高效的Java NIO开发框架,关于其使用,可参考我的另一篇文章 netty使用初步。本文将主要分析Netty实现方面的东西,由于精力有限,本人并没有对其源码做了极细致的研 究。如果下面的内容有错误或不严谨的地方,也请指正和谅解。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文的一些内容及图示也来自于Netty的文档,特此致谢。

    阅读全文…

    java ,

    Netty 3.1 中文用户手册

    2010年7月14日
    540 views 没有评论

    本指南对Netty 进行了介绍并指出其意义所在。

    1. 问题

    现在,我们使用适合一般用途的应用或组件来和彼此通信。例如,我们常常使用一个HTTP客户端从远程服务器获取信息或者通过web services进行远程方法的调用。

    然而,一个适合普通目的的协议或其实现并不具备其规模上的扩展性。例如,我们无法使用一个普通的HTTP服务器进行大型文件,电邮信息的交互,或者处理金融信息和多人游戏数据那种要求准实时消息传递的应用场景。因此,这些都要求使用一个适用于特殊目的并经过高度优化的协议实现。例如,你可能想要实现一个对基于AJAX的聊天应用,媒体流或大文件传输进行过特殊优化的HTTP服务器。你甚至可能想去设计和实现一个全新的,特定于你的需求的通信协议。

    阅读全文…

    java ,

    Comet 10w + 连接打开测试

    2010年7月9日
    463 views 没有评论

    Comet是一个时髦词语,象ajax一样,非常Cool。Comet的主要作用是,服务器可以把新数据主动传送给客户端。 

    我认为,Comet将是下一波互联网应用更新潮的主流.象google wave使用Comet一样,实现实时更新. 

    Plurkr 的增长速度非常快,我们正在成为最大的Python网站之一,我们的每天都有10w+的在线用户。
    我们大约用了一个星期寻找不同的解决方案.

    阅读全文…

    java , , ,

    各种排序算法java实现

    2010年6月28日
    196 views 没有评论

    插入排序:
     

    1.  
    2. package org.rut.util.algorithm.support;
    3. import org.rut.util.algorithm.SortUtil;
    4.  
    5. public class InsertSort implements SortUtil.Sort{
    6.     /* (non-Javadoc)
    7.      * @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])
    8.      */
    9.     public void sort(int[] data) {
    10.         int temp;
    11.         for(int i=1;i<data.length;i++){
    12.             for(int j=i;(j>0)&amp;&amp;(data[j]<data[j-1]);j–){
    13.                 SortUtil.swap(data,j,j-1);
    14.             }
    15.         }        
    16.     }
    17. }
    18.  
    阅读全文…

    java

    lua 语法

    2010年5月26日
    54 views 没有评论

    Lua像C和PASCAL几乎支持所有的传统语句:赋值语句、控制结构语句、函数调用等,同时也支持非传统的多变量赋值、局部变量声明。
    4.1 赋值语句
    赋值是改变一个变量的值和改变表域的最基本的方法。
    a = “hello” .. “world”
    t.n = t.n + 1
    Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
    a, b = 10, 2*x     <–>     a=10; b=2*x
    遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值:
    x, y = y, x             — swap ‘x’ for ‘y’
    a, a[j] = a[j], a     — swap ‘a’ for ‘a’
    当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略:
    a. 变量个数 > 值的个数    ;     按变量个数补足nil
    b. 变量个数 < 值的个数         多余的值会被忽略
    例如:
    a, b, c = 0, 1
    print(a,b,c)         –> 0 1 nil

    阅读全文…

    java ,

    kahlua java上的lua脚本介绍及性能测试

    2010年5月24日
    296 views 没有评论

    kahlua是一款基于CLDC1.1且非常小巧的Lua解释器,它很容易扩展。只需要配合一个Lua编译器,就可以执行编译后的Lua源代码。

    也可以用在j2se上,而且速度还非常快!!支持把lua文件的编译执行,大家可以到http://www.oschina.net/p/kahlua 下载项目和交流此项目

    阅读全文…

    java

    jvm的内存调优

    2010年5月18日
    372 views 没有评论

    Java内存组成

    1) 堆

        运行时数据区域,所有类实例和数组的内存均从此处分配。Java 虚拟机启动时创建。对象的堆内存由称为垃圾回收器 的自动内存管理系统回收。
     堆由两部分组成:

    阅读全文…

    java

  • 粤ICP备09032914号