雜類,包含了一些常用的不理解的東西

一:web應用和網站有什麼區別?

http://forum.csdn.net/PointForum/

1.網站:有域名、空間和用戶能訪問到的頁面組成。只要用戶能看到一個前臺的表現形勢,有沒有後臺(即:WEB程序)不影響它爲網站。 
Web應用程序:是實現網站完成各種功能的程序或腳本,是區分網站級別的重要標誌。比如:百度,它的前臺是非常簡單的,這種網站可以說是全靠web程序來實現的。

二:面試java高級工程師、項目經理等的常見問題

2008-08-13 09:18
1、 類、對象的概念:
1) 類:具有共同屬性和行爲的對象的抽象。類是創建對象的模板。
2) 對象:現實世界中的實體。在計算機中,是指可標識的存儲區域。
3) 類是對象的抽象、對象是類的實例。
2、 抽象:是從特定的實例中抽取共同性質形成一般化概念的過程。
3、 接口與抽象類:
1)接口和抽象類都用於抽象,接口是抽象類的抽象。
2)接口中只有方法聲明,沒有實現(無方法體);在接口中聲明的方法具有public和abstract屬性,一個類可以實現多個接口(即多繼承),接口以‘,’分隔;接口中的方法必須全部實現。
3)抽象類可以有部分方法實現,抽象類必須通過繼承才能使用。
4、內部類(Inner Class):
1)內部類是嵌套在另一個類中的類。
2)內部類用於名稱隱藏和程序代碼的組織,另外內部類擁有直接訪問其外部類所有成員(包括private的)的權限(無需任何關鍵字修飾)。
3)內部類不可以在其他類或main方法裏實例化,必須使用如下方法(非靜態內部類)
外部類.內部類 對象名=new 外部類().new 內部類();
靜態內部類調用方式:
外部類.內部類 對象名=new 外部類.內部類();
4)非靜態內部類不可以聲明靜態成員;靜態內部類的非靜態成員可以訪問其外部類的靜態成員,聲明爲靜態的成員不可以訪問外部的非靜態成員。
5、訪問修飾符限制:
Private protected friendly(default) public
同類 Y Y Y Y
同包不同類 N Y Y Y
同包子類 N Y Y Y
不同包不同類 N N N Y
不同包子類 N Y N Y
6、Static關鍵字的使用:
1)類成員,直接使用 類名.成員 調用。
2)靜態方法只能訪問靜態成員。
3)靜態方法不能使用this、super關鍵字。
4)靜態方法不能被非靜態方法重寫或重載。
7、final關鍵字:
1)被final修飾的變量爲常量不能改變。
2)被final修飾的方法不可以重寫。
3)被final修飾的類不能被繼承。
8、abstract關鍵字:
1)被abstract修飾的類不能實例化。
2)被abstract修飾的方法只能在子類中實現。
9、native關鍵字:非Java語言的編寫,例如JNI技術。
10、synchronized關鍵字:多線程的同步訪問控制。
11、分類列舉服務器和組件技術:
1)服務器端技術:Jsp、Servlet;
2)組件技術:JavaBean、EJB。
12、Http與Https:Https即多了安全的Http,s(Security Socket Layer)指加密套接字協議層(簡寫SSL)。
13、OSI(Open System Interconnection)網絡抽象模型:
1)由國際標準化組織(ISO)提出。
2) 將互聯網分爲七層,從下至上分別爲:物理層(physical)、數據鏈路層(data link)、網絡層(network)、傳送層(transport)、會話層(session)、表示層(presentation)、應用層 (application)。底層通過提供接口支持上層功能。各層詳解:
物理層:LAN/ATM,爲硬件層。
數據鏈路層:LAN/ATM
網絡層:IP協議,IOS
傳輸層:TCP/UDP協議,支持Java Socket。
會話層:
表示層:HTML、XML
應用層:HTTP協議,使用Java Servlet/JSP
<第八層(Web服務層):SOAP/UDDI>
14、J2EE的容器與服務器:
容器負責EJB組件中生命週期的控制;
服務器包含在容器外,提供系統級操作底層服務,包括事務、事件、多線程……。
15、繼承限制:
父類對象不可以賦給子類對象,因爲子類可能具有更多的成員,反之可以。
16、邏輯操作:c=(a>b)?a:b;等同於下式
if(a>b) c=a; else c=b;
17、列舉常見集合框架類型:
1)List、Set、Map。由這三個接口實現出ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等常用集合框架。
2)Vector屬於重量級組件不推薦使用。
3)Map類型維護鍵/值對,Hashtable與HashMap相近但效率略低於HashMap、高於TreeMap,TreeMap優點是可以排序。
4)Set類型可裝入唯一值,HashSet效率高於TreeSet但TreeSet可以維護內部元素的排序狀態。
5)List 類型可按某種特定順序維護元素。ArrayList允許快速隨機訪問,但如果添加或刪除位於中間的元素時效率很低;LikedList提供最佳循序訪問及 快速的中間位置添加刪除元素,並有addFirst、addLast、getFirst、getLast、removeFirst、removeLast 方法。
18、面向對象的特徵:
1)繼承:通過子類可以實現繼承,子類繼承父類的所有狀態和行爲,同時添加自身的狀態和行爲。
2)封裝:將代碼及處理數據綁定在一起的一種編程機制,該機制保證程序和數據不受外部干擾。
3)多態:包括重載和重寫。重載爲編譯時多態,重寫是運行時多態。重載必須是同類中名稱相同參數不同(包括個數不同和類型不同),但返回類型不同不構成重載;重寫發生於子類對父類的覆蓋,子類繼承父類方法名相同、參數列表相同、返回類型相同才構成重寫。
19、Java命名規範:必須以英文字母、下劃線(’_’)或’$’開始,其餘可以有數字但不允許 包含空格,且組合後的名稱不能是Java關鍵字或保留字。
匈牙利命名法:以m開始爲類成員變量,以g開始爲全局變量,以v開始爲本地局部變量,常量命名一般不以下劃線、美元符開始。
駝峯命名:一般稱由多個單詞或縮寫組成的變量名,並且該變量名每個單詞首字母均爲大寫(一般類名全部首字母大寫,方法或屬性名第一個字母小寫)的稱爲駝峯命名。
20、Java語言共包含47個關鍵字。
21、設計模式:
一個設計模式描述了一個被證實可行的方案。這些方案非常普遍,是具有完整定義的最常用的模式。一般模式有4個基本要素:模式名稱(pattern name)、問題(problem)、解決方案(solution)、效果(consequences)。
常見23種模式概述:
1) 抽象工廠模式(Abstract Factory):提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。
2) 適配器模式(Adapter):將一個類的接口轉換成客戶希望的另外一個接口。適配器模式使得原本由於接口不兼容而不能一起工作的類可以一起工作。
3) 橋樑模式(Bridge):將抽象部分與它的實現部分分離,使它們都可以獨立地變化。
4) 建造模式(Builder):將一個複雜對象的構建與它的表示分離,使同樣的構建過程可以創建不同的表示。
5) 責任鏈模式(Chain of Responsibility):爲解除請求的發送者和接收者之間耦合,而使多個對象都有機會處理這個請求。將這些對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有一個對象處理它。
6) 命令模式(Command):將一個請求封裝爲一個對象,從而可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支持可取消的操作。
7) 合成模式(Composite):將對象組合成樹形結構以表示“部分-整體”的層次結構。它使得客戶對單個對象和複合對象的使用具有一致性。
8) 裝飾模式(Decorator):動態地給一個對象添加一些額外的職責。就擴展功能而言,它能生成子類的方式更爲靈活。
9) 門面模式(Facade):爲子系統中的一組接口提供一個一致的界面,門面模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
10) 工廠方法(Factory Method):定義一個用於創建對象的接口,讓子類決定將哪一個類實例化。Factory Method 使一個類的實例化延遲到其子類。
11) 享元模式(Flyweight):運用共享技術以有效地支持大量細粒度的對象。
12) 解釋器模式(Interpreter):給定一個語言,定義它的語法的一種表示,並定義一個解釋器,該解釋器使用該表示解釋語言中的句子。
13) 迭代子模式(Iterator):提供一種方法順序訪問一個聚合對象中的各個元素,而又不需暴露該對象的內部表示。
14) 調停者模式(Mediator):用一箇中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式的內部表示。
15) 備忘錄模式(Memento):在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。這樣以後就可將該對象恢復到保存的狀態。
16) 觀察者模式(Observer):定義對象間的一種一對多的依賴關係,以便當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並自動刷新。
17) 原始模型模式(Prototype):用原型實例指定創建對象的種類,並且通過拷貝這個原型創建新的對象。
18) 代理模式(Proxy):爲其他對象提供一個代理以控制對這個對象的訪問。
19) 單例模式(Singleton):保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。
20) 狀態模式(State):允許一個對象在其內部狀態改變時改變它的行爲。對象看起來似乎修改了它所屬的類。
21) 策略模式(Strategy):定義一系列的算法,把它們一個個封裝起來,並且使它們可相互替換。本模式使得算法的變化可獨立於使用它的客戶。
22) 模板模式(Template Method):定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
23) 訪問者模式(Visitor):表示一個作用於某對象結構中的各元素的操作。該模式可以實現在不改變各元素的類的前提下定義作用於這些元素的新操作。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章