- 博客(15)
- 资源 (12)
- 收藏
- 关注
原创 UDP和TCP协议包大小的计算
UDP和TCP协议包大小的计算UDP一次发送数据包的大小,TCP一次发送数据包的大小。<br />MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。<br />由于以太网EthernetII最大的数据帧是1518B
2010-07-29 15:36:00 989
原创 mina 服务端实现心跳
<br />心跳包,那么就是验证服务器和客户端是否连接,只要设置session的idl时间差就行了<br /> /**<br /> * session建立时调用<br /> */<br /> @Override<br /> public void sessionCreated(IoSession session) throws Exception<br /> {<br /> logger.info("-IoSession实例:" + session.toString());<br /> // 设置I
2010-07-27 20:49:00 5636
转载 Jetty 一
一、 总括 你了解Jetty 吗,就像我们所熟知的Tomcat一样, Jetty是一个免费的开放源码的100%纯Java的Http服务器和Servlet容器。 Jetty具备以下特点: 快速高效 。Jetty是最快的Servlet服务器之一 。Jetty可以处理上千个并发连接 小巧嵌入 。Jetty的jar只有600多K 。可动态嵌入到应用程序,适合开发web2.0等应用 应用广泛 。开源项目有Geron
2010-07-19 15:19:00 1007
转载 Spring AOP处理日志
<br />AOP正在成为软件开发的下一个圣杯。使用AOP,你可以将处理aspect的代码注入主程序, 通常主程序的主要目的并不在于处理这些aspect。<br /><br /> AOP可以防止代码混乱。 为了理解AOP 如何做到这点,考虑一下记日志的工作。日志本身不太可能是你开发的主程序的主要任务。 如果能将“不可见的”、通用的日志代码注入主程序中,那该多好啊。AOP可以帮助你做到。 <br /><br /> Spring framework是很有前途的AOP技术。作为一种非侵
2010-07-15 22:40:00 1007
转载 Mina 解决请求后直接关闭连接
<br />javaeye帐号丢了 晕 http://lucene-group.group.javaeye.com/group/blog/699109<br /> <br /> <br />开场白: <br /> Mina 是一个韩国人写的基本java NIO的一个高性能的传输框架,我们的搜索就是基本它作为一个搜索服务开放接口了。对于系统的TIME_WAIT过多,造成服务器的负载过高,这个问题我也不用多说了,这段时间发现搜索服务器上的TIME_WAIT过多,我们每天大约总处理70W左右的搜索请求,虽然不多,
2010-07-15 13:48:00 15466 1
原创 线程安全问题(解决) -------使用spring 的action-servlet.xml解决struts线程问题
<br /><bean name="/register" class="com.action.RegisterAction" singleton="false"> <br /><property name="businessService"><br /> <ref bean="businessService"/><br /> </property><br /><br /></bean><br /> RegisterAction是Action的实现类,businessService是
2010-07-04 17:35:00 1793 1
原创 线程安全问题(根源) -------servlet与Struts action线程安全问题分析
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。Servlet的多线程机制 Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第
2010-07-04 17:29:00 916
转载 java nio Selector的使用-客户端
java nio Selector的使用-客户端<br /> 接上一篇,客户端的程序就相对于简单了,只需要负责连接,发送下载文件名,再读数据就行了。主要步骤就是注册->连接服务器->发送下载请求->读数据->断开连接。<br /> 第一步:注册,并注册connect事件。Java代码 if(selector == null) selector = Selector.open(); SocketChannel channel = SocketChannel.open(); channe
2010-07-03 22:19:00 6918 5
转载 java nio Selector的使用-服务器端
前些时候花了一些时间在研究java.nio的api使用机制,看了好久,也觉得不习惯它的使用方式和用法.毕竟自己对C语言了解太少,也不太了解C语言在网络编程上的用法。对这种底层下的编程太不习惯,还是应该好好了解下底层的东西,要不然就光会使用别人的东西,如果是自己写一个,就写不出来了。 从java1.4以来,java nio就出现在java的api中,在日常的使用当中,基本上都是围绕着java.io中的几个inputStream(outputStream)和reader(writer)在转,要想编
2010-07-03 22:15:00 4682
转载 java IO 概念误区---------同步/异步与阻塞/非阻塞的区别
同步/异步与阻塞/非阻塞的区别我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.<br /><br />这两组概念常常让人迷惑,因为它们都是涉及到IO处理,同时又有着一些相类似的地方.<br /><br />首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.<br /><br />举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人
2010-07-03 16:24:00 7119 2
原创 java NIO 与IO的比较
Java 技术平台早就应该提供非阻塞 I/O 机制了。幸运的是,Merlin(JDK 1.4)有一根几乎在各个场合都适用的魔杖,而解除阻塞了的 I/O 的阻塞状态正是这位魔术师的专长。软件工程师 Aruna Kalagnanam 和 Balu G 介绍了 Merlin 的新 I/O 包 ― java.nio(NIO)― 的这种非阻塞功能,并且用一个套接字编程示例向您展示 NIO 能做些什么。请单击本文顶部或底部的 讨论,在 讨论论坛与作者及其他读者分享您关于本文的心得。 <br />服务器在合理的时间之内处
2010-07-03 15:35:00 3347 1
转载 java nio 非阻塞要点 Selector(三)
在前些天的《Java NIO类库Selector机制解析》文章中,我们知道了下面的事情: 1)Sun的JVM在实现Selector上,在Linux和Windows平台下的细节。2)Selector类的wakeup()方法如何唤醒阻塞在select()系统调用上的细节。 先给大家做一个简单的回顾,在Windows下,Sun的Java虚拟机在Selector.open()时会自己和自己建立loopback的TCP链接;在Linux下,Selector会创建pipe。这主要是为了Selector.wakeup()
2010-07-02 19:47:00 1985
原创 java nio 非阻塞要点 Selector(二)
<br />Java NIO类库Selector机制解析(下)<br /> <br />赵锟 陈皓<br />http://blog.csdn.net/haoel<br /> <br /><<<<点此查看本文上篇<br />五、 迷惑不解 : 为什么要自己消耗资源?<br /> <br />令人不解的是为什么我们的Java的New I/O要设计成这个样子?如果说老的I/O不能多路复用,如下图所示,要开N多的线程去挨个侦听每一个Channel (文件描述符) ,如果这样做很费资源,且效率不高的话。那为什
2010-07-02 19:46:00 1982
转载 java nio 非阻塞要点 Selector(一)
<br />Java NIO类库Selector机制解析(上)<br /> <br />赵锟 陈皓<br />http://blog.csdn.net/haoel<br /> 一、 前言<br /> <br />自从J2SE 1.4版本以来,JDK发布了全新的I/O类库,简称NIO,其不但引入了全新的高效的I/O机制,同时,也引入了多路复用的异步模式。NIO的包中主要包含了这样几种抽象数据类型:<br /> Buffer:包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的I/O操作
2010-07-02 19:43:00 1767 1
转载 java nio API 简单事例及应用
<br /> <br />在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供异步(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。<br /> <br />NIO API主要集中在java.nio和它的subpackages中
2010-07-02 18:41:00 1175
spring applicationContext.xml详细配置
2008-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人