什么语言特性用于管理对象生命周期

对于开发者来说,复杂的应用通常有很多初始化问题需要处理。许多不同的步骤无非是建立面板,配置服务之类。而这些事情的难点在于,有一些步骤需要重复,另一些则不需要。把这种管理问题交给类自己处理是非常麻烦的,因为逻辑可能会变化。另外,现代软件设计强调分离职责。简单来说,我们的目的是把做什么和怎么做分离开来。
  Annotations

  Annotations是J2SE 5.0引入的新语言特性。通常, Annotations允许开发者用一种跟运行代码无关的次要信息来标注类,方法以及成员。这样就可以使用类似评价的 Annotations,比如“好方法”、“坏方法”,或者更详细一些,“不推荐的方法”、“覆写的方法”。这些用法的可能性是无穷的。不过请注意,方法或类跟标注实际可能不相关,比如“不推荐的”。如果想知道关于 Annotations的更多详细讨论,请阅读Java 5.0 Tiger: A Developer's Notebook。

  因为 Annotations可以用来描述用例或者实体比如方法和类的意思,所以这是一种语法棒棒糖。反过来,这些附加信息也可以被其他东西(比如框架)用于各种各样的动作,比如生成文档(Javadoc),或者像这里讨论的,作为一种特殊内容来控制行为,比如对象的生命周期。

java入门必懂:框架

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。

构件领域框架方法在很大程度上借鉴了硬件技术发展的成就,它是构件技术、软件体系结构研究和应用软件开发三者发展结合的产物。在很多情况下,框架通常以构件库的形式出现,但构件库只是框架的一个重要部分。框架的关键还在于框架内对象间的交互模式和控制流模式。

框架比构件可定制性强。在某种程度上,将构件和框架看成两个不同但彼此协作的技术或许更好。框架为构件提供重用的环境,为构件处理错误、交换数据及激活操作提供了标准的方法。

应用框架的概念也很简单。它并不是包含构件应用程序的 小片程序,而是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系 统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类(该子类属于框架的默认行为)或组装对象来支持应用专用的行为。

提高java性能的手段之减少对象的创建

许多通常的Java性能问题都起源于在设计过程早期中的类设计的思想, 早在许多开发者开始考虑性能问题之前. 在这个系列中, Brian Goetz 讨论了通常的 Java 性能上的冒险以及怎么在设计时候避免它们. 在第二部分, 他讨论了减少临时对象创建的一些技术。  
虽然许多程序员把性能管理一直推迟到开发过程的最后, 性能考虑应该从第一天起就和设计周期结合在一起. 这个系列探索一些早期的设计思想能够极大影响应用程序性能的方法.在这篇文章里, 我继续探索大量临时对象创建的问题, 并且提供一些避免它们的一些技术.  临时对象就是一些生命周期比较短的对象, 一般用于保存其他数据而再没有其他用途. 程序员一般用临时变量向一个方法传递数据或者从一个方法返回数据. 第一部分探讨了临时对象是怎样给一个程序的性能带来负面的冲击, 以及一些类接口的设计思想怎样提供了临时对象的创建. 避免了那些接口的创建, 你就能极大地减少那些影响你的程序性能的临时对象创建的需求。  
只是对 String 说不吗?

SQL操作全指引

下列语句部分是Mssql语句,不可以在access中使用。

SQL分类:
DDL—数据定义语言 (CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
[code]USE master

五种核心策略教你系统构建高性能J2EE应用

对于J2EE,我们知道当开发应用时,在架构设计阶段的决定将对应用的性能和可扩展性产生深远的影响。现在当开发一个应用项目时,我们越来越多地注意到了性能和可扩展性的问题。应用性能的问题比应用功能的不丰富问题往往更为严重,前者会影响到所有用户,而后者只会影响到碰巧使用该功能的那些用户。

在J2EE架构中各层的数据表示方法

在struts+ hibernate 这种结构中,是不应该把Hibernate产生的PO直接传递给JSP的,不管他是Iterator,还是List,这是一个设计错误。

  我来谈谈在J2EE架构中各层的数据表示方法:

  Web层的数据表示是FormBean,数据来源于HTML Form POST

  业务层的数据表示是VO

  持久层的数据表示是PO,其数据来源于数据库,持久层的数据表示例如CMP

深入浅出讲解J2EE架构和过程

Java2企业版(J2EE)平台由四个关键部分构成:规格说明、参考实现、兼容性测试套件
和蓝图(BluePrint)计划。蓝图描绘了分布式组件架构最好的实践和设计指导方针。本
文基于Rational统一过程和BluePrint示例程序介绍一个八步骤J2EE开发方法学。通过阅
读这篇文章,你可以了解许多重要的J2EE架构的话题,并且能够扩展和修改这个简单的
方法来解决自己特有的业务问题。
在商业世界里,我们使用Java2 企业版(J2EE)解决业务问题、开发商业软件或者提供
转包服务。如果一家公司想使用多层体系结构建造一个电子商务网站,通常在整个开发
生命周期中需要涉及到管理者、架构师,设计人员、编程人员、测试人员和数据库专家

为了使不同部门能高效率地工作,他们经常需要一个软件开发过程。一些经典的开发过
程包括瀑布模型、快速应用开发(RAD)和极限编程(XP)。本文我们将集中于一个流行
的软件工程过程,即Rational统一过程(RUP)。RUP提供了一个给角色分配任务和责任
的严格方法。它的目标是保证我们在预期的进度和预算内开发出满足用户需求的高质量
软件。

例举几个JAVA运行时的产间错误

1.错误提示内容:Can‘t find class HelloworldApp

解释:(当键入java HelloWorldApp时发生该错误。)

系统找不到名为HelloWorldApp的类文件。一般地,该错误意味着类名拼写和源文件名不一样,系统创建filename.class文件时使用的是类定义的名字,并且区分大小写。

例如:

class HelloWorldapp(…)

经编译后将创建HelloWorldapp.class类。执行时,也要使用这个名字。发生这个错误时,可以使用文件查看命令Is或dir看看当前目录下是否存在相应的文件,并检查文件名的大小写。

Spring 2.5 Perfomance Improvements 200% 直逼 Guice

并发性能提升的原因之一是使用了 ConcurrentHashMap,原来的 Collections.synchronized(new HashMap()) 存在同步锁的性能瓶颈;

如果你是用JDK 5.0或以上的版本,就可以直接得到这个性能的提升的好处了。

或者下载 Emory concurrent utilities backport 加到 CLASSPATH 中
http://dcl.mathcs.emory.edu/util/backport-util-concurrent/

当然还要努力,越快越好啦。。。

引用

Eclipse首度推出PHP开发工具

  本部在渥太华的Eclipse Foundation宣布了Eclipse PHP 开发工具项目1.0 版本的可用性。

  这个Eclipse PDT是一套开发工具和框架,可以提高PHP开发者的效率。PHP这一脚本语言被广泛用于Web开发而且可以植入HTML。

  该Eclipse PDT是Eclipse推出的第一个针对PHP开发者社区的项目,据估计PHP开发者约有四百万。而Eclipse这一开源平台拥有大约230万使用者,主要用于Java和C/C++的开发。

RIA入门知识[翻译]

RIA入门知识
——来自InfoWorld的有关富互联网应用程序及技术的概述

摘要:本文介绍了RIA的基础知识,这其中包括RIA的概念、组成及一些相关的工具包和框架。

富互联网应用程序,简称RIAs,它包括一系列的应用类型和技术。
RIA系列的轻量级终端是建立在AJAX(异步JavaScript和XML)或者Web 2.0应用上的。

The ABCs of RIA

The ABCs of RIA

An InfoWorld survey of the applications and technologies we call 'rich'
By Martin Heller, InfoWorld, 08/06/07

基于JAVA语言的图表开发技术JFreeChart

JFreeChart是一个开源的JAVA项目,它主要用来开发各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。在这些不同式样的图表上可以满足目前商业系统的要求。JFreeChart是一种基于JAVA语言的图表开发技术。JFreeChart可用于Servlet、JSP、Applet、Java Appication环境中,通过JDBC可动态显示任何数据库数据,结合Itext可以输出至PDF文件。

JFreeChart主要是由三个类构成:

详细解析Java多线程技术中所有方法

一、run()和start()

这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由Java的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void。

二、关键字Synchronized

Genuitec宣布:MyEclipse 6.0发布了!

Genuitec宣布:MyEclipse 6.0发布了。MyEclipse 6.0的发布极大的增强了Eclipse 3.3/Europa集成开发环境的功能,增加了Java 6支持的组件和加快了AJAX的开发率,革命性的提高了开发者的开发效率。

  另外,MyEclipse 6.0现在已经和Spring、JPA整合。这项整合,允许用户们创建实体管理器和事务beans, 生成实体和DOA。这些功能很大程度上多亏有了MyEclipse。

Java语言中抽取word、pdf的四种方法

很多人问到如何抽取word、excel、pdf等文件,在这里我总结一下抽取word、pdf的几种方法。

1、用jacob.

其实jacob是一个bridage,连接java和com或者win32函数的一个中间件,jacob并不能直接抽取word,excel等文件,需要自己写dll哦,不过已经有为你写好的了,就是jacob的作者一并提供了。

jacob下载:http://www.matrix.org.cn/down_view.asp?id=13

下载了jacob并放到指定的路径之后(dll放到path,jar文件放到classpath),就可以写你自己的抽取程序了,下面是一个例子:

Java学习入门--重点内容

数值类型:

虽然是面向对象的语言,但是在使用上数值类型还是必不可少的,如果在C的学习中已经掌握了C的数值计算和转换规则,那我想这里应该没有什么问题,只有两点需要注意:1、14.0这样的浮点常量被认为是double型,只有加上f后缀才是float型的;2、整数常量说起来被认为是int型,但是在编译时,可以认为编译器将其看作能表示该数的最小数值,因此byte b = 100;不会报错。

引用类型:

Java开发框架之--异常框架设计

概念

什么是异常?

异常(exception)应该是异常事件(exceptional event)的缩写。
异常定义:异常是一个在程序执行期间发生的事件,它中断正在执行的程序的正常的指令流。
当在一个方法中发生错误的时候,这个方法创建一个对象,并且把它传递给运行时系统。这个对象被叫做异常对象,它包含了有关错误的信息,这些信息包括错误的类型和在程序发生错误时的状态。创建一个错误对象并把它传递给运行时系统被叫做抛出异常。

向大家介绍:使用Java解析网络数据流的三种特殊方法

介绍用Java解析网络数据的三种特殊方法,希望对正在寻求这方面问题答案的读者有所帮助。

UTF8转换成GB2312 当我们在基于HTTP协议的JSP或Servlet的应用中获取数据或发送请求时,JVM会把输送的数据编码成UTF8格式。如果我们直接从HTTP流中提取中文数据,提取的结果为“????”(可能更多问号),为转换成我们能够理解的中文字符,我们需要把UTF8转换成GB2312,借助ISO-8859-1标准编码能够轻易的实现,下面的代码实现了这一功能:

[code]
byte [] b;

OpenJPA成为Apache一级项目

Apache OpenJPA一直以来都在从JEE世界中源源不断地获取动力,它已经被BEA采用为WebLogic Server 10的EJB3 JPA实现,并且,它还被采用在最新的IBM WebSphere应用服务器的EJB3特性包(EJB3 Feature Pack)中(这也是它成为WebSphere商业发布版核心特性的第一步)。OpenJPA是从BEA的Kodo产品发展而来的,而Kodo产品的代码在2006年被捐献给了ASF。从那时候起,这个项目就开始不断成长,逐渐包含了对应用服务器和工具广泛的支持:

以下是引用片段:

页面

订阅 JAVA技术网 RSS