JavaEE
yidao620
这个作者很懒,什么都没留下…
展开
-
优秀的开源框架收藏
==========Java Core======== * JID 简介:Java高效的序列化库 项目主页:https://github.com/laforge49/JID * ReflectASM 简介:Java高效的反射类库 项目主页:https://code.google.com/p/reflectasm/ * JActor 简介:JActor 是一个 J...2013-04-06 09:55:30 · 205 阅读 · 0 评论 -
Yaml基础笔记
Wiki: YAML(IPA: /ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。Clark Evans在2001年在首次发表了这种语言[1] ,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。目前已经有数种编程语言或脚本语言...2014-04-30 14:55:54 · 204 阅读 · 0 评论 -
探索junit4核心
软件测试主要分成5类,范围从小到大分别为:单元测试->集成测试->功能测试->压力测试->验收测试。此系列中我们只讨论单元测试。 >> 单元测试的3种类型: * 逻辑单元测试:主要针对一个单独的方法来检查代码,可以通过mock object或者stub来控制某个特定的测试方法的边界。 * 集成单元测试:主要用来测试在真实环境或者真实环境的一部分中不同组...2013-04-14 00:22:13 · 109 阅读 · 0 评论 -
maven日记(十一):生成项目站点
最简单的站点,首先配置maven3的maven-site-plugin,这个在外层的parent的pom.xml中定义: <build> <pluginManagement> <plugins> <plugin> <groupId>org.a...2013-04-14 00:19:12 · 161 阅读 · 0 评论 -
maven日记(十):灵活的构建
问题1:典型的项目都会有开发环境、测试环境、生产环境,这些环境的配置不同,怎样在构建的时候识别这些环境并使用正确的配置 问题2:有些集成测试运行起来非常耗时,不适合每次构建都运行,需要一种手段在特定时候才运行这些集成测试 maven为了解决上面的难题,提供了三大特性,即:属性、Profile、资源过滤 >> maven属性: 通过定义<properties>&l...2013-04-14 00:15:00 · 108 阅读 · 0 评论 -
maven日记(九):使用Maven构建Web应用
>> 使用jetty-maven-plugin进行测试 在进行web开发的时候,我们总是无法避免打开浏览器测试,但是需要编译,测试、打包、测试、部署等一系列环节,这个很浪费时间。而jetty-maven-plugin这个插件利用内置的jetty web容器,周期轮训代码更新,省去我们打包和部署步骤,大大缩减测试时间。另外,web测试应该仅限于跟前台密切相关的测试,页面测试等。而后...2013-04-14 00:11:27 · 96 阅读 · 0 评论 -
maven日记(八):使用Hudson进行持续集成
一次完整的持续集成包括下面6个步骤: * 持续编译:所有正式代码提交到版本控制系统中后,持续集成服务器按一定频率检测源码控制系统,有新代码的时候就触发一次集成,服务器编译所有最新代码。 * 持续数据库集成:每次发现新的sql脚本,自动清理集成环境的数据库,重新构建表结构,并插入预备数据 * 持续测试:自动化单元测试,以及依赖于外部环境的集成测试 * 持续审查:诸如Checksty...2013-04-14 00:09:17 · 127 阅读 · 0 评论 -
maven日记(七):使用maven进行测试
maven本身不是一个单元测试框架,java中主流的单元测试框架为JUnit和TestNG,maven所做的只是在构建执行到特定生命周期阶段的时候,通过插件来执行junit或者TestNG的测试用例,这一插件就是大名鼎鼎的maven-surefire-plugin。 默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径下所有符合下列命名规约的测试类: ...2013-04-10 00:14:45 · 163 阅读 · 0 评论 -
maven日记(六):使用Nexus创建私服
>> 安装Nexus: 直接下载bundle版本,然后将其安装成服务后自启动。访问:http://localhost:8081/nexus/ 即可 >> Nexus仓库分类的概念: maven可以直接从宿主仓库(hosted)下载构件;也可以从代理仓库(proxy)下载构件,而代理仓库会间接从远程仓库下载并缓存构件;最后,为了方便,Maven可以从仓库组(grou...2013-04-10 00:12:51 · 130 阅读 · 0 评论 -
maven日记(五):聚合与继承
maven的聚合特性能够把项目的各个模块聚合在一起构建,而maven的集成特性则能够帮助抽取各个模块相同的依赖和插件等配置,在简化POM的同时,还能够促进各个模块配置的一致性。 >> 聚合的例子: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3....2013-04-10 00:10:43 · 104 阅读 · 0 评论 -
maven日记(四):生命周期和插件
maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,在maven的设计中,实际的任务(比如编译源代码)都交由插件去完成。这种设计思想与设计模式中的模板方法非常类似。 public abstract class AbstractBuild { public void build() { initialize(); com...2013-04-10 00:06:11 · 130 阅读 · 0 评论 -
maven日记(三):仓库详解
maven在某个统一的位置存储所有maven项目共享构件,这个统一位置就是仓库 >> 仓库分类 maven只有两种仓库:本地仓库和远程仓库。 这里介绍一些特殊的远程仓库: * 中央仓库是maven核心自带的远程仓库,它包含了绝大部分开源构件。 * 私服是另一种特殊的远程仓库,为了节省宽带和时间,应该在局域网架设一个私有仓库服务器,用其代理所有外部的远程仓库,内部的项...2013-04-10 00:04:18 · 116 阅读 · 0 评论 -
maven日记(二):坐标和依赖
>> maven坐标由5个元素组成: * groupId:定义当前maven项目隶属的实际项目 maven项目和实际项目不一定是一对一关系,比如SpringFramework这一实际项目,其对应的maven项目会有很多,比如spring-core、spring-context等。这是由于maven中模块的概念,因此一个实际项目往往会被划分成很多模块。其次,groupId不应该对...2013-04-09 21:57:52 · 177 阅读 · 0 评论 -
maven日记(一):Maven使用入门
下载maven后,解压缩到一个目录,设置M2_HOME环境变量,Path执行路径加入,然后再设置下MAVEN_OPTS环境变量为-Xms256m -Xmx512m 将M2_HOME/conf目录下的settings.xml复制到~/.m2/目录下,这个是针对特定用户的,而M2_HOME下的是全局的,最好不要去修改它。 一个pom的简单例子: <?xml version="1...2013-04-09 21:57:12 · 127 阅读 · 0 评论 -
memcached集中式缓存笔记
关于memcached的数据库同步,也就是数据一致性的疑惑,下面两句话可以解释: 如果不是强一致性要求的话,可以自然过期如果要强一致性的话,在insert时,可删除对应的key即可 在linux上面安装的时候,先安装libevent,然后再安装memcached,安装的时候可能会报错,下面可能解决: #./configure –prefix=/usr/local/memcached -...2013-04-07 20:47:01 · 182 阅读 · 0 评论 -
XPath基础笔记
Wiki 写道 XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型查询语言。 W3C网址: http://www.w3sch...2014-04-30 15:16:42 · 216 阅读 · 0 评论