本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
本博客在此声明所有文章均为转摘,只做资料收集使用。并无其他商业用途。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:210
评论数量:205
留言数量:-19
访问次数:918158
建立时间:2007年5月10日




[Apache Mina]转:Apache Mina使用手记(二)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/8/21 15:31:46

Mina主要是作为服务器端底层框架来实现数据处理,它的实现很简单,如下例所示: view plaincopy to clipboardprint? package com.gftech.mytool.mina; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.charset.Charset; import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.service.IoHandlerAdapter; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.core.sessio


阅读全文(2141) | 回复(0) | 编辑 | 精华 | 删除
 


[Apache Mina]转:Apache Mina使用手记(一)
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/8/20 17:59:59

1.Apache Mina是一个高性能的基础网络构架平台,构建在java NIO的基础上 2.Mina使用了SLF4J做为日志记录器,全称Simple Logging Facade for Java,它是一个日志门面,只负责为客户端提供应用接口,实际的日志记录由Log4j/JUL等日志记录器实现。如下图所示: 3.Mina主要有IoConnector,IoAccepter,IoSession,IoSessionConfig,IoHandler,IoFilter,IoFuture,EventListener等对象组成 4.IoConnector实现客户端的连接功能,IoAccepter实现服务端的接收功能,它们都继承自IoService 5.IoSession为客户端和服务端的一个会话,每一个会话都包括会话的建立,打开,注销等功能 6.IoSession中还包括发送或接收到的数据,以及会话上触发相应事件的侦听器 7.而IoSession的相关配置由IoSessionConfig实现 8.IoHandler为数据处理器,在此对象中可以对接收


阅读全文(1599) | 回复(0) | 编辑 | 精华 | 删除
 


[J2SE相关]java.nio.Buffer分析
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/8/20 17:55:18

在研究Apache Mina源代码时,在IoFilter中使用IoBuffer做为数据缓冲对象,而IoBuffer的实现来自于java.nio.Buffer。Buffer中的flip()、clear()、reset()、mark()等概念让我有点糊涂,仔细看了jdk的文档说明,才对Buffer对象的概念了然于胸。 在Buffer类当中有以下四个重要的属性: mark:标记位,用于reset()时把position恢复到原来的位置,调用mark()方法使position的值赋与mark position:表示Buffer中第一个可以被读取或写入的数据的位置,每次调用put()方法时,把写入的数据放到position位置,然后position的值就会加1 limit:表示buffer中第一个不可被读取或写入的数据的位置,也即停止位,数据操作到此为止 capacity:初始化时调用allocate(int size)为buffer分配的空间大小,不可变 演示代码如下: view plaincopy to clipboardprint? import

阅读全文(2160) | 回复(0) | 编辑 | 精华 | 删除
 


[SOA]转:REST架构实质
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/7/17 14:55:59

作者:banq 发表时间:2009年07月07日 11:28 回复
原贴网址: http://www.jdon.com:8080/jivejdon/thread/36506.html A name=36506>


阅读全文(4756) | 回复(1) | 编辑 | 精华 | 删除
 


[J2SE相关]异步调用时,异常rethrow的编程模式
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/6/25 17:57:10

作者 Qieqie http://www.javaeye.com/topic/414366

阅读全文(1554) | 回复(0) | 编辑 | 精华 | 删除
 


[MYSQL]数据库水平切分的实现原理解析
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/6/25 17:19:29

作者 lishuaibt  发表时间:2009-06-16 关键字: 分库 http://www.javaeye.com/topic/409294   第1章  引言
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载

阅读全文(1341) | 回复(0) | 编辑 | 精华 | 删除
 


[J2SE相关]javanio:java nio本质与精要
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/6/25 16:19:58

NIO之关键:
1.数据缓冲(Buffer)处理
数据缓冲是IO操作的基本元素.从本质上来说,无论是磁盘还是网络IO,应用程序所作的所有事情就是把数据放到相应的数据缓冲当中去(写操作),或者从相应的数据缓冲中提取数据(读操作).至于数据缓冲中的数据IO设备之间的交互,则是操作系统和硬件驱动程序所关心的事情了.因此,数据缓冲在IO操作中具有重要的作用,是操作系统与应用之间的IO桥梁.
在java.nio中, "Direct ByteBuffer"是一个值得关注的Buffer类型.在创建ByteBuffer的时候可以使用ByteBuffer.allocateDirect()来创建一块直接(Direct)的ByteBuffer.这一块数据缓冲和一般的缓冲不一样.第一,它是一块连续的空间.第二,它的实现不是纯java的代码,而是本地(native)代码.它内存的分配不在Java的堆栈中,不受java内存回收的影响.

阅读全文(2835) | 回复(0) | 编辑 | 精华 | 删除
 


转:HttpClient容易忽视的细节——连接关闭 
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/6/17 10:50:17

 原著地址:http://www.javaeye.com/topic/234759   Java代码 HttpClient client = 

阅读全文(2765) | 回复(0) | 编辑 | 精华 | 删除
 


[Spring]spring 事务管理探讨
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/6/5 9:56:40

声明式的事务管理(Declarative transaction management):
<1>事务配置方式:
Java代码 <!-- dataSource for&nbs

阅读全文(1311) | 回复(0) | 编辑 | 精华 | 删除
 


[Hibernate]不要依赖hibernate的二级缓存
文章收藏,  网上资源,  软件技术,  电脑与网络

李小白 发表于 2009/4/26 22:28:07

关键字: 不要依赖hibernate的二级缓存 一、hibernate的二级缓存
如果开启了二级缓存,hibernate在执行任何一次查询的之后,都会把得到的结果集放到缓存中,缓存结构可以看作是一个hash table,key是数据库记录的id,value是id对应的pojo对象。当用户根据id查询对象的时候(load、iterator方法),会首先在缓存中查找,如果没有找到再发起数据库查询。但是如果使用hql发起查询(find, query方法)则不会利用二级缓存,而是直接从数据库获得数据,但是它会把得到的数据放到二级缓存备用。也就是说,基于hql的查询,对二级缓存是只写不读的。
针对二级缓存的工作原理,采用iterator取代list来提高二级缓存命中率的想法是不可行的。Iterator的工作方式是根据检索条件从数据库中选取所有目标数据的id,然后用这些id一个一个的到二级缓存里面做检索,如果找到就直接加载,找不到就向数据库做查询

阅读全文(1502) | 回复(0) | 编辑 | 精华 | 删除
 


« 1 2 3 4 5 6 7 8 9 10 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.703 second(s), page refreshed 144766449 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号