- 浏览: 115705 次
- 性别:
- 来自: 济南
最新评论
-
yangbaodi516:
XMLInputFactory2 xmlif = (XMLIn ...
基于Woodstox的StAX 2 解析XML -
AK53pro:
SSL证书怎么伪造啊...有数字签名的啊...
SSL中间人攻击及防范 -
lysino:
若把此问题交给oracle的sequence来解决岂不是很简单 ...
一个循环流水号实现,求评 -
zuzong:
写的时候,考虑过用indexof查一次,删一次,后来写着写着就 ...
过滤掉非指定保留的html元素,保留元素间的内容和指定的html -
zuzong:
我一开始用的stringbuffer,发现删除了那些不需要的h ...
过滤掉非指定保留的html元素,保留元素间的内容和指定的html
文章列表
转自 http://www.ibm.com/developerworks/cn/java/l-niosvr/
JDK1.4 的 NIO 有效解决了原有流式 IO 存在的线程开销的问题,在 NIO 中使用多线程,主要目的已不是为了应对每个客户端请求而分配独立的服务线程,而是通过多线程充分使用用多个 CPU 的处理能力和处理中的等待时间,达到提高服务能力的目的。
多线程的引入,容易为本来就略显复杂的 NIO 代码进一步降低可读性和可维护性。引入良好的设计模型,将不仅带来高性能、高可靠的代码,也将带来一个惬意的开发过程。
线程模型
NIO 的选择器采用了多路复用(Multiplexing)技术,可 ...
1、port参数,需在my.ini文件中设置
2、参数设置方法:
Mysql命令行下,
SET GLOBAL $variable_name$=$value$;
例:
SET GLOBAL character_set_database=utf8;
3、参数查看方法:
Mysql命令行下,
SHOW GLOBAL VARIABLES LIKE '$variable_name$';
例:
SHOW GLOBAL VARIABLES LI ...
这东西就用了一次,做了个商户系统里的权限模块,很简单,如果会用spring mvc和struts2的话,几乎没障碍。
实际上groovy on grails就是个java框架的大封装,玩玩还行,做要求快速实现的小项目还行
相关文档资源
http://www.kuqin.com/grails-doc-1.0/guide/1.%20Introduction.html
给了个需求,要求做一个1 - 999999的循环的流水号生成方法,小弟没做个类似的东西,摸索着写了个,特来求评,还望赐教
/**
* 流水号
*/
private static volatile int serialNumber = 0;
/**
* 生成流水号
* 从1 - 999999,不足六位,从右往左补0
* @return
*/
public static synchronized String generateSerialNumber(){
int n = serialNumber = ++serialNumber;
...
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && FOR /r \"%1\" % ...
web.xml
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener&g ...
使用Log4j,则推荐用XML来配置属性参数,优点是打印输出更灵活,更加易控,可以按包路径、日志级别分开输出,可以根据具体需求过滤不需要的日志信息。
详细的配置参数可以参考一下几个帖子:
http://leonandjava.iteye.com/blog/293525
http://blog.csdn.net/azheng270/archive/2008/03/12/2173430.aspx
web.xml加载
<context-param>
<param-name>log4jConfigLocation</param-name>
< ...
StAX (Streaming API for XML)面向流的拉式解析XML,速度快、占用资源少,非常合适处理大数据量的xml文件。
详细教程和说明可以参见以下几篇文章:
使用 StAX 解析 XML,第 1 部分: Streaming API for XML (StAX) 简介
http://www.ibm.com/developerworks/cn/xml/x-stax1.html
使用 StAX 解析 XML,第 2 部分: 拉式解析和事件
http://www.ibm.com/developerworks/cn/xml/x-stax2.html
使用 StAX 解析 XML,第 ...
tmp_table_size
如果内存内的临时表超过该值,MySQL自动将它转换为硬盘上的MyISAM表。如果你执行许多高级GROUP BY查询并且有大量内存,则可以增加tmp_table_size的值。
max_heap_table_size
该变量设置MEMORY (HEAP)表可以增长到的最大空间大小。该变量用来计算MEMORY表的MAX_ROWS值。在已有的MEMORY表上设置该变量没有效果,除非用CREATE TABLE或TRUNCATE TABLE等语句重新创建表。
如何设置:
方法一,修改my.ini或my.cnf
tmp_table_size=64M
max_heap ...
Don’t Repeat Yourself (DRY)
DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。
参考:http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
Keep It Simple, Stupid (KISS)
KISS原则在设计上可能最被推崇的,在 ...
1.- DRY: Don’t repeat yourself.
DRY 是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。
DRY 这一法则可能是编程届中最通用的法则了,目前为止,应该没有哪个程序员对这一法则存有异议。但是,我们却能发现,一些程序在编写单元测试(unit testing)时忘记了这一法则:让我们相像一下,当你改变一个 ...
org.springframework.web.servlet.handler.HandlerInterceptorAdapter实现此方法,里面有三个拦截点,可Override实现自己的内容
1、public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception;
Controller方法执行前执行此方法,返回的boolean控制拦截器链是否继续执行
2、public void postHandle(
...
SimpleMappingExceptionResolver
简单,清晰,够用,异常类型与视图的映射,自定义的任何异常类型都可以在这里和错误页面进行映射,颗粒度够细
springmvc.xml
<bean id="webExceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="redi ...
当有一个模块、或组件、或构件,且他们是可配置的,能定制,有多种参数组合,这个时候使用什么方式处理?
1、配置文件
a、XML,最正统,也最麻烦的处理方式,如果不是做稳定的产品,或关系复杂的配置参数,则尽量少用
b、properties,被忽视的,却简单直观的hashtable文件版,若是配置参数不复杂,完全可以用POJO之类的属性名做properties文件里的key,代码里不需要特殊的处理
2、annotation,更简单更直观,且快速显著提高开发效率,缺陷是需要修改代码,无法处理复杂的配置参数,数量也是很有限制,个人认为参数数量超过十个,那代码看起来就有些费劲了。。。。
3、代码控制 ...
个人心得,权作讨论,切勿当真
Design by Contract(契约式设计),以下简称DbC,字面意义来看,包含两个内容“责任”与“义务”,是对交易或互动中,两方之间关系的约束。换用软件行话来说,表示调用方与被调用方的,参数和返回值的Assert处理。
Assert有三个,前提条件、后续条件、和不变式,前两个针对方法,而最后一个针对整个类,“前提条件”指完成function需要的参数必须为真,“后续条件”指function的结果必须为真,“不变式”指class必须为真。那在代码中如何体现呢。。。
1、前提条件,谁来做“真”验证?调用方还是被调用方?有个很简单的例子,在超时买完东西付 ...