国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java面試題和解答(一)

2019-11-14 15:35:03
字體:
來源:轉載
供稿:網友

1、說說JVM原理?內存泄露與溢出區別,何時產生內存泄露?

JVM原理 :http://www.survivalescaperooms.com/jiayi/archive/2010/06/08/1753863.html

內存泄露與溢出區別:http://blog.csdn.net/buutterfly/article/details/6617375

2、MySQL上億記錄數據量的數據庫如何設計?

mysql單表存儲控制在百萬條最好,根據業務的增長量適時分表分庫,使用數據庫中間件進行數據集組合查詢

3、mysql支持事務嗎?DB存儲引擎有哪些?

MySQL常用的存儲引擎為MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事務安全表,其他存儲引擎都是非事務安全表。Innodb是MySQL的默認存儲引擎。MyISAM不支持事務、也不支持外鍵,但其訪問速度快,對事務完整性沒有要求。InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全。但是比起MyISAM存儲引擎,InnoDB寫的處理效率差一些并且會占用更多的磁盤空間以保留數據和索引

4、說說MVC原理、MVC模式的優缺點,如果讓你設計你會怎么改造MVC?

MVC是一種程序開發設計模式,它實現了顯示模塊與功能模塊的分離。提高了程序的可維護性、可移植性、可擴展性與可重用性,降低了程序的開發難度。它主要分模型、視圖、控制器三層。 

原理

1、模型(model)它是應用程序的主體部分,主要包括業務邏輯模塊(web項目中的Action,dao類)和數據模塊(pojo類)。模型與數據格式無關,這樣一個模型能為多個視圖提供數據。由于應用于模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重復性 
2、視圖(view) 用戶與之交互的界面、在web中視圖一般由jsp,html組成 
3、控制器(controller)接收來自界面的請求 并交給模型進行處理 在這個過程中控制器不做任何處理只是起到了一個連接的做用

優點 
1、可以為一個模型在運行時同時建立和使用多個視圖。變化-傳播機制可以確保所有相關的視圖及時得到模型數據變化,從而使所有關聯的視圖和控制器做到行為同步。 
2、視圖與控制器的可接插性,允許更換視圖和控制器對象,而且可以根據需求動態的打開或關閉、甚至在運行期間進行對象替換。 
3、模型的可移植性。因為模型是獨立于視圖的,所以可以把一個模型獨立地移植到新的平臺工作。需要做的只是在新平臺上對視圖和控制器進行新的修改。 
4、潛在的框架結構。可以基于此模型建立應用程序框架,不僅僅是用在設計界面的設計中。

缺點
1、增加了系統結構和實現的復雜性。對于簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結構的復雜性,并可能產生過多的更新操作,降低運行效率。 
2、視圖與控制器間的過于緊密的連接。視圖與控制器是相互分離,但確實聯系緊密的部件,視圖沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。 
3、視圖對模型數據的低效率訪問。依據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據。對未變化數據的不必要的頻繁訪問,也將損害操作性能。 
4、目前,一般高級的界面工具或構造器不支持模式。改造這些工具以適應MVC需要和建立分離的部件的代價是很高的,從而造成MVC使用的困難

5、hibernate支持集群嗎?如何實現集群?

Hibernate只是對JDBC的一個封裝,簡化了CRUD的操作而已。通常我們所說的集群,是指數據庫的集群或者應用服務器的集群。如果需要在集群上使用Hibernate,那就需要考慮使用支持集群的二級緩存。比如JBoss Cache,但不要使用Hibernate默認的二級緩存:EHCache,它并不支持二級緩存。

6、tomcat 最多支持并發多少用戶?

Tomcat的最大并發數是可以配置的,并沒有限制所配置的并發數量,根據請求數量所需要的帶寬,CPU,內存,壓力等進行配置。更好的硬件,更多的處理器都會使Tomcat支持更多的并發。

7、map原理,它是如何快速查找key的?map與set區別?

http://zhangshixi.VEvb.com/blog/672697

MAP的節點是一對數據.
SET的節點是一個數據.
Map使用關鍵值Key來唯一標識每一個成員 map可以重復。
set是集合
都屬于關聯容器
map的形式 map<type1, type2> mymap;
set的形式 set<type> myset;
set(集合)——包含了經過排序了的數據,這些數據的值(value)必須是唯一的。

map(映射)——經過排序了的二元組的集合,map中的每個元素都是由兩個值組成,其中的key(鍵值,一個map中的鍵值必須是唯一的)是在排序或搜索時使用,它的值可以在容器中重新獲??;而另一個值是該元素關聯的數值。比如,除了可以ar[43] = "overr

map是映射集合中的元素不能重復,set可以進行集合的各種操作(交并補等),當然你也可以用list或vector實現set,但是效率會很低。set一般是用平衡樹或哈西表實現的。
映射是一種一一對應的關系,哈西表也可以看作是映射的一種。映射通??捎脕韺崿F字典結構(dictionary)

8、如何有效合并兩個文件,一個是1億條的用戶基本信息,另一個是用戶每天看電影連續劇等的記錄,5000萬條,內存只有1G?

1億5千萬條數據不可能全部載入1G內存后再計算,只能先將文件劃分成小塊,再合并輸出到一個文件。

9、SPRing如何實現IOC與AOP的,說出實現原理?

Spring AOP原理:http://blog.csdn.net/moreevan/article/details/11977115

Spring IOC原理:http://blog.csdn.net/it_man/article/details/4402245

10、 java中抽象類和接口的區別

http://www.survivalescaperooms.com/roky/archive/2008/02/21/1076332.html

以上題目均收集自互聯網,部分答案也來自互聯網,版權均屬于原作者


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛扎县| 莱阳市| 莱芜市| 北辰区| 连南| 平远县| 屏边| 鄂尔多斯市| 许昌市| 通榆县| 鄂尔多斯市| 涟水县| 楚雄市| 河南省| 平武县| 靖远县| 河间市| 尉氏县| 伊金霍洛旗| 阿坝| 本溪| 林周县| 阿拉善右旗| 香格里拉县| 华宁县| 绥棱县| 凤凰县| 白山市| 邯郸市| 文水县| 晋城| 筠连县| 尼玛县| 响水县| 灌阳县| 奉新县| 敦化市| 晋城| 尚义县| 富源县| 进贤县|