java 模拟selector的附带功能
package com.event;
import java.util.Map;
public interface EventListener {
void onEvent(Map event);
}
package com.socket;
import java.nio.ByteBuffer;
import java.util.HashMap;
import com.event.EventListener;
/*
* 预处理类
*/
public class BaseObject {
private boolean flag;
private ByteBuffer receivebuffer= ByteBuffer.allocate(20000);
public void print(){
System.out.println("hello!");
flag=true;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public ByteBuffer getReceivebuffer() {
return receivebuffer;
}
public void invoke(EventListener event){
System.out.println("BaseObject invoke");
HashMap<String, String> map=new HashMap<String, String>();
map.put("key", "wellcome here");
event.onEvent(map);
}
}
package com.socket;
public class Client{
/*
* 对应的远程客户端
*/
public Client(){
}
public void run( ) {
System.out.println("client run");
}
}
package com.socket;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
public class Server {
private ServerSocketChannel channel;
private SocketController sc;
public Server() {
try {
sc = new SocketController();
sc.start();
channel = ServerSocketChannel.open();
channel.socket().bind(new InetSocketAddress(8080));
} catch (IOException e) {
e.printStackTrace();
}
}
private void start
相关文档:
原因有很多种,比如:
1.数据量过于庞大;死循环 ;静态变量和静态方法过多;递归;无法确定是否被引用的对象;
2.虚拟机不回收内存(内存泄漏);
说白了就是程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了。 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存 ......
Java类中可以定义一个static块用于静态变量的初始化;当类的定义中不含有static块时,编译器会为该类提供一个默认的static块,前提
是存在静态变量的初始化操作;由于静态变量是通过赋值操作进行初始化的,因此可以通过静态函数返回值的方式为其初始化;类定义中可以存在多个static
块,而且在编译时编译器会将多个static ......
iSpectrum:Java for iPhone
来源:http://www.javaeye.com/news/13338-ispecturn-java-for-iphone
iSpectrum可以将你的Eclipse变成开发Java iPhone应用的环境,你只需要安装iSpectrum 的Eclipse插件即可。
点击查看示例:http://www.flexycore.com/en/developer-connection/demos.html
......
其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中如何使用这个工具可以参考这里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html
jconsole 可 ......