君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 75 76 77 78 79 80 81 82 83 ··· 107 下一页

2012年6月22日 #

摘要: 重构是广大开发者再熟悉不过的技术,在Martin Fowler的《重构——改善既有代码的设计》一书中,其定义为“重构(名词):对软件内部结构的一种调整,目的是在不改变软件之可察行为前提下,提高其可理解性,降低其修改成本.”以及“重构(动词):使用一系列重构准则(手法),在不改变软件之可察行为前提下,调整其结构.”。重构能够改善软件设计,使代码更易读,更容易找出bug,并帮助你更快速地编码。较之于一般的代码来说,Maven的POM简单很多,不过随着项目的成长,模块的增多,POM的内容也会变多,这个时候,我们可以对POM进行重构,在保持构建成功的前提下,简化POM内容,使其更简洁易懂。前提大家都知 阅读全文
posted @ 2012-06-22 10:48 刺猬的温驯 阅读(301) 评论(0) 推荐(0)

摘要: 坐标是什么?为什么要规划?坐标是Maven最基本的概念,它就像每个构件的身份证号码,有了它我们就可以在数以千万计的构件中定位任何一个我们感兴趣的构件。举个最简单的例子,如果没有坐标,使用JUnit的时候,用户就需要去下载依赖jar包,用依赖的方式,简单配置使用如junit:junit:4.8.2就可以了。这里第一个junit是groupId,第二个junit是artifactId,4.8.2是version。Maven的很多其他核心机制都依赖于坐标,其中最显著的就是仓库和依赖管理。对于仓库来说,有了坐标就知道在什么位置存储构件的内容,例如junit:junit:4.8.2就对应仓库中的路径/j 阅读全文
posted @ 2012-06-22 10:36 刺猬的温驯 阅读(331) 评论(0) 推荐(0)

2012年6月21日 #

摘要: 简介:尽管 Ant 对于构建 Java 程序而言是事实上的标准工具,但这个工具在许多方面都不胜任项目管理任务。相反,Ant 提供的东西,Maven(出自 Apache Jakarta 项目的高级项目管理工具)都能提供,而且更多。Java 开发人员 Charles Chan 将介绍 Maven 的特性,并循序渐进地指导您进行一次完整的 Maven 项目设置。目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员 阅读全文
posted @ 2012-06-21 12:42 刺猬的温驯 阅读(278) 评论(0) 推荐(0)

摘要: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。对于Java程序员来说,不需要在为每一个new操作去写配对的delete/free,不容易出现内容泄漏和内存溢出错误,看起来由JVM管理内存一切都很美好。不过,也正是因为Java程序员把内存控制的权力交给了JVM,一旦出现泄漏和溢出,如果不了解JVM是怎样使用内存的,那排查错误将会是一件非常困难的事 阅读全文
posted @ 2012-06-21 09:10 刺猬的温驯 阅读(273) 评论(0) 推荐(0)

摘要: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述: 说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期,人们就在思考GC需要完成的3件事情:哪些内存需要回收?什么时候回收?怎么样回收? 经过半个世纪的发展,目前的内存分配策略与垃圾回收技术已经相当成熟,一切看起来都进入“自动化”的时代,那为什么我们还要去了解GC和内存分配.. 阅读全文
posted @ 2012-06-21 09:09 刺猬的温驯 阅读(227) 评论(0) 推荐(0)

摘要: 1 Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:图1 Java四个方面的关系运行期环境代表着Java... 阅读全文
posted @ 2012-06-21 09:06 刺猬的温驯 阅读(370) 评论(0) 推荐(0)

摘要: 下面是使用JXM协议配置的简单的操作步骤,详细内容可以阅读文章后的参考资料。1.远程主机(1)修改JMX服务的配置文件: 在JDK的根目录/jre/lib/management中,将jmxremote.password.template另存为jmxremote.password。用文件编辑软件按编辑jmxremote.password去掉 # monitorRole QED # controlRole R&D 前面的#注释,保存。 如果当前系统属于AIX、Linux或者Solaris系统还需要更改jmxremote.access和jmxremote.password的权限为只读写,命. 阅读全文
posted @ 2012-06-21 08:53 刺猬的温驯 阅读(7645) 评论(0) 推荐(0)

2012年6月20日 #

摘要: 为了解决RCP客户端与后台业务层交互的问题,我找到了Spring提供的Http Invoker。给我的感觉就是:不用知道,一用吓一跳,居然会如此简单!为了确保文章简明性和程序的可运行性,我抽出了Http Invoker的基本框架,做了一个简单的演示程序来演示Http Invoker的工作过程(附源代码)。About Http InvokerSpring开发小组意识到在RMI服务和基于HTTP的服务(如Hessian和Burlap)之间的空白。一方面,RMI使用Java标准的对象序列化,但很难穿越防火墙;另一方面,Hessian/Burlap能很好地穿过防火墙工作,但使用自己私有的一套对象序列化 阅读全文
posted @ 2012-06-20 08:55 刺猬的温驯 阅读(887) 评论(0) 推荐(0)

摘要: Http Invoker使用HTTP传送物件,传送时使用Java的序列化机制来传送,由于透过HTTP传送,所以 在使用它们时要搭配Spring Web框架来使用,也就是使用到DispatcherServlet,可以改写 Hessian、 Burlap,只要修改一下service‐config.xml就可以了:• service‐config.xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"& 阅读全文
posted @ 2012-06-20 08:34 刺猬的温驯 阅读(512) 评论(0) 推荐(0)

摘要: RMI (Remote Method Invocation)是从 JDK 1.1 开始就出现的 API 功能,它让客户端在使用远 端物件所提供的服务时,就如何使用本地物件一样,然而 RMI 在使用时必须一连串繁复的手续, 像是服务介 面在定义时必须继承 java.rmi.Remote 介面、服务 Server 在实作时必须继承 java.rmi.UnicastRemoteObject 类 别、必须使用 rmic 指令产生 stub 与 skeleton 等,设定上 手续繁杂。您可以在 Spring 中透过 org.springframework.remoting.rmi.RmiServiceE 阅读全文
posted @ 2012-06-20 08:33 刺猬的温驯 阅读(355) 评论(0) 推荐(0)

上一页 1 ··· 75 76 77 78 79 80 81 82 83 ··· 107 下一页