??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
对象Z如此伟大?
面向对象思想的成功是׃它仿照了现实中的事物和事物的联系.事物有属性和Ҏ(gu).如果我们描述一个台?我们?x)说它的高度和宽?比如12CM."开?q个动作是它的方?当它是处于开着的状态时.它可以被调亮一Ҏ(gu)暗一?也就是亮度这个属性值变大或变小).
javascript l予了ؓ(f)WEB应用E序创徏对象的能?对象在需要的时候相应的事g?x)被触?代码装?它能被实例化很多?在javascript里有几种创徏对象的方?在不同的场合可用不同的方?/font>
1.1JS创徏对象方式之一?new Object() 来创建对?/font>
.最单的是用new 操作W?例如:
<script language="javascript" type="text/javascript">
person = new Object()
person.name = "Tim Scarfe"
person.height = "6Ft"
person.run = function() {
this.state = "running"
this.speed = "4ms^-1"
}
</script>
我们在这个例子里定义了personq个对象,然后加入了它的属性和Ҏ(gu).在这个例子里,自定义的Ҏ(gu)里有两个属?
1.2.用文字记号Literal Notation创徏对象
用文字记号也可以创徏对象,但要javascript 1.2以上版本.它的创徏形式是多L(fng).
<script language="javascript" type="text/javascript">
// Object Literals
timObject = {
property1 : "Hello",
property2 : "MmmMMm",
property3 : ["mmm", 2, 3, 6, "kkk"],
method1 : function(){
alert("Method had been called" + this.property1)
}
};
timObject.method1();
alert(timObject.property3[2]) // l果?
var circle = { x : 0, y : 0, radius: 2 } // another example
// 嵌套也是允许的哦.
var rectangle = {
upperLeft : { x : 2, y : 2 },
lowerRight : { x : 4, y : 4}
}
alert(rectangle.upperLeft.x) // l果?
</script>
文字记号可是是数l?也可以是L的javascript表达式或?
?new 操作W或文字记号创徏一个自定义对象都是单的,也是W合逻辑?但它最大的~点是l果不可复用.也不能很Ҏ(gu)的用不同的版本初始化创徏对象.例如上面的第一个例?如果 person ?name 不是 "Tim Scarfe",那样我们不得不重新定义整个对?仅仅Z适应它的一点点改变.
1.3.对象的构造和原型
在OOP的世界里,用先前的Ҏ(gu)定义对象在许多场合都有限?我们需要一U创建对象的Ҏ(gu),cd可以被多ơ用而不用重新定?对象在实例化时每ơ都可以按需分配不同的?实现q个目标的标准方法是用对象构造器函数.
一个对象构造器只不q是个有规则的javascript函数,它就象一个容?定义参数,调用其他函数{等).它们两者所不同的是构造器函数是由 new 操作W调用的.(你将在下面的例子中看?.Z函数语法形式的对象定?我们可以使它工作得最?
让我们用现实世界中的猫来举个例子.猫的 name ?color 是猫的属?meeyow(猫叫)是它的一个方?重要的是M不同的猫都可能有不同?name ?meeyow 的叫?Z建立适应q些特征的对象类,我们用对象构造器.
<script language="javascript" type="text/javascript">
function cat(name) {
this.name = name;
this.talk = function() {
alert( this.name + " say meeow!" )
}
}
cat1 = new cat("felix")
cat1.talk() //alerts "felix says meeow!"
cat2 = new cat("ginger")
cat2.talk() //alerts "ginger says meeow!"
</script>
在这?函数 cat() 是一个对象构造器,它的属性和Ҏ(gu)在函C里用this来定?用对象构造器定义的对象用 new 来实例化.L我们如何非常Ҏ(gu)的定义多个cat 的实?每一个都有自q名字,q就是对象构造器带给我们的灵zL?
构造器建立了对象的蓝图.q不是对象本w?
在原型里增加Ҏ(gu).
在上面我们看到的例子?对象的方法是在构造器里定义好的了.另外一U实现的途径是通过原型(prototype).xxx
原型是javascriptl承的一UŞ?我们可以为对象定义好?再创造一个方?原来所有对象的实例都将׃n.
让我们来扩展最初的 cat 对象.增加一个改名的Ҏ(gu).?prototype 的方?
<script language="javascript" type="text/javascript">
cat.prototype.changeName = function(name) {
this.name = name;
}
firstCat = new cat("pursur")
firstCat.changeName("Bill")
firstCat.talk() //alerts "Bill says meeow!"
</script>
p你所看到?我们仅只用了 关键?prototype 实现了在对象定义后马上增加了changeNameҎ(gu).q个Ҏ(gu)被所有的实例׃n.
用原?prototype) 重蝲 javascript 对象
原型 在自定义对象和有选择性的重蝲对象上都可以工作.比如 Date() ?String .q可能是无止境的.
1.4.子类和超c?br />
下面一个例子演CZ如何l承
<script language="javascript" type="text/javascript">
function superClass() {
this.supertest = superTestMethod; //attach method superTest
}
function superTestMethod() {
return "superTest";
}
function subClass() {
this.inheritFrom = superClass;
this.inheritFrom();
this.subtest = subTestMethod; //attach method subTest
}
function subTestMethod() {
return "subTest";
}
var newClass = new subClass();
alert(newClass.subtest()); // 弹出"subTest"
alert(newClass.supertest()); // 弹出 "superTest"
</script>
1.5.讉K对象属?br />
正如你所? (.)操作W能够用来操作对象属性和Ҏ(gu),?[]) 操作W用来操作数l?
<script language="javascript" type="text/javascript">
// q两U用法是相同?br />
object.property
object["property"]
</script>
<script language="javascript">
function Circle (xPoint, yPoint, radius) {
this.x = xPoint;
this.y = yPoint;
this.r = radius;
}
var aCircle = new Circle(5, 11, 99);
alert(aCircle.x);
alert(aCircle["x"]);
</script>
我们可以通过for in循环来遍历对象的属性?br />
<script language="javascript" type="text/javascript">
var testObj = {
prop1 : "hello",
prop2 : "hello2",
prop3 : new Array("hello",1,2)
}
for(x in testObj) {
alert( x + "-" + testObj[ x ] )
}
</script>
<script language="javascript">
var Circle = { // another example
x : 0,
y : 1,
radius: 2
}
for(p in Circle) {
alert( p + "-" + Circle[ p ] )
}
</script>
请哪位知道的高手务必指导一下小?谢谢!
处于Persistent状态的实体可以单的理解?如果一个实体对象与session发生了关?q且处于session的有效期?那么q个实体对象处于Persistent状?
3.游离状?Detached)
处于Persistent状态的实体对象,其对应的session关闭以后,那么q个实体处于Detached状?
我们可以认ؓ(f)session对象是一个Persistent的宿?一旦这个宿d?那么q个实体处于Detached状?
end;
使用该存储过E?br /> call insertstudent(1,'张三');
Q>使用输出参数:
Example:
create or replace getstudentname(i_studentid in int,o_studentname out vachar);
as
begin
select name into o_studentname from student where studentid = i_studentid;
end;
使用该存储过E?br /> set severout on --单独执行
declare
studentname vachar(50);--变量声明
begin
getstudentname(1,studentname);
dbms_output.put_line(studentname);
end;
着输出l果?张三
首先我们在要了解Orcale9i之前必须要清楚以下几?
O(jin)racle9i本n而言主要可以区分Z个部?
1.cale Instance(Orcale实例).
2.cale9i Databases Files(Orcale数据库文?.
Orcale Instance是指数据库服务器的内存以?qing)相兛_理程?br />Orcale Instance又包括SGA(pȝ全局?以及(qing)Background Processes(后台处理E序)
SGA又包括几个重要的区域(在内存中划分)
1.Database Buffer Cache(块缓冲区高速缓?:用来存放d自数据文件的副本或者简而理解ؓ(f)用户曄处理q的数据,q样p大大的提高数据存取的效率因ؓ(f)他有效的减少了数据在盘上的I\O操作.
2.Redo Log Buffer(重做日志~冲?:记录数据库内所有的数据修改区简而言之就是对数据库的M修改都会(x)他记?q样以便数据库被损坏时可以进行必要的修复同时因ؓ(f)他是内存到内存的操作所以又加快
了数据库的操作速度.
3.Shared Pool(׃n?:Z么叫他共享池而不叫他׃n区呢?我这栯?因ؓ(f)他其中还包括了两个缓冲区:
->Library Cache(SQL语句~冲?:当用户向Orcale提交一个SQL语句?该缓冲区将q条SQL语句q行分析,q个q程cM于编?q会(x)消耗较多的旉,当Orcale完成对这条SQL语句分析q后,Orcale
自动其分析l果保存到Library Cache?q样当OrcaleW二ơ执行该SQL?Orcale自动蟩q这个分析过E?从而降低了pȝq行的时?
->Data Dictionary(数据字典~冲?:是Orcale特地为数据字典准备的一块缓冲区,紧供Orcale内部使用储存Orcalepȝ信息,我们用对他进行太多的l究.
?Shared Pool是Orcale Instance最关键的内存片D?
4.其他的缓冲区.
Background Processes(后台处理E序)其中主要的几个进E?
1.DBWR(数据写进E?:Database Buffer Cache内改动过的数据块写入到硬盘内的数据文?
2.LGWR(日志写进E?:重做日志缓冲区内的更改写入到硬盘中的重做日志文?
3.SMON(pȝ监控):在因为各U原因造成Orcale数据库不正常的被关闭,下一ơ激zL据库时SMON尽行必要的修复.
4.PMON(q程监控):在一个Orcaleq程p|时PMON对资源q行清理.
5.CKPT((g)查点q程):在每当Database Buffer Cache中的更改怹性的记录在硬盘中?更新控制文g和数据文件中的数据库状态信?
6.ARCH(归档q程):在每ơ日志切换时把已满的日志l进行备份或归档.
..................
Orcale9i Databases Files是指主要攑֜计算机硬盘上的各UOrcale9i数据库文件其中包?
1.数据文g
2.控制文g
3.日志文g
以上三个文g是由q程DBWR与LGWR对他们进行操?br />4.归档日志文g
5.参数文g
6.口o(h)文g,用户的应用权?/p>
Orcale 数据库结?
1.逻辑l构:
构成的主要由以下几个逻辑部g:
->的储存单位块(data block).
->?extends).需要注意的是Oracle9i在配|储存空间时是以Zؓ(f)单位的而不是最的储存单位?
->D?segement),p多区构成
->表空?Tablespace),Orcale9i数据库最大的储存I间,许多D|?
Orcale9i各逻辑部g存在一U阶层关p?
->数据存在每个数据块内,数据d以块为单?br /> ->I间配置是以Zؓ(f)单位,一个区׃q串数据块所构成
->依实际数据量的多?数据由多个区l成
->数据表空间可以划分ؓ(f)不同的区D?每个D又包括了许多区
->在每个Orcale9i数据库内可划分不同的表空?用以存放不同cd的数?br />2.物理l构:
由各UOrcale9i数据库文件构?
注意:一个实例最多只能安装和打开在一个数据库?而一个数据库能对应多个实?所以在建立数据库之?必须先指定Orcale实例的系l表C符(System Identifier),即Orcale SID 因ؓ(f)用来区分不同数据库所以SID必须是唯一?
实例主要负责数据库的相应操作q与用户交互.