于笑揚java綜合知識點總結 必背_第1頁
于笑揚java綜合知識點總結 必背_第2頁
于笑揚java綜合知識點總結 必背_第3頁
于笑揚java綜合知識點總結 必背_第4頁
于笑揚java綜合知識點總結 必背_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、【精品文檔】如有侵權,請聯系網站刪除,僅供學習與交流于笑揚java綜合知識點總結 必背.精品文檔.目錄目錄基礎篇一、JDK常用的包二、 Get和Post的區別三、 Java多態的具體體現四、 StringBuffer StringBuilder String 區別五、 Hashtable與HashMap的區別六、 九大隱式對象七、 Forword(請求轉發)與Redirect(重定向)八、JQurey總結九、 XML和Json的特點十request.getSession() reqeust.getSession(false)和request.getSession(true)十一、 Page和P

2、ageContext的區別十二、 Ajax總結十三、JSP9大隱視對象中四個作用域的大小與作用范圍十四、 List,Set,Collection,Collections十五、 java的基本數據類型十六、 冒泡排序十七、二分查找法十八、時間類型轉換十九、 階乘二十、UE和UI的區別二十一、osi七層模型二十二、線程和進程的區別二十三、jvm的內存結構二十四、內存泄露和內存溢出二十五、單例二十六、解析xml文件的幾種技術二十七、項目的生命周期二十八、OSCache的判斷二十九、經常訪問的技術網站三十、項目團隊中交流的工具三十一、平時瀏覽的書籍三十二、java Exception體系結構三十三、s

3、ession和cookie的區別三十四、字節流與字符流的區別三十五、final,finally,finalize 三者區別三十六、Io流的層次結構三十七、JAVA:三十八、JavaSE JavaEE JavaME區別三十九、JDK JRE JVM的區別:四十、報錯的狀態碼:四十一、協議以及默認的端口號四十二、抽象類與接口的區別四十三、修飾符的作用框架篇一、 Struts1的運行原理二、 Struts2的運行原理三、 struts2的體系結構四、 Spring MVC運行原理五、 Struts1.x與Struts2.x的區別六、 Spring MVC、struts1和struts2區別七、 St

4、ruts2中result中的type類型八、 Struts2標簽九、 SSI整合十、 SSH整合十、 Spring MVC整合十一、Hibernate 中get 和 load的區別十二、 Hibernate、Ibatis、Jdbc三者的區別十三、 Hibernate的運行原理十四、 Hibernate五大核心(類/接口)簡述十五、 Hibernate與JDBC的區別十六、Hibernate中的兩大配置文件十七、 Hibernate事務處理十八、 Hibernate的三種狀態以及狀態的轉換十九、 分頁步驟二十、hibernate緩存概述二十一、Ssh的概述:二十二、防止表單重復提交二十三、JSP

5、標簽:二十四、過濾器二十五、攔截器的理解二十六、Spring融入框架數據庫篇一、 JDBC連接數據庫步驟(以MYSQL為例)二、 數據庫連接池三、 mysql的數據庫導入導出四、 jdbc分段批量提交的時候出現異常怎么處理?五、 jdbc批量處理數據六、 Oracle分頁七、 Oracle的基本數據類型八、 id、rowid、rownum的區別九、 主鍵和唯一索引的區別?十、 Preparedstatement和statement的區別十一、 數據庫三范式十二、 視圖概述十三、 存儲過程概述十四、 索引概述十五、 必背的sql語句業務場景篇一、 Spring的概述二、 事務概述三、 權限概述四

6、、 OSCache業務場景五、 線程概述六、 Ajax請求Session超時問題七:java線程池概述八、 OSCache概述九、 OSCache+autocomplete+單例業務場景十、 緩存概述十一、 實現頁面靜態化業務場景十二、 servlet線程安全描述十三、 (jbpm4)工作流引擎描述:十四、 JPBM業務場景十五、 Ant描述十六、 FreeMarker描述十七、 webService描述十八、 oracle索引概述十九、 oracle存儲過程二十、Junit 業務場景二十一、Apache+Tomcat 實現負載均衡及seesion復制二十二、Ant業務場景二十三、maven業

7、務場景二十四、Servlet的概述:優化篇一、 代碼優化二、 業務優化三、 sql優化四、 防sql注入基礎篇一、JDK常用的包java.lang: 這個是系統的基礎類,比如String、Math、Integer、System和Thread,提供常用功能。java.io: 這里面是所有輸入輸出有關的類,比如文件操作等: 這里面是與網絡有關的類,比如URL,URLConnection等。java.util : 這個是系統輔助類,特別是集合類Collection,List,Map等。java.sql: 這個是數據庫操作的類,Connection, Statememt,ResultSet等2、 Ge

8、t和Post的區別1.get是從服務器上獲取數據,post是向服務器傳送數據,2.get傳送的數據量較小,不能大于2KB。post傳送的數據量較大,一般被默認為不受限制。3.get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。4.在進行文件上傳時只能使用post而不能是get。3、 Java多態的具體體現 面向對象編程有四個特征:抽象,封裝,繼承,多態。多態有四種體現形式:1.接口和接口的繼承。2.類和類的繼承。3.重載。4.重寫。其中重載和重寫為核心。重載:重載發生在同一個類中,在該類中如果存在多個同名方法,但是方法的參數類型和個數不一樣,那么說明該方法被重載了。重寫:重

9、寫發生在子類繼承父類的關系中,父類中的方法被子類繼承,方法名,返回值類型,參數完全一樣,但是方法體不一樣,那么說明父類中的該方法被子類重寫了。4、 StringBuffer StringBuilder String 區別String 字符串常量 不可變 使用字符串拼接時是不同的2個空間StringBuffer 字符串變量 可變 線程安全 字符串拼接直接在字符串后追加StringBuilder 字符串變量 可變 非線程安全 字符串拼接直接在字符串后追加1.執行效率:StringBuilderStringBufferString.2.String是一個常量,是不可變的,所以對于每一次+=賦值都會創

10、建一個新的對象,StringBuffer和StringBuilder都是可變的,當進行字符串拼接時采用append方法,在原來的基礎上進行追加,所以性能比String要高,又因為StringBuffer是線程安全的而StringBuilder是線程非安全的,所以StringBuilder的效率高于StringBuffer.3.對于大數據量的字符串的拼接,采用StringBuffer,StringBuilder.5、 Hashtable與HashMap的區別 HashMap不是線程安全的,HashTable是線程安全。 HashMap允許空(null)的鍵和值(key),HashTable則不允

11、許。 HashMap性能優于Hashtable。Map1.Map是一個以鍵值對存儲的接口。Map下有兩個具體的實現,分別是HashMap和HashTable.2.HashMap是線程非安全的,HashTable是線程安全的,所以HashMap的效率高于HashTable.3.HashMap允許鍵或值為空,而HashTable不允許鍵或值為空.6、 九大隱式對象輸入/輸出對象: request response out作用域通信對象: session application pageContext Servlet 對象: page config 錯誤對象: exception 7、 Forwor

12、d(請求轉發)與Redirect(重定向)1、從數據共享上 Forword是一個請求的延續,可以共享request的數據 Redirect開啟一個新的請求,不可以共享request的數據2、從地址欄 Forword轉發地址欄不發生變化 Redirect轉發地址欄發生變化八、JQurey總結 jquery是一個輕量級的js框架,具有跨瀏覽器的特性,兼容性好, 并且封裝了很多工具,方便使用。 常用的有: 選擇器 ,dom操作 ,ajax(ajax不能跨域) ,特效,工具類 9、 XML和Json的特點 Xml特點:1、有且只有一個根節點;2、數據傳輸的載體3、所有的標簽都需要自定義 4、是純文本文

13、件Json(JavaScript Object Notation)特點:json分為兩種格式: json對象(就是在中存儲鍵值對,鍵和值之間用冒號分隔,鍵 值 對之間用逗號分隔);json數組(就是中存儲多個json對象,json對象之間用逗號分隔)(兩者間可以進行相互嵌套)數據傳輸的載體之一區別:傳輸同樣格式的數據,xml需要使用更多的字符進行描述, 流行的是基于json的數據傳輸。 xml的層次結構比json更清晰。共同點: xml和json都是數據傳輸的載體,并且具有跨平臺跨語言的特性。10、 request.getSession()、reqeust.getSession(false)和

14、request.getSession(true)getSession()/getSession(true):當session存在時返回該session,否則新建一個session并返回該對象getSession(false):當session存在時返回該session,否則返回null11、 Page和PageContext的區別 Page是servlet對象;使用this關鍵字,它的作用范圍是在同一頁面。PageContext是作用域通信對象;通常使用setAttribute()和getAttribute()來設置和獲取存放對象的值。12、 Ajax總結 AJAX 全稱: 異步JavaScr

15、ipt及 XML(Asynchronous JavaScript And XML)Ajax的核心是JavaScript對象XmlHttpRequest(XHR)。Ajax的優點:提高用戶體驗度(UE)提高應用程序的性能進行局部刷新 AJAX不是一種新的編程語言,而是一種用于創建更好更快以及交互性更強的 Web 應用程序的技術。2. 通過 AJAX,我們的 JavaScript 可使用JavaScript的XMLHttpRequest對象來直接與服務器進行通信。通過這個對象,我們的 JavaScript 可在不重載頁面的情況與Web服務器交換數據,即可局部刷新。3. AJAX 在瀏覽器與 Web

16、 服務器之間使用異步數據傳輸(HTTP 請求),這樣就可使網頁從服務器請求少量的信息,而不是整個頁面,減輕服務器的負擔,提升站點的性能。 AJAX 可使因特網應用程序更小、更快,更友好,用戶體驗(UE)好。5. Ajax是基于標準化并被廣泛支持的技術,并且不需要插件和下載小程序十三、JSP9大隱視對象中四個作用域的大小與作用范圍 四個作用域從大到小:appliactionsessionrequestpageapplication:全局作用范圍,整個應用程序共享.生命周期為:應用程序啟動到停止。session:會話作用域,當用戶首次訪問時,產生一個新的會話,以后服務器就可以記 住這個會話狀態。r

17、equest:請求作用域,就是客戶端的一次請求。page:一個JSP頁面。以上作用范圍使越來越小, request和page的生命周期都是短暫的,他們之間的區別就是:一個request可以包含多個page頁(include,forward)。14、 List,Set,Collection,Collections1. List和Set都是接口,他們都繼承于接口Collection,List是一個有序的可重復的集合,而Set的無序的不可重復的集合。Collection是集合的頂層接口,Collections是一個封裝了眾多關于集合操作的靜態方法的工具類,因為構造方法是私有的,所以不能實例化。2.L

18、ist接口實現類有ArrayList,LinkedList,Vector。ArrayList和Vector是基于數組實現的,所以查詢的時候速度快,而在進行增加和刪除的時候速度較慢LinkedList是基于鏈式存儲結構,所以在進行查詢的時候速度較慢但在進行增加和刪除的時候速度較快。又因為Vector是線程安全的,所以他和ArrayList相比而言,查詢效率要低。15、 java的基本數據類型數據類型大小byte(字節)1(8位)shot(短整型) 2(16位)int(整型)4(32位)long(長整型) 8(32位)float(浮點型)4(32位)double(雙精度)8(64位)char(字符

19、型)2(16位)boolean(布爾型)1位附加: String是基本數據類型嗎?(String不是基本數據類型) String的長度是多少,有限制?(長度受內存大小的影響)16、 冒泡排序public class Sort public static void sort() Scanner input = new Scanner(System.in);int sort = new int10;int temp;System.out.println(請輸入10個排序的數據:);for (int i = 0; i sort.length; i+) sorti = input.nextInt();

20、for (int i = 0; i sort.length - 1; i+) for (int j = 0; j sort.length - i - 1; j+) if (sortj sortj + 1) temp = sortj;sortj = sortj + 1;sortj + 1 = temp;System.out.println(排列后的順序為:);for(int i=0;isort.length;i+)System.out.print(sorti+ );public static void main(String args) sort();十七、二分查找法十八、時間類型轉換publi

21、c class DateFormat public static void fun() SimpleDateFormat sdf = new SimpleDateFormat(yyyy年MM月dd日);String newDate;try newDate = sdf.format(new SimpleDateFormat(yyyyMMdd).parse(20121115);System.out.println(newDate); catch (ParseException e) e.printStackTrace();public static void main(String args) f

22、un();19、 階乘public class Multiply public static int multiply(int num) if (num 0) System.out.println(請輸入大于0的數!);return -1; else if (num = 0 | num = 1) return 1; else return multiply(num - 1) * num;public static void main(String args) System.out.println(multiply(10);二十、UE和UI的區別UE 是用戶體驗度UI 界面原型(用戶界面)(相當

23、于買房時用的模型)設計UI的作用:1、幫助程序員工作(界面已由美工設計完成)2、提前讓用戶對項目有個宏觀的了解,知道效果是什么樣子。二十一、osi七層模型第一層:物理層 第二層:數據鏈路層 第三層:網絡層 第四層:傳輸層第五層:會話層第六層:表示層第七層:應用層二十二、線程和進程的區別1.線程(Thread)與進程(Process)進程定義的是應用程序與應用程序之間的邊界,通常來說一個進程就代表一個與之對應的應用程序。不同的進程之間不能共享代碼和數據空間,而同一進程的不同線程可以共享代碼和數據空間。2. 一個進程可以包括若干個線程,同時創建多個線程來完成某項任務,便是多線程。3. 實現線程的兩

24、種方式:繼承Thread類,實現Runable接口二十三、jvm的內存結構java虛擬機的內存結構分為堆(heap)和棧(stack),堆里面存放是對象實例也就是new出來的對象。棧里面存放的是基本數據類型以及引用數據類型的地址。對于所謂的常量是存儲在方法區的常量池里面。二十四、內存泄露和內存溢出內存泄露 (memory leak),是指應用程序在申請內存后,無法釋放已經申請的內存空間.一次內存泄露危害可以忽略,但如果任其發展最終會導致內存溢出(out of memory).如讀取文件后流要進行及時的關閉以及對數據庫連接的釋放。內存溢出(out of memory)是指應用程序在申請內存時,沒

25、有足夠的內存空間供其使用。如我們在項目中對于大批量數據的導入,采用分段批量提交的方式。二十五、單例單例就是該類只能返回一個實例。單例所具備的特點:1.私有化的構造函數2.私有的靜態的全局變量3.公有的靜態的方法單例分為懶漢式、餓漢式和雙層鎖式餓漢式:public class Singleton1 private Singleton1() ; private static Singleton1 single = new Singleton1(); public static Singleton1 getInstance() return single;懶漢式:public class Singl

26、eton2 private Singleton2() private static Singleton2 single=null; public tatic Singleton2 getInstance() if (single = null) single = new Singleton2(); return single;線程安全:public class Singleton3 private Singleton3() private static Singleton3 single ; public static Singleton3 getInstance() if(null = si

27、ngle)synchronized(single )if(null = single)single = new Singleton3();return single;參考:通過雙重判斷來保證單列設計模式在多線程中的安全性,并且它在性能方面提高了很多。synchronized在方法上加鎖 (同步鎖)synchronized在代碼塊內部加鎖 (同步代碼塊)synchronized(同步鎖)使用synchronized如何解決線程安全的問題?1.synchronized在方法上加鎖2.synchronized在代碼塊內部加鎖1.懶漢 2.餓漢 3.雙重判斷二十六、解析xml文件的幾種技術1、 解析x

28、ml的幾種技術 1.dom4j 2.sax 3.jaxb 4.jdom 5.dom1.dom4j dom4j是一個Java的XML API,類似于jdom,用來讀寫XML文件的。dom4j是一個非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件。 2.sax SAX(simple API for XML)是一種XML解析的替代方法。相比于DOM,SAX是一種速度更快,更有效的方法。它逐行掃描文檔,一邊掃描一邊解析。而且相比于DOM,SAX可以在解析文檔的任意時刻停止解析,但任何事物都有其相反的一面,對于SAX來說就是操作復雜。 3.j

29、axb JAXB(Java Architecture for XML Binding) 是一個業界的標準,是一項可以根據XML Schema產生Java類的技術。該過程中,JAXB也提供了將XML實例文檔反向生成Java對象樹的方法,并能將Java對象樹的內容重新寫到XML實例文檔。從另一方面來講,JAXB提供了快速而簡便的方法將XML模式綁定到Java表示,從而使得Java開發者在Java應用程序中能方便地結合XML數據和處理函數。2、dom4j 與 sax 之間的對比:【注:必須掌握!】 dom4j不適合大文件的解析,因為它是一下子將文件加載到內存中,所以有可能出現內存溢出, sax是基于

30、事件來對xml進行解析的,所以他可以解析大文件的xml 也正是因為如此,所以dom4j可以對xml進行靈活的增刪改查和導航,而sax沒有這么強的靈活性 所以sax經常是用來解析大型xml文件,而要對xml文件進行一些靈活(crud)操作就用dom4j二十七、項目的生命周期 1.需求分析2.概要設計3.詳細設計(用例圖,流程圖,類圖)4.數據庫設計(powerdesigner)5.代碼開發(編寫)6.單元測試(junit 白盒測試)(開發人員)svn版本管理工具(提交,更新代碼,文檔)7.集成測試 (黑盒測試,loadrunner(編寫測試腳本)(高級測試))8.上線試運行 (用戶自己體驗)9.

31、壓力測試(loadrunner)10.正式上線 11.維護二十八、OSCache的判斷Object obj = CacheManager.getInstance().getObj(oaBrandList);/從緩存中取數據if (null = obj) obj = brandDao.getBrandList(); /如果為空再從數據庫獲取數據 /獲取之后放入緩存中CacheManager.getInstance().putObj(oaBrandList, obj);return (List)obj;二十九、經常訪問的技術網站1.csdn(詳細步驟的描述)2.iteye(詳細步驟的描述)3.os

32、china(開源中國獲取java開源方面的信息技術)4.java開源大全 www.open-(獲取java開源方面的信息技術)5.infoq(對java,php,.net等這些語言的一些最新消息的報道)三十、項目團隊中交流的工具飛秋(局域網)qq(局域網,外網)RTX(局域網,外網)郵箱 (局域網,外網)三十一、平時瀏覽的書籍實戰經驗:* in action(實戰)* 深入淺出* 入門指南思想基礎:大話設計模式重構三十二、java Exception體系結構java 異常是程序運行過程中出現的錯誤。Java把異常當作對象來處理,并定義一個基類java.lang.Throwable作為所有異常的

33、超類。在Java API中定義了許多異常類,分為兩大類,錯誤Error和異常Exception。其中異常類Exception又分為運行時異常(RuntimeException)和非運行時異常(非runtimeException),也稱之為不檢查異常(Unchecked Exception)和檢查異常(Checked Exception)。1、Error與Exception Error是程序無法處理的錯誤,比如OutOfMemoryError、ThreadDeath等。這些異常發生時,Java虛擬機(JVM)一般會選擇線程終止。Exception是程序本身可以處理的異常,這種異常分兩大類運行時異

34、常和非運行時異常。程序中應當盡可能去處理這些異常。 2、運行時異常和非運行時異常 運行時異常: 都是RuntimeException類及其子類異常: IndexOutOfBoundsException 索引越界異常ArithmeticException:數學計算異常NullPointerException:空指針異常ArrayOutOfBoundsException:數組索引越界異常ClassNotFoundException:類文件未找到異常ClassCastException:造型異常(類型轉換異常)這些異常是不檢查異常(Unchecked Exception),程序中可以選擇捕獲處理,也

35、可以不處理。這些異常一般是由程序邏輯錯誤引起的。非運行時異常:是RuntimeException以外的異常,類型上都屬于Exception類及其子類。從程序語法角度講是必須進行處理的異常,如果不處理,程序就不能編譯通過。如:IOException、文件讀寫異常FileNotFoundException:文件未找到異常 EOFException:讀寫文件尾異常MalformedURLException:URL格式錯誤異常SocketException:Socket異常SQLException:SQL數據庫異常三十三、session和cookie的區別session是存儲在服務器端,cookie是

36、存儲在客戶端的,所以安全來講session的安全性要比cookie高,然后我們獲取session里的信息是通過存放在會話cookie里的sessionid獲取的。又由于session是存放在服務器的內存中,所以session里的東西不斷增加會造成服務器的負擔,所以會把很重要的信息存儲在session中,而把一些次要東西存儲在客戶端的cookie里,然后cookie確切的說分為兩大類分為會話cookie和持久化cookie,會話cookie確切的說是,存放在客戶端瀏覽器的內存中,所以說他的生命周期和瀏覽器是一致的,瀏覽器關了會話cookie也就消失了,然而持久化cookie是存放在客戶端硬盤中,

37、而持久化cookie的生命周期就是我們在設置cookie時候設置的那個保存時間,然后我們考慮一問題當瀏覽器關閉時session會不會丟失,從上面敘述分析session的信息是通過會話cookie的sessionid獲取的,當瀏覽器關閉的時候會話cookie消失所以我們的sessionid也就消失了,但是session的信息還存在服務器端,這時我們只是查不到所謂的session但它并不是不存在。那么,session在什么情況下丟失,就是在服務器關閉的時候,或者是session過期(默認時間是30分鐘),再或者調用了invalidate()的或者是我們想要session中的某一條數據消失調用ses

38、sion.removeAttribute()方法,然后session在什么時候被創建呢,確切的說是通過調用getsession()來創建,這就是session與cookie的區別.訪問HTML頁面是不會創建session,但是訪問index.JSP時會創建session(JSP實際上是一個Servlet, Servlet中有getSession方法)三十四、字節流與字符流的區別stream結尾都是字節流,reader和writer結尾都是字符流兩者的區別就是讀寫的時候一個是按字節讀寫,一個是按字符。實際使用通常差不多。在讀寫文件需要對內容按行處理,比如比較特定字符,處理某一行數據的時候一般會選

39、擇字符流。只是讀寫文件,和文件內容無關的,一般選擇字節流。三十五、final,finally,finalize 三者區別Final是一個修飾符:當final修飾一個變量的時候,變量變成一個常量,它不能被二次賦值當final修飾的變量為靜態變量(即由static修飾)時,必須在聲明這個變量的時候給它賦值當final修飾方法時,該方法不能被重寫當final修飾類時,該類不能被繼承Final不能修飾抽象類,因為抽象類中會有需要子類實現的抽象方法,(抽象類中可以有抽象方法,也可以有普通方法,當一個抽象類中沒有抽象方法時,這個抽象類也就沒有了它存在的必要)Final不能修飾接口,因為接口中有需要其實現類

40、來實現的方法Finally:Finally只能與try/catch語句結合使用,finally語句塊中的語句一定會執行,并且會在return,continue,break關鍵字之前執行finalize:Finalize是一個方法,屬于java.lang.Object類,finalize()方法是GC(garbage collector垃圾回收)運行機制的一部分,finalize()方法是在GC清理它所從屬的對象時被調用的三十六、Io流的層次結構從流的方向輸入流 輸出流從流的類型上字符流 字節流inputstream和outputstream都是抽象類它們下面的實現包括FileInputStre

41、am,BufferedInputStreamFileOutputStream,BufferedOutputStreamreader 和 writerFileReader,BufferedReader,StringReaderFileWriter,BufferedWriter,StringWriter,PrintWriter三十七、JAVA:Java是面向對象的,跨平臺的,它通過java虛擬機來進行跨平臺操作,它可以進行自動垃圾回收的【c語言是通過人工進行垃圾回收】,java還會進行自動分配內存。【c語言是通過指定進行分配內存的】,只需要new一個對象,這個對象占用了多少空間,不需要我們來管,j

42、ava虛擬機負責管這些,用完之后也不需要我們來釋放,java虛擬機會自動釋放三十八、JavaSE JavaEE JavaME區別是什么:Java SE=Java Standard Edition=j2se = java 標準版Java EE=Java Enterprise Edition=j2ee= java 企業版Java ME=Java Mobile Edition=j2me = java移動版特點:SE主要用于桌面程序(swing),控制臺開發(main程序)。EE企業級開發(JSP,EJB,Spring MVC,Struts,hibernate,ibatis等),用于企業級軟件開發,網

43、絡開發,web開發。ME嵌入式開發(手機,小家電,PDA)。蘋果的ios,黑莓三者之間的關系:Java SE(Java Platform, Standard Edition,Java標準版)就是基于JDK和JRE的。Java SE為Java EE提供了基礎。Java EE除了基于我們這個所謂的Java SE外,還新加了企業應用所需的類庫三十九、JDK JRE JVM的區別:Jdk【Java Development ToolKit】就是java開發工具箱, JDK是整個JAVA的核心里邊包含了jre,它除了包含jre之外還包含了一些javac的工具類,把java源文件編譯成class文件,jav

44、a文件是用來運行這個程序的,除此之外,里邊還包含了java源生的API,eger在rt的jar包里邊【可以在項目中看到】,通過rt這個jar包來調用我們的這些io流寫入寫出等JDK有以下三種版本:J2SE,standard edition,標準版,是我們通常用的一個版本J2EE,enterpsise edtion,企業版,使用這種JDK開發J2EE應用程序J2ME,micro edtion,主要用于移動設備、嵌入式設備上的java應用程序Jre【Java Runtime Enviromental】是java運行時環境,那么所謂的java運行時環境,就是為了保證java

45、程序能夠運行時,所必備的一基礎環境,也就是它只是保證java程序運行的,不能用來開發,而jdk才是用來開發的,所有的Java程序都要在JRE下才能運行。包括JVM和JAVA核心類庫和支持文件。與JDK相比,它不包含開發工具編譯器、調試器和其它工具。Jre里邊包含jvmJvm:【Java Virtual Mechinal】因為jre是java運行時環境,java運行靠什么運行,而底層就是依賴于jvm,即java虛擬機,java虛擬機用來加載類文件,java中之所以有跨平臺的作用,就是因為我們的jvm關系: J2se是基于jdk和jre, JDK是整個JAVA的核心里邊包含了jre, Jre里邊包

46、含jvm四十、報錯的狀態碼: 301 永久重定向 302 臨時重定向 304 服務端 未改變 403 訪問無權限 200 正常 404 路徑 500 內部錯誤四十一、協議以及默認的端口號ftp 21 文件傳輸協議Pop3 110 它是因特網 Smtp 25 簡單郵件傳輸協議http 80 超文本傳輸協議oracle 默認端口號1521mysql默認端口號 3306四十二、抽象類與接口的區別1.一個類只能進行單繼承,但可以實現多個接口。2.有抽象方法的類一定是抽象類,但是抽象類里面不一定有抽象方法; 接口里面所有的方法的默認修飾符為public abstract,接口里的成員變量默認的修飾符為

47、pulbic static final。 關系接口和接口 繼承接口和抽象類 抽象類實現接口類和抽象類 類繼承抽象類類和類 繼承四十三、修飾符的作用修飾符的作用范圍:private default protected public同一個類中 可以 可以 可以 可以同一個包的類中 可以 可以 可以不同包的子類中 可以 可以不同包的類中 可以四十四、onready和onload的區別1.onready比onload先執行2.onready是在頁面解析完成之后執行,而onload是在頁面所有元素加載后執行3.onload只執行最后一個而onready可以執行多個。參考:1. 執行時間 window.o

48、nload必須等到頁面內包括圖片的所有元素加載完畢后才能執行。 $(document).ready()是DOM結構繪制完畢后就執行,不必等到加載完畢。 2.編寫個數不同 window.onload不能同時編寫多個,如果有多個window.onload方法,只會執行一個 $(document).ready()可以同時編寫多個,并且都可以得到執行 3.簡化寫法 window.onload沒有簡化寫法 $(document).ready(function()可以簡寫成$(function(); 另外,需要注意一點,由于在$(document).ready() 方法內注冊的事件,只要DOM 就緒就會被

49、執行,因此可能此時元素的關聯文件未下載完。例如與圖片有關的html 下載完畢,并且已經解析為DOM 樹了,但很有可能圖片還沒有加載完畢,所以例如圖片的高度和寬度這樣的屬性此時不一定有效。要解決這個問題,可以使用Jquery 中另一個關于頁面加載的方法-load() 方法。Load() 方法會在元素的onload 事件中綁定一個處理函數。如果處理函數綁定給window 對象,則會在所有內容( 包括窗口、框架、對象和圖像等) 加載完畢后觸發,如果處理函數綁定在元素上,則會在元素的內容加載完畢后觸發。 Jquery 代碼如下: $(window).load(function () / 編寫代碼 );

50、等價于JavaScript 中的以下代碼 Window.onload = function () / 編寫代碼 四十五、switch默認接受的幾種數據類型Short, int, byte, char四十六、request 跟session的區別1.他們的生命周期不同,request對應的是一次請求,session對應的是一次會話2.request占用資源比較少,相對來說缺乏持續性,而session資源消耗比較大,所以通常使用request來保存信息四十七、找到解決svn沖突方法對于svn沖突,可以采用手工處理將沖突的部分進行整合,之后備份最新整合后的文件,采用覆蓋更新的方式處理完沖突之后,再把

51、最新整合后的文件進行提交。四十八、反射的描述 通過字符串可以動態創建java對象,并且可以動態訪問方法, 屬性等。 我們在項目中的時候封裝過數據庫jdbc的持久層, 其中就利用反射這項 技術來達到通用 和靈活的目的。框架篇 1、 Struts1的運行原理在啟動時通過前端總控制器ActionServlet加載struts-config.xml并進行解析,當用戶在jsp頁面發送請求被struts1的核心控制器ActionServlet接收,ActionServlet在用戶請求時將請求參數放到對應的ActionForm對象中的成員變量中,然后ActionServlet則會根據struts-confi

52、g.xml中的映射關系找到相應的Action中的方法,將對應的ActionForm一并傳給這個Action中的方法里,然后執行相應的業務邏輯操作,最后就根據ActionMapping的findforward方法返回一個ActionForward,之后在struts-config.xml中找到與之對應的forward標簽,根據它的配置路徑找到對應的jsp頁面。2、 Struts2的運行原理1、tomcat 啟動的時候會加載 web.xml 、核心控制器 FilterDispatcher 會加載并解析 struts.xml 2、客戶端會發送一個請求到 action 、FilterDispatcher 會根據后綴名進行攔截3、FilterDispatcher根據 struts.xml 的配置文件信息 找

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論