自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (46)
  • 收藏
  • 关注

转载 zookeeper源码分析-服务器的各个角色及其细节分析

Zookeeper的服务器角色一、前言  前一篇已经详细的讲解了Zookeeper的Leader选举过程,下面接着学习Zookeeper中服务器的各个角色及其细节。二、服务器角色  2.1 Leader  Leader服务器是Zookeeper集群工作的核心,其主要工作如下  (1) 事务请求的唯一调度和处理者,保证集群事务处理的顺序性。  (2) 集群内部各服务器的调度者。  1. 请求处理链  使用责任链来处理每个客户端的请求时Zookeeper的特色,Leader服

2021-01-02 12:53:30 154

转载 zookeeper源码分析-Processor保证数据一致性

zookeeper源码分析,Processor保证数据一致性入口书接上篇博客中的ZK集群启动后完成数据的统一性恢复后,来到启动ZkServer的逻辑,接下来的重点工作就是启动不同角色的对应的不同的处理器Processor如上图查看ZooKeeperServer的继承图,三种不同的角色有不同的ZooKeeperServer的实现逻辑类三者启动时,都将会来到ZooKeeperServer.java中的startUp()方法中,源码如下,但是,不同的角色针对setupRequestPro...

2021-01-02 12:11:09 268

转载 ZooKeeper分析-Leader选举

Zookeeper的整体分析,了解了基本的运作原理和整体架构,即分布式系统中协调之力的重要性。本篇我们就来深入分析这个协调服务的服务器启动和Leader选举,带你更深入解读什么叫迷之自信的“自荐式”选举逻辑。服务器启动注:ZooKeeper分为单机启动和集群启动两种方式。本文仅分析集群启动这种方式。DatadirCleanupManager历史文件清理器。从3.4.0版本开始,ZooKeeper增加了自动清理历史数据文件的机制,包括对事务日志和快照数据文件进行定时清理...

2021-01-02 12:06:32 304

原创 AWK学习

使用方法 1 awk'{pattern + action}'{filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式...

2020-01-08 23:14:22 119

转载 分布式事务-TCC服务设计和实现

一、TCC简介TCC是一种比较成熟的分布式事务解决方案,可用于解决跨库操作的数据一致性问题;TCC是服务化的两阶段编程模型,其Try、Confirm、Cancel 3个方法均由业务编码实现;其中Try操作作为一阶段,负责资源的检查和预留,Confirm操作作为二阶段提交操作,执行真正的业务,Cancel是预留资源的取消;如下图所示,业务实现TCC服务之后,该TCC服务将作为分布式事...

2019-08-24 00:04:36 266

转载 TCC 分布式事务

|0业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创建销售出库单通知仓库发货这是一系列比较真实的步骤,无论大家有没有做过电商系统,应该都能理解。2|0进一步思考好,业务场景有了,现在我们要更进一步,实现一个 TCC...

2019-08-23 23:58:33 183

原创 RocketMQ 源码合集

消息队列中间件 RocketMQ 源码分析 —— Message 发送与接收 消息队列中间件 RocketMQ 源码分析 —— Message 存储 分布式消息队列 RocketMQ 源码分析 —— Message 拉取与消费(上) 分布式消息队列 RocketMQ 源码分析 —— Message 拉取与消费(下) 分布式消息队列 RocketMQ 源码...

2019-08-18 15:47:27 229

转载 限流算法

限流算法:计数器、滑动窗口、漏桶、令牌桶。限流方案:Guava的RateLimiter、Alibaba Sentinel大家都知道,对于高并发的业务场景,我们为了保障服务的稳定,经常会祭出三大利器:缓存、熔断降级和服务限流。服务限流作为一个核心的自保护机制,能够在非常高并发的情况下,其他机制都无法保障降级的情况下,保护系统不崩溃,以免产生雪崩效应。...

2019-08-11 19:39:10 158

转载 分布式系统数据分片

分布式系统,尤其是分布式存储系统,需要解决的两个最主要的问题即数据分片和数据冗余,下图形象生动地解释了其概念和区别:图片来源于:http://book.mixu.net/distsys/intro.html其中数据A、B即属于数据分片,原始数据被拆分成两个正交子集分布在两个节点上。而数据集C属于数据冗余,同一份完整的数据在两个节点都有存储。当然,在实际的分布式系统中,数据分...

2019-08-10 17:08:03 735

原创 分布式事务

分布式一致性事务为了解决分布式一致性问题,产生了不少经典的分布式一致性算法,本文将介绍其中的2PC和3PC。2PC即Two-Phase Commit,译为二阶段提交协议。3PC即Three-Phase Commit,译为三阶段提交协议。分布式系统和分布式一致性问题  分布式系统,即运行在多台不同的网络计算机上的软硬件系统,并且仅通过消息传递来进行通信和协调。  分布式一致性问题,...

2019-08-10 12:58:16 89

原创 持续集成环境搭建

1. Maven3安装1.1下载maven     版本:3.0.3      下载地址:http://maven.apache.org/download.html1.2安装maven      JDK:jdk1.6  [1] 解压缩apache-maven-3.0.3-bin.zip 到你想安装的位置,如D:/maven3。  [2]设置Maven系统环境变量,M2_

2016-06-09 11:19:23 8838

转载 sql优化,in与exist , not in与not exist 的区别

in和exists  in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。  如果查询的两个表大小相当,那么用in和exists差别不大。  如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:  例如:表A(小表),表B(大表)1:sel

2015-04-22 13:18:36 1013

转载 Hadoop1.0.4集群安装

一 安装计划    虚拟机:VMware9.0 http://www.linuxidc.com/Linux/2012-11/73743.htm    操作系统:CentOS5.8 http://www.linuxidc.com/Linux/2012-03/56303.htm    Hadoop:Hadoop1.0.4    网段为:192.168.201.1    三个节点分别

2015-01-11 21:53:18 735

转载 Centos linux NFS服务器的安装、配置

NFS服务器的安装、配置 一、NFS服务简介  NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。  NFS 的基

2015-01-11 21:37:56 578

转载 dbcp源码解读与对象池原理剖析

apache common-pool工具库是对池化技术原理和具体实现. 对象池(ObjectPool接口): 可以把它认为是一种容器, 它是用来装池对象的, 并且包含了用来创建池对象的工厂对象 池对象:就是要放到池容器中的对象, 理论上可以是任何对象. 对象池工厂(ObjectPoolFactory接口):用来创建对象池的工厂, 这个没什么好说的. 池对象工厂(Poolab

2014-12-05 23:41:01 7863

原创 Centos linux安装MySQL-5.6.4

CentOS6.3安装MySQL5.6.41.下载MySQL我下载的版本:mysql-5.5.22.tar.gz 2.安装之前先卸载CentOS自带的MySQL[root@localhost ~]# yum remove mysql 3.编译安装Cmake下载cmake源码包:http://www.cmake.org/files/v2.8/cmake-2.8.4

2014-03-08 16:01:35 22053 6

转载 Spring事务配置

Spring事务配置的五种方式    前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。    总结如下:    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和

2013-05-22 21:01:00 583

原创 CentOS5.4 安装过程(图解)

CentOS5.4 安装过程(图解)  一:虚拟机配置:网络连接选择桥接模式 二:开始安装CentOS5.4进入CentOS安装界面,直接回车。注意:如果你实际机器的内存是512或者是更低,将会提示你内存不足以支持图形界面安装,一般玩技术最好是安装2G内存或者更高 三:输入回车键以后将进入光驱检查界面:如果你存在光驱的话依旧选择OK,如果

2012-12-23 12:22:26 4458

原创 DB2代码 错误信息描述

DB2错误信息(按sqlcode排序)                        sqlcode    sqlstate   说明00000000SQL语句成功完成01xxxSQL语句成功完成,但是有警告+01201545未限定的列名被解释为一个有相互关系的引用+098015

2012-08-30 10:17:14 2909

原创 解读JVM中的对象生命周期

<br />详细解读JVM中的对象生命周期<br /> <br />在JVM运行空间中,对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。上面的这7个阶段,构成了 JVM中对象的完整的生命周期。下面分别介绍对象在处于这7个阶段时的不同情形。<br /> <br />1.1  创建阶段<br />    在

2011-01-22 19:38:00 699

原创 数据库连接池技术

介绍一种充分发挥该特色的实用技术,即数据库连接池。一、实现连接池的意义动态Web站点往往用数据库存储的信息生成Web页面,每一个页面请求导致一次数据库访问。连接数据库不仅要开销一定的通讯和内存资源,还必须完成用户验证、安全上下文配置这类任务,因而往往成为最为耗时的操作。当然,实际的连接时间开销千变万化,但1到2秒延迟并非不常见。如果某个基于数据库的Web应用只需建立一次初始连接,不同页面请求能够共享同一连接,就能获得显著的性能改善。Servlet是一个Java类。Servlet引擎(它可能是Web服务软件的

2011-01-10 23:38:00 3344

原创 XML 学习

dom4j读写xml:1.dom4j读xml的方法.读xml String    String content  =  xmlStr;   Document document = DocumentHelper.parseText(content);    Element root = document.getRootElement();    Element element = root.element("node");.读xml 文件     SAXReader xmlReader = new SAXRe

2011-01-03 18:58:00 661

原创 Java 面试集锦大全

 Java面试一. Java基础部分..................................................................................................................... 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ...... 7 2、Java有没有goto? .......................................................

2011-01-03 17:18:00 1360 2

原创 Spring 学习日记

<br /><br />什么是Spring?<br />    开源、轻量级<br />Spring 特征:<br />    1.B/S 和 C/S,使用资源小<br />    2.对象间的关系松,高内聚,低耦合<br />      IOC --- Inverse of control <br />         使得业务组件都处在框架的管理之下<br />         框架可以管理组件的创建和依赖关系<br />         框架可以提供可以配置的服务<br />    3.通过AOP技术

2010-12-30 13:18:00 1788

原创 Struts1 优点与缺点

<br /> <br />      Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JavaServer Pages技术的一种Model-View-Controller(MVC)实现. <br />具体来讲,Struts的优点有: <br

2010-12-30 13:07:00 3854

原创 IBM MQ 学习、应用

<br /> <br /> <br />MQ应用程序的开发,简单的实现一下关键的发送消息和接收消息的操作.首先做简单的准备工作,建队列管理器QM1,在QM1中建队列Q1,然后在高级中建立通道BICASHY,类型为服务器连接通道,端口号1414,这里做最简单的配置,死信、传输队列及远程队列都暂时不建。。。 <br />注:如果建另一个队列管理器QM2,其侦听端口一定不能和1414重复。package com.wondertek.flow.test; import java.io.IOExcep

2010-12-20 22:44:00 6314 1

转载 Java 类加载器

 Java 类加载器  探讨 类加载器(class loader)是 Java™ 中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™ 中的应用。类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载

2010-12-18 16:03:00 2473 1

原创 HTMLParser 学习与运用

<br />HtmlParser 简介<br />   当今的 Internet 上面有数亿记的网页,越来越多应用程序将这些网页作为分析和处理的数据对象。这些网页多为半结构化的文本,有着大量的标签和嵌套的结构。当我们自己开发一 些处理网页的应用程序时,会想到要开发一个单独的网页解析器,这一部分的工作必定需要付出相当的精力和时间。事实上,做为 JAVA 应用程序开发者, HtmlParser 为其提供了强大而灵活易用的开源类库,大大节省了写一个网页解析器的开销。 HtmlParser 是 http://sou

2010-12-06 00:59:00 896

原创 FreeMarker 学习

<br />FreeMarker概述<br /> <br /> <br />         FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 <br />         FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 <br />         虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)<br /><br />    

2010-12-05 00:03:00 2721

原创 Struts1与Struts2的对比,不同之处

<br />Struts2与Struts1的对比<br /> <br /> <br /><1>.Action类: <br />• Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。<br />• Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Str

2010-11-28 13:19:00 647

原创 OGNL 学习、开发与实践

OGNL 的历史OGNL 最初是为了能够使用对象的属性名来建立 UI 组件 (component) 和 控制器 (controllers) 之间的联系,简单来说就是:视图 与 控制器 之间数据的联系。后来为了应付更加复杂的数据关系,Drew Davidson 发明了一个被他称为 KVCL(Key-Value Coding Language) 的语言。 Luke 参与进来后,用 ANTLR 来实现了该语言,并给它取了这个新名字,他后来又使用 JavaCC 重新实现了该语言。目前 OGNL 由 Drew 来负责

2010-11-20 17:28:00 1055 1

原创 让CAS支持客户端自定义登陆页面

 http://fallenlord.blogbus.com/logs/36907044.html

2010-05-05 17:03:00 1421

W3school.chm

HTML教程 HTML XHTML CSS TCP/IP XML教程 XML XSL XSLT XSL-FO XPath XQuery XLink XPointer DTD Schema XML DOM XForms SOAP WSDL RDF RSS WAP Web Services 浏览器脚本 JavaScript HTML DOM DHTML VBScript AJAX E4X WMLScript 服务器脚本 SQL ASP ADO PHP .NET(dotnet) .NET Microsoft .NET ASP .NET Mobile 多媒体 Media SMIL SVG 建站手册 网站构建 万维网联盟 浏览器信息 网站品质 语义网 职业规划 网站主机 帮助 W3School领先的 Web 技术教程 - 全部免费 在w3school,你可以找到你所需要的所有的网站建设教程。 从基础的HTML到XHTML,乃至进阶的XML、SQL、数据库、多媒体和WAP。 从左侧的菜单选择你需要的教程!(本站状态:内部测试) 完整的网站技术参考手册 我们的参考手册涵盖了网站技术的方方面面。 其中包括W3C的标准技术:HTML、XHTML、CSS、XML 。以及其他的技术,诸如JavaScript、PHP、ASP、SQL等等。 在线实例测试工具 在w3school,我们提供上千个实例。 通过使用我们的在线编辑器,你可以编辑这些例子,并对代码进行实验。 快捷易懂的学习方式 一寸光阴一寸金,因此,我们为您提供快捷易懂的学习内容。 在这里,您可以通过一种易懂的便利的模式获得您需要的任何知识。 从何入手? 什么是一个Web建设者需要学习的知识呢? W3School将为您回答这个问题,在您成为专业Web开发者的路上助一臂之力,从而更好地应对未来的挑战。 如果您是初学者,请您阅读《网站构建初级教程》。 如果您是开发者,请您阅读《网站构建高级教程》。 W3School 新闻 W3School 测试版本号升级为 alpha Search: 参考手册 HTML 4.01 XHTML 1.0 CSS 2.0 JavaScript VBScript HTML DOM XML DOM ASP reference ADO reference ASP.NET PHP 5.1 XSLT 1.0 XPath 2.0 XSL-FO WML 1.1 HTML 颜色 字符集 HTML ASCII HTML Latin-1 HTML 符号 实例/案例 HTML 实例 CSS 实例 XML 实例 XML DOM 实例 WAP 实例 JavaScript 实例 JavaScript 对象实例 DHTML 实例 VBScript 实例 ASP 实例 ADO 实例 SVG 实例 测验/考试 HTML 测验 XHTML 测验 CSS 测验 XML 测验 JavaScript 测验 SQL 测验 ASP 测验 代码验证 验证HTML 验证CSS 验证XHTML 验证XML 验证WML

2009-05-06

中国银行(BOC)]笔试必备的计算机网络习题

中国银行(BOC)]笔试必备的计算机网络习题

2008-12-18

最新电信笔试题目资料

本套试题共分3大类:基础类、市场运营类和网络运营类。其中针对服务管控受众的试题是基础类试题,针对市场运营受众的试题是基础类和市场运营类试题,针对网络运营受众的试题是基础类和网络运营类试题。题型有:判断题、单项选择题和多项选择题。标红部分为题目参考答案。

2008-12-15

C++编程实例详解.

C++编程实例详解from scratch_ 各位C++爱好者可以下载参考学习

2008-12-07

软件破解入门教程和解密手册

作为一个电脑爱好者,相信手头一定有不少酷软,但往往这些软件有各种限制,所以你是不是常常为了一个小小的注册码,而经常头痛呢?是不是为了找到一个软件的注册码而费尽心机呢?但大家是否想过自己来破解软件得出注册码?   你也许会说太难了,网上找一个注册码得了,如果你是用自己的技术把软件注册了,一定会有另一番美妙感受。况且一些软件不一定在刚想用的时后,网上就能找到注册码的。   其实破解的乐趣远不在此。   当你去破一个软件时,那种对知识的渴望,对技术的追求,将使迫使你勤奋的学习,来不断的完善自己的知识。特别是对电脑的了解,会有一个质的飞跃。

2008-12-06

C/C++ C# 程序员实用大全(精华版)

C/C++ C# 程序员实用大全(精华版)

2008-12-06

组讨论的经典面试题目

组讨论的经典面试题目,希望对大家面试有用

2008-12-06

华为C++笔试题..

华为C++笔试题,需要找工作,想进华为搞软件,可以下载来参考

2008-12-06

析防火墙规则的专家系统的研究与实现

析防火墙规则的专家系统的研究与实现,欢迎参考

2008-12-06

大型网络的整个安装与配置全过程

大型网络的整个安装与配置全过程,欢迎参考

2008-12-06

J2EE学习笔记 J2EE学习笔记

J2EE学习笔记 J2EE学习笔记,欢迎分享

2008-12-06

简历模板集锦....

各位需要找工作的朋友,可以下载这些模板,做出自己漂亮一份的简历

2008-12-06

access 数据库开发及工程实例

access 数据库开发及工程实例,大家可以下载学习

2008-12-06

Java+sql 超市购物进销存系统(源代码)

本软件运行环境: JDK1.5+SQL2000SP4 源代码运行环境: JBuider2006+ SQL2000SP4 用JBuider2006打开 \超市购物系统\Lgcsgwxt\Lgcsgwxt.jpx 数据库: \超市购物系统\database\SuperMarket_Data.MDF 本软件用JDBC联的数据库, JBuider2006下运行需把SQL文件夹下的三个JAR包倒入 软件大小:压缩包约2M,解压后约9M 软件分前台收银和收台管理两大部分: 前台可对不同会员卡产生不同的折扣率,前台涉及三张数据库表的操作: 商品表—用来查找相应的商品信息 销售表—用来记录每次销售的商品信息 库存表.—每次销售的商品要从库存中减去相应的商品数量 后台涉及商品的查询及管理,主要功能有: 商品分类查询及单个商品的查询 商品销售统计,可根据不同的时间段,不同的商品编码,进行相应的统计 商品进/出货 商品出/入库 商品采购 商品付款单 新增商品---------用于录入超市原来没有的商品 会员卡的增,删,改,查

2008-12-06

c++到vc++精彩100例

c++到vc++精彩100例,欢迎下载学习

2008-12-06

vc++6.0 用户界面制作技术与应用实例

vc++6.0 用户界面制作技术与应用实例

2008-12-06

c语言学习100例实例程序

c语言学习100例实例程序,欢迎大家下载参考

2008-12-06

ASP.NET 中国工商网电子商务购物中心系统EMall v1.0 (全源码)

ASP.NET 中国工商网电子商务购物中心系统EMall v1.0 (全源码)

2008-12-06

java的基本编程规范

java的基本编程规范,欢迎大家参考下载

2008-12-06

java语言入门中文版

java语言入门中文版,希望对大家学习有用处,欢迎下载

2008-12-06

SecureCRT_5.50.rar

终端控制台

2021-01-02

FlashFXP3.6.zip 下载

FlashFXP

2021-01-02

Linux 指令大全

Linux 指令大全 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案) 参数: -n 或 --number 由 1 开始对所有输出的行数编号 -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行 -v 或 --show-nonprinting 范例: cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里 cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不 加)之后将内容附加到 textfile3 名称 : cd 使用权限 : 所有使用者 使用方式 : cd [dirName] 说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目 录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。 另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目 前目录位置的上一层目录。 范例 : 跳到 /usr/bin/ : cd /usr/bin 跳到自己的 home directory : cd ~ 跳到目前目录的上上两层 : cd ../.. 指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可 以藉以控制档案如何被他人所存取。 把计 : mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者, g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆 是。 + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。 r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档 案已经被设定过为可执行。 -c : 若该档案权限确实已经更改,才显示其更改动作 -f : 若该档案权限无法被更改也不要显示错误讯息 -v : 显示权限变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) --help : 显示辅助说明 --version : 显示版本 范例 :将档案 file1.txt 设为所有人皆可读取 : chmod ugo+r file1.txt 将档案 file1.txt 设为所有人皆可读取 : chmod a+r file1.txt 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以 外的人则不可写入 : chmod ug+w,o-w file1.txt file2.txt 将 ex1.py 设定为只有该档案拥有者可以执行 : chmod u+x ex1.py 将目前目录下的所有档案与子目录皆设为任何人可读取 : chmod -R a+r * 此外chmod也可以用数字来表示权限如 chmod 777 file 语法为:chmod abc file 其中a,b,c 各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=7。 范例: chmod a=rwx file 和 chmod 777 file 效果相同 chmod ug=rwx,o=x file 和 chmod 771 file 效果相同 若用chmod 4755 filename 可使此程式具有root 的权限 指令名称 : chown 使用权限 : root 使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file... 说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案 的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没 有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系 统管理者(root)才有这样的权限。 把计 : user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档 案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误 讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详 细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个 变更)--help : 显示辅助说明--version : 显示版本 范例 : 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie : chown jessie:users file1.txt 将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport : chmod -R lamport:users * 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 把计 -a 尽可能将档案状态、权限等资料都照原状予以复制。 -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。 -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。 范例: 将档案 aaa 复制(已存在),并命名为 bbb : cp aaa bbb 将所有的C语言程式拷贝至 Finished 子目录中 : cp *.c Finished 名称:cut 使用权限:所有使用者 用法:cut -cnum1-num2 filename 说明:显示每行从开头算起 num1 到 num2 的文字。 范例: shell>> cat

2015-01-17

java多线程设计模式

内容提要编辑多线程与并发处理是程序设计好坏优劣的重要课题,本书通过浅显易懂的文字与实例来介绍JAVA线程相关的设计模式概念,并且通过实际的JAVA程序范例和UML图示来一一解说,书中有代码的重要部分加上标注使读者更加容易解读,再配合众多的说明图解,无论对于初学者还是程序设计高手来说,这都是一本学习和认识设计模式非常难得的好书。 最后附上练习问题,让读者可以温故而知新,能快速地吸收书中的精华,书中最后附上练习问题解答,方便读者学习验证。 2图书目录编辑漫谈UML UML 类图 类和层次结构的关系 接口与实现 聚合 访问控制 类间的关联性 顺序图 处理流程和对象间的协调 时序图 Introduction 1 Java语言的线程 Java语言的线程 何谓线程 明为追踪处理流程,实则追踪线程 单线程程序 多线程程序 Thread类的run方法和start方法 线程的启动 线程的启动(1)——利用Thread类的子类 线程的启动(2)——利用Runnable接口 线程的暂时停止 线程的共享互斥 synchronized方法 synchronized阻挡 线程的协调 wait set——线程的休息室 wait方法——把线程放入wait set notify方法——从wait set拿出线程 notifyAll方法——从wait set拿出所有线程 wait、notify、notifyAll是Object类的方法 线程的状态移转 跟线程有关的其他话题 重点回顾 练习问题 Introduction 2 多线程程序的评量标准 多线程程序的评量标准 安全性——不损坏对象 生存性——进行必要的处理 复用性——可再利用类 性能——能快速、大量进行处理 评量标准的总结 重点回顾 练习问题 第1章 Single Threaded Execution——能通过这座桥的,只有一个人 第2章 Immutable——想破坏它也没办法 第3章 Guarded Suspension——要等到我准备好喔 第4章 Balking——不需要的话,就算了吧 第5章 Producer-Consumer——我来做,你来用 第6章 Read-Write Lock——大家想看就看吧,不过看的时候不能写喔 第7章 read-Per-Message——这个工作交给你了 第8章 Worker Thread——等到工作来,来了就工作 第9章 Future——先给您这张提货单 第10章 Two-Phase Termination——快把玩具收拾好,去睡觉吧 第11章 Thread-Specific Storage——每个线程的保管箱 第12章 Active Object——接受异步消息的主动对象 总结 多线程程序设计的模式语言 附录A 练习问题的解答 附录B Java的内存模型 附录C Java线程的优先级 附录D 线程相关的主要API

2015-01-17

Eclipse中文教程

Eclipse – 整合开发工具(基础篇) Jacky Lee 2005/03/01 Eclipse.doc 第 1 页,共 1 页 目录 0.环境说明................................................................................................................................................................7 1.Eclipse简介............................................................................................................................................................8 1.1历史背景.....................................................................................................................................................8 1.2开放原始码软件.........................................................................................................................................8 1.3 Eclipse版本介绍.........................................................................................................................................8 1.4跨语言、跨平台.........................................................................................................................................9 2. Eclipse Platform..................................................................................................................................................10 2.1概观...........................................................................................................................................................10 2.2架构...........................................................................................................................................................10 2.3项目与资料夹...........................................................................................................................................10 2.4平台核心...................................................................................................................................................11 2.5工作区(workspace)....................................................................................................................................11 2.6工作台(workbench)...................................................................................................................................11 2.6.1视图(View).....................................................................................................................................12 2.6.2编辑器(Editor)................................................................................................................................14 2.6.3视景(Perspective)...........................................................................................................................16 2.7重新排列视图和编辑器...........................................................................................................................17 2.7.1放置游标........................................................................................................................................17 2.7.2重新排列视图................................................................................................................................18 2.7.3并列编辑器....................................................................................................................................18 2.7.4重新排列附加标签的视图............................................................................................................19 2.7.5最大化............................................................................................................................................19 2.8菜单和工具列...........................................................................................................................................20 2.8.1菜单................................................................................................................................................20 2.8.2图标和按钮....................................................................................................................................31 2.9视景...........................................................................................................................................................35 2.9.1新视景............................................................................................................................................35 2.9.2新窗口............................................................................................................................................37 2.9.3储存视景........................................................................................................................................37 2.9.4配置视景........................................................................................................................................39 2.10作业和标记.............................................................................................................................................40 2.10.1不相关的作业..............................................................................................................................40 2.10.2相关的作业..................................................................................................................................41 2.10.3开启档案......................................................................................................................................42 2.11书签.........................................................................................................................................................42 2.11.1新增和检视书签..........................................................................................................................42 Eclipse 中文教程.doc 第 2 页,共 221 页 2.11.2使用书签......................................................................................................................................44 2.11.3移除书签......................................................................................................................................44 2.12快速视图(Fast View)...............................................................................................................................46 2.12.1建立快速视图..............................................................................................................................46 2.12.2使用快速视图..............................................................................................................................46 2.13比较.........................................................................................................................................................47 2.13.1简单比较......................................................................................................................................48 2.13.2了解比较......................................................................................................................................49 2.13.3使用比较......................................................................................................................................49 2.14历史纪录.................................................................................................................................................51 2.15回应 UI...................................................................................................................................................52 3.喜好设定(Preferences).........................................................................................................................................55 3.1工作台(Workbench)..................................................................................................................................55 3.1.1外观(Appearance)...........................................................................................................................57 3.1.2功能(Capabilities)...........................................................................................................................58 3.1.3颜色和字型(Colors and Fonts)......................................................................................................59 3.1.4比较/修正(Compare/Patch)............................................................................................................61 3.1.5编辑器(Editors)..............................................................................................................................63 3.1.6档案关联(File Associations)..........................................................................................................64 3.1.7按键(Keys).....................................................................................................................................66 3.1.8标签装饰(Label Decorations)........................................................................................................72 3.1.9链接资源(Linked Resources).........................................................................................................72 3.1.10历史纪录(Local History)..............................................................................................................73 3.1.11视景..............................................................................................................................................74 3.1.12搜寻(Search).................................................................................................................................76 3.1.13启动和关闭(Startup and Shutdown)............................................................................................76 3.2 Ant.............................................................................................................................................................77 3.2.1 Ant 编辑器(Ant Editor).................................................................................................................78 3.2.2 Ant 执行时期(Ant Runtime).........................................................................................................79 3.3建置次序(Build Order).............................................................................................................................81 3.4说明(Help).................................................................................................................................................82 3.4.1说明服务器(Help Server)...............................................................................................................83 3.5自动更新(Install/Update)..........................................................................................................................84 3.6 Java............................................................................................................................................................84 3.6.1外观(Appearance)...........................................................................................................................85 3.6.2类别路径变量(Classpath variables)...............................................................................................86 3.6.3程序代码格式制作器(Code Formatter).........................................................................................86 3.6.4程序代码产生(Code generation)...................................................................................................88 Eclipse 中文教程.doc 第 3 页,共 221 页 3.6.5编译器(Compiler)...........................................................................................................................90 3.6.6 Java 编辑器(Java editor)...............................................................................................................94 3.6.7 JRE 安装(JRE installations)..........................................................................................................99 3.6.8 JUnit..............................................................................................................................................100 3.6.9新专案(New project)....................................................................................................................100 3.6.10组织汇入(Organize imports)......................................................................................................101 3.6.11「重构」喜好设定(Refactoring preferences).............................................................................102 3.6.12作业标示(Task Tags)..................................................................................................................102 3.7团队(Team)..............................................................................................................................................102 3.7.1 CVS..............................................................................................................................................103 3.7.2忽略的资源(Ignored Resources)..................................................................................................107 3.7.3档案内容(File Content)................................................................................................................107 4. Java程序开发....................................................................................................................................................108 4.1建立Java项目..........................................................................................................................................108 4.2建立Java类别..........................................................................................................................................110 4.3程序代码完成功能..................................................................................................................................111 4.3.1 Code Completion...........................................................................................................................111 4.3.2 Code Assist....................................................................................................................................111 4.4执行Java程序..........................................................................................................................................112 4.5 Java实时运算簿页面(Java Scrapbook Page)..........................................................................................114 4.6自订开发环境.........................................................................................................................................121 4.6.1程序代码格式..............................................................................................................................121 4.6.2程序代码产生模板......................................................................................................................122 4.6.3 Javadoc批注.................................................................................................................................124 4.7产生 getter 与 setter..............................................................................................................................128 4.8建立 JAR 档案......................................................................................................................................130 4.8.1建立新的 JAR 档案...................................................................................................................130 4.8.2设定进阶选项..............................................................................................................................132 4.8.3定义 JAR 檔的 manifest............................................................................................................133 4.8.4重新产生 JAR 檔.......................................................................................................................135 4.9.建立 Javadoc 文件................................................................................................................................137 4.9.1选取产生 Javadoc 用的类型......................................................................................................137 4.9.2为标准 doclet 配置 Javadoc 自变量........................................................................................138 4.9.3配置 Javadoc 自变量..................................................................................................................138 4.10工作集(Working Sets)...........................................................................................................................139 4.10.1新增工作集................................................................................................................................139 4.10.2隐藏「导览器」视图中的档案................................................................................................141 4.10.3显示「导览器」视图中的档案................................................................................................142 Eclipse 中文教程.doc 第 4 页,共 221 页 5.除错....................................................................................................................................................................144 5.1错误的程序.............................................................................................................................................144 5.2设定岔断点(Breakpoints).......................................................................................................................145 5.3逐步除错.................................................................................................................................................149 5.3.1 Step Into........................................................................................................................................149 5.3.2 Step Over......................................................................................................................................149 5.3.3 Step Return...................................................................................................................................149 5.3.4 Drop to Frame...............................................................................................................................149 5.3.5 Use Step Filters/Step Debug.........................................................................................................150 5.4继续执行.................................................................................................................................................151 5.5设定岔断点的Hit Count.........................................................................................................................153 5.6岔断点组态设定.....................................................................................................................................160 5.7监视点(Watchpoint)................................................................................................................................161 5.8方法岔断断点(Method Breakpoint)........................................................................................................164 5.9异常岔断点(Exception Breakpoint)........................................................................................................166 5.10 Java表示式及变更某些值....................................................................................................................168 6.重构(Refactoring)...............................................................................................................................................170 6.1重新命名.................................................................................................................................................170 6.1.1区域变量(Local Variable)............................................................................................................170 6.1.2字段(Field)...................................................................................................................................171 6.1.3方法(Method)...............................................................................................................................173 6.1.4类别(Class)或是接口(Interface)..................................................................................................174 6.1.5套件(Package)..............................................................................................................................176 6.2撷取(Extracting)......................................................................................................................................177 6.2.1撷取常数(Extracting a Constant).................................................................................................177 6.2.2撷取区域变量(Extracting a Local Variable)................................................................................180 6.2.3撷取方法(Extracting a Method)...................................................................................................182 6.3列入(Inlining)..........................................................................................................................................187 6.3.1列入常数(Inlining a Constant).....................................................................................................187 6.3.2列入区域变量(Inlining a Local Variable)....................................................................................189 6.3.3列入方法(Inlining a Method).......................................................................................................191 6.4变更方法签章(Signature).......................................................................................................................193 6.5移动Java元素(Moving Java Elements)...................................................................................................196 6.5.1字段(Field)...................................................................................................................................197 6.5.2 Static Members.............................................................................................................................198 6.6自行封装字段(Self Encapsulating a Field).............................................................................................200 7.要诀和技巧(Tips and Tricks).............................................................................................................................203 7.1编辑程序文件(Editing Source)...............................................................................................................203 Eclipse 中文教程.doc 第 5 页,共 221 页 7.2搜寻(Searching).......................................................................................................................................208 7.3程序代码导览和读取(Code navigation and reading).............................................................................209 7.4 Java视图(Java views)..............................................................................................................................212 7.5除错(Debugging).....................................................................................................................................214 7.6各种(Various)..........................................................................................................................................217 Eclipse 中文教程.doc 第 6 页,共 221 页 0.环境说明

2015-01-17

网上支付安全

内容简介编辑《网上支付与安全》分别介绍了支付体系、支付方式、支付工具等基 础知识以及各种典型的网上支付(包括互联网络支付、移动网络支付、固话网络支付等);同时分析了网上支付存在的安全问题与需求,并介绍了各种网上支付安全技术;此外还分别介绍了各种支付方式的支付流程、支付过程存在的安全问题以及相应的解决方法和技术。 《网上支付与安全》可以作为高等院校电子商务、计算机、金融学、财经专业及相关专业的教材或教学参考书;也可作为从事金融信息化、电子商务、IT应用软件研制和开发的科研人员,金融系统的各级管理人员、银行工作人员,以及广大电子商务爱好者的参考用书。 3图书目录编辑第1章 支付基础理论1 第2章 网上银行支付35 第3章 移动支付71 第4章 电话支付101 第5章 自助银行支付128 第6章 第三方支付154 第7章 中国银联与电子支付182 第8章 跨行支付209 第9章 网上支付安全技术237 第10章 认证中心269 参考文献298

2015-01-17

[网络支付与结算].徐勇

内容简介编辑《网络支付与结算》从一个新的角度来讲述网络支付工具及其应用:以消费者(购买者)进行网络支付时,其资金是否立刻发生转移来分析各种网络支付方式。基于这个角度,将网络支付模式分为:预付型、即付型和后付型。《网络支付与结算》提供了与网络支付有关的大量案例、资料和形式多样的思考与练习题,以供阅读、训练使用,便于读者对所学知识的巩固和分析能力的培养.《网络支付与结算》在实用性和操作性方面都具有很强的指导作用。《网络支付与结算》可作为高等院校电子商务专业的本科教材,也可作为从事电子商务相关的企业、事业单位、金融机构等相关人员的参考书籍。 3图书目录编辑第1章 网络支付概述 第2章 网络支付基础 第3章 预付型网络支付方式 第4章 即付型网络支付方式 第5章 后付型网络支付方式 第6章 网络银行及其支付 第7章 移动支付 第8章 网络支付的法规和监管 参考文献 内容简介编辑资金流是电子商务业务流程的重要环节,服务于电子商务资金流的网络支付与结算已经成为商务各方关注的焦点。本书在分析电子商务的发展需求和金融电子化进程的基础上,全面介绍了网络支付与结算的整体理论与应用体系,强调了相关知识的完整性、时效性与发展性。 全书内容共分8章,以典型B to C型网络支付方式、典型B to B型网络支付方式、网络银行服务为核心,系统叙述了它们的背景、概念、支持技术、应用模式与业务流程、应用特点及应用状况,展望了移动商务与移动支付等最新业务,并且在充分结合中国国情的同时辅以大量实例、案例,穿插说明,力求实用。本书语言平实,图文结合,通俗易懂,方便教学与自学。 本书既可作为高等学校电子商务、信息管理、财务管理、工商管理等专业高年级本科生及研究生的教材,也可作为政府部门、企事业单位管理和技术人员的参考书。 6图书目录编辑第1章 电子商务和网络支付 第2章 电子货币与电子银行 第3章 网络支付基础 第4章 网络支付的安全解决方法 第5章 典型B TO C型网络支付方式述解 第6章 典型B TO B型网络支付方式述解 第7章 网络银行及其支付 第8章 移动支付与微支付

2015-01-17

struts2.0中文教程

为Struts 2.0做好准备 http://www.blogjava.net/max/category/16130.html Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易引起“类爆炸” 单元测试困难 这些缺点随着Web的发展越来越明显。这就促生了Struts 2.0,它的诞生能很好的解决上述问题。 好啦,废话就不多说了,现在就让我们感受一下的Struts 2.0的魅力吧。

2015-01-17

WebSphere快速入门

摘要 我们已经走进电子商务时代,本书将带您进入电子商务应用开发的世界。本书第一章介绍电子商务理念及有关技术基础,包括Internet、Web和Java。第二章介绍IBM电子商务应用框架,包括WebSphere。第三章给您带来WebSphere Studio应用开发技术。第四、五章分别介绍新一代Web应用的关键技术:Java Servlet和JSP。第六章介绍新一代Web应用服务器软件:WebSphere应用服务器。第七章带给您新一代Web应用编程技术:WebSphere应用编程技术。本书附录中的实验指导带您一起走过使用WebSphere技术开发电子商务应用的过程。 本书特别适合于信息技术类的高年级大学生和研究生,以及从事电子商务应用开发的技术人员。通过学习本书,您将了解电子商务应用开发的先进技术,并快速掌握WebSphere电子商务应用开发的基本技术。 第一章 电子商务基础知识 Web正改变着我们生活的方方面面,但任何领域都没有象商务运作方式那样经历着一场快速而巨大的变革。众多商家正在准备或已经走向转变到电子商务的道路,即使用Internet技术转变关键的商务过程。本章介绍电子商务理念及有关技术基础,包括Internet、Web和Java。 1.1 电子商务理念 从20世纪70年代以来,很多机构依靠电子数据交换(EDI、Electronic Data Interchange)实现业务处理的自动化。EDI着重于商业伙伴之间的事务处理标准化,但是EDI标准缺乏灵活性和可扩展性。进入20世纪90年代,随着Web技术的发展,尤其是在1995年Java出现以后,许多机构开始采用Web应用系统来支持电子商务。电子商务(e-business)是指借助Internet及相关技术进行商务活动,而一个电子商务(an e-business)是这样的一个机构,它通过内部网、外部网和Web将关键业务系统直接连接到客户、员工、供应商和业务伙伴。一个机构要转型为一个电子商务,就要使用Internet技术转变关键的业务过程,如客户关系管理、电子商贸、供应链管理、企业内部管理。这个转变过程也是一个综合使用Internet技术、信息技术、商务技术转变业务方式的过程。 然而,电子商务不仅仅是技术更新。转变到电子商务必须对需要做什么有一个明确的蓝图,以及对实现这个蓝图有一个清晰的发展指南。电子商务周期模型正是为企业开展电子商务提供了一个模型。电子商务周期(参见图1-1)由四个组成阶段,包括转变、构造、运行和利用。想要转变到电子商务的机构无论何时均可以从任何一个阶段开始。这也是一个重复的过程。 图1-1:电子商务周期模型 1) 转变阶段是关于转变核心的商务过程,也就是要将现有的商务模型扩展到网络世界以创造一个电子商务模型。应用Internet技术为商务创造最大限度的价值,电子商务改变着客户关系管理、供应链和电子商贸的传统准则。在转变商务过程时,每一个商务过程应该放在整体环境中加以考虑。否则,充其量只是离散的各个更好的商务过程,无法带来期望的改善客户服务和提高电子商务价值的效果。 2) 构造阶段是关于构造新的应用系统。转变核心的商务过程需要新一代的应用系统。构造阶段也包括使用一个基于开放标准的途径将已有应用系统迁移到Web上。要求电子商务应用系统是基于标准的、以服务器为中心的、可伸缩的、可快速部署、易用和易管理的。 3) 运行阶段涉及一个可伸缩的、可用的、安全的运行环境。围绕着商务和应用系统通常有一个基础设施。基础设施提供的服务要求是可用的、可伸缩的、易管理的和安全的。 4) 利用阶段是关于知识和信息的利用。这里的焦点是知识管理,也就是说利用我们知道的东西。与信息管理不同,知识管理包括对显式知识和隐式知识的管理。传统的IT系统处理的是显式知识,即能写下来并能编程处理的。而隐式知识是人们知道的但没有被写下来的东西,它基于直觉、经验和洞察力。 从简单的开始,快速地增长。从现有的基础上构造电子商务应用系统,逐步将核心业务扩展到Internet上,最终实现电子商务带来的巨大的投资回报。然而,电子商务的技术基础主要包括Internet、Web和Java,本章以下各节介绍这些技术的基础知识。 1.2 Internet基础知识 Internet已经成为企业、政府和研究机构共享信息的基础设施,同时也是开展电子商务的基础。Internet 的先驱是ARPANET。美国国防高级研究计划局 (Defense Advanced Research Project Agency、简称DARPA)于20 世纪 60 年代后期资助开发了一种叫做 ARPANET的实验性通讯系统。起初,它仅用于连接美国军事机构的计算机网络,但随后不久,这个网络很快扩展到与国防有关的公司和研究机构。从此,面向特定应用需求的不同网络协议及网络技术相继出现,同时也带来了网络互连的问题。如果两个网络使用不同的协议,即使采用某种网络技术将它们在物理上互相连接起来,应用系统(如邮件系统)之间也无法相互沟通。为此,很多组织,如CCITT(Consultative Committee on International Telephony and Telegraphy,现在成为 ITU-T,即International Telecommunications Union - Telecommunication Standardization Sector)和ISO(国际标准化组织),开始考虑定义一套分层协议族,使得应用系统之间能相互通信,即使这些应用系统运行在不同的网络环境中(如不同的操作系统和不同的网络技术)。DARPA从1970年左右开始研究一套称之为TCP/IP的分层协议族,于1978年左右基本定形。ARPANET于1980年左右开始采用TCP/IP协议族,并于1983年全面实现。与此同时,TCP/IP协议族在 UNIX操作系统中也得到了实现(由加利福尼亚大学伯克利分校完成),并免费分发。从此,TCP/IP在大学和研究机构中迅速传播,并成为连接UNIX系统的标准协议。这些互相连接的网络广泛深入到大学和其它组织(一开始主要是非赢利组织)。由于个人计算机的迅速普及,该网络扩展到全球大部分地方,并且开始吸引成千上万的个人以及赢利组织加入,由此逐渐形成了所谓的 Internet(因特网)。Internet指的是全球性互连网络。它由下列网络群构成: 1) 主干网:通常为大规模网络,这些网络主要用来与其它网络互连,如美国的NSFNET(NSF是指美国国家自然科学基金会)、欧洲的EBONE、大型的商用主干网。 2) 区域网:如连接大专院校的区域网。 3) 商用网络:为客户提供连接骨干网的服务的网络,或只供公司内部使用且连接到Internet的网络。 4) 局域网:如校园网。 90年代,Internet发展十分迅猛,这与1991年HTML的问世和Gopher的免费发放有关,也与1993年Mosaic的问世有关,Internet的商用也加速了Internet的扩张。到20世纪末,Internet已经成为一种通过服务器将小型网络连接起来的错综复杂的网络结构。大部分情况下,服务器通过专门进行 Internet 通讯的线路来传送数据。个人计算机则通过直接线路,或者通过电话线和调制解调器连接到这些服务器上。直接线路一般是高速的电讯线路,专门用于在建筑物之间或组织之间传送数据。而标准的电话线路,现在主要是综合业务数字网络(ISDN)的线路,则通常用于连接个人计算机。 1.3 Web基本知识 Web(World Wide Web、万维网)技术是电子商务的核心技术。Web的思想可追溯到Tim Berners-Lee于1989年3月在CERN (Centre European pour la Recherche Nucleaire,或称European Laboratory for Particle Physics、欧洲粒子物理实验室)写的一个关于信息管理的项目建议书(Information Management: A Proposal)。该建议书提出了分布式超文本系统的设想,旨在将CERN已有的几个信息服务器一体化,并提供一个简单的用户界面来存取各种形式的信息。1990年Web浏览器和Web服务器使用面向对象技术相继在CERN实现。Berners-Lee 和他的合作伙伴成功引入了构成Web体系结构的基本元素:Web服务器、Web浏览器、浏览器与服务器之间的通信协议HTTP(Hypertext Transfer Protocol 、超文本传输协议)、写Web文档的语言HTML(Hypertext Markup Language、超文本标记语言)、以及用来标识Web上资源的URL(Universal Resource Locator 、统一资源定位器)。1993年,美国伊利诺斯大学国家超级计算应用中心NCSA (National Center for Supercomputing Applications)的Marc Andreesen及其合作者发布了称为Mosaic的浏览器,这是第一个较健壮的易用的浏览器,它具有友善的图形用户界面。从此,Web迅速成长为全球范围内的信息宝库。1994 年,W3 联盟在Tim Berners-Lee的领导下成立,该组织通过制定技术规范与提供参考软件来发展Web的技术标准并促进Web产品之间的互操作性。 URL(Universal Resource Locator 、统一资源定位器)用来唯一标识Web上的资源,包括Web 页面、图象文件(如gif 格式文件和jpeg格式文件)、音频文件(如au格式)、视频文件 (如mpeg格式文件)。URL的格式为:协议://主机名<:端口号>/标识符(例如 http://www.seu.edu.cn:80/index.html )。协议可以是HTTP、HTTPS(安全的超文本传输协议)、FTP;主机名用来标识被请求的服务器;端口通常为不同协议保留,例如FTP和HTTP守护进程侦听不同的端口,FTP缺省的端口号为21,HTTP缺省的端口号为80;标识符说明被请求的是什么,可以是文件名(含路径)或一个应用关键字 (如/cgi-bin/和/servlet/)加上一些信息(如一个脚本的名字和servlet的名字)。例如,用户键入URL格式的地址(例如 http://www.seu.edu.cn:80/index.html );浏览器请求主机www.seu.edu.cn 在80端口提供的HTTP服务,并要求取得该服务器上的index.html文件;服务器接受请求,取得该文件;服务器把文件返回浏览器,并告诉浏览器这是一个HTML文件;浏览器在显示器上显示这个页面。在浏览器和web服务器之间使用的协议是HTTP。 HTTP(Hyper Text Transfer Protocol、超文本传输协议)是用来在互连网上传输文档的协议,它是Web上最常用也是最重要的协议,也是Web服务器和Web客户(如浏览器)之间传输Web页面的基础。HTTP是建立在TCP/IP之上的应用协议,但并不是面向连接的,而是一种请求/应答(Request/Response)式协议。浏览器通常通过HTTP向Web服务器发送一个HTTP请求,其中包括一个方法、可能的几个头、一个体。常用的方法类型包括:GET(请求一个网页)、POST(传送一个表单中的信息)、PUT(存入这个信息、类似于FTP中的PUT)和DELETE(删除这个信息)。Web服务器接受到HTTP请求之后,执行客户所请求的服务,生成一个HTTP应答返回给客户。HTTP应答有一个状态行、可能的几个头、一个体。在头中可以定义返回文档的内容类型(MIME类型)、Cache控制、失效时间。MIME类型包括:“text/html”(HTML文本)、“image/jpeg”(JPEG图)、“audio/ra”(RealAudio文件)。HTTP本身也在不断完善和发展,目前,常用的是HTTP1.1,它更好地利用TCP的特性,对HTTP1.0作了改进。 HTML (Hypertext Markup Language、超文本标记语言)是Web诞生与发展的要素之一,它旨在使得Web页面能显示在任何HTML使能的浏览器中,而与连网的机器平台无关。HTML并不是一个程序设计语言,而是一个标记语言,它所提供的标记是由SGML(Standard Generalized Markup Language,标准的通用标记语言)定义的。SGML是ISO(国际标准化组织)在1986年推出的一个用来创建标记语言的语言标准,它源自IBM早在1969年开发的GML(Generalized Markup Language),该语言的名称也正好包含了三位创始人姓字的第一个字母,他们分别是Charles F. Goldfarb, Edward Mosher,Raymond Lorie。SGML是一种元语言,即用来定义标记语言的语言,它提供了一种将数据内容与显示分离开来的数据表示方法,使得数据独立于机器平台和处理程序。这些特性促使Tim Berners-Lee 采用SGML来创建称之为HTML的标记语言。1993年形成HTML 1.0,以后不断完善,HTML 4.0发表于1997年。特别需要指出的是HTML提供的链接机制是Web的本质特性之一。但是,HTML更多的关注Web浏览器如何在页面上安排文本、图象和按钮等,过多地考虑外观使其缺乏对结构化数据的表示能力。另外,HTML中有限的标记不能满足很多Web应用的需要,如基于Web的大型出版系统和新一代的电子商务,而为各种应用需要不断地往HTML中增加标记显然不是最终的解决方法,究其原因是HTML缺乏可扩展性。解决方案应该是简化SGML使之能应用到Web上。为此,从1996年开始,W3C(World Wide Web Consortium) 的一个工作组在Jon Bosak的领导下致力于设计一个超越HTML能力范围的新语言,这个语言后来被命名为XML(Extensible Markup Language,可扩展标记语言)。1998年2月,W3C发布了XML 1.0作为其推荐标准。现在,W3C已经用XML设计出一个与HTML4.01功能等价的语言,称为XHTML1.0 (Extensible HyperText Markup Language)。 Web客户通常指的是Web浏览器,如Netscape Navigator和Microsoft Internet Explorer。这种浏览器能理解多种协议,如HTTP、HTTPS、FTP;也能理解多种文档格式,如text、HTML、JPEG(一种图象文件格式)、XML(有的尚未支持);也具备根据对象类型调用外部应用的功能。需要指出的是HTML文档中的链接在Web浏览器中通常以带下划线的方式显示,用户点击某个链接就能浏览到所链接的Web资源,这也是Web的魅力所在。 Web服务器(或称HTTP服务器)提供HTTP服务。本来Web服务器只提供“静态”内容,即返回在URL里指定的文件的内容,一般具备将URL名映射到文件名的功能,并能实施某种安全策略。现在,可采用CGI(通用网关接口)技术或Java Servlet技术从一个运行的程序里得出“动态”内容,可以采用应用关键字(如/cgi-bin/和/servlet/)来组织脚本文件和Servlet文件,而且现在的Web服务器通常还具备连接数据库的功能,这些形成了Web应用的出现。通常,一个Web服务器还提供其它服务,如FTP服务。有的还可作为代理服务器。一个代理服务器是一个可以从别的服务器上为它的客户取文件的服务器。代理服务器可以通过缓存应答(页面)使得响应时间更快,也可以降低网络流量,对外能隐藏内部网信息。 总之,URL、HTTP、HTML(以及XML)、Web服务器和Web浏览器是构成Web的五大要素。Web的本质内涵是一个建立在Internet基础上的网络化超文本信息传递系统,而Web的外延是不断扩展的信息空间。Web的基本技术在于对Web资源的标识机制(如URL)、应用协议(如HTTP和HTTPS)、数据格式(如HTML和XML)。这些技术的发展日新月异,同时新的技术不断涌现,因此Web的发展前景不可限量。 1.4 Java 简介 现代技术的发展,尤其是网络技术,给现代企业带来了许多新的机遇和挑战,如改善客户服务、全球化和信息检索等,这些在技术上反映为信息的获取、系统管理、系统集成、新技术的开发、Internet、Intranet等等与商业的结合。而这些要求一个随处可用的开放的结构和在不同的平台之间低成本的信息传递方式,Java正好满足这些要求。 Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。 Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1.x版发展到1.2版。目前常用的Java平台基于Java1.2。 Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下: 1) Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2) Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。 3) Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 4) Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。 5) Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 6) Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 7) Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。 8) Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。 9) Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。 10) Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。 11) Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。 Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。 1) JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。 2) EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。 3) Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。 4) Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。 5) JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。 6) JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。 7) JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。 8) JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。 在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。 第二章 电子商务应用框架 要转变传统的业务过程,就需要开发和部署电子商务应用系统的一个基础,电子商务应用框架正是这样的一个基础。许多企业希望电子商务应用系统具备下列特征: 1) 基于标准; 2) 以服务器为中心; 3) 可伸缩; 4) 能利用已有的核心系统; 5) 可快速部署和易用; 6) 易管理。 本章介绍的电子商务应用框架能满足企业开发电子商务应用系统的上述需求。所谓一个框架是指一个可复用的设计,表示为一组抽象的元素范例以及元素范例之间合作的接口。框架是有针对性的,如一个用户界面框架只为软件系统的用户界面提供了一个设计,而一个应用框架为整个应用系统提供了一个设计。一个应用框架中的元素范例也可称之为组件。本节介绍的电子商务应用框架基于业界标准;它为开发和部署电子商务应用系统提供了一组完整的服务;它提供的Web应用编程模型定义了Web应用拓扑结构以及使用框架提供的服务来设计Web应用的一个模型。这个框架基于独立于平台和提供商的技术标准,包括关于客户端、应用服务器、网络、数据和基础设施的标准。这些标准使得客户能在任何时候在网络上的任何地方存取有关数据和服务,也使得开发的应用软件只需写一次就能到处运行,并能即插即用各种组件。下面介绍电子商务应用框架的基本系统模型、体系结构和Web应用编程模型。

2015-01-17

经典SQL语句大全

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词 A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、说明:使用外连接 A、left (outer) join: 左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right (outer) join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full/cross (outer) join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。 12、分组:Group by: 一张表,一旦分组 完成后,查询后只能得到组相关的信息。 组相关的信息:(统计信息) count,sum,max,min,avg 分组的标准) 在SQLServer中分组时:不能以text,ntext,image类型的字段作为分组依据 在selecte统计函数中的字段,不能和普通的字段放在一起; .............. 以下省略。。。

2015-01-17

企业应用架构模式

内容简介编辑《企业应用架构模式》作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》获得了2003年度美国软件开发杂志图书类的生产效率奖和读者选择奖。《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整《企业应用架构模式》中还用了大量UML图来进一步阐明有关概念。 《企业应用架构模式》是为致力于设计和构建企业应用的软件架构师、设计人员和编程人员而写的,同时也可作为高等院校计算机专业及软件学院相关课程的参考教材。 3编辑推荐编辑《企业应用架构模式》: 企业应用开发的实践得益于多种新技术的出现,多层的面向对象平台(如Java、.NET)已经日渐平常。这些新工具和新技术有能力构建更强大的企业应用程序,但是在实现上还不太容易。由于开发人员未能充分理解有经验的对象程序开发人员在架构方面的经验和教训.因此企业应用中经常存在一些共同的错误。 《企业应用架构模式》就是面向企业应用开发者的,可帮助他们迎接这种艰难挑战。《企业应用架构模式》的作者Ma riin Fowler注意到,尽管技术本身存在变化——从Smalltalk到CORBA,再到。Java和NET,但基本的设计思想并没有太多变化.可以加以适当调整,用来解决那些共同的问题。在一组专家级合作者的帮助下,作者将40多种经常出现的解决方案转化成模式,最终写成这本能够应用于任何一种企业应用平台的、关于解决方案的、不可或缺的手册。《企业应用架构模式》曾于2002年荣获美国软件开发杂志图书类的生产效率奖和读者选择奖。 《企业应用架构模式》涉及两部分内容。第一部分是关于如何开发企业应用的简单介绍。在阅读这部分时.读者可以从头到尾通读,以掌握《企业应用架构模式》的范围。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册.每个模式都给出使用方法和实现信息,并配有详细的Java代码或C#代码的示例。此外,整《企业应用架构模式》中还用了大量UML图来进一步阐明有关概念。 《企业应用架构模式》主要内容: 将企业应用分层 组织企业业务逻辑的主要方法 在对象和关系数据库之间进行映射的深层次解决方案 通过模型一视图一控制器来组织Web表现 处理跨多事务的数据的并发问题 设计分布式对象接口 4作者简介编辑福勒(Martin Fower),是一位独立咨询顾问,他运用对象技术解决企业问题已经超过十年。他的顾问领域包括健康管理、金融贸易,以及法人财务。他的客户包括Chrysler,Citibank,UK National Health Service,AndersenConsulting,NetscapeCommunications。此外Fowler也是objects、UML、patterns技术的一位合格讲师,他是《AnalysisPatterns》和《UML Distilled》的作者。 5目录编辑译者序 前言 模式列表 引言 1 0.1 架构 1 0.2 企业应用 2 0.3 企业应用的种类 3 0.4 关于性能的考虑 4 0.5 模式 6 0.5.1 模式的结构 7 0.5.2 模式的局限性 9 第一部分 表述 第1章 分层 12 1.1 企业应用中层次的演化 13 1.2 三个基本层次 14 1.3 为各层选择运行环境 15 第2章 组织领域逻辑 19 2.1 抉择 22 2.2 服务层 23 第3章 映射到关系数据库 25 .3.1 架构模式 25 3.2 行为问题 28 3.3 读取数据 29 3.4 结构映射模式 30 3.4.1 关系的映射 30 3.4.2 继承 33 3.5 建立映射 34 3.6 使用元数据 35 3.7 数据库连接 36 3.8 其他问题 38 3.9 进一步阅读 38 第4章 Web表现层 39 4.1 视图模式 41 4.2 输入控制器模式 43 4.3 进一步阅读 43 第5章 并发 45 5.1 并发问题 45 5.2 执行语境 46 5.3 隔离与不变性 47 5.4 乐观并发控制和悲观并发控制 48 5.4.1 避免不一致读 49 5.4.2 死锁 49 5.5 事务 50 5.5.1 ACID 51 5.5.2 事务资源 51 5.5.3 减少事务隔离以提高灵活性 52 5.5.4 业务事务和系统事务 53 5.6 离线并发控制的模式 54 5.7 应用服务器并发 55 5.8 进一步阅读 56 第6章 会话状态 57 6.1 无状态的价值 57 6.2 会话状态 58 6.3 存储会话状态的方法 59 第7章 分布策略 61 7.1 分布对象的诱惑 61 7.2 远程接口和本地接口 62 7.3 必须使用分布的情况 63 7.4 关于分布边界 64 7.5 分布接口 64 第8章 通盘考虑 67 8.1 从领域层开始 67 8.2 深入到数据源层 68 8.2.1 事务脚本的数据源 68 8.2.2 表模块的数据源 69 8.2.3 领域模型的数据源 69 8.3 表现层 69 8.4 一些关于具体技术的建议 70 8.4.1 Java和J2EE 70 8.4.2 .NET 71 8.4.3 存储过程 71 8.4.4 Web Services 72 8.5 其他分层方式 72 第二部分 模 式 第9章 领域逻辑模式 76 9.1 事务脚本(Transaction Script) 76 9.1.1 运行机制 76 9.1.2 使用时机 77 9.1.3 收入确认问题 78 9.1.4 例:收入确认(Java) 78 9.2 领域模型(Domain Model) 81 9.2.1 运行机制 81 9.2.2 使用时机 83 9.2.3 进一步阅读 83 9.2.4 例:收入确认(Java) 84 9.3 表模块(Table Module) 87 9.3.1 运行机制 88 9.3.2 使用时机 90 9.3.3 例:基于表模块的收入确认(C#) 90 9.4 服务层(Service Layer) 93 9.4.1 运行机制 94 9.4.2 使用时机 96 9.4.3 进一步阅读 96 9.4.4 例:收入确认(Java) 96 第10章 数据源架构模式 101 10.1 表数据入口(Table Data Gateway) 101 10.1.1 运行机制 101 10.1.2 使用时机 102 10.1.3 进一步阅读 102 10.1.4 例:人员入口(C#) 103 10.1.5 例:使用数据集(C#) 104 10.2 行数据入口(Row Data Gateway) 106 10.2.1 运行机制 107 10.2.2 使用时机 108 10.2.3 例:人员记录(Java) 108 10.2.4 例:领域对象的数据保持器(Java) 111 10.3 活动记录(Active Record) 112 10.3.1 运行机制 112 10.3.2 使用时机 113 10.3.3 例:一个简单的Person类(Java) 113 10.4 数据映射器(Data Mapper) 115 10.4.1 运行机制 116 10.4.2 使用时机 119 10.4.3 例:一个简单的数据映射器(Java) 119 10.4.4 例:分离查找方法(Java) 123 10.4.5 例:创建一个空对象(Java) 126 第11章 对象-关系行为模式 129 11.1 工作单元(Unit of Work) 129 11.1.1 运行机制 129 11.1.2 使用时机 133 11.1.3 例:使用对象注册的工作单元(Java) 134 11.2 标识映射(Identity Map) 137 11.2.1 运行机制 137 11.2.2 使用时机 139 11.2.3 例:标识映射中的方法(Java) 139 11.3 延迟加载(Lazy Load) 140 11.3.1 运作机制 140 11.3.2 使用时机 142 11.3.3 例:延迟初始化(Java) 142 11.3.4 例:虚代理(Java) 142 11.3.5 例:使用值保持器(Java) 144 11.3.6 例:使用重影(C#) 144 第12章 对象-关系结构模式 151 12.1 标识域(Identity Field) 151 12.1.1 工作机制 151 12.1.2 使用时机 154 12.1.3 进一步阅读 154 12.1.4 例:整型键(C#) 154 12.1.5 例:使用键表(Java) 155 12.1.6 例:使用组合键(Java) 157 12.2 外键映射(Foreign Key Mapping) 166 12.2.1 运行机制 167 12.2.2 使用时机 169 12.2.3 例:单值引用(Java) 169 12.2.4 例:多表查询(Java) 172 12.2.5 例:引用集合(C#) 173 12.3 关联表映射(Association Table Mapping) 175 12.3.1 运行机制 176 12.3.2 使用时机 176 12.3.3 例:雇员和技能(C#) 177 12.3.4 例:使用直接的SQL(Java) 179 12.3.5 例:用一次查询查多个雇员(Java) 182 12.4 依赖映射(Dependent Mapping) 186 12.4.1 运行机制 186 12.4.2 使用时机 187 12.4.3 例:唱片和曲目(Java) 188 12.5 嵌入值(Embedded Value) 190 12.5.1 运行机制 190 12.5.2 使用时机 190 12.5.3 进一步阅读 191 12.5.4 例:简单值对象(Java) 191 12.6 序列化LOB(Serialized LOB) 192 12.6.1 运行机制 193 12.6.2 使用时机 194 12.6.3 例:在XML中序列化一个部门层级(Java) 194 12.7 单表继承(Single Table Inheritance) 196 12.7.1 运行机制 197 12.7.2 使用时机 197 12.7.3 例:运动员的单表(C#) 198 12.7.4 从数据库中加载对象 199 12.8 类表继承(Class Table Inheritance) 202 12.8.1 运行机制 202 12.8.2 使用时机 203 12.8.3 进一步阅读 203 12.8.4 例:运动员和他们的家属(C#) 203 12.9 具体表继承(Concrete Table Inheritance) 208 12.9.1 运行机制 209 12.9.2 使用时机 210 12.9.3 例:具体运动员(C#) 210 12.10 继承映射器(Inheritance Mappers) 214 12.10.1 运行机制 215 12.10.2 使用时机 216 第13章 对象-关系元数据映射模式 217 13.1 元数据映射(Metadata Mapping) 217 13.1.1 运行机制 217 13.1.2 使用时机 218 13.1.3 例:使用元数据和反射(Java) 219 13.2 查询对象(Query Object) 224 13.2.1 运行机制 225 13.2.2 使用时机 225 13.2.3 进一步阅读 226 13.2.4 例:简单的查询对象(Java) 226 13.3 资源库(Repository) 228 13.3.1 运行机制 229 13.3.2 使用时机 230 13.3.3 进一步阅读 231 13.3.4 例:查找一个人所在的部门(Java) 231 13.3.5 例:资源库交换策略(Java) 231 第14章 Web表现模式 233 14.1 模型-视图-控制器(Model View Controller) 233 14.1.1 运行机制 233 14.1.2 使用时机 234 14.2 页面控制器(Page Controller) 235 14.2.1 运行机制 235 14.2.2 使用时机 236 14.2.3 例:Servlet控制器和JSP视图的简单演示(Java) 236 14.2.4 例:使用JSP充当处理程序(Java) 238 14.2.5 例:代码隐藏的页面控制器(C#) 241 14.3 前端控制器(Front Controller) 243 14.3.1 运行机制 244 14.3.2 使用时机 245 14.3.3 进一步阅读 246 14.3.4 例:简单的显示(Java) 246 14.4 模板视图(Template View) 248 14.4.1 运行机制 249 14.4.2 使用时机 251 14.4.3 例:分离的控制器,使用JSP充当视图(Java) 252 14.4.4 例:服务器页面(C#) 253 14.5 转换视图(Transform View) 256 14.5.1 运行机制 256 14.5.2 使用时机 257 14.5.3 例:简单的转换(Java) 257 14.6 两步视图(Two Step View) 259 14.6.1 运行机制 259 14.6.2 使用时机 260 14.6.3 例:两阶XSLT(XSLT) 264 14.6.4 例:JSP和定制标记(Java) 266 14.7 应用控制器(Application Controller) 269 14.7.1 运行机制 270 14.7.2 使用时机 271 14.7.3 进一步阅读 271 14.7.4 例:状态模型应用控制器(Java) 271 第15章 分布模式 275 15.1 远程外观(Remote Facade) 275 15.1.1 运行机制 276 15.1.2 使用时机 278 15.1.3 例:使用Java语言的会话bean来作为远程外观(Java) 278 15.1.4 例:Web Service(C#) 281 15.2 数据传输对象(Data Transfer Object) 285 15.2.1 运行机制 285 15.2.2 使用时机 288 15.2.3 进一步阅读 289 15.2.4 例:传输唱片信息(Java) 289 15.2.5 例:使用XML实现序列化(Java) 293 第16章 离线并发模式 295 16.1 乐观离线锁(Optimistic Offline Lock) 295 16.1.1 运行机制 296 16.1.2 使用时机 298 16.1.3 例:领域层与数据映射器(Java) 298 16.2 悲观离线锁(Pessimistic Offline Lock) 302 16.2.1 运行机制 303 16.2.2 使用时机 305 16.2.3 例:简单锁管理对象(Java) 305 16.3 粗粒度锁(Coarse-Grained Lock) 310 16.3.1 运行机制 310 16.3.2 使用时机 312 16.3.3 例:共享的乐观离线锁(Java) 312 16.3.4 例:共享的悲观离线锁(Java) 316 16.3.5 例:根对象乐观离线锁(Java) 317 16.4 隐含锁(Implicit Lock) 318 16.4.1 运行机制 318 16.4.2 使用时机 319 16.4.3 例:隐含的悲观离线锁(Java) 319 第17章 会话状态模式 321 17.1 客户会话状态(Client Session State) 321 17.1.1 运行机制 321 17.1.2 使用时机 322 17.2 服务器会话状态(Server Session State) 322 17.2.1 运行机制 322 17.2.2 使用时机 324 17.3 数据库会话状态(Database Session State) 324 17.3.1 运行机制 324 17.3.2 使用时机 325 第18章 基本模式 327 18.1 入口(Gateway) 327 18.1.1 运行机制 327 18.1.2 使用时机 328 18.1.3 例:私有消息服务的入口(Java) 329 18.2 映射器(Mapper) 331 18.2.1 运行机制 332 18.2.2 使用时机 332 18.3 层超类型(Layer Supertype) 332 18.3.1 运行机制 332 18.3.2 使用时机 333 18.3.3 例:领域对象(Java) 333 18.4 分离接口(Separated Interface) 333 18.4.1 运行机制 334 18.4.2 使用时机 335 18.5 注册表(Registry) 335 18.5.1 运行机制 336 18.5.2 使用时机 337 18.5.3 例:单子注册表(Java) 337 18.5.4 例:线程安全的注册表(Java) 338 18.6 值对象(Value Object) 339 18.6.1 运行机制 339 18.6.2 使用时机 340 18.7 货币(Money) 340 18.7.1 运行机制 341 18.7.2 使用时机 342 18.7.3 例:货币类(Java) 343 18.8 特殊情况(Special Case) 346 18.8.1 运行机制 347 18.8.2 使用时机 347 18.8.3 进一步阅读 347 18.8.4 例:一个简单的空对象(C#) 347 18.9 插件(Plugin) 348 18.9.1 运行机制 349 18.9.2 使用时机 350 18.9.3 例:ID生成器(Java) 350 18.10 服务桩(Service Stub) 352 18.10.1 运行机制 352 18.10.2 使用时机 353 18.10.3 例:销售税服务(Java) 353 18.11 记录集(Record Set) 355 18.11.1 运行机制 355 18.11.2 使用时机 356 参考文献 359 6序言编辑“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。” —Christopher Alexander 本书是面向对象大师Martin Fowler继《Analysis Patterns》、《UML Distilled》、《Planning Extreme Programming》、《Refactoring》之后的又一力作。 “温故而知新”。Fowler在本书中再次向我们证明了《礼记》中这句古训的震撼力—他在回头审视自己及同仁多年来从事企业应用开发的经验和教训后,归纳总结了40多种企业应用架构的设计模式。这些模式从不同层次、不同侧面向我们展示了什么是好的企业应用架构?如何设计好的企业应用? 正如作者自己所言,企业应用在某些方面比其他软件(如电信通信软件)复杂得多:纷繁复杂的企业数据、“不合逻辑”的业务规则、变化莫测的用户需求,等等。环顾四周—CORBA、J2EE、.NET—企业应用开发技术可谓“前仆后继、层出不穷”,开发平台的种类之多就更不必说。 招式套路可以千变万化,扎实深厚的“内功”却是始终如一!虽然企业应用涉及的软件技术不断翻新,但是基本的架构及设计思想却没有太多变化。将以前行之有效的设计思路和方法加以适当调整,并应用到当前的问题上,是最高效的做法。在一组专家级合作者的帮助下,Martin将40多种经常出现的解决方案转化成模式,最终融会成这本“内功心法”。在仔细研读、用心揣摩本书之后,希望它能够帮助你应对任何一种企业应用平台,驾驭任何一种企业应用技术—无论是现在的技术还是未来的技术。 熟悉Fowler的读者都知道,这位大师的写作风格可谓是“深入浅出,娓娓道来”。本书也是一样。前8章是关于企业应用的背景知识,如分层架构、Web表现、业务逻辑、数据库映射、并发、会话、分布策略,等等。在此基础上,随后的各章分别对与这些背景知识相关的设计模式进行了详细的介绍。与其他设计模式的书一样,本书从模式的使用场景、解决方案、UML表示等方面予以介绍,详略有致。就连示例的编程语言的选取—Java和C#—也是与他的写作风格一脉相承的。 夜已深,窗外依旧是绵绵不断的早春小雨。让我们酌一杯清茶,一起来品味大师的话,一起来品味“源于实践、指导实践”的苦涩与甘甜— “模式的关键点是它们源于实践。必须观察人们的工作过程,发现其中好的设计,并找出‘这些解决方案的核心’。这不是一个简单的过程,但是一旦发现了某个模式,它将是非常有价值的。对于我来说,价值之一是能够撰写这样一本参考书。你不必通读本书的全部内容,也不必通读任何一本有关模式的书。只需要了解到这些模式都是干什么的、它们解决什么问题、它们是如何解决问题的,就足够了。这样,一旦你碰到类似问题,就可以从书中找出相应的模式。那时,你再深入了解相应的模式也为时不晚。” 7文摘编辑我虽然没有从事过早期批处理系统时期的任何工作,但我认为当时的软件工作人员不会太关注层次的概念,只要编写操作某些文件(ISAM、VSAM等)格式的程序,这就是当时的应用。它不需要层次。 20世纪90年代,随着客户/服务器系统的出现,分层的概念更明显了。这样的系统是一种两个层次的系统:客户端包括用户界面和其他应用代码,服务器端通常是关系型数据库。常见的客户端工具如VB、PowerBuilder和Delphi。这些工具使得构建数据密集型应用非常容易。因为它们的用户界面控件通常都是SQL感知的。因此,可以通过将控件拖拽到“设计区域”来建立界面,然后再使用属性表单把控件连接到后台数据库。 如果应用仅仅包括关系数据的简单显示和修改,那么这种客户/服务器系统的工作方式非常合适。问题来自领域逻辑:如业务规则、验证、计算等。通常,人们会把它们写在客户端,但是这样很笨拙,并且往往把领域逻辑直接嵌入到用户界面。随着领域逻辑的不断复杂化,这些代码将越来越难以使用。而且,这样做很容易产生冗余代码,这意味着简单的变化都会导致要在很多界面中寻找相似代码。 另外一种办法是把这些领域逻辑放到数据库端,作为存储过程。但是,存储过程只提供有限的结构化机制,这将再次导致笨拙的代码。而且,很多人喜欢关系型数据库的原因之一是SQL是一个标准,允许他们更换数据库厂商。尽管真正更换数据库厂商的用户寥寥无几,但还是有很多人希望拥有这种选择,并且没有太大的附加代价。由于存储过程都是数据库厂商私有的,因此普通用户被剥夺了这种选择权。 在客户/服务器方式逐渐大众化的同时,面向对象方式开始崛起。面向对象为领域逻辑的问题找到了答案:转到三层架构的系统。在这种方式下,在表现层实现用户界面,在领域层实现领域逻辑,在数据源层存取数据。这种方式使你可以将复杂的领域逻辑从界面代码中抽取出来,单独放到中间层,用对象加以建模和组织。

2015-01-17

JDK1.6 32位

适用于您的计算机(windows)的 Java 软件,即 Java Runtime Environment,也称为 Java Runtime、运行时环境、运行时、jre、Java 虚拟机、虚拟机、Java VM、JVM、VM,或 Java 下载。 JDK 支持 Intel 和 100% 兼容处理器。推荐使用物理内存至少为 64MB 的 Pentium 166MHz 或更快处理器。此外,还应至少拥有 98MB 的可用磁盘空间。 JDK的安装路径:D:\Program Files\Java\jdk1.6.0_43 这是jre的安装路径:D:\Program Files\Java\jre6 安装完成后对环境变量进行配置:(Win7) 计算机-属性-高级系统设置---环境变量 首先,在系统变量中新建JAVE_HOME,路径为D:\Program Files\Java\jdk1.6.0_43 其次,在系统变量的Path的路径最前面,添加 D:\Program Files\Java\jdk1.6.0_43\bin;D:\Program Files\Java\jre6\bin; 最后,在系统变量中新建CLASSPATH,路径为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 配置完成进行验证: C:\Users\dallen>java -version java version "jdk1.6.0_43" Java(TM) SE Runtime Environment (build 1.6.0_43-b01) Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode) 编个小程序测试一下,建一个文件test.java class test { public static void main(String[] args) { System.out.println("Hello World!"); } } 编译一下 C:\>javac test.java C:\>java test Hello World!

2015-01-08

java 类加载调试

学习类装入的工作方式以及 JVM 如何帮助找出类装入问题 Lakshmi Shankar, Java 技术中心开収团队, IBM Hursley 实验室 Simon Burns ([email protected]), Java 技术中心开収团队, IBM Hursley 实验室 简介: 类装入组件是 Java™ 虚拟机的基础。虽然开収人员一般对类装入的基础有良好的掌握,但是当问题収生时,在诊断问题和确定解决方案方面可能迓要有一定的困难。在返仹由四部分组成的系列中,Lakshmi Shankar 和 Simon Burns 讨论了在 Java 开収中可能遇到的各种类装入问题,解释了它们为什么会収生和如何解决它们。他们提供的见解有助亍理解和解决常见的 Java 异常,例如 NoClassDefFoundError 和 ClassNotFoundException,以及更有挅戓性的问题,例如类装入器约束迗反和死锁。在第 1 部分中,他们详细描述了 Java 类装入的工作方式,讨论了 JVM 中可以帮助诊断类装入问题的工具。

2014-12-22

DB2经验积累

1 前言.................................................................................................................................................................. 7 2 DB2专有名词解释...................................................................................................................................... 7 2.1 Instance(实例)..................................................................................................................................... 7 2.2 DB2 Administration Server(管理服务器).................................................................................. 7 2.3 Container(容器).................................................................................................................................. 7 2.4 DRDA....................................................................................................................................................... 8 2.5 DARI........................................................................................................................................................ 8 2.6 SPM.......................................................................................................................................................... 8 2.7 FCM.......................................................................................................................................................... 8 2.8 ADSM...................................................................................................................................................... 8 2.9 DCE........................................................................................................................................................... 8 3 DB2编程......................................................................................................................................................... 8 1.1 执行文件中的脚本........................................................................................ 错误!未定义书签。 1.2 建存储过程时Create 后一定不要用TAB键............................................................................... 9 1.3 使用临时表............................................................................................................................................. 9 1.4 从数据表中取指定前几条记录........................................................................................................ 10 1.5 游标的使用........................................................................................................................................... 10 注意commit和rollback............................................................................................................................. 10 游标的两种定义方式.................................................................................................................................. 10 修改游标的当前记录的方法...................................................................................................................... 11 1.6 类似decode的转码操作.................................................................................................................. 11 1.7 类似charindex查找字符在字串中的位置................................................................................. 12 1.8 类似datedif计算两个日期的相差天数....................................................................................... 12 1.9 写UDF的例子..................................................................................................................................... 12 1.10 创建含identity值(即自动生成的ID)的表................................................................................. 12 1.11 预防字段空值的处理.......................................................................................................................... 12 1.12 取得处理的记录数.............................................................................................................................. 13 1.13 从存储过程返回结果集(游标)的用法............................................................................................. 13 1.14 类型转换函数....................................................................................................................................... 14 1.15 存储过程的互相调用.......................................................................................................................... 14 1.16 C存储过程参数注意.......................................................................................................................... 14 1.17 存储过程fence及unfence............................................................................................................ 15 1.18 SP错误处理用法................................................................................................................................. 15 1.19 values的使用..................................................................................................................................... 16 1.20 给select 语句指定隔离级别......................................................................................................... 16 1.21 atomic及not atomic区别........................................................................................................... 16 1.22 C及SQL存储过程名称都要注意长度........................................................................................... 16 1.23 怎样获得自己的数据库连接句柄.................................................................................................... 17 1.24 类似于ORACLE的Name pipe....................................................................................................... 17 1.25 类似于ORACLE的TRUNCATE清表但不记日志的做法.......................................................... 17 1.26 用cli编程批量的insert................................................................................................................. 17 4 DB2一些不好的限制............................................................................................................................... 22 4.1 临时表不能建索引.............................................................................................................................. 22 4.2 cursor不能定义为with ur(可以但…)....................................................................................... 22 4.3 cursor order by以后不能for update..................................................................................... 22 4.4 程序中间不能自由改变隔离级别.................................................................................................... 22 4.5 update 不能用一个表中的记录为条件修改另一个表中的记录。........................................ 22 4.6 如果显示调用存储过程时传 null值要注意............................................................................... 22 5 DB2编程性能注意.................................................................................................................................... 23 5.1 大数据的导表的使用(export,load,import)(小心)................................................................... 23 5.1.1 import的用法................................................................................................................................. 23 5.1.2 性能比较..................................................................................................................................... 23 5.1.3 export用法...................................................................................................................................... 23 5.2 SQL语句尽量写复杂SQL................................................................................................................. 24 5.3 SQL SP及C SP的选择.................................................................................................................... 24 5.4 查询的优化(HASH及RR_TO_RS).................................................................................................. 24 5.5 避免使用count(*) 及exists的方法........................................................................................... 25 5.6 Commit的次数要适当...................................................................................................................... 25 5.7 Insert和update速度比较............................................................................................................. 25 5.8 使用临时表取代一条一条插入........................................................................................................ 26 5.9 循环次数很多时注意减少执行语句(附例子)................................................................................ 26 5.10 看程序执行时间及结果db2batch................................................................................................. 28 5.11 看程序或语句具体的执行计划shell(改写后的语句)......................................................... 28 5.12 两个表做join的不同方式的区别................................................................................................... 28 5.12.1 not in方式.................................................................................................................................. 28 5.12.2 except方式................................................................................................................................. 29 5.12.3 not exist方式.............................................................................................................................. 30 6 其他系统和DB2的交互.......................................................................................................................... 31 6.1 DELPHI中从db2取bigint的数据................................................................................................ 31 7 DB2表及sp管理...................................................................................................................................... 31 7.1 权限管理............................................................................................................................................... 31 7.1.1 数据库权限控制........................................................................................................................ 31 7.1.2 schema权限控制............................................................................................................................ 31 7.1.3 tablespace权限控制..................................................................................................................... 32 7.1.4 table权限控制................................................................................................................................ 32 7.1.5 package权限控制......................................................................................................................... 32 7.2 建存储过程会占用很多的系统资源(特别是io)..................................................................... 32 7.3 看存储过程文本.................................................................................................................................. 33 7.4 看表结构............................................................................................................................................... 33 7.5 看表的索引信息.................................................................................................................................. 33 7.6 查看各表对sp的影响(被哪些sp使用).......................................................................................... 33 7.7 查看sp使用了哪些表........................................................................................................................ 33 7.8 查看function被哪些sp使用........................................................................................................ 33 7.9 查sp的ID号........................................................................................................................................ 34 7.10 从sp的id号查存储过程名称.......................................................................................................... 34 7.11 创建及使用summary table........................................................................................................... 34 7.12 修改表结构........................................................................................................................................... 34 7.13 给一个表改名....................................................................................................................................... 35 7.14 得到一个表或库的相关脚本............................................................................................................. 35 7.15 在对表操作的性能下降后对表做整理........................................................................................... 35 7.16 查看语句的执行计划.......................................................................................................................... 36 7.17 查看sp的执行计划............................................................................................................................. 36 7.18 更改存储过程的隔离级别................................................................................................................. 37 7.19 取全部表的大小.................................................................................................................................. 37 8 DB2系统管理............................................................................................................................................. 38 8.1 DB2 EE及WORKGROUP版本的区别......................................................................................... 38 8.2 怎样判断DB2实例的版本号和修补级别?.................................................................................. 38 8.3 DB2客户端安装时选择语言............................................................................................................. 40 8.4 DB2安装............................................................................................................................................... 40 8.4.1 AIX中自动启动db2...................................................................................................................... 40 8.4.2 AIX中用户使用db2的环境........................................................................................................ 42 8.4.3 在win98下安装db2报Jdbc错误....................................................................................... 43 8.4.4 将一台机器上的数据库复制到另外一台机器.................................................................... 44 8.4.5 在WIN2000下编译本地sp设置........................................................................................ 44 8.5 安装另一个instance要注意的地方............................................................................................. 44 8.5.1 通讯配置..................................................................................................................................... 45 8.5.2 更改文件权限............................................................................................................................. 45 8.6 Db2的C编译报没有licsence....................................................................................................... 45 8.7 Db2的进程管理................................................................................................................................... 45 8.8 创建Database.................................................................................................................................... 46 8.9 Database的备份................................................................................................................................ 46 8.10 Tablespace.......................................................................................................................................... 46 8.10.1 创建临时表空间........................................................................................................................ 46 8.10.2 将Tablespace授权给用户使用.............................................................................................. 47 8.10.3 看Tablespace信息................................................................................................................... 47 8.10.4 去掉tag....................................................................................................................................... 47 8.11 手工做数据库别名配置及去除该别名配置................................................................................... 47 8.12 手工做数据库远程(别名)配置.......................................................................................................... 48 8.13 停止启动数据库实例.......................................................................................................................... 48 8.14 连接数据库及看当前连接数据库.................................................................................................... 48 8.15 停止启动数据库head....................................................................................................................... 48 8.16 查看及停止数据库当前的应用程序................................................................................................ 49 8.17 查看本instance下有哪些database........................................................................................... 49 8.18 查看及更改数据库head的配置..................................................................................................... 49 8.18.1 设置使用2G以外的内存........................................................................................................ 50 8.18.2 更改Buffer pool的大小........................................................................................................... 50 8.18.3 更改dbheap的大小................................................................................................................. 50 8.18.4 改catalogcache的大小........................................................................................................... 50 8.18.5 改事务buff的大小.................................................................................................................... 50 8.18.6 改工具堆大小............................................................................................................................. 51 8.18.7 改排序堆的大小........................................................................................................................ 51 8.18.8 改stmtheap的大小................................................................................................................... 51 8.18.9 改事务日志的大小.................................................................................................................... 51 8.18.10 改锁的相关参数的大小....................................................................................................... 52 8.18.11 出现程序堆内存不足时修改程序堆内存大小................................................................ 52 8.18.12 NUM_IOCLEANERS及NUM_IOSERVERS数量设置...................................................... 53 8.18.13 成组commit设置MINICOMMIT...................................................................................... 53 8.18.14 设置连接数的相关参数MAXAPPLS................................................................................ 53 8.18.15 设置包缓冲区PCKCACHESZ........................................................................................... 53 8.19 日志管理............................................................................................................................................... 53 8.19.1 更改日志文件的存放路径....................................................................................................... 53 8.19.2 监控应用程序日志使用情况................................................................................................... 54 8.19.3 循环日志和归档日志................................................................................................................ 54 8.19.4 循环日志日志满的原因........................................................................................................... 54 8.20 查看及更改数据库实例的配置........................................................................................................ 54 8.20.1 打开对锁定情况的监控。....................................................................................................... 54 8.20.2 更改诊断错误捕捉级别........................................................................................................... 55 8.20.3 更改最大代理数........................................................................................................................ 55 8.21 db2环境变量....................................................................................................................................... 55 8.22 db2命令环境设置............................................................................................................................... 56 8.23 改变隔离级别....................................................................................................................................... 57 8.24 管理db\instance的参数................................................................................................................. 57 8.25 升级后消除版本问题.......................................................................................................................... 57 8.26 查看数据库表的死锁.......................................................................................................................... 57 8.27 查看数据库的事件.............................................................................................................................. 58 8.28 数据库性能下降后做runstats及rebind包。......................................................................... 58 8.29 修复诊断数据库db2dart的使用................................................................................................... 59 8.30 获取数据库的信息db2support的使用........................................................................................ 59 8.31 分析DB2diag.log的方法................................................................................................................. 59 8.31.1 Obj={pool:2;obj:10;type:0}含义............................................................................................ 59 8.31.2 错误信息所在位置1(errno)................................................................................................... 59 8.31.3 错误信息所在位置1(FFFF nnnn 或 nnnn FFFF)........................................................... 60 9 DB2一般问题............................................................................................................................................. 60 9.1 有关锁的知识....................................................................................................................................... 60 9.2 有关锁的对象知识.............................................................................................................................. 61 10 DB2疑难问题............................................................................................................................................. 61 10.1 建SP时drop不掉怎么办................................................................................................................ 61 10.2 C的过程老是出现时间戳问题?..................................................................................................... 61 10.3 FOR CURSOR问题?......................................................................................................................... 62 10.4 数据库启动资源冲突问题................................................................................................................. 63 10.5 DB2stop不下去问题......................................................................................................................... 63 10.6 数据库日志满问题.............................................................................................................................. 63 10.7 Force Application导致instance崩溃问题............................................................................ 64 10.8 存储过程名称和过程运行有关的问题........................................................................................... 64 10.9 看Db2diag.log中的内容................................................................................................................. 64 10.10 decimal除法的问题,Db2做sum时有bug(实际上不是)................................................. 65 10.11 case的问题..................................................................................................................................... 66 10.12 一个较复杂sql语句错误............................................................................................................. 68 10.13 编译语句挂起的现象..................................................................................................................... 71 10.14 远程连接连不上去,报tcp/ip错误.......................................................................................... 74 10.15 tabspce实际上没有表,但还是报满....................................................................................... 74 11 DB2编程教训............................................................................................................................................. 75 11.1 常被大家访问同一记录的表的修改................................................................................................ 75 11.2 大表改小表........................................................................................................................................... 76 11.3 查询表数据使用ur的隔离级别...................................................................................................... 76 11.4 Delete,update后及时commit................................................................................................... 76 12 AIX系统管理.............................................................................................................................................. 76 12.1 查看磁盘使用情况.............................................................................................................................. 76 12.2 看目录的文件占用硬盘情况............................................................................................................. 77 12.3 看IO情况............................................................................................................................................. 77 12.4 查看CPU情况..................................................................................................................................... 77 12.5 查看系统资源总的使用情况............................................................................................................. 77 12.6 看正在运行的线程/进程.................................................................................................................... 77 12.6.1 看正在运行的线程.................................................................................................................... 77 12.6.2 看按占cpu比例排序的进程................................................................................................... 77 12.6.3 看按占内存比例排序的进程................................................................................................... 77 12.7 查看内存使用情况.............................................................................................................................. 78 12.8 查看共享内存、消息队列等使用情况........................................................................................... 78 12.9 根下不要建文件系统.......................................................................................................................... 78 12.10 文件操作........................................................................................................................................... 78 12.10.1 看文本文件自动新增长内容.............................................................................................. 78 12.10.2 将大文件拆分........................................................................................................................ 78 12.10.3 文件打包................................................................................................................................. 79 12.10.4 文件压缩................................................................................................................................. 79 12.10.5 文件解压................................................................................................................................. 79 12.10.6 bz2文件处理.............................................................................................................................. 79 12.11 看逻辑卷信息.................................................................................................................................. 79 12.12 重启机器........................................................................................................................................... 79 13 AIX系统限制.............................................................................................................................................. 80 13.1 Fork太多会导致系统崩溃............................................................................................................... 80 13.2 对文件大小的限制.............................................................................................................................. 80 13.3 磁带备份的速度.................................................................................................................................. 80 14 AIX及DB2相关文档及网站................................................................................................................. 80 14.1 取db2最新补丁程序......................................................................................................................... 80 14.2 国际化的DB2用户组织.................................................................................................................... 81 14.3 错误信息所在位置1(errno)............................................................................................................ 81 14.4 错误信息所在位置1(FFFF nnnn 或 nnnn FFFF)....................................................................... 81 15 DB2和oracle的对比.......................................................................................................................... 81 15.1 用户管理不一样.................................................................................................................................. 81 15.2 表空间使用不一样.............................................................................................................................. 81 15.3 保证事务的一致性方式不一样........................................................................................................ 82 16 oracle上sql语句性能优化(DB2也可以参考).................................................................. 82 16.1 oracle中索引问题............................................................................................................................ 82 16.2 oracle中索引问题............................................................................................................................

2014-12-22

JAVA优化编程

本书通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析了影响Java应用程序性能的根本原因。本书不是教你怎样使用Java语言开发应用程序,而是教你怎样才能开发出更高效、更优秀的Java应用程序。书中每一个例子都经过了作者严格的验证。 本书适合于所有想编写更高效、完美Java应用程序的开发人员阅读。

2014-12-22

Ext 3.0 API

Ext JS相关资源中文化(2007年初起) 1. 备忘 1.此版本为公开测试版alpha 0.3 把我们当前已完成汉化的公开。 Google SVN在http://code.google.com/p/chineseext/; 2.汉化工作持续进行中,有兴趣的朋友,不要犹豫了,加入我们翻译小组;

2014-12-22

Socket编程

新的应用程序每天在互联网上层出不穷。随着日益增加的互联网访问带宽,我们可以预见,互联网将会对人们将来的生活产生长远的影响。 那么程序是如何通过网络进行相互通信的呢?本书的目的就是通过在Java编程语言环境下,带领你进入对这个问题的解答之路。Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。

2014-12-22

WebService开发指南

上次介绍了axis1.x的用法,这次继续上次的,将叙述axis2的用法。 1、开发准备 首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包。 Axis2的简单WebService示例 1、编写一个简单的WebService的服务器端代码 三、 复杂对象类型的WebService 1、这次我们编写复杂点的WebService方法,返回的数据是我们定义属性带getter、

2014-12-22

Websphere MQ入门教程

中间件处于应用软件和系统软件之间,是一种以自己的复杂换取企业应用简单化的可复用的基础软件。在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计和管理,复杂多变的网络环境,数据分散处理带来的不一致性,性能和效率、安全问题等等。这些问题与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终形成为了中间件产品。 从技术上讲,中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

2009-12-12

北京 亿阳信通笔试题

北京亿阳信通笔试题,欢迎下载参阅,希望对各位有帮助---------------

2009-10-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除