1.&和&&區別?java
都是邏輯運算符,都是判斷兩邊同時爲真,不然爲假;但&&當第一個爲假時,後面就不執行,而&則仍是要繼續執行,直至結束;程序員
———————————————————————————————編程
2.java中棧和堆的區別?服務器
棧用來存放基本數據類型和引用變量,當有函數要調用的時候,經過壓棧的方式建立新的棧幀,當函數調用結束時,會釋放棧幀; 堆用來存放運行時建立的對象,每個實例對應一個堆,而存放在垃圾回收器中的值將會自動回收(GC)。app
e.g:框架
class Rectangle{ private int length; private int width; public Rectangle(int length, int width){ this.length=length; this.width=width; } public static void main(String args[]){ Rectangle r=new Rectangle(3,5); } }
//當程序從main方法開始執行以後,數據的存儲關係以下:模塊化
棧 堆函數
————— ———————工具
i=1; new Rectangle()this
r _ _ _ _ _ _ >> width:3 length:5
————— ————————
局部變量在棧中,對象的引用也在棧中,具體類和參數值在堆中,用完
就做爲垃圾回收。
—————————————————————————————————
3.0 說說Spring的用途?
解決業務邏輯層和其餘的各個層的鬆耦合問題,下降客戶端和服務器之間的耦合度、依耐性。(解決企業開發的複雜性)
3.1 說說Spring核心?
Spring的核心是控制反轉、依賴注入。AOP(面向切面)至關於每一個
bean和bean之間的關係交給第三方容器進行管理。
說明:傳統項目分爲三層:控制層、反轉層、持久層(從上至下)。
3.2 說SpringIOC、SpringAOP?
SpringIOC至關於每一個bean和bean之間的關係交給第三方容器進行管理。
而這個容器就是面向切面的編程,或AOP是一種編程技術,容許程序模塊化橫向
切割關注點,或橫切典型的責任劃分,如日誌和事務管理。SpringAOP就是動態
代理。
3.3 Spring的底層實現機制是什麼?
用Dom4j(解析XML)+ java 反射機制。其中DOM4j其實就是解析XML,用反射機制實例化bean。
3.4 SpringAOP用到了什麼代理?
JDK動態代理:對實現接口的類生成代理。(接口類代理)
CGLib代理機制:對類生成代理。
動態代理和靜態代理?
靜態代理:有程序員建立或特定工具自動生成源代碼,再對其編譯。再程序運行前
代理類的.class 文件就已經存在了。
動態代理:在程序運行時,用反射機制動態建立而成。
Spring用到了哪些注入方式?
1)經過set方式注入 public class Person{ private Computer computer;//全局變量 public void setComputer(Computer computer){ this.computer=computer; }//set方法 public void useComputer(){ computer.start(); } //用bean文件來注入 } 2)經過構造函數注入 public class CPU{ private String name; public CPU(String name){ this.name=name; } public String getName(){ return name; } } 3)注入對象引用(經過對象引用傳進來) public class Computer{ private String name; public void start(){ System.out.println(name+"computer run"); System.out.println("CPU name is"+cpu.getName()); } } 4)經過工廠方式 public class Singleton{ private Singleton(){ static final Singleton instance=new Singleton(); } public static final Singleton getInstance(){ } }
Spring有哪些註解?
@AutoWired(按類型注入)
@Service(標示爲注入爲服務層)
@Resourse(按名稱注入)
@Controller(標識控制器bean id)
@RequestMapping(標示映射URL路徑)
簡述Spring的優缺點
1.
2.可使用容易提供的衆多服務,入事務管理,消息服務等等
3.容器提供單例模式支持
4.容器提供了AOP技術,用它很容易實現入權限攔截,運行期監控
等功能。
5.容器提供了衆多的輔助類,能加快應用開發。
6.Spring對於主流的應用框架提供了集成支持,如JPA、hibernate等
7.Spring屬於低浸入式設計,代碼的污染極低。
8.獨立於各類應用服務器
9.Spring的DI機制下降了業務對象替換的複雜性。
10.Spring的高度開放性,並不強制應用徹底依賴於Spring,開發者能夠自由選擇
Spring的部分或所有。
缺點:用到了大量的反射(自動實例化內存),而反射很佔內存,
使得運行速度變慢。
——————————————————————————————————
SpringMVC工做流程
//涉及到了一些XML和servlet方面的內容,先放放。