- 博客(41)
- 资源 (16)
- 收藏
- 关注
原创 linux kernel 实现同步
有以下几种方法可以实现linux kernel中多线程间的同步1.禁用抢占模式,在一个线程进入关键区域前,禁止抢占模式,在出关键区域后,再启用该模式。只对单处理器系统。2.禁用中断,在一个线程进入关键区域前,禁用所有设备的中断信号。在出关键区域后,再启用设备的中断信号。只对单处理器。3.信号(Semaphores),对每个资源维护一个信号,每一信号有3部分组成1.一个整数值(初始值1)2.一个等待队列3.两个原子操作 down( )和up( )对于每一个要访问某个资源的进程来说,执行down操作(减),如果
2011-01-18 21:27:00 857
原创 tcp 慢启动 slow start
<br />如果在发送端和接收端间存在较慢的链路,而发送端仅根据接收端的缓存而一次性的发送大量分组,中间路由可能会内存溢出,会严重的降低网络的吞吐量。<br />慢启动采取的机制是,发送新分组的速率应该和接受到应答的速率应一致。<br />慢启动维护一个阻塞窗口(congestion window)cwnd,初始化为1。每当收到一个ack,则对cwnd进行增加。而发送端则必须从接收端通报的窗口和发送端维护的阻塞窗口中选取较小的值作为可以发送的字节数。<br />发送端通过阻塞窗口来进行流量控制。接收端通过通
2011-01-17 13:41:00 5256
原创 push 标识
发送方使用该标志通知接收方将所收到的数据全部提交给接收进程。这里的数据包括与P U S H一起传送的数据以及接收方T C P已经为接收进程收到的其他数据在最初的tcp规范中,允许发送应用程序设置tcp的push标识。当发送应用程序设置tcp的push标识后,tcp应把发送缓存中的数据发送出去,而不需等待其他额外的数据,而接受端在收到push标志后,应该把已即接受到的数据提交给应用程序,而不需等待其他可能的数据。多数源自伯克利的tcp实现 可在发送缓存被清空的时候自动的设置push标识。因为应用程序在写数据给
2011-01-17 10:31:00 1693
原创 Nagle 算法
在tcp/ip交互环境中,例如rlogin 和telnet。会产生很多只有少量字节的ip分组。例如20字节的ip首部,和20字节的tcp首部,但实际要传输的数据可能只有少量字节。在广域网中,这些微小分组可能会引起拥塞。Nagle算法能很好的解决这种问题,Nagle算法要求在tcp连接上,只能有一个未被确认的小分组。即,在该小分组的确认没有到达之前,不发送其他小分组。在上个小分组的确认到达时,把在此期间需发送的小分组一并发送。这样可以减少需发送的ip分组的个数,而且该算法是自适应的,确认到达越快,发送的也就越
2011-01-12 14:04:00 739
原创 tcp/ip TIME_WAIT 状态
<br /> <br /> <br />一个T C P连接由一个4元组唯一确定:本地I P地址、本地端口号、远端I P地址和远端端口<br />号。无论何时关闭一个连接,一端必须保持这个连接,我们看到T I M E WA I T状态将处理这个<br />问题。处理的原则是执行主动打开的一端在进入这个状态时要保持的时间为T C P实现中规定<br />的M S L值的两倍。<br /> <br />【tcp/ip 详解 18.12 小结】<br /> <br />之所以要维护TIME_WAIT状态,并且要等待
2011-01-10 18:09:00 1375
原创 tcp/ip Incoming Connection Request Queue(呼入连接请求队列)
<br />tcp 服务器在某一个指定端口监听请求。对每一个连接请求,均新建一个线程来处理,然后再返回监听状态。但当连接请求较多,或服务器较忙的情况下,tcp就需要 请求队列 来处理连接请求。伯克利的tcp实现有以下规则<br />1.服务端维护一个固定长度的队列,该队列中的连接是已经tcp所接受(已完成3次握手),但还未被应用程序接受<br />2.应用程序可以指定该队列的长度,通常称为积压值(backlog)。该值必须在0-5之间。<br />3.当一个新的连接请求(SYN)到达时,首先检查目前的队列中
2011-01-10 17:48:00 2036
原创 tcp/ip 同时打开 同时关闭
两个应用程序同时执行主动打开的情况是可能的,虽然发生的可能性较低。每一端都发送一个SYN,并传递给对方,且每一端都使用对端所知的端口作为本地端口。例如:主机a中一应用程序使用7777作为本地端口,并连接到主机b 8888端口做主动打开。主机b中一应用程序使用8888作为本地端口,并连接到主机a 7777端口做主动打开。tcp协议在遇到这种情况时,只会打开一条连接。这个连接的建立过程需要4次数据交换,而一个典型的连接建立只需要3次交换(即3次握手)
2011-01-10 09:46:00 4745 1
原创 tcp状态
1.复位报文在tcp报文头部,复位标识 由一名为RST的bit位来表示。复位报文可能出现的情况:1.连接到一个不存在的端口在UDP情况下,会产生一个端口不可达的ICMP报文,而在TCP情况下,会使请求连接端复位。2.异常终止一个连接由发送FIN来终止一个连接称为 有序释放 (orderly release)。而由各异RST来终止的连接称为 异常释放 (abortive release)。异常终止有2个好处。1.可以是丢弃任何待发送数据,并立即发送一个RST。2.接收端能够分辨出RST和FIN报文(从而了解对
2011-01-05 21:57:00 1035
原创 ip路由 动态选路协议
<br />在网络较小,且与其他网络只有单个连接点,且没有多余路由(若主路由失败,可以使用备用路由)的情况下,使用静态路由<br />如果不能全部满足上述条件,一般使用动态路由,动态路由用于路由器间的通信<br />1.静态选路协议<br />1.配置接口时,以默认方式生成的表项(直接连接的接口)<br />2.以route命令增加表项(从系统自引导文件读取)<br />3.通过ICMP重定向报文(通常是在默认模式出错的情况下)<br />2.动态选路协议<br />1.RIP Routing Infrom
2010-12-17 17:18:00 557
原创 ip路由
ip路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的ip地址始终不变,但目的链路层地址在每一站都可以改变大多数主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器使用子网号、子网掩码可以有效的降低路由表的大小。
2010-12-13 23:05:00 866
原创 面向连接 无连接
<br />面向连接服务,类似于电话系统。具有建立连接,数据传输,连接释放三个阶段。<br />1.reliable message sequence sequence of pages<br />2.reliable byte streamremote login<br />3.unreliable connectiondigitized voice/虽然也需先建立连接,但传输过程中不需acknowledged.故为不可靠的。<br /> <br />无连接服务,类似于信件。是一种不可靠的服务,2个实
2010-11-15 23:42:00 726
原创 协议栈
协议分层需处理的问题1.addressing寻址每层都需要一种定位发送点和接受点的机制2.error control差错控制物理层并非完美的,所以需要应答确认,和计数。3.flow control 流量控制当接受与发送端速率不匹配时,需要流量控制4.multiplexing多路访问多个,互补相关的会话使用同一个连接5.routing路由在源地址和目的地址间选择一条合适的路径
2010-11-12 15:42:00 468
原创 网络传输
网络传输技术分为2种1.广播传输 broadcast所有的计算机使用同一个信道传输信息,所发送的帧会被所有的其他站点接收到。2.点对点传输 point-to-point计算机成对的连接,帧只会从发送站点到接受站点。可能会经过中间的路由器。
2010-11-11 11:18:00 372
原创 网络 分布式系统
分布式系统是一套建立在网络之上的软件系统。对其用户来说,相当于一个单独的计算机。分布式系统与网络间的主要区别是软件,特别是操作系统,而非硬件。
2010-11-11 10:58:00 358
转载 广播信道具有反馈特性
<br />这句话的意思说的是以太网中冲突检测的机制,和无线通信中的广播信道关系不大。 <br /> <br />因为上行信道只有一个,所以要进行冲突检测,任何一个终端只要发送帧,广播信道就会如实将该内容广播(所以叫反馈),这样发送者自身也能收到这个内容,它将内容和缓存中的内容比较后可以得到内容是否被破坏的信息,如果只有它一个终端在发送,则内容不会被破坏,反之则产生冲突,终端从广播中得到冲突的信息后就会延迟随机时间后重发。<br /> <br />转自:http://bbs.byr.edu.cn/arti
2010-10-16 15:32:00 2275
原创 文件名
<br />1.不能出现在文件名中的字符有2个 斜线 / 和空操作符 null .因为/是路径的分隔符,null则终止一个路径名。<br /> <br />2。/ 代表根目录。以/开始的目录为绝对目录,否则为相对目录。
2010-09-30 17:46:00 574
原创 tomcat server.xml Service节点
在一个server节点中 可以有多个service节点,每个service节点由多个Connector 节点和一个Engine 节点组成service节点 属性:className 一个实现了org.apache.catalina.Service interface接口的类,如没有指定,则默认org.apache.catalina.core.StandardServicename 指定service的名字,在同一个server节点中,多个service节点的name应唯一。---------
2010-06-22 11:39:00 2740
原创 【Spring】BeanFactory/ApplicationContext
ApplicationContext接口扩展自BeanFactoryApplicationContext除了可以完成BeanFactory的载入Bean定义,装配Bean外,还提供了以下功能1.提供了稳步解析工具,包括对国际化的支持2.提供了载入文件资源的通用方法,如载入图片3.可以向注册为监听器的Bean发送事件4.BeanFactory工厂延迟载入所有的Bean,直到ge
2009-11-04 15:08:00 367
转载 spring事务属性
原文:【http://www.javaeye.com/topic/78674】 Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。 我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为
2009-11-02 10:10:00 256
转载 Spring事务配置的五种方式
原文:[http://www.blogjava.net/robbie/archive/2009/04/05/264003.html] 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中
2009-11-02 10:05:00 260
转载 Struts中配置Validator插件
转自:http://www.blogjava.net/keweibo/articles/137801.html----------------------------------------------------- required : 强制某个域不能为空,它没有参数。validwhen : 通过一个域的值来检查另一个域的值。minlength ; 检查用户输
2009-08-11 10:16:00 832
原创 jstl ct:call 调用bean的函数
=====================================================userMap 是代表通过标签 来获得的一个map,key为userID ,value 为对应key的user对象allUsers是代表通过 标签来调用userMap 的values方法的返回值。即所有的user对象集合。----------------------------
2009-07-06 15:12:00 1927
原创 Struts html:options 标签
使用Collection来给html:options 标签的collection属性赋值 all labelProperty="userName" />
2009-07-06 15:12:00 3724
原创 通过JSTL调用Spring里的bean
Spring提供了一个WebApplicationObjectSupport类来供我们使用,用来把定义在spring中的对象与前台页面联系起来。为了在页面中可以方便的通过EL表达式取出spring里的bean,我们需要借助HashMap的特性并重写其方法。 首先,需要一个继承WebApplicationObjectSupport的类,并重写其initApplicationContext
2009-07-06 14:42:00 3456
转载 struts global-exceptions
一.处理异常的exception和global-exception 在Web应用中,对异常处理位置都是业务逻辑失败的信息.因为异常处理还需要编写ActionErrors,给出报错信息将导致在Action会看到许多的ActionErrors的代码. struts解决了这个问题,它允许程序员配置任何异常,并且在将异常转化为报错信息的时候,不必须自行使用"try catch"来捕捉
2009-07-06 09:23:00 5688 1
转载 tomcat web.xml配置
web.xml元素介绍我将自己知道的web.xml的元素整理了一下: web.xml首先是肯定要包含它的schema. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.x
2009-07-02 15:42:00 1034 1
原创 spring 基础
1.ApplicationContext是BeanFactory的子类,它扩展了BeanFactory的功能,一般情况下,应该使用ApplicationContext,除非对内存有要求的情况下,而且不需要使用ApplicationContext所提供的功能。------------------ Users are sometimes unsure whether
2009-06-26 08:39:00 509
转载 jstl el表达式
在jstl的forEach循环中,可加入varStatus="status"然后用status.count或status.index来确定当前的行数, 日期/时间的格式化 可以用fmt标签来定制,比如显示为“3月5号",注意24小时的表示法用大写的HH显示为15:00,12小时表示法则用小写的hh 如何取得RequestParam中的参数,比如url中的或者是form表
2009-06-24 17:09:00 1357
原创 struts fmt标签
可以在页面上显示的时候控制时间的显示格式。 ${vo.createDate}为一java.utils.Date类型数据。
2009-06-24 16:47:00 1026
原创 struts validate校验框架
利用继承了ActionForm的普通formBean的validate方法来验证表单数据,当在validate方法返回非空的ActionErrors对象时,ActionServlet会根据配置文件中的input属性来进行请求转发,并不会执行action的execute方法。---------------------------------------------------------
2009-06-24 13:54:00 2045
转载 Tomcat6.0连接池配置
Tomcat6.0连接池配置 1.配置tomcat下的conf下的server.xml中的host标签中添加连接池配置: 1. "jdbc/sql" 2. auth="Container" 3. type="javax.sql.DataSource"
2008-03-19 19:08:00 2649 2
转载 2005转到2000的步骤步骤
2005转到2000的步骤步骤 1. 生成for 2000版本的数据库脚本 2005 的manger studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 -- 右键要转到2000的库 -- 任务 -- 生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到
2008-03-19 10:45:00 615
转载 Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket 今天到实验室运行了一下以前作的合同管理的系统,以前运行正常,奇怪的是今天运行出错了。错误提示如标题所示。看来很可能是驱动程序出错了导致连接不上数据库,因此我检查是否启动数据库服务器,服务器已经启动,看来是我用的jdbc的驱动出错了。驱动程序出错
2008-03-16 11:37:00 2064
原创 通过tomcat6.0数据池连接sqlserver2005
Tomcat6.0连接池配置 配置tomcat下的conf下的context.xml文件,在之间添加连接池配置: auth="Container" type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url=" jdbc:sqlserver://
2008-01-21 22:14:00 1700 2
原创 Tomcat 6.0 错误信息: 严重: StandardServer.await:create[8005]: java.net.BindException: Address already in use: JVM_Bind
在eclipse中启动Tomcat,或单独启动Tomcat时出现了下列错误信息:严重: StandardServer.await: create[8005]: java.net.BindException: Cannot assign requested address: JVM_Bind at java.net.PlainSocketImpl.socketBind(Native Method
2008-01-12 16:46:00 34601 11
转载 varchar 与 char
char 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。 由于char是以固定长度的,所以它的速度会比
2008-01-10 09:35:00 638
原创 eclipse 连接 sqlserver2005错误信息:"java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver"
使用jdbc连接sqlserver2005时出现了下列错误信息: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver"解决办法:1.首先检查classpath是否设置2.是否把jdbc驱动程序(即sqljdbc.jar)引用到eclipse中。(步骤为:选择“窗口”→“首选
2008-01-09 14:49:00 4402
转载 sa 登录失败,提示该用户与可信 SQL Server 连接无关联
在网上输入错误信息后,看了下大概的解决办法如下:打开SQL Server Management Studio Express,右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,将server authentication服务器认证从windows authentication mode(windows用户认证模式)修改为Sq
2008-01-09 08:45:00 738
转载 eclipse 链接 sqlserver2005
eclipse 版本6.01.在eclipse和sql server2005安装好后需要下载 2005 driver for JDBC 可到 微软官方网站下载(Microsoft SQL Server 2005 JDBC Driver 1.1)。2.安装sqljdbc_1.1.1501.101_chs.exe到C:/Program Files(也可在其他目录)。3.设置clas
2008-01-08 22:44:00 1360 2
think in java pattern
2010-12-29
SQL.In.A.Nutshell.2nd.Edition.Sep.2004.eBook-DDU
2010-12-29
SQL in Nutshell ed1
2010-12-29
Data Modeling and Relational Database Design, Vol.1
2010-12-29
Art of Java Web Development
2010-02-25
Java Persistence for Relational Databases
2010-02-25
Enterprise JavaBeans 2.1
2010-02-25
Enterprise Java for SAP
2010-02-25
advanced-tiles
2010-02-25
More Effective C++(中文版)
2007-10-17
Win32 API大全
2007-10-17
Programming Windows(中文)
2007-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人