- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 Reactor模式和NIO
本文可看成是对Doug Lea Scalable IO in Java一文的翻译。 当前分布式计算Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构: 1.Read request 2.Decode request 3.Process service ...
2016-02-21 15:30:00 142
原创 Mina解析(二)
4.NIO 基础知识 Java NIO(new IO)是JDK1.4引入的非阻塞IO机制,具体它如何的好,我就不说啦,百度一下看看就了解啦。 Java NIO引入了两个新的概念:通道Channel和选择器Selector。 通道是服务端和客户端进行通信的接口-----原来是直接的IO操作,客户端发信息给服务端,服务端从OutputStrea...
2016-02-21 00:08:14 212
原创 Mina解析(一)
Java NIO是相对于传统的IO操作而言的,因为提出了缓冲池等概念,使它的处理数据的效率大大提高;多线程是并发处理的明智选择。 为减少系统开销,线程池是并发应用中是经常使用的技术。 而异步处理机制可以大大缩短每个请求的响应时间。 Mina2中就大量使用了这三项技术,使得它成为优秀的网络应用框架。(这一章并非描述Mina...
2016-02-20 22:56:01 297
原创 Mina基础(三)
自定义协议编解码,自定义协议是使用最广泛的,因为它非常的灵活!制定协议 协议需求:向服务端发送请求(频道的ID和说明文字),返回响应结果(该频道下所有的节目信息)。 协议格式如下: 请求格式SyntaxNo. of BitsIdentifier_ description...
2016-02-20 22:54:20 142
原创 Mina基础(二)
Mina基础(一)中的简单实例,虽然实现了根据\r\n换行符编解码的功能,但是却存在以下问题: a.编解码器中编码类型Charset硬编码,不便调整; b.只能根据Windows的换行符\r\n解码,没有考虑其他操作系统的换行符,不灵活; c.解码器中定义了成员变量IoBuffer, 但Decoder实例是单例的,因此Dec...
2016-02-20 22:53:46 179
原创 Mina基础(一)
Mina使用起来多么简洁方便呀,就是不具备Java NIO的基础,只要了解了Mina常用的API,就可以灵活使用并完成应用开发。 首先,看Mina在项目中所处的位置,如下图: Mina处于中间层,它不关心底层网络数据如何传输,只负责接收底层数据,过滤并转换为Java对象提供给我们的应用程序,然后把应用程序响应值过滤并转换为底层识别...
2016-02-20 22:51:26 362
原创 Mina2.0入门
最近使用Mina开发一个Java的NIO服务端程序,因此也特意学习了Apache的这个Mina框架。 首先,Mina是个什么东西?看下官方网站(http://mina.apache.org/)对它的解释:Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助...
2016-02-20 22:51:01 285
原创 web.xml中<security-constraint>和四种认证类型
<security-constraint> 的子元素 <http-method> 是可选的,如果没有 <http-method> 元素,这表示将禁止所有 HTTP 方法访问相应的资源。 子元素 <auth-constraint> 需要和 <login-config> 相配合使用,但可以被单独使用。如...
2016-02-19 21:23:58 94
原创 tomcat对于web.xml的security-constraint使用的处理机制
一.知识点 web.xml中<security-constraint> 的子元素 <http-method> 是可选的,如果没有 <http-method> 元素,这表示将禁止所有 HTTP 方法访问相应的资源。 子元素 <auth-constraint> 需要和 <login-config> 相配...
2016-02-19 21:13:21 1881
原创 Weblogic跨域session冲突解决办法
一.现象 在WebLogic中,有两个不同域A(端口:9000)和B(端口:8000),应用CA在域A中,应用CB在域B中,进行如下操作:1.先登录应用CA,再登录应用CB,然后,切换回应用CA,发现应用CA的Session丢失;2.应用CA中有指向应用CB的链接,登录应用CA,点击指向应用CB的链接,应用CA的Session丢失; 二.原因 ...
2016-02-19 20:28:49 380
原创 设置session过期的各种方式(主要看weblogic的方式)
一.web.xml 设置WEB应用程序描述符web.xml里的<session-timeout>元素。这个值以分钟为单位,并覆盖weblogic.xml中的TimeoutSecs属性,此例表示Session将在54分钟后过期。<session-config> <session-timeout>54</session-tim...
2016-02-19 20:20:32 194
Freemarker中List的定位
对一个列表的遍历,如果要对第一个已经最后一个元素做特殊的处理如何的判断呢?<#list books as book> <#if book_index = 0>...</#if><!--判断是否是第一个元素--> <#if !book_has_next>...</#if>...
2016-02-19 19:47:43 208
原创 Joda-Time学习
Joda-Time Home:http://joda-time.sourceforge.net/ JavaDoc:http://joda-time.sourceforge.net/apidocs/index.html 直接看代码,这是在网上别人根据API整理的一些例子,使用时看例子就可以了。package com.bijian.study;import java.util.Cale...
2016-02-17 08:56:55 104
含特殊字符的字符串替换工具类
在工作中,在字符拼装后,最终需要按顺序展示出来,于是想到了在拼装阶段用特殊字符,最后再统一将特殊字符替换成顺序的数字,并为此写了一个工具类,main方法验证通过。 附上代码如下:package com.bijian.study;import java.io.UnsupportedEncodingException;/** * 字符串替换...
2016-02-16 20:50:16 753 1
原创 Oralce中ROWNUM、ROWID的使用
一.ROWNUM的使用——TOP-N分析 使用SELECT语句返回的结果集,若希望按特定条件查询前N条记录,可以使用伪列ROWNUM。 ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说ROWNUM是符合条件结果的序列号。它总是从1开始排起的。 使用ROWNUM时,只能使用<、&l...
2016-02-16 19:36:23 102
原创 oracle伪列rowid和rownum
一.什么是伪列RowID?1.首先是一种数据类型,唯一标识一条记录物理位置的一个id,基于64位编码的18个字符显示。2.未存储在表中,可以从表中查询,但不支持插入,更新,删除它们的值。 二.RowID的用途1.在开发中使用频率应该是挺多的,特别在一些update语句中使用更加频繁。所以oracleERP中大部份的视图都会加入rowid这个字段。 在一些c...
2016-02-16 19:20:13 308
Oracle修改表数据的小技巧
在日常工作中,我们有太多修改指定表的指定记录数据的情况,基于方便考虑,较少去写update语句,而是直接在select语句的最后加上for update。如下所示:select t.*,t.rowid from test_table t where t.no = '123' for update; 然后,点击“编辑数据”的锁图标进行数据的修改,修改完成后,...
2016-02-16 19:01:32 819
IVY throws IOException Resetting to invalid mark原因及解决办法
当Ivy文件大于10K后,执行jar包加载后会报如下错:impossible to resolve dependencies: java.io.IOException: Resetting to invalid mark。 删除一些注释后,文件小于10K,下载又正常了。 查找了官方网站说明,确认是一个BUG:https://issues.ap...
2016-02-16 18:34:28 1257
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人