不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 論文大全 > 論文寫(xiě)作指導(dǎo) > 論文正文頁(yè)碼怎么設(shè)置頁(yè)碼

論文正文頁(yè)碼怎么設(shè)置頁(yè)碼

時(shí)間: 家文952 分享

論文正文頁(yè)碼怎么設(shè)置頁(yè)碼

  論文是描述學(xué)術(shù)研究成果進(jìn)行學(xué)術(shù)交流的一種工具,那論文中的頁(yè)碼怎么設(shè)置呢?下面小編給大家分享一些論文正文頁(yè)碼怎么設(shè)置頁(yè)碼的方法,大家快來(lái)跟小編一起欣賞吧。

  論文正文頁(yè)碼怎么設(shè)置頁(yè)碼

  一、 在菜單欄選擇插入,進(jìn)入頁(yè)腳選項(xiàng),在彈出的窗口點(diǎn)擊編輯頁(yè)腳

  二、接著在菜單欄會(huì)出現(xiàn)設(shè)計(jì)這一選項(xiàng),點(diǎn)擊頁(yè)碼,在彈出的窗口選擇頁(yè)面底端,然后出現(xiàn)底端各種樣式,一般選擇居中的頁(yè)碼也就是選擇普通數(shù)字2

  三、點(diǎn)擊普通數(shù)字2選項(xiàng)

  四、有時(shí)我們的畢業(yè)論文需要用到其他的頁(yè)碼,而非普通的阿拉伯?dāng)?shù)字,這時(shí)就需要在頁(yè)碼選項(xiàng)點(diǎn)擊設(shè)置頁(yè)碼格式選項(xiàng)

  五、在頁(yè)碼格式窗口,選擇編號(hào)格式,起始頁(yè)碼,點(diǎn)擊確定.

  六、最后在頁(yè)腳就出現(xiàn)數(shù)字

  關(guān)于java的論文范文

  淺析java代理模式

  摘 要:本文基于JAVA語(yǔ)言對(duì)靜態(tài)和動(dòng)態(tài)代理做出了分析,并且進(jìn)行了實(shí)現(xiàn),對(duì)以后理解JAVA的JDK和 Cglib包提供的代理服務(wù)打下基礎(chǔ)。

  關(guān)鍵詞:設(shè)計(jì)模式;靜態(tài)代理;動(dòng)態(tài)代理

  中圖分類(lèi)號(hào):TP393.02

  代理模式是一個(gè)非常重要的設(shè)計(jì)模式,不但我們自己在設(shè)計(jì)程序的時(shí)候經(jīng)常用到,很多著名的框架如Spring、Hibernate等都用到了代理模式,因此理解并且學(xué)會(huì)靈活使用代理模式就非常必要。

  代理模式的定義:對(duì)其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。簡(jiǎn)單地說(shuō),代理類(lèi)具有和被代理類(lèi)一樣的方法,調(diào)用者通過(guò)調(diào)用代理類(lèi)的方法間接調(diào)用了被代理類(lèi)相同名字的方法,對(duì)于調(diào)用者來(lái)說(shuō),它不用察覺(jué)自己調(diào)用的是代理類(lèi)的方法,感覺(jué)上仍然在調(diào)用被代理類(lèi)的方法。對(duì)于被代理類(lèi)來(lái)說(shuō),代理類(lèi)可以在調(diào)用其方法前后做其他工作,比如寫(xiě)日志等。按照代理的創(chuàng)建時(shí)期,代理類(lèi)可以分為兩種:靜態(tài)代理類(lèi):在程序運(yùn)行前,由程序員創(chuàng)建再編譯成.class文件;動(dòng)態(tài)代理類(lèi):在程序運(yùn)行時(shí),運(yùn)用反射機(jī)制動(dòng)態(tài)創(chuàng)建而成。

  1 靜態(tài)代理

  靜態(tài)代理類(lèi):由程序員創(chuàng)建或由特定工具自動(dòng)生成源代碼,再對(duì)其編譯。在程序運(yùn)行前,代理類(lèi)的.class文件就已經(jīng)存在了。靜態(tài)代理原理就是聚合+多態(tài)。

  1.1 靜態(tài)代理

  靜態(tài)代理模式有三個(gè)角色:抽象接口、代理類(lèi)、被代理類(lèi)。其它類(lèi)通過(guò)訪問(wèn)代理類(lèi)來(lái)訪問(wèn)被代理類(lèi)。

  1.2 靜態(tài)代理的實(shí)現(xiàn)

  (1)建一個(gè)抽象接口

  public interface Subject {

  public void print(String words);

  }

  (2)建一個(gè)被代理類(lèi),需要實(shí)現(xiàn)抽象接口

  public class RealSubject implements Subject{

  public void print(String words) {

  System.out.println("被代理人郭襄說(shuō):"+words);

  }

  }

  (3)建一個(gè)代理類(lèi),需要實(shí)現(xiàn)抽象接口

  public class ProxySubjectimplements Subject{

  private Subject s;

  public ProxySubject(Subject s){

  this.s=s;

  }

  public void print(String words) {

  System.out.println("我是代理,我名字叫黃蓉!");

  s.print(words);

  System.out.println("黃蓉代理完畢!");

  }

  }

  (4)建一個(gè)客戶端程序測(cè)試,關(guān)鍵代碼如下:

  Subject sub1=new RealSubject();

  Subject sub2=new ProxySubject(sub1);

  sub2.print("你好!");

  運(yùn)行輸出:我是代理,我的名字叫黃蓉!;被代理的人郭襄說(shuō):你好!;黃蓉代理完畢。從輸出可以看出,在真實(shí)對(duì)象的print方法被調(diào)用前后,代理對(duì)象都做了其他操作。對(duì)于客戶端來(lái)說(shuō),它只對(duì)接口Subject編程,提高了代碼的可維護(hù)和可升級(jí)性。

  2 動(dòng)態(tài)代理

  動(dòng)態(tài)代理類(lèi):就是其代理類(lèi)是在程序運(yùn)行時(shí),運(yùn)用反射機(jī)制動(dòng)態(tài)創(chuàng)建而成,并不需要像靜態(tài)代理那樣子事先要編寫(xiě)好代理類(lèi)。如果有多重代理,就要寫(xiě)多個(gè)代理類(lèi),還有如果一個(gè)類(lèi)有多個(gè)方法都需要代理的話,就更加使得代碼很臃腫,不易維護(hù),這個(gè)時(shí)候就需要?jiǎng)討B(tài)地來(lái)生成代理類(lèi),這就是動(dòng)態(tài)代理。

  2.1 動(dòng)態(tài)代理

  動(dòng)態(tài)代理模式至少要有6個(gè)角色:(1)抽象接口;(2)被代理類(lèi);(3)處理器接口;(4)自定義的處理器(實(shí)現(xiàn)處理器接口);(5)生成成代理類(lèi)的類(lèi);(6)代理類(lèi)(由第5點(diǎn)的類(lèi)通過(guò)反射技術(shù)自動(dòng)生成)。

  2.2 動(dòng)態(tài)代理的實(shí)現(xiàn)

  (1)首先建一個(gè)抽象接口

  public interface Subject {

  public void print();

  }

  (2)建一個(gè)被代理類(lèi),需要實(shí)現(xiàn)Subject接口

  public class RealSubject implements Subject{

  publicvoid print() {

  System.out.println("被代理人郭襄");

  }

  }

  (3)建一個(gè)處理接口

  public interface InvocationHandler {

  public Object invoke(Object proxy, Method method)throws Exception;

  }

  (4)建一個(gè)用戶自定義的處理器,需要實(shí)現(xiàn)處理接口

  在invoke()方法里寫(xiě)上被代理類(lèi)的方法調(diào)用前后要進(jìn)行的動(dòng)作。這個(gè)invoke()方法我們不用直接調(diào)用,是讓將來(lái)自動(dòng)生成的代理類(lèi)去調(diào)用的。invoke()方法關(guān)鍵代碼如下:

  System.out.println("我是代理人郭靖,開(kāi)始代理");

  method.invoke(delegate);

  System.out.println("我是代理人郭靖,代理完畢");   (5)建生成代理類(lèi)的類(lèi),主要是運(yùn)用java的反射技術(shù)和jdk的編譯工具生成代理類(lèi)對(duì)象并加載到內(nèi)存里面,代碼比較復(fù)雜,這里不再詳細(xì)描述。

  (6)編寫(xiě)測(cè)試客戶端,關(guān)鍵代碼如下

  Subject sub1=newRealSubject();

  LogHandler hander=newLogHandler();

  Subject sub2=(Subject)hander.bind(sub1);

  sub2.print();

  輸出結(jié)果:我是代理人郭靖;開(kāi)始代理;被代理的人郭襄;我是代理人郭靖,代理完畢。從結(jié)果可以看出,代理成功,并且自動(dòng)生成了代理類(lèi)$Proxy.java文件,并成功實(shí)現(xiàn)了代理的效果。

  2.3 動(dòng)態(tài)代理的優(yōu)勢(shì)

  動(dòng)態(tài)代理的明顯好處上面就體現(xiàn)出來(lái)了:對(duì)于同一個(gè)對(duì)象的所有方法,如果對(duì)所有方法都是相同的處理邏輯,只需要寫(xiě)一次處理邏輯就行;對(duì)于同一個(gè)抽象接口,不同的對(duì)象,如果對(duì)所有對(duì)象的相同名字的方法具有相同的處理邏輯(同一個(gè)對(duì)象,不同方法的處理邏輯可以不同),也只需要寫(xiě)一次處理邏輯就行,只需要寫(xiě)一次處理器類(lèi)即可;如果某一天,那個(gè)方法的處理邏輯被改變了,只需要改動(dòng)一次即可,如果是靜態(tài)代理,每個(gè)代理類(lèi)下的相對(duì)應(yīng)的方法的處理邏輯都要改動(dòng)一次,維護(hù)非常困難。

  3 結(jié)束語(yǔ)

  代理模式可以運(yùn)用在如下這些方面:(1)用于在程序調(diào)用前后記錄相關(guān)日志及其他附加操作;(2)用于某些操作前的安全及權(quán)限的驗(yàn)證等保護(hù)操作;(3)用于創(chuàng)建對(duì)象,也叫虛代理,對(duì)于某些大對(duì)象,在真正需要它的時(shí)候,運(yùn)用代理模式去創(chuàng)建;(4)使得同一對(duì)象被多個(gè)客戶同時(shí)訪問(wèn)不產(chǎn)生沖突。

  我們可以靈活使用代理模式,配合其他模式的使用,如工廠模式,使我們的程序更加高內(nèi)聚、低耦合,而且非常優(yōu)雅。

  參考文獻(xiàn):

  [1]陳丁山.設(shè)計(jì)模式的研究與應(yīng)用[J].電腦知識(shí)與技術(shù)(學(xué)術(shù)交流),2007(23).

  [2]周鳳麗,邵平凡,萬(wàn)程鵬.設(shè)計(jì)模式在B/S開(kāi)發(fā)中的應(yīng)用[J].科技創(chuàng)業(yè)月刊,2005(12).

  作者簡(jiǎn)介:黃沖(1986.07-),男,廣東湛江人,本科,助理工程師,研究方向:計(jì)算機(jī)。

  工作單位:廣東金融學(xué)院,廣州 510521

  
看了“論文正文頁(yè)碼怎么設(shè)置頁(yè)碼”的人還看:

1.畢業(yè)論文怎么從正文開(kāi)始設(shè)置頁(yè)碼

2.論文正文頁(yè)碼怎么設(shè)置

3.論文怎么從正文開(kāi)始放頁(yè)碼

4.論文的頁(yè)碼怎樣設(shè)置

5.Word怎樣從正文開(kāi)始設(shè)置頁(yè)眉頁(yè)碼

2576082