自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

使用 JUnit 对规则进行单元测试

引言一个例子我们先看一个例子,以了解对”规则”做单元测试的特点。我们有一个性能调优工具 WPA, 它能够将与性能相关的参数的值进行评估并推荐最优值。它的评估和推荐最优值算法都是基于”规则”的。Java 虚拟机的初始堆大小(JVM initial heap size)是一个影响 JVM 的性能的关键参数。性能调优工具 WPA 有一套规则对“ JVM initial heap size...

2009-02-26 10:24:00 146

Java 理论与实践: 有状态 Web 应用程序都有漏洞吗?HttpSession 实际上更复杂

虽然 Java™ 生态系统中存在许多 Web 框架,但它们都直接或间接地基于 Servlets 基础设施。Servlets API 提供大量有用特性,包括通过 HttpSession 和 ServletContext 机制提供的状态管理,它允许应用程序在跨多个用户请求时保持状态。然而,在 Web 应用程序中使用共享状态受一些微妙的(并且大部分没有进行说明)的规则控制着,因此导致许多应用程序无意...

2009-02-25 10:50:00 63

自动检测并行 Java 程序中的错误

当 CPU 进入多核时代之后,并行编程将更加流行,但是编写并行程序更容易出错。在开发过程中,工程师能注意到同一个程序在单线程运行时是正确的,但是在多线程时,它会有可能出错。和并行相关的错误的产生原因通常都非常隐晦,而且在一次测试中,它们的出现与否具有很强的随机性。由于程序中多个线程之间可能以任意的方式交错执行,即使一个并行程序正确的运行了成百上千次,下一次运行仍然可能出现新的错误。Mult...

2009-02-24 13:59:00 106

使用 Java 构造高可扩展应用,如何实现一个高效且多线程安全的队列

为什么性能没有增长?多核能带来性能的大幅增长,这很容易通过简单的一些测试来观察到。如果我们写一个多线程程序,并在每个线程中对一个本地变量进行累加,我们可以很容易的看到多核和并行带来的成倍的性能提升。这非常容易做到,不是吗?在 参考资源 里我们给出了一个例子。然而,与我们的测试相反,我们很少在实际软件应用中看到这样完美的可扩展性。阻碍我们获得完美的可扩展性有两方面的因素存在。首先,我们面临着...

2009-02-24 09:23:00 111

编写更少的代码!使用 4 个 Apache Commons Lang 类了解代码重用的优点

代码重用的优点在早期的软件开发中,都认为开发人员的生产率与他编写的代码数量成正比。在那时,有这么一个看似合理的标尺:代码最终导致一个大概能用的二进制资产,所以编写很多代码的人必定是在勤奋地工作,以实现一个可用的应用程序。这个标尺似乎也适用于其他行业。处理大量纳税申报的会计,或者做浓咖啡饮料的咖啡师一定是富有生产率的,对吗?他们都为各自的生意带来更多的收入,因为他们都按预期生产了很多的产品。...

2009-02-05 14:21:00 87

比较 XML 数据库方法,pureXML 和原生 XML 数据库之间的相似性和差异

在 XML 数据库发展的早期,在所谓的原生 XML 数据库(NXD)和支持 XML 的常规关系数据库管理系统(RDBMS)之间存在很大的差异。NXD 针对存储 XML 文档做了优化,而老式的 RDBMS 只对可能包含 XML 的常规二进制大对象(BLOB)增加了一些语法改进。常用的首字母缩写词API:应用程序编程接口(Application programming i...

2009-02-05 14:06:00 96

精通 Grails: RESTful Grails,构建一个面向资源的架构

本月,我将向您呈现如何让您的 Grails 应用程序成为原始数据 — 具体指 XML — 的源,从而让其他的 Web 应用程序也能够使用它。我通常把这种情况表述为:为您的 Grails 应用程序建立 Web 服务,但最近这个说法被赋予了新的含义。很多人把 Web 服务与 SOAP 及成熟的面向服务架构(service-oriented architecture,SOA)联系到一起。如果选择这种...

2009-02-05 10:48:00 109

精通 Grails: Grails 事件模型,自定义贯穿应用程序生命周期的行为

对于事件驱动的反应性开发,构建 Web 站点是一门学问。您的应用程序是不是很空闲,焦虑地等待用户发送请求,然后它传回响应,再返回休眠状态,直到下次调用。除了传统的 Web 生命周期的 HTTP 请求和响应,Grails 还提供了大量自定义接触点,您可以在此进入事件模型并提供自己的行为。在本文中,您将发现构建过程中会抛出很多事件。需要自定义地启动和关闭应用程序。最后,探讨 Grails 域类...

2009-02-05 09:43:00 79

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除