- 浏览: 25979 次
最新评论
-
stone2oo6:
cloverprince 写道天哪,解析器默认情况下真的会去读 ...
XML Attack -
cloverprince:
天哪,解析器默认情况下真的会去读取外部DTD吗?别的解析器试过 ...
XML Attack -
stone2oo6:
关于堆和栈的关系,可以参考这篇文章http://hllvm.g ...
JVM笔记(1):JVM内存模型
文章列表
关于mysql的锁机制,参考文章http://book.51cto.com/art/200803/68118.htm
附件是简版。
详细的测试步骤:
http://apps.hi.baidu.com/share/detail/21736069
——仅作个记号,以便日后参考。
Patterns for Concurrent, Parallel, and Distributed Systems
http://www.cs.wustl.edu/~schmidt/patterns-ace.html
Books on Pattern-Oriented Software Architecture
http://www.cs.wustl.edu/~schmidt/POSA/
Design Pattern Tutorials(PPT)
http://www.cs.wustl.edu/~schmidt/POSA/
本文主要讲述一个日志分级应用的模型和如何利以及扩展Log4J来达到目的,关于Log4J的配置说明和基础应用就不再累述,详情可参见官方文档http://logging.apache.org/log4j/1.2/manual.html
另外3篇比较详细的博文:
入门http://www.blogjava.net/rickhunter/articles/28133.html
详细配置http://kdboy.iteye.com/blog/208851
代码分析http://heavyz.sourceforge.net/homepage/homepage_zh/com ...
# -*- coding: utf-8 -*-
__author__ = 'gull'
import os, urllib2, log_factory
from urlparse import urlsplit
def get(url, filePath, fileName = None, buffer = 16 * 1024):
log = log_factory.getLogger()
log.info("send http request to %s", url)
def writefile(fsrc, fdst, to ...
这篇文章主要介绍如何利用XML的DOCTYPE属性进行恶意攻击和如何防范这类的攻击。
我们先看2个XML应用片段
场景1:在XML使用DTD
family.xml
<?xml version="1.0" standalone="no"?>
<!DOCTYPE family SYSTEM "family.dtd">
<family lastname="Smith">
<member memberid="m1">Sara ...
相信大家看完了上篇文章(http://gull.iteye.com/blog/1137200),会对自动化编译,部署和测试的过程与实现细节有所了解。那么我们稍微总结下就会发现其实现的实质就是一系列linux shell命令组成,且都是很常见的,如maven, ssh, scp, unzip ...
接上篇文章http://gull.iteye.com/admin/blogs/1136670 讲述自动化Job(编译,部署和测试)的具体实现。
单一项目
单一项目的自动化流程如下图:
看上去流程简单,那么我们CI shell脚本的目录结构也比较清晰,如下:
preinst: 此文件夹存放的主要是预配置文件或者是服务器控制脚本(如,tomcat的启停脚本)
scripts: 此文件夹下是各个阶段的CI shell脚本
process.sh:调用入口,负责参数解析和执行scripts下不同阶段的脚本
job.conf:是自动化Job的配置文件,提供相关的配 ...
继续上篇文章中提到的项目为例,详见http://gull.iteye.com/admin/blogs/1129575
项目部署的环境主要分为:
开发环境——开发人员或小组自己的环境
开发集成测试环境(对应于mainline branch)——QA做集成测试的环境
产品集成(bugs hotfix)测试环境(对应于release branch)——产品发布前的集成测试环境
产品环境——真实产品部署的环境
对于CI关心的主要是开发集成和产品集成测试的2个环境,这个对项目是具有阶段性质意义的。
在此将以其中一个环境为例来介绍CI流程每一个阶段所用到的一些工具和服 ...
CI(Continuous Integration)具体实施方式依赖于项目的开发流程,而CI以自身的一些特点(如,自动化,快速,周期性,定时性等)在敏捷的开发流程(如scrum)中似乎更能体现其价值。本文便是建立在这样的一个项目基础之上的。
项目背景:
敏捷的开发流程,3到4周为一个sprint,正常的提交是以sprint为周期的,不排除因其它原因而要求3天内提交。
项目多分支——mainline,sandbox,release x...
mainline为每个sprint的提交分支
sandbox为开发分支,是开发人员的workspace,会不定时将代码同步至 ...
本文转自http://martinfowler.com/articles/continuousIntegration.html,作者为Martin Fowler,这篇文章主要是对Continuous Integration作了一个全面介绍。文章详细如下:
Continuous Integration
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integra ...
在应用编程中,我们会遇到下面这样的调用模型。。。
当一个业务方法(begin)中顺序调用多个子业务方法(opertion1-N),且有些子业务方法比较耗时,那么自然而然完成这次调用所需要的时间就比较长了。对于这样的问题,通常情况下会从两个方面对其进行重构和调优:
单个方法调优,即针对operation1-N中比较耗时的方法进行重构已达到期望的效果
业务重组和方法重构,即对整个大的业务方法进行重组,找出合乎当前需求(功能和性能)的实现方式
1比较好理解,最常见的就是sql语句,IO和string buffer方面的调优;2则需要看具体的应用场景了。由于本文主要是侧重线程的 ...
本文转自http://java.dzone.com/articles/xml-unmarshalling-benchmark,主要比较了JAXB/STAX1.0/Woodstox在解析多节点XML文件时内存和时间使用上的性能差异,遗憾的是缺少CPU使用的对比图。
XML unmarshalling benchmark in Java: JAXB vs STax vs Woodstox
Towards the end of last week I started thinking how to deal with large amounts of XML dat ...
此文为笔记,转自http://www.developerfusion.com/article/84523/stax-the-odds-with-woodstox/
StAX the odds with Woodstox
XML has achieved immortality. Love it or hate it, it’s everywhere. As a developer, you are likely to work with XML-based configuration files, XML documents, XML-based messag ...
本文纯为笔记,转自http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html
Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制
新的锁定类提高了同步性 —— 但还不能现在就抛弃 synchronized
Brian Goetz (brian@quiotix.com), 首席顾问
简介: JDK 5.0为开发人员开发高性能的并发应用程序提供了一些很有效的新选择。例如,j
线程同步的实现方式有2种——方法同步和块同步,在java中会用到synchronized 这个关键字,它可以修饰:
非静态方法
静态方法
方法块
修饰方法时,注意不能是抽象类的抽象方法,也不能是接口中的方法。
如:
写道
public ...