JavaWEB開發18 基礎加強

2021-09-13 01:43:41 字數 2214 閱讀 6630

一、類載入器

1.什麼是類載入器,作用是什麼?

類載入器就載入位元組碼檔案(.class)

2.類載入器的種類

類載入器有三種,不同類載入器載入不同的

怎麼獲得類載入器?(重點)

classloader 位元組碼物件.getclassloader();

二、註解 @***

1.什麼是註解,註解作用

註解就是符合一定格式的語法 @***x

註解作用:

注釋:在閱讀程式時清楚----給程式設計師看的

註解:給jvm看的,給機器看的

註解在目前而言最主流的應用:代替配置檔案

關於配置檔案與註解開發的優缺點:

註解優點:開發效率高 成本低

註解缺點:耦合性大 並且不利於後期維護

2.jdk5提供的註解

@override:告知編譯器此方法是覆蓋父類的

@deprecated:標註過時

@suppresswarnings:壓制警告

發現的問題:

不同的註解只能在不同的位置使用(方法上、欄位上、類上)

3.自定義註解(了解)

1)怎樣去編寫乙個自定義的註解

2)怎樣去使用註解

3)怎樣去解析註解-----使用反射知識

(1)編寫乙個註解

關鍵字:@inte***ce

註解的屬性:

語法:返回值 名稱();

注意:如果屬性的名字是value,並且註解的屬性值有乙個 那麼在使用註解時可以省略value

註解屬性型別只能是以下幾種

1.基本型別

2.string

3.列舉型別

4.註解型別

5.class型別

6.以上型別的一維陣列型別

(2)使用註解

在類/方法/字段 上面是@***

(3)解析使用了註解的類

介入乙個概念:元註解:代表修飾註解的註解,作用:限制定義的註解的特性

@retention

source: 註解在原始碼級別可見

class:註解在位元組碼檔案級別可見

runtime:註解在整個執行階段都可見

@target

代表註解修飾的範圍:類上使用,方法上使用,欄位上使用

field:欄位上可用此註解

method:方法上可以用此註解

type:類/介面上可以使用此註解

注意:要想解析使用了註解的類 , 那麼該註解的retention必須設定成runtime

關於註解解析的實質:從註解中解析出屬性值

位元組碼物件存在於獲得註解相關的方法

isannotationpresent(class<? extends annotation> annotationclass) : 判斷該位元組碼物件身上是否使用該註解了

getannotation(class annotationclass) :獲得該位元組碼物件身上的註解物件

三、動態**

1.什麼是**(中介)

目標物件/被**物件 ------ 房主:真正的租房的方法

**物件 ------- 黑中介:有租房子的方法(呼叫房主的租房的方法)

執行**物件方法的物件 ---- 租房的人

流程:我們要租房----->中介(租房的方法)------>房主(租房的方法)

抽象:呼叫物件----->**物件------>目標物件

2.動態**

動態**:不用手動編寫乙個**物件,不需要一一編寫與目標物件相同的方法,這個過程,在執行時 的記憶體中動態生成**物件。------位元組碼物件級別的**物件

動態**的api:

在jdk的api中存在乙個proxy中存在乙個生成動態**的的方法newproxyinstance

static object newproxyinstance(classloader loader, class<?> inte***ces, invocationhandler h)

返回值:object就是**物件

引數:loader:代表與目標物件相同的類載入器-------目標對 象.getclass().getclassloader()

inte***ces:代表與目標物件實現的所有的介面位元組碼物件陣列

h:具體的**的操作,invocationhandler介面

注意:jdk的proxy方式實現的動態** 目標物件必須有介面 沒有介面不能實現jdk版動態**

Java web開發學習

使用eclipse開發web 持續更新中。一 開發環境 作業系統 windows7 64位 開發工具 eclipse 4.4.0 伺服器 tomcat 8.0 二 遇到問題 1.修改檔案後,啟動serversr失敗。解決方法 修改engine中的defaulthost的localhost為你的網域名...

JavaWeb開發總結

頁面開發總結 一 布局 根據同乙個頁面不同區域的功能不同,劃分為多個區域 1.頁面區域有多少,就可以有多少塊針對性的 區 2.頁面不同區域之間連線的唯一標識可以定義為全域性變數 3.公共類可以抽象為乙個js 4.對應的後台 也可以劃分為多個不同的 區 5.後台 可以按照表劃分區域或者按照功能劃分區域...

Java WEB開發須知知識點 基礎篇

第三章 深入servlet技術 典型的應用程式訪問過程,處理請求和傳送響應的過程由servlet來做 http協議,telnet演示http協議,get方式查詢,http頭資料 post方式提交資料 型別兩種 檔案資料 二進位制 型別為 multipart form data 另一種 文字資料 as...