更新時間:2020-04-08 13:55:52 來源:動力節點 瀏覽2510次
AOP與IOC的概念(即spring的核心)
a)IOC:Spring是開源框架,使用框架可以使我們減少工作量,提高工作效率并且它是分層結構,即相對應的層處理對應的業務邏輯,減少代碼的耦合度。而spring的核心是IOC控制反轉和AOP面向切面編程。IOC控制反轉主要強調的是程序之間的關系是由容器控制的,容器控制對象,控制了對外部資源的獲取。而反轉即為,在傳統的編程中都是由我們創建對象獲取依賴對象,而在IOC中是容器幫我們創建對象并注入依賴對象,正是容器幫我們查找和注入對象,對象是被獲取,所以叫反轉。
b)AOP:面向切面編程,主要是管理系統層的業務,比如日志,權限,事物等。AOP是將封裝好的對象剖開,找出其中對多個對象產生影響的公共行為,并將其封裝為一個可重用的模塊,這個模塊被命名為切面(aspect),切面將那些與業務邏輯無關,卻被業務模塊共同調用的邏輯提取并封裝起來,減少了系統中的重復代碼,降低了模塊間的耦合度,同時提高了系統的可維護性。
hibernate的核心思想。
a)Hibernate的核心思想是ROM對象關系映射機制。它是將表與表之間的操作映射成對象與對象之間的操作。也就是從數據庫中提取的信息會自動按照你設置的映射要求封裝成特定的對象。所以hibernate就是通過將數據表實體類的映射,使得對對象的修改對應數據行的修改。
Struts1與Struts2的區別。
15、最優刪除謀字符串的某個字符。
16-17、Arraylist與linkedlist的區別
a)都是實現list接口的列表,arraylist是基于數組的數據結構,linkedlist是基于鏈表的數據結構,當獲取特定元素時,ArrayList效率比較快,它通過數組下標即可獲取,而linkedlist則需要移動指針。當存儲元素與刪除元素時linkedlist效率較快,只需要將指針移動指定位置增加或者刪除即可,而arraylist需要移動數據。
數據庫優化
a)選擇合適的字段,比如郵箱字段可以設為char(6),盡量把字段設置為notnull,這樣查詢的時候數據庫就不需要比較null值
b)使用關聯查詢(leftjoinon)查詢代替子查詢。
c)使用union聯合查詢手動創建臨時表。
d)開啟事物,當數據庫執行多條語句出現錯誤時,事物會回滾,可以維護數據庫的完整性。
e)使用外鍵,事物可以維護數據的完整性但是它卻不能保證數據的關聯性,使用外鍵可以保證數據的關聯性。
f)使用索引,索引是提高數據庫性能的常用方法,它可以令數據庫服務器以比沒有索引快的多的速度檢索特定的行,特別是對于max,min,orderby查詢時,效果更明顯。
g)優化的查詢語句,絕大多數情況下,使用索引可以提高查詢的速度,但如果sql語句使用不恰當的話,索引無法發揮它的特性。
Tomcat服務器優化(內存,并發連接數,緩存)
a)內存優化:主要是對Tomcat啟動參數進行優化,我們可以在Tomcat啟動腳本中修改它的最大內存數等等。
b)線程數優化:Tomcat的并發連接參數,主要在Tomcat配置文件中server.xml中配置,比如修改最小空閑連接線程數,用于提高系統處理性能等等。
c)優化緩存:打開壓縮功能,修改參數,比如壓縮的輸出內容大小默認為2KB,可以適當的修改。
HTTP協議。
a)常用的請求方法有get、post。
b)Get與post的區別:傳送數據,get攜帶參數與訪問地址傳送,用戶可以看見,這的話信息會不安全,導致信息泄露。而post則將字段與對應值封裝在實體中傳送,這個過程用戶是不可見的。Get傳遞參數有限制,而post無限制。
Java集合類框架的基本接口有哪些?
a)Collection集合接口,List、set實現Collection接口,arraylist、linkedlist,vector實現list接口,stack繼承vector,Map接口,hashtable、hashmap實現map接口。
類加載的過程。
a)遇到一個新的類時,首先會到方法區去找class文件,如果沒有找到就會去硬盤中找class文件,找到后會返回,將class文件加載到方法區中,在類加載的時候,靜態成員變量會被分配到方法區的靜態區域,非靜態成員變量分配到非靜態區域,然后開始給靜態成員變量初始化,賦默認值,賦完默認值后,會根據靜態成員變量書寫的位置賦顯示值,然后執行靜態代碼。當所有的靜態代碼執行完,類加載才算完成。
對象的創建
a)遇到一個新類時,會進行類的加載,定位到class文件。
b)對所有靜態成員變量初始化,靜態代碼塊也會執行,而且只在類加載的時候執行一次。
c)New對象時,jvm會在堆中分配一個足夠大的存儲空間。
d)存儲空間清空,為所有的變量賦默認值,所有的對象引用賦值為null。
e)根據書寫的位置給字段一些初始化操作。
f)調用構造器方法(沒有繼承)
jvm的優化
a)設置參數,設置jvm的最大內存數
b)垃圾回收器的選擇
以上就是動力節點java培訓機構的小編針對“阿里java面試題都考些什么”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習