一、反射的概念 :
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。其中LEAD/LEAD++ 、OpenC++ 、MetaXa和OpenJava等就是基于反射机制的语言。最近,反射机制也被应用到了视窗系统、操作系统和文件系统中。
反射本身并不是一个新概念,它可能会使我们联想到光学中的反射概念,尽管计算机科学赋予了反射概念新的含义,但是,从现象上来说,它们确实有某些相通之处,这些有助于我们的理解。在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。可以看出,同一般的反射概念相比,计算机科学领域的反射不单单指反射本身,还包括对反射结果所采取的措施。所有采用反射机制的系统(即反射系统)都希望使系统的实现更开放。可以说,实现了反射机制的系统都具有开放性,但具有开放 ......
/***************定义接口******************/
package day6;
public interface StudentDao {
public void insert();
public void update();
public void delete();
public void query();
public void FindById();
}
/***************定义接口 借宿******************/
/***************使用接口******************/
package day6;
public class Mysql implements StudentDao {
public void FindById() {
// TODO Auto-generated method stub
System.out.println("FindById.....");
}
public void delete() {
// TODO Auto-generated method stub
}
public void insert() {
// TODO Auto-generated method stub
}
public void query() {
// TODO Auto-generated method stub
}
public void update() {
// TODO Auto-generated method stub
}
}
/***************使用接口 结束******************/
/****************依赖注入*************************/
......
java web 开发 表示层框架 struts jsf struts2.0 webwork等
控制层框架 spring
数据访问层 hibernate
Spring Framework 【Java开源 J2EE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决 ......
宏天软件作为一个技术实力雄厚的软件技术公司,支持国内开源的工作,整合国际J2EE先进的开源技术,把公司自主研发的的J.Office
OA平台开放源代码,使用用户能够看得见并根据自己的实际情况修改源代码使之为己所用,在如此激烈的竞争环境中,只有商业软件、开源软件以及服务为导向的
软件等多种模式共享,并相互借鉴,甚至融合,才能有利于软件技术的创新,并能为企业带来高效的回报,而以宏天软件再做一次惊人之举,率先提出“向客户免费
开放源代码”,在国内J2EE企业开发领域里,尚属首次,其勇气及魄力不得不令人赞叹!
面对当前国内OA市场鱼龙混杂的局面,OA产品价格从几千至百万元不等,很多企业在购买OA产品里,感觉雾里看花,甚至有些用户认为价格越高的OA产
品就越好,对企业的帮助就越大,然而事实并非如此,随着后来竞争者不断崛起,如今的OA软件将变成如Office一样的大众化软件。俗话有说:“适合我自
己的才是最好”。因此适合用户自己的OA产品才是最好,宏天软件的OA向所有用户开发源代码,企业只需要万元就可以购买一款性价非常高的OA软件,并可以
免费获得其源代码,并且获得宏天软件的技术支持。宏天软件的OA产品将结 ......
前一段需要用短信猫发送短信,写了一段短信猫发送短信的代码:
import javax.comm.*;
import java.util.*;
import java.io.*;
import org.smslib.*;
public class smsModem
{
private static LinkedList<COutgoingMessage> msgList = new LinkedList<COutgoingMessage>();
private static String com="";
private static int baudRate=0;
private static CService srv;
private static boolean isSending=false;
private static void testAndSetCom()
/**
Try to find out which com port is used by modem and the work baudrate.
*/
{
CommPortIdentifier portId;
Enumeration portList;
//int b ......
插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。其具体步骤参见代码及注释。
/**
* 插入排序<br/>
* <ul>
* <li>从第一个元素开始,该元素可以认为已经被排序</li>
* <li>取出下一个元素,在已经排序的元素序列中从后向前扫描</li>
* <li>如果该元素(已排序)大于新元素,将该元素移到下一位置</li>
* <li>重复步骤3,直到找到已排序的元素小于或者等于新元素的位置</li>
* <li>将新元素插入到该位置中</li>
* <li>重复步骤2</li>
* </ul>
*
* @param numbers
*/
public static void insertSort(int[] numbers) {
int size = numbers.length, temp, j;
for(int i=1; i<size; i++) {
temp = numbers[i];
for(j = i; j > 0 && temp < numbers[j-1]; j--)
numbers[j] = numbers[j-1];
numbers[j] = temp;
}
}
归并排序是建立在归并操作上的一种有效的排序算法,归并是指将两个已经排序的序列合并成一个序列的操作。参 ......