101、java中會存在內存泄漏嗎,請簡單描述。
會。如:int i,i2; return (i-i2); //when
i爲足夠大的正數,i2爲足夠大的負數。結果會造成溢位,導致錯誤。
102、java中實現多態的機制是什麼?
方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。
103、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收內存嗎?有什麼辦法主動通知虛擬機進行垃圾回收?
對於GC來說,當程序員創建對象時,GC就開始監控這個對象的地址、大小以及使用情況。通常,GC採用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是"可達的",哪些對象是"不可達的"。當GC確定一些對象爲"不可達"時,GC就有責任回收這些內存空間。可以。程序員可以手動執行System.gc(),通知GC運行,但是Java語言規範並不保證GC一定會執行。
104、靜態變量和實例變量的區別?
static
i = 10; //常量
class A a; a.i
=10;//可變
105、什麼是java序列化,如何實現java序列化?
序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內容進行流化。可以對流化後的對象進行讀寫操作,也可將流化後的對象傳輸於網絡之間。序列化是爲了解決在對對象流進行讀寫操作時所引發的問題。
序列化的實現:將需要被序列化的類實現Serializable接口,該接口沒有需要實現的方法,implements
Serializable只是爲了標註該對象是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(對象流)對象,接着,使用ObjectOutputStream對象的writeObject(Object
obj)方法就可以將參數爲obj的對象寫出(即保存其狀態),要恢復的話則用輸入流。
106、是否可以從一個static方法內部發出對非static方法的調用?
不可以,如果其中包含對象的method();不能保證對象初始化.
107、寫clone()方法時,通常都有一行代碼,是什麼?
Clone
有缺省行爲,super.clone();他負責產生正確大小的空間,並逐位複製。
108、在JAVA中,如何跳出當前的多重嵌套循環?
用break;
return 方法。
109、List、Map、Set三個接口,存取元素時,各有什麼特點?
List 以特定次序來持有元素,可有重複元素。Set
無法擁有重複元素,內部排序。Map
保存key-value值,value可多值。
110、J2EE是什麼?
J2EE是Sun公司提出的多層(multi-diered),分佈式(distributed),基於組件(component-base)的企業級應用模型(enterpriese
application
model).在這樣的一個應用系統中,可按照功能劃分爲不同的組件,這些組件又可在不同計算機上,並且處於相應的層次(tier)中。所屬層次包括客戶層(clietn
tier)組件,web層和組件,Business層和組件,企業信息系統(EIS)層。
111、UML方面
標準建模語言UML。用例圖,靜態圖(包括類圖、對象圖和包圖),行爲圖,交互圖(順序圖,合作圖),實現圖。
112、說出一些常用的類,包,接口,請各舉5個
常用的類:BufferedReader
BufferedWriter FileReader FileWirter String Integer
常用的包:java.lang
java.awt java.io java.util java.sql
常用的接口:Remote List Map Document
NodeList
113、開發中都用到了那些設計模式?用在什麼場合?
每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。主要用到了MVC的設計模式。用來開發JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。
114、jsp有哪些動作?作用分別是什麼?
JSP共有以下6種基本動作 jsp:include:在頁面被請求的時候引入一個文件。 jsp:useBean:尋找或者實例化一個JavaBean。
jsp:setProperty:設置JavaBean的屬性。 jsp:getProperty:輸出某個JavaBean的屬性。
jsp:forward:把請求轉到一個新的頁面。
jsp:plugin:根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記。
115、Anonymous Inner Class (匿名內部類)
是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?
可以繼承其他類或完成其他接口,在swing編程中常用此方式。
116、應用服務器與WEB
SERVER的區別?
應用服務器:Weblogic、Tomcat、Jboss
WEB SERVER:IIS、
Apache
117、BS與CS的聯繫與區別。
C/S是Client/Server的縮寫。服務器通常採用高性能的PC、工作站或小型機,並採用大型數據庫系統,如Oracle、Sybase、Informix或
SQL
Server。客戶端需要安裝專用的客戶端軟件。
B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Netscape
Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL
Server等數據庫。在這種結構下,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現。瀏覽器通過Web Server
同數據庫進行數據交互。
C/S 與 B/S 區別:
1.硬件環境不同:
C/S 一般建立在專用的網絡上, 小範圍裏的網絡環境,
局域網之間再通過專門服務器提供連接和數據交換服務.
B/S 建立在廣域網之上的, 不必是專門的網絡硬件環境,例與電話上網, 租用設備. 信息自己管理.
有比C/S更強的適應範圍, 一般只要有操作系統和瀏覽器就行
2.對安全要求不同
C/S 一般面向相對固定的用戶羣,
對信息安全的控制能力很強. 一般高度機密的信息系統採用C/S 結構適宜. 可以通過B/S發佈部分可公開信息.
B/S 建立在廣域網之上,
對安全的控制能力相對弱, 可能面向不可知的用戶。
3.對程序架構不同
C/S 程序可以更加註重流程, 可以對權限多層次校驗,
對系統運行速度可以較少考慮.
B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優化的基礎之上. 比C/S有更高的要求
B/S結構的程序架構是發展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持網絡的構件搭建的系統. SUN
和IBM推的JavaBean 構件技術等,使 B/S更加成熟.
4.軟件重用不同
C/S 程序可以不可避免的整體性考慮,
構件的重用性不如在B/S要求下的構件的重用性好.
B/S 對的多重結構,要求構件相對獨立的功能.
能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在牆上的石頭桌子
5.系統維護不同
C/S 程序由於整體性, 必須整體考察,
處理出現的問題以及系統升級. 升級難. 可能是再做一個全新的系統
B/S 構件組成,方面構件個別的更換,實現系統的無縫升級.
系統維護開銷減到最小.用戶從網上自己下載安裝就可以實現升級.
6.處理問題不同
C/S 程序可以處理用戶面固定, 並且在相同區域,
安全要求高需求, 與操作系統相關. 應該都是相同的系統
B/S 建立在廣域網上, 面向不同的用戶羣, 分散地域, 這是C/S無法作到的.
與操作系統平臺關係最小.
7.用戶接口不同
C/S 多是建立的Window平臺上,表現方法有限,對程序員普遍要求較高
B/S
建立在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流. 並且大部分難度減低,減低開發成本.
8.信息流不同
C/S
程序一般是典型的中央集權的機械式處理, 交互性相對低
B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化,
更像交易中心。
118、LINUX下線程,GDI類的解釋。
LINUX實現的就是基於核心輕量級進程的"一對一"線程模型,一個線程實體對應一個核心輕量級進程,而線程之間的管理在覈外函數庫中實現。
GDI類爲圖像設備編程接口類庫。
119、STRUTS的應用(如STRUTS架構)
Struts是採用Java
Servlet/JavaServer Pages技術,開發Web應用程序的開放源碼的framework。
採用Struts能開發出基於MVC(Model-View-Controller)設計模式的應用構架。 Struts有如下的主要功能:
一.包含一個controller servlet,能將用戶的請求發送到相應的Action對象。 二.JSP自由tag庫,並且在controller
servlet中提供關聯支持,幫助開發員創建交互式表單應用。 三.提供了一系列實用對象:XML處理、通過Java reflection
APIs自動處理JavaBeans屬性、國際化的提示和消息。
120、Jdo是什麼?
JDO是Java對象持久化的新的規範,爲java data
object的簡稱,也是一個用於存取某種數據倉庫中的對象的標準化API。JDO提供了透明的對象存儲,因此對開發人員來說,存儲數據對象完全不需要額外的代碼(如JDBC
API的使用)。這些繁瑣的例行工作已經轉移到JDO產品提供商身上,使開發人員解脫出來,從而集中時間和精力在業務邏輯上。另外,JDO很靈活,因爲它可以在任何數據底層上運行。JDBC只是面向關係數據庫(RDBMS)JDO更通用,提供到任何數據底層的存儲功能,比如關係數據庫、文件、XML以及對象數據庫(ODBMS)等等,使得應用可移植性更強。
JAVA相關基礎知識(6)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
java面向對象五大原則:
sunforraining
2020-07-07 08:06:15
Leetcode - 8.String to Integer (atoi)
Matcha_ee
2020-02-25 13:49:30
關於Java棧與堆的思考
waxinxin
2020-02-22 04:01:34
我是一隻小小鳥————簡單的內存分析。
墨明VS棋妙
2018-09-06 05:02:27
我是一隻小小鳥————基礎的纔是最好的。
墨明VS棋妙
2018-09-06 05:02:27
我是一隻小小鳥————走進編程世界。
墨明VS棋妙
2018-09-06 05:02:27
【面向對象基礎】| 面向對象設計的六原則理解和區別
曦曦冉冉
2018-09-04 03:30:54
優先使用對象組合而不是類繼承
xiaofengw
2018-09-03 19:33:51
LeetCode - 67. Add Binary
Matcha_ee
2018-09-02 03:25:19
LeetCode - 125. Valid Palindrome
Matcha_ee
2018-09-02 03:25:19