提高Java代码重用性的方法----之一改写类的实例方法
措施一:改写类的实例方法 通过类继承实现代码重用不是精确的代码重用技术,因此它并不是最理想的代码重用机制。换句话说,如果不继承整个类的所有方法和数据成员,我们无法重用该类里面的单个...
提高Java代码重用性方法 措施二:把参数类型改成接口
措施二:把参数类型改成接口正如Allen Holub在《Build User Interfaces for Object-Oriented Systems》中所指出的,在面向对象编程中,代码重用真正的要点在于通过接口参数类型利用多态性,而不是通过类继承:&n...
提高Java代码重用性的措施三:选择最简单的参数接口类型
措施三:选择最简单的参数接口类型 在实施第二个措施时,应该选用哪一种接口类型来取代给定的类形式?答案是哪一个接口完全满足过程对参数的需求,同时又具有最少的多余代码和数据。描述参数对...
一键搞定Java桌面应用安装部署
对于作Java桌面应用来说,比较烦人的就是安装部署问题,客户端是否安装有jre、jre版本问题、jre去哪下载、如何用jre启动你的Java应用?不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java...
Java 中 Vector、ArrayList、List 使用深入剖析
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用...
Java性能的优化
【IT168 技术文章】 Java在九十年代中期出现以后,在赢得赞叹的同时,也引来了一些批评。赢得的赞叹主要是Java的跨平台的操作性,即所谓的”Write Once,Run Anywhere”.但由于Java的性能和运行...
jspx来自埃及的java web快速开发框架
【IT168 资讯】看看现存的Java web应用程序框架,无一例外的要求花费大量的时间与精力后才可投入生产。对于大多数开发人员来说想要的东西很简单:友好,易于学习并且还具有生产力。因此我们开发了JSPX。 JSPX...
iBatis Java Mapper--A iBatis+Spring扩展
iBatis Java Mapper是iBatis+Spring的一个扩展,能够让你使用Java类和接口来代替用于object-SQL映射的XML文档。官方网址:http://javamapper.sourceforge.net/目前还没有正式发布版本,但很值得期待。下面是一个示例:...
扩展WONDERLAND项目——创建新的单元类型(一)
By Yuanxin Li目的在这个例程中,你将开始学习如何在Wonderland项目里创建一个新的单元类型。单元是一个3D卷;创建新的单元类型的主要意义是开发者扩展Wonderland的功能。这个例程是五个例程中的第一个。在这个第一...
探索 Java 同步机制
本文从典型的 Monitor Object 设计模式入手,从一个新的视角,来探讨 Java 语言的同步机制。本文将从两个方面进行阐述:使用 C++ 语言来描述 Monitor Object 设计模式。Java 对于这样一个典型的模式做了很好的语言层...
使用缓存构建更快的 Web 应用程序
许多 Web 应用程序会根据桌面应用程序重新编写;理想情况下,这些应用程序的速度和可伸缩性应该与桌面版本一样。几乎所有 Web 应用程序都可以从速度方面的增长获益。缓存被频繁查看但很少更改的数据是一种减少用户等...
Java应用从集中式步入分布式[zt]
Java应用从集中式步入分布式[zt]记得Martin大叔在《企业应用架构模式》中特别强调:“能够不分布式的应用就不要分布式”,这句话没什么问题,尤其对于做过分布式应用的人而言,就更会有深刻的体会了,但这个世界偏偏...
自己编程的JavaFX 演示游戏Pac-Man
最近读了些JAVAFX的文章,看了一些示范程序,于是决定写个游戏试一试。大概花了2周的业余时间,写成了一个Pac-Man游戏(俗称PCMAN或吃豆子),这是80年代风靡全球的街机游戏。虽然我这个程序离真正的"街机版"还有一段...
再谈java的内存泄露
看了一本老书《bitter java》,第一次系统地了解了所谓“反模式”。就书的内容来说已经过于陈旧,书中提到的magic servlet、复合jsp等等反模式已经是早就熟知的编程禁忌,而如web页面不能有太多元素这样的反模式也因...
在Java代码中获得WebRoot的物理路径
在开发Web方面的应用时, 经常需要获取 服务器中当前WebRoot的物理路径 如果是Servlet , Action , Controller, 或则Filter , Listener , 拦截器等相关类时, 我们只需要获得ServletContext, 然后通过ServletContext...
JAVA反编译工具精选
JAVA语言是1995年5月由SUN公司发布的,由于其安全性高、代码优化、跨平台等特性,迅速取代了很多传统高级语言,占据了企业级网络应用开发等诸多领域的霸主地位。 不过,JAVA最突出的跨平台优势使...
JSP Web框架研究:Struts
在JSP 的各种Web框架中,据我看来Struts框架最为简单。下面从Struts框架开始来研究JSP的web框架。1、MVC在研究这个框架之前,先要对MVC模式有所了解。幸好以前学习过设计模式,对MVC编程和模式了解一些,即将模型...
HashMap原理及冲突之简谈
了解HashMap原理对于日后的缓存机制多少有些认识。在网络中也有很多方面的帖子,但是很多都是轻描淡写,很少有把握的比较准确的信息,在这里试着不妨说解一二。 对于HashMap主要以键值(key-value...
通过jbpm源码分析jbpm引擎内核工作原理
Jbpm,他是jboss下的一个开源项目,是个基于petri net理论为基础的工作流引擎。本文主要通过jbpm源代码分析下jbpm引擎内核工作原理。 &nb...
struts2中迭代不同类型对象的测试
在平时使用 s:iterator 这个迭代标签,一般我们都是把一个 相同类型的多个对象放入一个集合当中,那么,是否可以放入不相同的对象来迭代呢? 日常工作有时候可能是需要这样来简化程序的,我今天测试了一下...