面試題java框架
㈠ 面試官問我有沒有java架構開發經驗,java架構是什麼怎樣才算是有架構開發經驗
這么問估計他自己都說不清楚什麼是架構,架構這個定義范圍很廣。
從java技術體繫上看有3中:
J2SE:標准版開發(目前都叫,JAVASE)
J2ME:小型版(目前都叫,JAVAME)
J2EE:企業級開發(目前都叫,JAVAEE)
現在me,和se基本看不到了!java ee 也是主流,為開發企業級環境應用程序提供解決的一套解決培滾方案,這個技術體系會用到Servlet,Jsp等技術,主要針對Web開發。
個人理解,架構就是解決問題的一系列方案,虧散方法。
一個小的管理系統分為:web 前段和 web 後端,這也是一個常見的軟體架構。
當一個軟體平台用戶量慢慢增加,單機部署的方式可能就應對不了實際的訪問壓力。這是可能會部署2台2個一樣的應用,來分流降壓。這種群集的方式也是屬於架構中的一種方案。
當平台訪問頁面訪問量過高的時候,耗去的連接數過大,可能就會考慮頁面的靜態化。這也是架構的內容
當訪問量過db無法承受的時候,就會考慮增加緩存,減少不必要的重復查庫操作,再者做讀寫分離。這也是架構的內容
當軟體內容功能越來越多的時候,可能就考慮根據業務拆分成不同的小服務(微服務)。
等等
架構是一系列的技術解決配空餘方案,其實開發過的人,基本都是在做架構內容,只是自己不知道而已。
架構是很范的,構架師涉獵的東西很多,比如多線程,io這些都是基本的,普通的開發這大都應該掌握的。
平常開發只有碰到問題,才能進步。
要解決問題,就必須要不斷的學習,才能懂的更多。當你發現你不懂的東西越來越多的時候,後頭看看,真的是懂的越多,問題就會越多。
㈡ 面試題:Java框架Netty的io結構是什麼
主從Reactor多線程Nio結構,主從Reactor線程模型的特點是:服務端用於接收客戶端連接的不再派團是個1個單獨的NIO線程,而是一個獨立的NIO線程池。Acceptor接收到客戶端TCP連接請求處理完成後(可能包含接入認證等),將新創建的SocketChannel注冊到IO線程池(sub reactor線程池)的某個IO線程上,由它負責SocketChannel的讀寫和編解碼工作。Acceptor線程池僅僅只用於客戶端的登陸、握手和安全認證,一旦鏈路建立成功,就將鏈路注冊到後端subReactor線程池的IO線程上宴祥,由IO線程負責後續的IO操作。x0dx0a利用主從NIO線程模型,可以塵祥橘解決1個服務端監聽線程無法有效處理所有客戶端連接的性能不足問題。x0dx0a它的工作流程總結如下:x0dx0a從主線程池中隨機選擇一個Reactor線程作為Acceptor線程,用於綁定監聽埠,接收客戶端連接;x0dx0aAcceptor線程接收客戶端連接請求之後創建新的SocketChannel,將其注冊到主線程池的其它Reactor線程上,由其負責接入認證、IP黑白名單過濾、握手等操作;x0dx0a步驟2完成之後,業務層的鏈路正式建立,將SocketChannel從主線程池的Reactor線程的多路復用器上摘除,重新注冊到Sub線程池的線程上,用於處理I/O的讀寫操作。
㈢ java 關於struts框架一般面試提什麼問題
一、說說Struts2的工作流程1、Struts
2框架本身大致可以分為3個部分:核心控制器FilterDispatcher、業務控制器Action和用戶實現型哪的企業業務邏輯組件。
1)核心控制器FilterDispatcher是Struts
2框架的基礎,包含了框架內部的控制流程和處理機制。
2)業務控制器Action和業務邏輯組件是需要用戶卜伍碼來自己實現的。用戶在開發Action和業務邏輯組件的同時,還需要編寫相關的配置文件,供核心控制器FilterDispatcher來使用。
Struts
2的工作流程相對於Struts
1要簡單,與WebWork框架基本相同,所以說Struts
2是WebWork的升級版本。
2、基本簡要流程如下:
1)客戶端初始化一個指向Servlet容器的請求;
2)這個請求經過一系列的過濾器(Filter)
(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對於Struts2和其他框架的集成很有幫助,例如:SiteMesh
Plugin)
3)接著FilterDispatcher被調用,
FilterDispatcher詢問ActionMapper來決定這個請是否需要調用某個Action
4)如果ActionMapper決定需要調用某個Action,
FilterDispatcher把請求的處理交給ActionProxy
5)ActionProxy通過Configuration
Manager詢問框架的配置文件,找到需要調用的Action類
6)ActionProxy創建一個ActionInvocation的實例。
7)ActionInvocation實例使用命名模式來調用,
在調用Action的過程前後,涉及到相關攔截器橘液(Intercepter)的調用。
8)一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。返回結果通常是(但不總是,也可
能是另外的一個Action鏈)一個需要被表示的JSP或者FreeMarker的模版。在表示的過程中可以使用Struts2
框架中繼承的標簽。
在這個過程中需要涉及到ActionMapper
9)響應的返回是通過我們在web.xml中配置的過濾器
10)如果ActionContextCleanUp是當前使用的,則FilterDispatecher將不會清理sreadlocal
ActionContext;如果ActionContextCleanUp不使用,則將會去清理sreadlocals。
㈣ java三大框架面試題
SSH:
spring 初始化組件----分層理念(就類似與中央管理省,省管理市等等)里,你想用下一層某個類的實例,但又不想自己new,好了,spring做的就是這個工作----初始化你需要的實例對象(通常是在xml文件中進行配置,希望簡化配置可以用註解)。(再通俗點說,某個省的代表在駐京辦,這時中央如果想了解某個省的情況的話,就直接問駐京辦的該省代表,而不用再派專人到該省詢問了。此時,可以近似理解為,中央為一個類,該省為一個類,駐京辦為spring容器,該省代表為該省的一個實例(但未初始化,因為不在駐京辦他的價值也就沒了),如果他在駐京辦而且告訴駐京辦他是該省的代表,那就代表中央可以使用他了---此時可以說,駐京辦實例化了該省類的對象。)
struts 控制跳轉-----比如說,你用SSH寫了一個登陸的邏輯,如果輸入信息正確跳轉到成功界面,如果不正確就跳轉到錯誤提示界面,那跳轉的方向由誰指定呢,對就是struts.xml文件(裡面對應的跳轉邏輯名)。
hibernate 將對象型的數據類型保存到關系型資料庫中的工具。比如說,Java是面向對象的開發語言,而現在的資料庫(Oracle、Mysql、sqlserver等等)基本上都是關系型的,如何把面向對象的數據類型保存在關系型的資料庫中呢?hibernate就是干這行的。
㈤ java常用框架面試題
1、什麼是Spring?
Spring是個Java企業級應用的開源開發框架。Spring主要用來開發Java應用,但是有些擴展是針對構建J2EE平台的web應用。Spring框架目標是簡化Java企業級應用開發,並通過POJO為基礎的編程模型促進良好的編程習慣。
2、Spring框架有哪些不同的模塊?
核心容器模塊、應用上下文模塊Application context、AOP模塊、JDBC抽象和DAO模塊、O/R映射整合模塊、Web模塊、MVC框架模塊。
3、一個簡單的Spring應用程序包括什麼?
這些應用程序像任何Java應用程序。它們是由多個類組成,每個類執行應用程序內的一個特定的功能。這些類的配置是通過一個XML文件向對方導入依賴。此XML文件描述如何配置類,稱為Spring配置文件。
4、如何給Spring容器提供配置元數據?
有三種重要的方法給Spring 容器提供配置元數據:XML配置文件、基於註解的配置、基於Java的配置。
5、在Spring中如何注入一個Java集合?
Spring提供以下幾種集合的配置元素:
類型用於注入一列值,允許有相同的值。
類型用於注入一組值,不允許有相同的值。
類型用於注入一組鍵值對,鍵和值都可以為任意類型。
類型用於注入一組鍵值對,鍵和值都只能為String類型。
6、在Spring框架中如何更有效地使用JDBC?
使用Spring JDBC框架,資源管理和錯誤處理的代價都會被減輕。所以開發者只需statements和queries從數據存取數據,JDBC也可以在Spring框架提供的模板類的幫助下更有效地被使用,這個模板叫JDBC Template 。
7、如何通過HibernateDaoSupport將Spring和Hibernate結合起來?
用Spring的SessionFactory調用LocalSessionFactory。集成過程分三步:
配置the Hibernate Session Factory、繼承HibernateDaoSupport實現一個DAO、在AOP支持的事務中裝配。
8、解釋一下Spring MVC框架及其控制器
Spring配備構建Web應用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts、Spring的MVC框架用控制反轉把業務對象和控制邏輯清晰地隔離。它也允許以聲明的方式把請求參數和業務對象綁定。
控制器提供一個訪問應用程序的行為,此行為通常通過服務介面實現。控制器解析用戶輸入並將其轉換為一個由視圖呈現給用戶的模型。Spring用一個非常抽象的方式實現了一個控制層,允許用戶創建多種用途的控制器。
㈥ 當前java主流的框架有哪些 面試題
Struts,hibernate,Spring,mybatis,主要這幾種,現在流戚空搜行的是SpringMVC,面試高歷題說不好,網上找虧掘,一找一大堆