随笔分类 - Java&Spring
摘要:阻塞模式下: 1,客户端向服务器端发起请求建立连接时,服务器端只需要运行到 serverSocket = new ServerSocket(port,3); 客户端注册的 SelectionKey.OP_CONNECT 事件就能够发生。 也就是说,不需要等到服务器端执行到 socket = serv
阅读全文
摘要:一,SocketSocket的选项1) TCP_NODELAY:默认值为false。表示采用Negale算法。当设置为true时,表示关闭Socket缓冲,立即发送数据。Socket默认发送数据是采用Negale算法。Negale算法是指发送方发送的数据不会立即发出,而是先放在缓冲区内,等缓冲区满了...
阅读全文
摘要:1,从标准输入上建立输入流:BufferedReader localReader = new BufferedReader( new InputStreamReader(System.in));System.in 表示标准输入,一般指键盘。建立输入流,从标准输入...
阅读全文
摘要:1,什么是写时复制(Copy-On-Write)容器? 写时复制是指:在并发访问的情景下,当需要修改JAVA中Containers的元素时,不直接修改该容器,而是先复制一份副本,在副本上进行修改。修改完成之后,将指向原来容器的引用指向新的容器(副本容器)。 2,写时复制带来的影响 ①由于不会修改原始
阅读全文
摘要:0,服务接口定义---Echo.java/* * 定义了服务器提供的服务类型 */public interface Echo { public String echo(String string);}一,客户端代码分析--实现类:MainClient.java客户端实现包括:获得一个代理对象,...
阅读全文
摘要:打算用JAVA实现一个简单的RPC框架,看完RPC参考代码之后,感觉RPC的实现主要用到了两个方面的JAVA知识:网络通信和动态代理。因此,先补补动态代理的知识。---多看看代码中写的注释参考:Java 代理模式与动态代理类 java的动态代理机制详解在动态代理中,首先定义一个接口,这个接口中声明的...
阅读全文
摘要:在JAVA多线程编程中,将需要并发执行的代码放在Thread类的run方法里面,然后创建多个Thread类的对象,调用start()方法,线程启动执行。 当某段代码需要互斥时,可以用 synchronized 关键字修饰,这里讨论 synchronized 关键字修饰方法时,是如何互斥的。 sync
阅读全文
摘要:关于一篇更详细更好的介绍 ZeroCopy技术的文章,可参考:JAVA IO 以及 NIO 理解 这篇文章介绍了 zerocopy技术来提高Linux平台上的IO密集型的JAVA应用程序的性能. zerocopy技术能够避免中间缓冲区中的冗余数据复制以及减少Linux内核空间和用户空间上下文交换的次
阅读全文
摘要:首先参考文章:http://www.oschina.net/translate/working-with-hashcode-and-equals-methods-in-java1,equals方法的比较与 == 的区别是什么?为什么需要重写equals方法?2,为什么说重写了equals方法最好重写...
阅读全文
摘要:1,迭代器是能够对数据结构如集合(ADT的实现)进行遍历的对象。在遍历过程中,可以查看、修改、添加以及删除元素,这是它与一般的采用循环来遍历集合中的元素不同的地方。因为,通常用循环进行的遍历操作一般是逐个输出元素,而用迭代器不仅仅只是查看元素,还可以改变元素(若迭代器支持remove())。2,在J...
阅读全文