第 1 - 100 条,共 2076 条 | 下一页 显示内容简介 | 隐藏内容简介 订阅搜索结果 (RSS)
|
题目
|
类别
|
日期
|
|---|---|---|
| 函数式思维: Groovy 中的函数式特性,第 2 部分
凭借 Groovy,元编程 (metaprogramming) 和函数式编程形成了一个强有力的组合。了解元编程如何支持您为 Integer 数据类型添加方法,从而使您能够利用 Groovy 的内置函数式特性。学习如何使用元编程将 Functional Java 框架的丰富函数式特性集无缝地整合到 Groovy 中。
|
技术文章 | 2012年 02月 13日 |
| 基于 Spring 和 iBATIS 的动态可更新多数据源持久层
当开发拥有多重数据源的项目时,常常会遇到这样一种需求:用户希望能够通过 UI 来自己动态配置数据源。但实现这种需求通常会遇到三个问题,1, 应用程序需要重新发布来更新数据连接。2,数据源个数上限不能动态增长。3,数据源的维护和修改需要专业人员在后台操作。本文提出了一种创新性的解决方案,通过使用 Spring+iBATIS 的框架,来实现可动态更新的多重数据源的持久层。对于解决以上问题具有一定的参考价值。
|
技术文章 | 2012年 02月 09日 |
| Ant 脚本的结构化设计
本文主要在例子的基础上探讨如何对 Ant 脚本进行结构化设计,从而提高 Ant 脚本的重用及维护。
|
技术文章 | 2012年 02月 06日 |
| 自动化云虚拟机的开发和管理
最近出现了一种,即建立云应用程序和服务的开发与运营之间的紧密关系;特别是,这种趋势会导致应用程序生命周期管理 (ALM) 工具和云计算的集成变得更加紧密、更加高效。在本文中,作者将向您展示如何使用开源 Apache Maven 构建管理工具来自动化 IBM SmartCloud Enterprise 上的构建和部署项目。作者将演示如何通过开发一个 Apache Maven 插件,将云上虚拟机的管理集成到构建和部署生命周期中,该插件能够查找并创建可以在云上运行 J2EE 应用服务器的虚拟机。您还会发现在云上进行开发和部署的最佳实践,以及如何使用 IBM Cloud API 和 Maven 来实现这些最佳实践。
|
技术文章 | 2012年 02月 02日 |
| Java 开发 2.0: 现实世界中的 Redis
Redis 与 memcached 有许多相似之处,但是它拥有更加丰富的功能集。在本期的 Java 开发 2.0 中,Andrew 尝试将 Redis 添加(通过基于 Java 的变体 - Jedis 方法)到他自己的基于定位的移动应用程序。了解如何将 Redis 作为一个简单数据存储来使用,然后尝试再利用它进行超高速轻量级缓存。
|
技术文章 | 2012年 01月 30日 |
| Apache Thrift - 可伸缩的跨语言服务开发框架
Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。本文将从 Java 开发人员角度详细介绍 Apache Thrift 的架构、开发和部署,并且针对不同的传输协议和服务类型给出相应的 Java 实例,同时详细介绍 Thrift 异步客户端的实现,最后提出使用 Thrift 需要注意的事项。
|
技术文章 | 2012年 01月 16日 |
| Spring Roo 简介,第 4 部分: 用 Spring Roo 和 Cloud
Foundry 在云中快速开发应用程序
通过 VMWare 创建的第一个开放的 “平台即服务 (platform as a service)” 项目 Cloud Foundry,创建能够在云内使用的应用程序,这使得 Roo 快速应用程序开发又向前迈进了一步。了解有关此环境的更多信息,然后,使用 Roo shell 将应用程序部署到 Cloud Foundry。
|
技术文章 | 2012年 01月 09日 |
| Rhino 使 JavaScript 应用程序更灵动
脚本语言有良好的快速开发,高效率的执行,解释而非编译执行等优点,并且具有与其他语言编写的组件之间强大的通信功能。JavaScript 一直是脚本语言中的领头羊,它是一门具有非常丰富特性的语言。除了浏览器之外,JavaScript 也可以应用在其他场合,比如服务器端程序中。Rhino 是使用 Java 语言实现的 JavaScript 引擎,本文将介绍如何利用 Rhino 来使您的应用程序提供 JavaScript 脚本的支持。
|
技术文章 | 2012年 01月 09日 |
| 使用 ASM 实现 Java 语言的“多重继承”
尽管大部分情况下我们并不需要多重继承,但总有一些情况下我们不得不做出多重继承的考虑。但又由于 Java 语言本身不支持多重继承,这就会带来问题。本文试图使用 ASM 来解决这一问题。
|
技术文章 | 2012年 01月 04日 |
| 面向 Java 开发人员的 Node.js
Node.js 是一种激动人心的开发方式,可替代传统的 Java 并发性,只要有一个开放的心态和一点点 JavaScript 知识,就可以立即开始进行开发。
|
技术文章 | 2011年 12月 28日 |
| 函数式思维: Groovy 中的函数式特性,第 1 部分
随着时间的推移,语言和运行时为我们处理了越来越多琐碎的细节。函数式语言在这方面体现了它的趋势,而且现代的动态语言也采用了许多函数式特性,让开发者的工作变得更轻松。这期文章将介绍 Groovy 中的一些函数式特性,并将展示如何用递归隐藏状态和构建惰性列表。
|
技术文章 | 2011年 12月 27日 |
| 多态在 Java 和 C++ 编程语言中的实现比较
面向对象编程语言的一个重要特性就是多态,它使得可以用基类的指针或引用指向派生类的对象,而在具体访问时实现方法动态绑定。本文主要探讨多态在当前最流行的两种编程语言 C++ 和 Java 中的实现,并对其中的异同进行了比较,使读者对其有全面的理解,以便更好的在编程中正确使用这种特性。
|
技术文章 | 2011年 12月 22日 |
| 使用 Java Toolbox 访问 IBM i 上的打印资源
Java Toolbox 是一个 Java 类库,为 Java 程序提供一套方便访问 IBM i 的数据和资源的 API。本文介绍了如何使用 Java Toolbox 访问 IBM i 上的打印资源。
|
技术文章 | 2011年 12月 22日 |
| 评论专栏: 企业级 OSGi 带来的好处
WebSphere Application Server(WAS)从版本 6.1 开始,在其底层实现中引入 OSGi,接下来 WAS 版本 7.0 推出 OSGi 功能包,开始支持 OSGi 编程模型,再到最新的 WAS 版本 8.0,对 OSGi 应用的开发部署提供了更加全面的支持。OSGi,作为实现 JAVA 模块化最重要的方法。越来越多的受到软件架构师、开发人员以及服务器管理者的欢迎。那么 OSGi 究竟给我们带来了什么好处? WAS 版本 8.0 又是如何去实现这些好处,并让软件从业人员轻松的享用到这些好处呢?我们将在本文中一一向大家介绍。
|
技术文章 | 2011年 12月 22日 |
| Java 开发 2.0: 通过 Heroku 的 PaaS 用 Git 提交 Java 应用程序
了解 Heroku,一种基于 Ruby 的 PaaS,为云中的 Java 应用程序开发和部署带来了可配置性和易用性的成功组合。
|
技术文章 | 2011年 12月 19日 |
| 使用 Apache Commons CLI 开发命令行工具
虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱。各种工具和系统都提供了详尽的使用手册,有些还提供示例说明如何二次开发。然而关于如何开发一个易用、强壮的命令行工具的文章却很少。本文将结合 Apache Commons CLI,通过一个完整的例子展示如何准备、开发、测试一个命令行工具。希望本文对有相关需求的读者能有所帮助。
|
技术文章 | 2011年 12月 15日 |
| Apache Mahout:适合所有人的可扩展机器学习框架
Apache Mahout 专家 Grant Ingersoll 引领您快速了解最新版本 Mahout 中的机器学习库,并通过示例说明如何部署和扩展 Mahout 的某些最常用的算法。
|
技术文章 | 2011年 12月 15日 |
| 语言设计者的笔记本: 一揽子交易
向语言添加某个重要的新功能时,往往会出现以下情况:新功能是必需的,或者至少鼓励添加的,而附加的其他新功能则有好有坏。在这一期的语言设计人员笔记中,Brian Goetz 将讨论在添加语言功能时如何附带添加其相关功能。
|
技术文章 | 2011年 12月 12日 |
| 使用 Rational Application
Developer 剖析远程 WebSphere 应用程序
了解如何配置 IBM Rational
Application Developer 和 WebSphere Application Server,以便对您的远程 WebSphere 应用程序进行剖析。本文提供的步骤同时适用于 Java 分析和 J2EE Request Profiler。
|
技术文章 | 2011年 12月 12日 |
| 全球化测试中时间日期格式的自动化验证方法
本文主要介绍了一种验证时间日期格式的自动化方法。首先本文简要介绍了软件全球化的相关知识,以及简要叙述了 ICU 和 GVP 的相关内容,其次文章详细地介绍了如何实现时间日期格式的自动化验证。最后通过实例证明我们提出的方法具有较好的应用效果,并且具有较为广阔应用前景。
|
技术文章 | 2011年 12月 08日 |
| 使用 Dojo 的 JsonRestStore 连接您的 REST 服务
Dojo 的 JsonRestStore 是将您的 REST 服务连接到 Dojo 数据 API 更为高级的选择之一。如果您的服务不能符合 JsonRestStore 的数据结构预期,JsonRestStore 和您的 REST 服务之间的连接将变得很困难。在本文中,学习一个简单、通用的服务实现,来将非标准 REST 服务连接到 JsonRestStore。通过几个示例学习如何使用和扩展自己的服务实现。
|
技术文章 | 2011年 12月 05日 |
| 基于 JVM 的新一代编程语言:Fantom
自从 JVM 提供非 Java 语言的支持以来,很多风格迥异的编程语言都加入到 JVM 的备选语言行列中来。这其中包括一些“老”编程语言,如 JavaScript;也包括一些全新的编程语言,比如 Groovy、Scala,以及本文要介绍的 Fantom。
|
技术文章 | 2011年 12月 02日 |
| 函数式思维: 耦合和组合,第 2 部分
|
技术文章 | 2011年 12月 01日 |
| 通过 WebSphere Application Server V6.1 利用 OpenJPA
Apache OpenJPA 项目是 Java Persistence API 的一个开放源代码实现,旨在构建一个稳健、高性能、可伸缩的 JPA 规范实现。本文通过一个完整的示例来介绍 OpenJPA,该示例演示了如何通过 IBM® WebSphere® Application Server V6.1 来利用 OpenJPA 的部分功能。针对 JPA 2.0 更新。
|
技术文章 | 2011年 11月 28日 |
| 函数式思维: 耦合和组合,第 1 部分
每天都与特定的抽象(如面向对象)打交道,当它把您引向一个不是最佳的解决方案时,您几乎都无法察觉到。本文探讨代码重用中的面向对象思维的含义,并将它们与更加函数式的方案,如组合,进行比较。
|
技术文章 | 2011年 11月 28日 |
| 高效 JavaScript 单元测试
用户不想在您的应用程序上看到 “已针对 XYZ 浏览器而进行优化” 这样的说明,他们只要应用程序正常工作。在本文中,了解高效的 JavaScript 单元测试如何帮助您轻松支持更多浏览器。
|
技术文章 | 2011年 11月 28日 |
| 基于 Jenkins 快速搭建持续集成环境
持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础。Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境。
|
技术文章 | 2011年 11月 24日 |
| 如何使用 IBM i System Debugger 调试 Java 程序
调试在 IBM i 上运行的 Java 程序有很多种选择,其中最为方便有效的是使用 IBM i 提供的 IBM i System Debugger。本文主要站在使用者的角度介绍如何在 IBM i 上使用
IBM i System Debugger 调试 Java 程序,为在 IBM i 上开发及调试 Java 程序的用户提供了较为详细的使用指南。保证了用户在 IBM i 上可以开发出更优质高效的 Java 程序。
|
技术文章 | 2011年 11月 17日 |
| Hibernate 延迟加载剖析与代理模式应用
Hibernate 的延迟加载(lazy load)是一个被广泛使用的技术。这种延迟加载保证了应用只有在需要时才去数据库中抓取相应的记录。通过延迟加载技术可以避免过多、过早地加载数据表里的数据,从而降低应用的内存开销。Hibernate 的延迟加载本质上就是代理模式的应用,当程序通过 Hibernate 装载一个实体时,默认情况下,Hibernate 并不会立即抓取它的集合属性、关联实体所以对应的记录,而是通过生成一个代理来表示这些集合属性、关联实体,这就是代理模式应用带来的优势。
|
技术文章 | 2011年 11月 17日 |
| 开发 Eclipse 插件的最佳实践
本教程着重介绍使用标记将信息标记为资源的最佳实践,接着介绍用于在工作台内突出标记的注释和修饰符。通过扩展扩展点,您可以重用和改编 Eclipse 插件的内置函数,并且执行高级资源标记,比如在编辑文本时移动一个文本标记。我们将讨论利用插件模型的方法,创建一个有效、高性能且具有综合外观的插件。
|
教程 | 2011年 11月 14日 |
| Watij - 面向 Web 的自动化测试工具
随着应用程序渐渐脱离独立的宿主模型并进入到云中,可靠性和可预测性的测试变得更加重要。在云环境中,有许多因素是我们无法控制的,因此编写健壮的、经过测试的代码比以往更加迫切。本文所要介绍的 Watij(Web Application Testing in Java)是一个优秀的开源工具,用于开发基于 Web 应用的自动化测试程序。它使用 Java 语言,提供了轻量级的自动化测试程序框架和丰富的程序开发库,有效地加速了自动化测试程序的开发。本文主要介绍了 Watij 的安装和配置、Watij 的实例应用以及 Watij 的特点及优势等三个方面的内容。
|
技术文章 | 2011年 11月 09日 |
| 为 Android 开发访问 JAX-RS Web 服务的 Apache HttpClient 客户端
使用 Apache HttpClient 库访问 JAX-RS web 服务。Jersey 是 JAX-RS 的参考实现,它简化了 Java 环境下的 RESTful Web 服务的开发。Android 是一款流行的智能手机,本文将展示如何为 Android 创建一个 JAX-RS 客户端。您将创建一个访问 JAX-RS Web 服务的 Apache HttpClient 库客户端。
|
技术文章 | 2011年 11月 07日 |
| Clojure 中的树形数据访问模式
访问者(Visitor)模式通常用于在 Java 和其他面向对象的程序中遍历和操作树形的数据。在这篇文章中,我们将观察 Alex Miller 使用 Clojure 的函数式 zippers 重写该模式之后的情况。
|
技术文章 | 2011年 11月 07日 |
| 使用 Antlr 开发领域语言 - 开发一个完整的应用
为了使应用系统能够快速地响应复杂多变的业务规则,通过让用户使用领域语言来自定义业务规则是一种常用的选择。 然而实现领域语言并非易事,本文使用 Antlr 语言识别工具,从语言定义、词法分析、语法分析、类型检查和生成中间代码入手,详细介绍了 Antlr 在语言处理各个阶段中的运用。为了完成最终的运算,本文还实现了一个虚拟机,用于解释执行之前产生的中间代码;文中所有的介绍都结合实例进行,希望能和读者一起分享构建领域语言的一些方法和思想。
|
技术文章 | 2011年 11月 02日 |
| 深入分析 Java I/O 的工作机制
I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动。这个流动的过程中都涉及到 I/O 问题,可以说大部分 Web 应用系统的瓶颈都是 I/O 瓶颈。本文的目的正是分析 I/O 的内在工作机制,你将了解到:Java 的 I/O 类库的基本架构;磁盘 I/O 工作机制;网络 I/O 的工作机制;其中以网络 I/O 为重点介绍 Java Socket 的工作方式;你还将了解到 NIO 的工作方式,还有同步和异步以及阻塞与非阻塞的区别,最后我们将介绍一些常用的关于 I/O 的优化技巧。
|
技术文章 | 2011年 10月 31日 |
| Java Web 高性能开发,第 1 部分: 前端的高性能
Web 发展的速度让许多人叹为观止,层出不穷的组件、技术,只需要合理的组合、恰当的设置,就可以让 Web 程序性能不断飞跃。所有 Web 的思想都是通用的,它们也可以运用到 Java Web。这一系列的文章,将从各个角度,包括前端高性能、反向代理、数据库高性能、负载均衡等等,以 Java Web 为背景进行讲述,同时用实际的工具、实际的数据来对比被优化前后的 Java Web 程序。第一部分 , 主要讲解网页前端的性能优化,这一部分是最直接与用户接触的。事实证明,与其消耗大量时间在服务器端,在前端进行的优化更易获得用户的肯定。
|
技术文章 | 2011年 10月 24日 |
| 函数式思维: 不变性
不变性 (immutability) 是函数式编程的基石之一。本文主要讨论了Java 语言中的不变性的许多方面,并介绍了如何以传统的和新式的风格来创建不可改变的 Java 类。本文还展示了使用 Groovy 创建不可变类的两种方法,这两种方法摈弃了 Java 实现中的许多令人头疼的缺陷。最后您还要了解的是,何时适合使用这种抽象。
|
技术文章 | 2011年 10月 17日 |
| 使用 jQuery、ZK 和 Java 代码的融合来增强 Ajax 开发
使用 jQuery 与服务器端 Java 应用程序通信非常简单。但是,当开发企业 web 应用程序时,代码会变得很复杂、使用 jQuery 进行客户端和服务器通信也会很耗时,而且容易出错。如果您使用纯 Java 代码实现整个应用程序那将会变得很简单。想要控制业务逻辑和利用客户端控件的所有优势吗?在本文中,您将学习如何使用 ZK 工具和 Java EE 技术来提高您的 Asynchronous JavaScript + XML (Ajax) 应用程序的开发,而无需放弃运行客户端功能。
|
技术文章 | 2011年 10月 12日 |
| 云计算环境下的 JVM 虚拟化特性初探
云计算的概念是 Google 提出的。从用户的角度理解,云计算强调的是 IT 服务的交付和使用模式。在云计算环境下,这些 IT 服务通过网络 ( 通常是 internet) 以按需 (On Demand)、易扩展 (Extensibility) 的方式获得。按照云计算平台提供的服务种类,划分出了云计算平台的三层架构,即:Infrastructure as a Service(IaaS),Platform as a Service (PaaS), 以及 Software as a Service (SaaS)。 IaaS 的代表如亚马逊的 Amazon Web services(AWS), PaaS 的代表如 Google App Engine(GAE), 以及 SaaS 的代表如 IBM Lotus Live。本文将在介绍这些典型的云计算环境基础上,围绕着云计算的两个重要的主题:多租户和资源管理,展开我们的讨论,讨论的重点涉及将来的 Java 平台会为云计算提供什么样的基础支持。
|
技术文章 | 2011年 10月 12日 |
| 技巧:防范代码的 finalizer() 漏洞
您的 Java 代码有可能会因终结操作带来的漏洞而易受到攻击,了解这一漏洞是如何起作用的,并学习如何通过修改代码来防止此类攻击。
|
技术文章 | 2011年 10月 10日 |
| 使用 Mashups4JSF 生成和消费 Mashup Feed
Mashups4JFS 是一种帮助您在 JSF 世界中轻松创建 mashup 程序的工具。我们将继续进行我们的探索,了解如何为应用程序创建 RSS feed。
|
技术文章 | 2011年 09月 26日 |
| Java 字节码工具 ASM 在 web services 开发中的应用
在基于 JAX-WS 标准的 web services 的开发中,不少实际场景都是希望采用自底向上的开发方式, 即基于已有的 Java bean 来创建 web services 。WebSphere Application Server ( 以下简称 WAS ) 提供了命令行的工具 wsgen 和相对应的 Ant task 来支持这种开发过程,而且这两个工具比较适合大型项目的自动化构建。 这两个工具的使用前提是 Java bean 中事先添加有 web services 的 Annotation 标注,而在现有的业务系统中,class 文件一般是不带 Annotation 的,这就需要开发人员去修改现有的代码,以手工方式添加 Annotation,但这样带来的工作量太大且容易出错。本文介绍了一种解决途径,可以不用修改源代码,而是利用字节码工具 ASM 直接修改 class 文件, 在字节码文件中自动注入 Annotation ,然后再利用 wsgen 工具就可以很方便地生成 web services 应用。 本文同时也总结了使用 ASM 的一些实践
|
技术文章 | 2011年 09月 26日 |
| Java 开发 2.0: 使用 Gretty 的超轻量级 Java Web 服务
Gretty 是构建 Web 服务超轻量级框架的新学派之一。构建于极快的 Java NIO API 之上,Gretty 将 Groovy 用作 Web 端点和 Grape 的 Maven 式依赖关系管理的一种域特定语言。本文介绍如何开始使用 Gretty 来构建和部署 Java Web 服务应用程序。
|
技术文章 | 2011年 09月 25日 |
| Jetty 的工作原理以及与 Tomcat 的比较
Jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎。本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求。你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat 和 Jetty 的优缺点。
|
技术文章 | 2011年 09月 21日 |
| 语言设计者的笔记本: 首先,不要造成伤害
尽管一些建议的语言功能可以解决遇到的某个问题,但其中大部分功能的存在都有现实环境中的根源,在这些环境中,现有功能无法使程序员轻松、清晰、简洁或安全地表达他们想要的概念。尽管头脑中有一个用例,“此功能使我能够编写我希望能够编写的代码”,但语言设计师还需要评估语言功能可能带来的糟糕代码。
|
技术文章 | 2011年 09月 19日 |
| 几种任务调度的 Java 实现方法与比较
综观目前的 Web 应用,多数应用都具备任务调度的功能。本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron
Tab,并对其优缺点进行比较,目的在于给需要开发任务调度的程序员提供有价值的参考。
|
技术文章 | 2011年 09月 10日 |
| 使用 JavaFX 快速创建应用程序
学习如何使用 Eclipse IDE 开发基于 JavaFX 的 RIA。本文向您介绍 JavaFX,以及如何使用它结合 JavaFX Eclipse 插件来快速构建 GUI 应用程序。通过为桌面和移动模拟器构建一个样例应用程序来探索一些 JavaFX 功能。同时也可学习创建基础动画。
|
技术文章 | 2011年 09月 08日 |
| 函数式思维: 运用函数式思维,第 3 部分
系列文章 “函数式思维” 的作者 Neal Ford 将继续介绍函数式编程的构造和范例。您将了解 Scala 中的数字分类 (number-classification) 代码以及函数式世界中的单元测试。接下来,您将了解部分应用和局部套用 (currying),即两种简化代码重用的函数式方法,还将了解递归在函数式思维中发挥作用的方式。
|
技术文章 | 2011年 09月 07日 |
| Clojure 与并发性
Clojure 编程语言最近受到广泛关注。然而,这些关注并非出于一些显而易见的原因,比如因为它是现代的 Lisp 语言的继承,或是因为它运行在 Java 虚拟机上。它的最吸引人之处是其并发特性。可能 Clojure 已广为人知,主要是因为它本身支持 Software Transactional Memory (STM) 模型。然而,STM 并不是解决所有并发问题的最佳方案。Clojure 能够以 agents 和 atoms 的形式支持其他范例。本文考查 Clojure 所提供的每种并发方法,并研究每种方法的适用情况。
|
技术文章 | 2011年 09月 05日 |
| Java 开发 2.0: Play 框架在 Amazon RDS 中的应用
Amazon RDS,Amazon 越来越庞大的 PaaS 家族的成员,使您只需几次单击即可提高应用程序的关系数据存储容量。
|
技术文章 | 2011年 09月 05日 |
| 将社交网络集成到 BPM,第 1 部分: 收集 Twitter 数据
由于业务流程管理(BPM)工具的灵活性,您可以用最少的代码将社交网络集成到公司的业务流程中。这个两部分系列文章展示了怎样使用 Bonita 开源方案构建应用程序,Bonita 开源方案 -- 一个开源 BPM 工具 -- 收集、显示并使用来自社交网络站点的数据。第 1 部分展示了如何配置应用程序来连接到 Twitter Web 服务,使用户能对相关数据进行关键字搜索。在第 2 部分,您将看到应用程序如何连接到用户关系管理(CRM)系统。
|
技术文章 | 2011年 09月 01日 |
| 基于 Struts2 标签的 BigPipe 技术实现
Facebook 介绍了一个名为 BigPipe 的技术,这项技术可使 Facebook 站点的访问速度提升一倍。目前,也有一小部分文章介绍了该技术在 JSP 中的实现,但是这些文章只是基于 Servlet 的理论实现,对于 Java Web 开发者来说并不存在实际意义。本文基于 BigPipe 的思想,开发了 BigPipe 的 JSP 实现,该技术可以实现 JSP 页面的快速加载,增强用户体验,读者不仅可以从本文了解 BigPipe 原理,还可以使用开发的 Struts2 标签进行实际的开发,相信对读者的学习和开发有很大的好处。
|
技术文章 | 2011年 08月 29日 |
| 了解最新的 DB2 Universal JDBC 驱动程序中的新增 JVM exit 属性
通过使用 DB2 Universal JDBC Driver 中的新增全局属性,现在您可以在使用完 SQLJ 工具(比如 db2sqljcustomize 和 db2sqljbind)时捕获 JVM exit 或 System.exit()。本文将介绍 JDBC Universal Driver 的通用属性 db2.jcc.sqljToolsExitJVMOnCompletion 及其用法。本文用一个 Java 应用程序样例演示如何设置这个新属性。
|
技术文章 | 2011年 08月 29日 |
| 使用 Apache MINA2 实现 Web 系统的消息中间件
本文将介绍如何使用 Apache MINA2(以下简称 MINA2)解决复杂 Web 系统内各子系统之间同步消息中间件的问题。MINA2 为开发高性能和高可用性的网络应用程序提供了非常便利的框架。从本文中可以了解 MINA2 的基本原理和主要功能,此外在本文中您还可以看到 MINA2 实现消息中间件的服务端和客户端程序的详细内容。
|
技术文章 | 2011年 08月 25日 |
| 使用 InfoSphere DataStage Java stages 和 ICU4J 完成音译 ETL 作业
随着成长市场中的数据质量的重要性越来越大,无结构的脏数据需要立即清洁。然而,这项工作的一个挑战是,世界各国有多种语言,有效处理语言学数据的难度很大。例如,在印度,每个州的官方语言均有所不同,数据需要同时提供英语版本和本地语言版本,这种情况加剧了数据一致性问题的严重性。本文将阐述如何在音译过程中实现数据一致性,如何使用 IBM InfoSphere Information Server
DataStage 准备语言资料数据,这些是提取、转换和加载 (ETL) 场景的一部分。
|
技术文章 | 2011年 08月 25日 |
| IBM i 与 J9 VM
2010 年 4 月,IBM i 新的版本 V7R1 发布,在这一新的版本中,IBM i 对 Java 的支持做出了重要的调整。与以往版本中(V5R4,V6R1)同时支持 Classic 和 J9 两种 JVM 不同,从 V7R1 开始,IBM i 将只支持 J9 JVM。本文是对 J9 JVM 的介绍,并对 Classic JVM 和 J9 JVM 进行对比,给出为什么 IBM i V7R1 会做出上述改变以及 J9 JVM 将会给 IBM 带来什么。
|
技术文章 | 2011年 08月 24日 |
| Java 7 NIO.2 文件系统监视服务在安装测试中的应用
本文将介绍 Java 7 NIO.2 新特性文件系统监视服务应用编程接口(Java 7 NIO.2 File System Watch Service API)在软件安装测试中的应用。首先介绍软件安装测试需要关注的问题:如何监视安装过程中文件的更改,然后介绍如何利用这些 API 来解决这些问题。
|
技术文章 | 2011年 08月 24日 |
| Hibernate 3 深度解析
Hibernate 的重要性,我想各位一定很清楚.那么 Hibernate 的一些重要功能项大家是否真的很了解呢,是否明白它的执行逻辑呢?本文章将会带领大家深入到 Hibernate 的内部,深度解析下重要功能项或是关键属性的工作原理。
|
技术文章 | 2011年 08月 22日 |
| Struts2、Spring、Hibernate 高效开发的最佳实践
Struts2、Spring、Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 IT 技术书籍中都有它们的开发教程,但是通常的教程都会让很多程序员陷入痛苦的配置与修改配置的过程。本文利用 SSH 中的技术特性,利用 Java 反射技术,按照规约优于配置的原理,基于 SSH 设定编写了一个通用开发框架,这使得开发者可以专注于业务逻辑的开发,而不用随着业务增加而添加或修改任何配置,并且对于权限控制和日志记录也提供了方便的接口。
|
技术文章 | 2011年 08月 17日 |
| 演化架构和紧急设计: 何时、为什么以及如何进行紧急设计
|
技术文章 | 2011年 08月 15日 |
| Java 开发 2.0: 面向 Java 开发人员的 JavaScript
Java 开发人员一直不看好 JavaScript,因为用它来编程显得太过轻量级了,而作为脚本又显得太过笨重。但有人还在使用 JavaScript,因为它是 GWT 与 Node.js 之类优秀 Web 技术的基础。在本期 Java 开发 2.0 中,Andrew Glover 解释了为何 JavaScript 是现代 Java 开发人员的重要工具。然后介绍了构建当前 Web 的一流应用程序所需的语法,包括 JavaScript 变量、类型、函数、和类。
|
技术文章 | 2011年 08月 10日 |
| 实战 Java 存储过程的编写及在 DB2 上的部署
在一个设计良好的数据库应用中,存储过程(Stored Procedure)几乎是必不可少的。DB2 对 Java 存储过程一直有着良好的支持。与一般的 Java 程序相比,Java 存储过程在其设计、编写过程中,都有许多不同之处。本文从一个 Java 程序员的角度,初步介绍了如何编写一个 Java 存储过程,以及两种在 DB2 中部署 Java 存储过程的方法。最后本文介绍了在存储过程开发之中需要注意的一些问题。
|
技术文章 | 2011年 08月 09日 |
| 使用 Antlr 处理文本
Antlr 是一个基于 Java 开发的功能强大的语言识别工具,其主要功能原本是用于识别编程语言,但是当我们遇到一些常规的文本处理工作时,使用 Antlr 做这些工作可能比单纯的使用正则表达式高效、有趣的多。本文将和您一起探讨如何使用 Antlr 完成抽取(Extract)、转换(Translate)和重写(Rewrite)这 3 类常见的文本处理工作。
|
技术文章 | 2011年 08月 08日 |
| 在 Java EE 容器中扩展云特性
在本文中,作者概述了云应用程序和 Java 企业版应用程序的基本特征,比较了他们的相同点和不同点,然后定义了一组策略并提供了一些模式来扩展
Java EE 容器和应用程序,增加一些云的特征,如并行性、灵活性、多租户和安全性。
|
技术文章 | 2011年 08月 03日 |
| 函数式思维: 运用函数式思维,第 2 部分
函数语言和框架可以让运行时来控制繁琐的编码细节,如遍历、并发和状态。但这并不意味着无法在需要的时候收回控制。以函数式思维的一个重要方面是知道放弃多少控制,以及何时放弃。
|
技术文章 | 2011年 08月 03日 |
| Java Web 服务: WS-SecurityPolicy 建模与验证
WS-SecurityPolicy 使您能够在 web services Description Language (WSDL) 服务描述中定义安全性配置。它是一个功能强大的工具,但是它在处理 WS-SecurityPolicy 文档方面并不出色。其中断言结构必须正确才能够生效,而版本名称空间也需要保持一致。在本文中,您将了解到创建 WS-SecurityPolicy 文档时会遇到的常见错误,您也将了解如何在 Java 中进行 WS-Policy 和 WS-SecurityPolicy 建模,以便进行验证和转换。
|
技术文章 | 2011年 08月 01日 |
| Spring Richclient 中的安全认证管理
作为企业级开发框架,Spring Richclient 为我们提供了完善的安全认证管理功能,使我们能够方便构建安全的企业级应用。本文将详细介绍 Spring Richclient 中安全认证管理的实现方式以及使用方法。
|
技术文章 | 2011年 07月 27日 |
| 函数式思维: 以函数式的方式思考,第 1 部分
函数式编程因其生成错误少且产能高而受到越来越多的关注。但是很多开发人员仍然无法理解对于某些类型的任务来说,函数式语言是否更具优势。学习一个新语言的语法并不难,但学习另一种思维方式却比较难。在函数式思维专栏系列的第一部分中,Neal Ford 介绍了一些函数式编程的概念,并探讨了如何在 Java 与 Groovy 中应用。
|
技术文章 | 2011年 07月 25日 |
| Google Guava Collections 使用介绍
Google Guava Collections 是一个对 Java Collections Framework 增强和扩展的一个开源项目。由于它高质量 API 的实现和对 JDK5 特性的充分利用,使得其在 Java 社区受到很高评价。笔者主要介绍它的基本用法和功能特性。
|
技术文章 | 2011年 07月 21日 |
| 非阻塞算法在并发容器中的实现
非阻塞算法在 Java 中的应用越来越广泛 , ConcurrentLinkedQueue 是 java. concurrent 包中基于非阻塞算法实现的并发容器的典范。通过本文,您将了解非阻塞算法的工作原理及其在 ConcurrentLinkedQueue 中的具体实现机制。
|
技术文章 | 2011年 07月 20日 |
| 语言设计者的笔记本: 定量语言设计
对于任何给定编程语言来说,都不缺乏新功能。语言设计者不仅要执行决定许多可能(而且经常不兼容)语言功能接收优先级这一困难任务,而且他们还必须考虑新语言功能与现有功能令人惊讶的交互。语言的进化通常需要在启用新编码模式的优势与破坏现有 “怪异” 代码潜在成本之间进行权衡。在这种情况下,可以使用实际数据量化 “怪异” 代码不寻常的程度,它可以为决策制定方式提供有价值的线索。
|
技术文章 | 2011年 07月 18日 |
| Struts2 内核之我见
本文首先探讨了 Struts2 核心控制器的源码,以帮助解读 Struts2 的工作流程。接着讲解相关外围类。最后对 Struts 的工作流程进行总结。
|
技术文章 | 2011年 07月 13日 |
| 关于 Java 中 finally 语句块的深度辨析
乍看这个题目,是不是有人会问,这个谁不知道啊,大凡熟悉 Java 编程的人都知道 finally 语句块的作用和用法。有什么可深度辨析的呢?事实并非如此,我发现即使写了很多年 Java 程序的人,也不一定能够透彻的理解 finally 语句块。本篇将以生动形象的案例来带您由浅入深的来分析一下这个小小的 finally,希望这篇文章能够让您真正的理解 finally 语句块的本质,至少阅读完本篇文章后,没有觉得浪费了时间。
|
技术文章 | 2011年 07月 13日 |
| Java PaaS 对决
本文为 Java 开发人员比较了三种主要的 Platform as a Service (PaaS) 产品:Google App Engine for Java、Amazon Elastic Beanstalk 和 CloudBees RUN@Cloud。它分析了每种服务独特的技术方法、优点以及缺点,而且还讨论了常见的解决方法。学习基础 Java PaaS 的基本概念并了解如何选择适用于您开发的服务。
|
技术文章 | 2011年 07月 12日 |
| 深入分析 Java 中的中文编码问题
编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换较多。本文将向你详细介绍 Java 中编码问题出现的根本原因,你将了解到:Java 中经常遇到的几种编码格式的区别;Java 中经常需要编码的场景;出现中文问题的原因分析;在开发 Java web 程序时可能会存在编码的几个地方,一个 HTTP 请求怎么控制编码格式?如何避免出现中文问题?
|
技术文章 | 2011年 07月 06日 |
| Flex 4 最佳集成实践
Flex 受到越来越多人的青睐,同时一些问题也涌现出来了,比如,代码结构,不同层间的信息交换不是很清晰等,使后期维护成本升高。本文将通过具体实例来解决这些问题。
|
技术文章 | 2011年 07月 05日 |
| 从转储(Dump)文件中调试并除错
Memory Analyzer 是一个强大的分析内存泄漏和 Java 进程转储文件覆盖问题的工具。您也可以使用这个工具对 Java
代码执行详细分析,以及从一个转储文件中调试多个复杂问题,而不需要插入分析代码。在本文中,您将了解如何生成
Dump,以及如何使用它们来检查您的应用程序状态。
|
技术文章 | 2011年 07月 04日 |
| 常用 Java 静态代码分析工具的分析与比较
本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中。
|
技术文章 | 2011年 06月 30日 |
| 利用 Project Lombok 自定义 AST 转换
Alex Ruiz 在本文中介绍了 Project Lombok,探讨了它的一些独特的编程特色,包括注释驱动代码生成,以及简洁、紧凑、可读的代码。然后,他会提示大家关注 Lombok 更有价值的用途:利用自定义 AST(Abstract Syntax Tree,抽象语法树)转换来对其进行扩展。扩展 Lombok 使得您可以生成自己的项目或者域特定样板代码,但是,这也确实需要大量的工作。最后 Alex 提供了一些技巧,就是通过简化流程的关键步骤,以及一个自由使用的 JavaBeans 自定义扩展。
|
技术文章 | 2011年 06月 27日 |
| 通过 Clojure 使用 CouchDB
本文展示如何使用 Clojure 访问 CouchDB API,Clojure 是一种面向 JVM 的动态语言。本文通过一些使用 Clutch API 和 clj-http 库的示例,分别介绍一个高级 CouchDB API 和一些基于 REST 的低级调用。本文旨在帮助那些想使用 CouchDB 的初级 Clojure 开发人员和对 CouchDB 的底层 REST API 感兴趣的任何人。
|
技术文章 | 2011年 06月 20日 |
| 使用 Jtest:一款优秀的 Java 代码优化和测试工具
在软件开发过程中,很多团队希望通过静态代码检查、单元测试等技术来保证代码正确性和可靠性。但是由于复杂而庞大的工作量,目前只有很少团队能够将这些技术运用到实际开发中。本文将介绍一款优秀的 Java 代码优化和测试工具 Jtest,它为 Java 代码的单元测试和编码规范校验提供了自动化解决方案,帮助开发人员预防代码错误,从而大大节约软件开发成本,提高软件质量和开发效率。
|
技术文章 | 2011年 06月 20日 |
| 企业级应用中统一配置模块的设计
在企业级应用的开发和运行中,配置数据是必不可少的。在以往的应用中,配置数据往往以许多不同方式保存,比如:文件、注册表以及数据库等。对配置数据的松散管理造成了在应用系统运行过程中查找、使用和迁移的不便,在项目的开发和部署过程中也需要系统开发人员考虑配置数据的逻辑。本文结合 SOA 的思想提出了一种基于适配器模式的配置模块架构,此架构总结了多种配置方案,提出了管理配置数据的统一数据结构,构建了对配置数据访问与管理的统一接口,使得配置逻辑与业务逻辑解耦合。如此,项目开发人员与业务配置人员的分工更加明确,项目开发人员在开发过程中不需要关心配置数据的存放及管理情况,将精力集中在业务逻辑实现上;而业务配置人员则可以更清楚系统的管理应用系统的配置数据。
|
技术文章 | 2011年 06月 15日 |
| 使用 Morphia 和 MongoDB 实现域模型持久性
MongoDB 是面向文档的开源数据库,Morphia 是面向 MongoDB 的类型安全的对象映射库。本文解释了在文档和对象之间进行映射的好处,并演示了如何使用 Morphia 来实现这个功能 。然后演示了如何持久、加载、删除和查询映射到 MongoDB 的 Java 域模型。
|
技术文章 | 2011年 06月 13日 |
| 利用 JPA 2.0 二级缓存实现高速数据访问
JPA 是 Java Persistence API 的简称,JPA 1.0 目前只支持一级缓存。JPA 2.0 在 2009 年 12 月发布,作为 Java 6 的标准,JPA 2.0 增加了对二级缓存的支持。WebSphere Application Server V7(WAS 7) 功能部件包(Feature Pack for OSGi Applications and JPA 2.0)提供了对 OpenJPA 2.0 及 JPA 二级缓存的支持。本文首先会介绍 JPA 一级缓存和二级缓存的缓存机制和存储范围;之后本文将通过图示展示 JPA 2.0 功能部件包的安装以及二级缓存在 WAS 中的使用。
|
技术文章 | 2011年 06月 09日 |
| Checking Table 设计模式 - 从概念、建模、设计到实现
如何基于业务需求驱动理念来开展我们的模式创新,成为了当今架构师、设计师的重要职责之一。本文通过具体的 Checking Table 设计模式案例创新过程,阐述在核心业务需求分析中如何开展建模、设计并实现最合理并富弹性的设计模式,在设计模式创新方面展开思考和探索。
|
技术文章 | 2011年 06月 09日 |
| 基于多请求响应的远程软件安装服务
本文从一个简单常见的 IT 测试人员的需求入手,剖析在通过这种需求所反映出来的 IT 服务 – 远程软件安装服务。根据用户这一需求,本文主要描述这个服务的框架,并且详细阐述了对此框架的一种具体实现,主要包括前端 Web2.0 的实现机制,后台执行引擎的使用以及基于 REST 技术对服务的封装。
|
技术文章 | 2011年 06月 07日 |
| Java Web 服务: WSDL 1.1 理解与建模
在 Web Services Description Language (WSDL) 2.0 被批准成为一个 World Wide Web Consortium (W3C) 标准的几年以后,WSDL 1.1 仍然是最广泛使用的 Web 服务描述方式。尽管很流行,但是 WSDL 1.1 仍然有一些问题,包括使用的模式很多,而且 Web 服务处理 WSDL 文档的方法各异。在本文中,您将了解 WSDL 1.1 服务描述是如何构造的。您还将了解一种用于验证 WSDL 文档并将它们转换为 “最佳实践” 形式的 Java 工具的基本结构。
|
技术文章 | 2011年 06月 02日 |
| Java 开发 2.0: 使用 Amazon SQS 进行基于云计算的消息传送
Amazon Simple Queue Service (SQS) 从面向消息的中间件(MOM)借用它所需要的东西,但不将您锁定于任一实现语言或框架。了解如何使用 Amazon SQS 减少安装和维护一个消息队列系统的负担,同时利用 AWS 的现收现付(pay-as-you-go)可伸缩性。
|
技术文章 | 2011年 05月 30日 |
| 使用 skyway:结合 Rational 以及 Skyway Builder 来生成 Spring 应用程序
本文描述了怎样从 IBM Rational Software Architect 模型中生成 spring 应用程序,怎样调整代码生成模板,以及怎样集成已有的“手工”代码。而且,它还描述了怎样使用 IBM InfoSphere Data Architect 来从类模型创建物理数据模型。
|
技术文章 | 2011年 05月 27日 |
| 探索 ConcurrentHashMap 高并发性的实现机制
ConcurrentHashMap 是 Java concurrent 包的重要成员。本文将结合 Java 内存模型,来分析 ConcurrentHashMap 的 JDK 源代码。通过本文,读者将了解到 ConcurrentHashMap 高并发性的具体实现机制。这对于我们在实际应用中更加高效的使用它是很有帮助的。
|
技术文章 | 2011年 05月 25日 |
| JSR 303 - Bean Validation 介绍及最佳实践
JSR 303 – Bean Validation 是一个数据验证的规范,2009 年 11 月确定最终方案。2009 年 12 月 Java EE 6 发布,Bean Validation 作为一个重要特性被包含其中。本文将对 Bean Validation 的主要功能进行介绍,并通过一些示例来演示如何在 Java 开发过程正确的使用 Bean Validation。
|
技术文章 | 2011年 05月 24日 |
| JEST:用 OpenJPA 实现 REST
JEST 结合了两种架构风格 —— Representational State Transfer (REST) 和 Java Persistence API (JPA),使语言无关的远程客户端能够根据
REST 方法与基于 JPA 的应用程序进行交互。JEST 模型将可定制的管理实体持久化闭包建模成 REST 资源,并用 XML 或增强的 JavaScript Notation (JSON)
格式来表现。本文将介绍 JEST 的概念。然后再介绍一个演示实现:一个通用 Web 客户端,它可以与服务器通信来查询持久化对象并以未知域(domain-agnostic)的方式浏览一个持久化域模型。
|
技术文章 | 2011年 05月 23日 |
| WebSphere Application Server 7.0 XML Feature Pack 技术概览
IBM WebSphere Application Server 7.0 Feature Pack for XML 1.0.0.9 Technology Preview 提供一些重要的新特性,包括对 XQuery 模块、嵌入式扩展函数和运行时错误的源位置信息的支持。这些特性帮助开发人员管理及处理查询和样式表,从而提高开发人员效率和降低维护成本。
|
技术文章 | 2011年 05月 23日 |
| 分析和优化云集群性能
Hadoop 是一个可以分布式操纵大量数据的流行的软件框架,因此非常适合与云计算结合使用。实际上,Hadoop MapReduce 已经在云系统中应用了,这个编程模型和软件框架用来编写在大型计算机节点集群上并行地快速处理大量数据的应用程序。本文讨论如何引入 Hadoop 可配置参数并使用它们监视、分析和优化 Hadoop 集群的性能,从而充分利用 Hadoop。
|
技术文章 | 2011年 05月 19日 |
| Spring 资源访问剖析和策略模式应用
Spring 框架是一个非常优秀的轻量级 Java 框架,它的资源访问方式高度简化了应用程序的资源访问,将应用程序从底层不同的资源访问中解放出来,消除了不同资源访问方式的差异。Spring 框架的资源访问就是经典设计模式:策略模式的典范应用,本文将从策略模式的角度来深入分析 Spring 资源访问的源码实现。
|
技术文章 | 2011年 05月 19日 |
| JSF 2 简介: 复合组件最佳实践
|
技术文章 | 2011年 05月 17日 |
| 使用 JAX-RS、JPA 和 Dojo 创建丰富的以数据为中心的 web 应用程序
开发操作大量数据的富应用程序曾是桌面应用程序的独有领域。现在可在 web 应用程序中完成,而且也不必非 JavaScript 大师不可。学习如何使用 Dojo 工具箱来创建令人眼前一亮的、以数据为中心的 web 应用程序,并将其连接到基于 JAX-RS 和 JPA 这类 JavaEE 标准的后台。这些技术允许你利用配置原则的惯例用法轻轻松松毫不费力地编写复杂应用程序。
|
技术文章 | 2011年 05月 17日 |
| 用 WebSphere eXtreme Scale、Informix 和 DB2 进行 OpenJPA 缓存,第 1 部分: 用 hellojpa 缓存 POJO
OpenJPA 是一个 Apache 持久化项目。OpenJPA
的一个优秀特性是让您在无需改变应用程序代码的情况下即可使用 Java Cache 加速查找并减少后端数据库上的负载。本文将向您展示如何安装、配置和试用 IBM WebSphere eXtreme Scale (XS) 产品与 OpenJPA 。而这个实践的过程无需花费任何额外的费用,因为 XS 缓存有免费的评估版可用。
|
技术文章 | 2011年 05月 17日 |
| Struts 2 中 JFreeChart 插件的使用分析和功能改进
Struts 2 支持使用不同的视图技术,其中之一就是直接使用 JFreeChart 报表作为视图技术。Struts 2 通过一种 jfreechart 类型的 Result 来提供对 JFreeChart 的支持,但实际上 Struts 2 的 jfreechart 类型的 Result 要求 Action 返回一个 JFreeChart,这未免太过烦琐。本文将介绍如何在 Struts 2 中使用 JFreeChart 报表,并对 JFreeChart 插件进行改进,使之更方便、易用。
|
技术文章 | 2011年 05月 10日 |
| 多核系统上的 Java 并发缺陷模式(bug patterns)
通过研究并发(bug patterns)缺陷模式,您既能够提高对并发编程的理解,还能够了解如何发现无效或可能无效的编程方法。在本文中,作者 Zhi Da Luo、Yarden Nir-Buchbinder 和
Raja Das 阐述了 6 个鲜为人知的、可能威胁运行在多核系统上的 Java 应用程序的线程安全和性能的并发缺陷。
|
技术文章 | 2011年 05月 09日 |
第 1 - 100 条,共 2076 条 | 下一页 显示内容简介 | 隐藏内容简介 订阅搜索结果 (RSS)