中国银行(BOC)]笔试必备的计算机网络习题
中国银行(BOC)]笔试必备的计算机网络习题
最新电信笔试题目资料
本套试题共分3大类:基础类、市场运营类和网络运营类。其中针对服务管控受众的试题是基础类试题,针对市场运营受众的试题是基础类和市场运营类试题,针对网络运营受众的试题是基础类和网络运营类试题。题型有:判断题、单项选择题和多项选择题。标红部分为题目参考答案。
C++编程实例详解.
C++编程实例详解from scratch_ 各位C++爱好者可以下载参考学习
软件破解入门教程和解密手册
作为一个电脑爱好者,相信手头一定有不少酷软,但往往这些软件有各种限制,所以你是不是常常为了一个小小的注册码,而经常头痛呢?是不是为了找到一个软件的注册码而费尽心机呢?但大家是否想过自己来破解软件得出注册码?
你也许会说太难了,网上找一个注册码得了,如果你是用自己的技术把软件注册了,一定会有另一番美妙感受。况且一些软件不一定在刚想用的时后,网上就能找到注册码的。
其实破解的乐趣远不在此。
当你去破一个软件时,那种对知识的渴望,对技术的追求,将使迫使你勤奋的学习,来不断的完善自己的知识。特别是对电脑的了解,会有一个质的飞跃。
C/C++ C# 程序员实用大全(精华版)
C/C++ C# 程序员实用大全(精华版)
组讨论的经典面试题目
组讨论的经典面试题目,希望对大家面试有用
华为C++笔试题..
华为C++笔试题,需要找工作,想进华为搞软件,可以下载来参考
析防火墙规则的专家系统的研究与实现
析防火墙规则的专家系统的研究与实现,欢迎参考
大型网络的整个安装与配置全过程
大型网络的整个安装与配置全过程,欢迎参考
J2EE学习笔记 J2EE学习笔记
J2EE学习笔记 J2EE学习笔记,欢迎分享
简历模板集锦....
各位需要找工作的朋友,可以下载这些模板,做出自己漂亮一份的简历
access 数据库开发及工程实例
access 数据库开发及工程实例,大家可以下载学习
Java+sql 超市购物进销存系统(源代码)
本软件运行环境: JDK1.5+SQL2000SP4
源代码运行环境: JBuider2006+ SQL2000SP4
用JBuider2006打开 \超市购物系统\Lgcsgwxt\Lgcsgwxt.jpx
数据库: \超市购物系统\database\SuperMarket_Data.MDF
本软件用JDBC联的数据库, JBuider2006下运行需把SQL文件夹下的三个JAR包倒入
软件大小:压缩包约2M,解压后约9M
软件分前台收银和收台管理两大部分:
前台可对不同会员卡产生不同的折扣率,前台涉及三张数据库表的操作:
商品表—用来查找相应的商品信息
销售表—用来记录每次销售的商品信息
库存表.—每次销售的商品要从库存中减去相应的商品数量
后台涉及商品的查询及管理,主要功能有:
商品分类查询及单个商品的查询
商品销售统计,可根据不同的时间段,不同的商品编码,进行相应的统计
商品进/出货
商品出/入库
商品采购
商品付款单
新增商品---------用于录入超市原来没有的商品
会员卡的增,删,改,查
c++到vc++精彩100例
c++到vc++精彩100例,欢迎下载学习
vc++6.0 用户界面制作技术与应用实例
vc++6.0 用户界面制作技术与应用实例
c语言学习100例实例程序
c语言学习100例实例程序,欢迎大家下载参考
ASP.NET 中国工商网电子商务购物中心系统EMall v1.0 (全源码)
ASP.NET 中国工商网电子商务购物中心系统EMall v1.0 (全源码)
java的基本编程规范
java的基本编程规范,欢迎大家参考下载
java语言入门中文版
java语言入门中文版,希望对大家学习有用处,欢迎下载
C++学生学籍管理系统设计
C++学生学籍管理系统设计,欢迎各位下载参考
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
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
网上支付安全
内容简介编辑《网上支付与安全》分别介绍了支付体系、支付方式、支付工具等基
础知识以及各种典型的网上支付(包括互联网络支付、移动网络支付、固话网络支付等);同时分析了网上支付存在的安全问题与需求,并介绍了各种网上支付安全技术;此外还分别介绍了各种支付方式的支付流程、支付过程存在的安全问题以及相应的解决方法和技术。
《网上支付与安全》可以作为高等院校电子商务、计算机、金融学、财经专业及相关专业的教材或教学参考书;也可作为从事金融信息化、电子商务、IT应用软件研制和开发的科研人员,金融系统的各级管理人员、银行工作人员,以及广大电子商务爱好者的参考用书。
3图书目录编辑第1章 支付基础理论1
第2章 网上银行支付35
第3章 移动支付71
第4章 电话支付101
第5章 自助银行支付128
第6章 第三方支付154
第7章 中国银联与电子支付182
第8章 跨行支付209
第9章 网上支付安全技术237
第10章 认证中心269
参考文献298
[网络支付与结算].徐勇
内容简介编辑《网络支付与结算》从一个新的角度来讲述网络支付工具及其应用:以消费者(购买者)进行网络支付时,其资金是否立刻发生转移来分析各种网络支付方式。基于这个角度,将网络支付模式分为:预付型、即付型和后付型。《网络支付与结算》提供了与网络支付有关的大量案例、资料和形式多样的思考与练习题,以供阅读、训练使用,便于读者对所学知识的巩固和分析能力的培养.《网络支付与结算》在实用性和操作性方面都具有很强的指导作用。《网络支付与结算》可作为高等院校电子商务专业的本科教材,也可作为从事电子商务相关的企业、事业单位、金融机构等相关人员的参考书籍。
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章 移动支付与微支付
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的魅力吧。
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应用编程模型。
经典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统计函数中的字段,不能和普通的字段放在一起;
..............
以下省略。。。
企业应用架构模式
内容简介编辑《企业应用架构模式》作者是当今面向对象软件开发的权威,他在一组专家级合作者的帮助下,将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是一个标准,允许他们更换数据库厂商。尽管真正更换数据库厂商的用户寥寥无几,但还是有很多人希望拥有这种选择,并且没有太大的附加代价。由于存储过程都是数据库厂商私有的,因此普通用户被剥夺了这种选择权。
在客户/服务器方式逐渐大众化的同时,面向对象方式开始崛起。面向对象为领域逻辑的问题找到了答案:转到三层架构的系统。在这种方式下,在表现层实现用户界面,在领域层实现领域逻辑,在数据源层存取数据。这种方式使你可以将复杂的领域逻辑从界面代码中抽取出来,单独放到中间层,用对象加以建模和组织。
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!
java 类加载调试
学习类装入的工作方式以及 JVM 如何帮助找出类装入问题 Lakshmi Shankar, Java 技术中心开収团队, IBM Hursley 实验室 Simon Burns (simon_burns@uk.ibm.com), Java 技术中心开収团队, IBM Hursley 实验室 简介: 类装入组件是 Java™ 虚拟机的基础。虽然开収人员一般对类装入的基础有良好的掌握,但是当问题収生时,在诊断问题和确定解决方案方面可能迓要有一定的困难。在返仹由四部分组成的系列中,Lakshmi Shankar 和 Simon Burns 讨论了在 Java 开収中可能遇到的各种类装入问题,解释了它们为什么会収生和如何解决它们。他们提供的见解有助亍理解和解决常见的 Java 异常,例如 NoClassDefFoundError 和 ClassNotFoundException,以及更有挅戓性的问题,例如类装入器约束迗反和死锁。在第 1 部分中,他们详细描述了 Java 类装入的工作方式,讨论了 JVM 中可以帮助诊断类装入问题的工具。
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中索引问题............................................................................................................................
JAVA优化编程
本书通过丰富、完整、富有代表性的实例,展示了如何提升Java应用性能,并且给出了优化前与优化后的Java应用程序的性能差别,以实际的实例与数字告诉你,为什么不可以这么做,应该怎么做,深入分析了影响Java应用程序性能的根本原因。本书不是教你怎样使用Java语言开发应用程序,而是教你怎样才能开发出更高效、更优秀的Java应用程序。书中每一个例子都经过了作者严格的验证。
本书适合于所有想编写更高效、完美Java应用程序的开发人员阅读。
Ext 3.0 API
Ext JS相关资源中文化(2007年初起)
1. 备忘
1.此版本为公开测试版alpha 0.3 把我们当前已完成汉化的公开。
Google SVN在http://code.google.com/p/chineseext/;
2.汉化工作持续进行中,有兴趣的朋友,不要犹豫了,加入我们翻译小组;
Socket编程
新的应用程序每天在互联网上层出不穷。随着日益增加的互联网访问带宽,我们可以预见,互联网将会对人们将来的生活产生长远的影响。
那么程序是如何通过网络进行相互通信的呢?本书的目的就是通过在Java编程语言环境下,带领你进入对这个问题的解答之路。Java语言从一开始就是为了让人们使用互联网而设计的,它为实现程序的相互通信提供了许多有用的抽象应用程序接口(API, Application Programming Interface),这类应用程序接口被称为套接字(sockets)。
WebService开发指南
上次介绍了axis1.x的用法,这次继续上次的,将叙述axis2的用法。
1、开发准备
首先需要下载axis2的相关jar包,到axis的官方网站即可获得开发的依赖包。
Axis2的简单WebService示例
1、编写一个简单的WebService的服务器端代码
三、 复杂对象类型的WebService
1、这次我们编写复杂点的WebService方法,返回的数据是我们定义属性带getter、
Websphere MQ入门教程
中间件处于应用软件和系统软件之间,是一种以自己的复杂换取企业应用简单化的可复用的基础软件。在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计和管理,复杂多变的网络环境,数据分散处理带来的不一致性,性能和效率、安全问题等等。这些问题与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终形成为了中间件产品。
从技术上讲,中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
北京 亿阳信通笔试题
北京亿阳信通笔试题,欢迎下载参阅,希望对各位有帮助---------------
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