ssm框架問題和Java


http://blog.csdn.net/zzjjiandan/article/details/20853233

 

BeanFactory的作用是什么? 

BeanFactory是配置、創建、管理bean的容器,有時候也稱為bean上下文。Bean與bean的依賴關系,也是由BeanFactory負責維護的。

  • bean在spring的容器中兩種基本行為是什么? 

Bean默認的是單例的.

如果不想單例需要如下配置:

<bean id="user" class="..." singleton="false"/>

singleton就是配置這個bean是否是單例的,如果不寫,就是默認值true。

注解:

spring Bean生命周期

1.Bean的作用域可以通過Bean標簽的scope屬性進行設置,Bean的作用域包括:

默認情況下scope="singleton",那么該Bean是單例,任何人獲取該Bean實例的都為同一個實例;

scope="prototype",任何一個實例都是新的實例;

scope="request",在WEB應用程序中,每一個實例的作用域都為request范圍;

 

 

scope="session",在WEB應用程序中,每一個實例的作用域都為session范圍;

注意:在默認情況下,Bean實例在被Spring容器初始化的時候,就會被實例化,默認調用無參數的構造方法。在其它情況下,Bean將會在獲取實例的時候才會被實例化

2.Bean可以通過指定屬性init-method指定初始化后執行的方法,以及通過指定屬性destroy-method銷毀時執行的方法。

語法:<bean .... destroy-method="銷毀時調用的方法名" init-method="初始化后執行的方法名"/>

  • Ajax的工作原理 ?
  • AJAX 是一種用於創建快速動態網頁的技術。通過在后台與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。而傳統的網頁(不使用AJAX)如果需要更新內容,必需重載整個網頁面。

 

J2EE是技術還是平台還是框架? 

J2EE本身是一個標准,一個為企業分布式應用的開發提供的標准平台。 

J2EE也是一個框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技術。

 

什么是AOP 請祥述

 AOP 把軟件系統分為兩個部分:核心關注點和橫切關注點。所謂的核心關注點,是業務處理的主要流程,也就是說這個解決方案要做的事。所謂橫切關注點,是與核心業務無關的部分,它把常發生在核心關注點的多處,而各處基本相似,如日志,事務,權限等 。

 

 

 

簡述什么是ORM

ORM的全稱是Object-Relational Mapping 翻譯成中文就是“對象-關系映射” 

ORM組件的主要功能就是實現實體域對象的持久化並封裝數據庫訪問的細節 

ORM本身並不是一個組件,它是具用某種功能的組件的總稱,也可以說是一種框架結構

 

一般情況下,關系數據模型與對象模型之間有哪些匹配關系
表對應類
記錄對應表的對象
表的字段對應類的屬性

 

 

抽象類總結:

1. 抽象類不能被實例化(初學者很容易犯的錯),如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創建對象。
2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。
3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。
4. 構造方法,類方法(用static修飾的方法)不能聲明為抽象方法。
5. 抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。

 

說說java中的內存分配? 

Java把內存分成兩種,一種叫做棧內存,一種叫做堆內存
在函數中定義的一些基本類型的變量和對象的引用變量都是在函數的棧內存中分配。當在一段代碼塊中定義一個變量時,
java就在棧中為這個變量分配內存空間,當超過變量的作用域后,java會自動釋放掉為該變量分配的內存空間,該內存空間可以立刻被另作他用。
堆內存用於存放由new創建的對象和數組。在堆中分配的內存,由java虛擬機自動垃圾回收器來管理。在堆中產生了一個數組或者對象后,還可以在棧中定義一個特殊的變量,
這個變量的取值等於數組或者對象在堆內存中的首地址,在棧中的這個特殊的變量就變成了數組或者對象的引用變量,
以后就可以在程序中使用棧內存中的引用變量來訪問堆中的數組或者對象,引用變量相當於為數組或者對象起的一個別名,或者代號。
引用變量是普通變量,定義時在棧中分配內存,引用變量在程序運行到作用域外釋放。而數組&對象本身在堆中分配,
即使程序運行到使用new產生數組和對象的語句所在地代碼塊之外,數組和對象本身占用的堆內存也不會被釋放,
數組和對象在沒有引用變量指向它的時候,才變成垃圾,不能再被使用,但是仍然占着內存,在隨后的一個不確定的時間被垃圾回收器釋放掉。
這個也是java比較占內存的主要原因。但是在寫程序的時候,可以人為的控制

 

throw與throws有什么區別?
throws是用來聲明一個方法可能拋出的所有異常信息
throw則是指拋出的一個具體的異常類型。
通常在一個方法(類)的聲明處通過throws聲明方法(類)可能拋出的異常信息,而在方法(類)內部通過throw聲明一個具體的異常信息。
throws通常不用顯示的捕獲異常,可由系統自動將所有捕獲的異常信息拋給上級方法;
throw則需要用戶自己捕獲相關的異常,而后在對其進行相關包裝,最后在將包裝后的異常信息拋出。

 

ArrayList和Vector的區別,HashMap和Hashtable的區別 
答:就ArrayList與Vector主要從二方面來說.
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數據增長:當需要增長時,Vector 默認增長為原來一培,而ArrayList卻是原來的一半
就HashMap與HashTable主要從三方面來說。
一.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value

 

垃圾回收機制的原理? 
在JAVA中 ,JAVA VM 每隔一段時間就會查看每一塊由NEW分配的內存空間,看指向它的有效引用是否存在,如果這個引用不存在,

系統會自動將這塊空間歸入空閑內存區.這個過程被稱為 垃圾收集.

 

jdk,jvm,jre

jdk包含jre和其他java工具

jre包含jvm,是java運行環境,包括Java核心類

一個Java程序首先會被編譯成class,然后通過jvm在運行時連接jre其他類庫得到可執行文件,可執行文件通過Java虛擬機調系統平台底層指令

http://jnn.iteye.com/blog/83105

 

什么是web容器?

是一種環境,servlet能夠直接從環境中獲取資源,而不用關心怎么來

 

Spring 中的 Bean 的作用域有哪些?
singleton : 表示 Bean 在一個 Spring IOC 容器中只會有一個實例。
prototype : 表示每次從 Spring IOC 獲取 Bean 時,都會產生一個新的實例,prototype 通常翻譯為原型(原型模式類似於這種方式)。
Spring 不能對一個 prototype bean 的整個生命周期負責,容器在初始化、配置、裝飾或者是裝配完一個 prototype 實例后,將它交給客戶端,隨后就對該 prototype 實例不聞不問了。不管何種作用域,容器都會調用所有對象的初始化生命周期回調方法,而對 prototype 而言,任何配置好的析構生命周期回調方法都將不會被調用。 清除 prototype 作用域的對象並釋放任何 prototype bean 所持有的昂貴資源,都是客戶端代碼的職責。(讓 Spring 容器釋放被 singleton 作用域 bean 占用資源的一種可行方式是,通過使用 bean 的后置處理器,該處理器持有要被清除的 bean 的引用。)
request : 表示該針對每一次 HTTP 請求都會產生一個新的 bean,同時該 bean 僅在當前 HTTP request 內有效。
session : session 作用域表示該針對每一次 HTTP 請求都會產生一個新的 bean,同時該 bean 僅在當前 HTTP session 內有效


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM