Java基礎(chǔ)面試題編程篇
LINUX實(shí)現(xiàn)的就是基于核心輕量級(jí)進(jìn)程的"一對(duì)一"線程模型,一個(gè)線程實(shí)體對(duì)應(yīng)一個(gè)核心輕量級(jí)進(jìn)程,而線程之間的管理在核外函數(shù)庫中實(shí)現(xiàn)。下面就由學(xué)習(xí)啦小編為大家介紹一下Java基礎(chǔ)面試題編程篇的文章,歡迎閱讀。
Java基礎(chǔ)面試題編程篇篇1
1 、什么是 web 容器
答: 給處于其中的應(yīng)用程序組件( JSP , SERVLET )提供一個(gè)環(huán)境,使 JSP,SERVLET 直接更容器中的環(huán)境變量接 ** 互,不必關(guān)注其它系統(tǒng)問題。主要有 WEB 服務(wù)器來實(shí)現(xiàn)。例如: TOMCAT,WEBLOGIC,WEBSPHERE 等。該容器提供的接口嚴(yán)格遵守 J2EE 規(guī)范中的 WEB APPLICATION 標(biāo)準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的 WEB 服務(wù)器就叫做 J2EE 中的 WEB 容器。
2 、什么是 EJB 容器
答: Enterprise java bean 容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件 EJB 各種管理功能。只要滿足 J2EE 規(guī)范的 EJB 放入該容器,馬上就會(huì)被容器進(jìn)行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級(jí)別的服務(wù)。例如郵件服務(wù)、事務(wù)管理
3 、 什么是 JNDI
答: ( Java Naming & Directory Interface ) JAVA 命名目錄服務(wù)。主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能。
4 、什么是 JMS
答: ( Java Message Service ) JAVA 消息服務(wù)。主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊。包括點(diǎn)對(duì)點(diǎn)和廣播。
5 、什么是 JTA
答: ( Java Transaction API ) JAVA 事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用其提供的接口即可。
6 、什么是 JAF
答: ( Java Action FrameWork ) JAVA 安全認(rèn)證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略。
RMI/IIOP: ( Remote Method Invocation /internet 對(duì)象請求中介協(xié)議)他們主要用于通過遠(yuǎn)程調(diào)用服務(wù)。例如,遠(yuǎn)程有一臺(tái)計(jì)算機(jī)上運(yùn)行一個(gè)程序,它提供股票分析服務(wù),我們可以在本地計(jì)算機(jī)上實(shí)現(xiàn)對(duì)其直接調(diào)用。當(dāng)然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進(jìn)行通信。 RMI 是 JAVA 特有的。
7 、 MVC 的各個(gè)部分都有那些技術(shù)來實(shí)現(xiàn) ? 如何實(shí)現(xiàn) ?
答: MVC 是 Model - View - Controller 的簡寫。 "Model" 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過 JavaBean , EJB 組件實(shí)現(xiàn)), "View" 是應(yīng)用的表示面(由 JSP 頁面產(chǎn)生), "Controller" 是提供應(yīng)用的處理過程控制(一般是一個(gè) Servlet ),通過這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。
Java基礎(chǔ)面試題編程篇篇2
1 、開發(fā)中都用到了那些設(shè)計(jì)模式 ? 用在什么場合 ?
答: 每個(gè)模式都描述了一個(gè)在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數(shù)次地使用那些已有的解決方案,無需在重復(fù)相同的工作。主要用到了 MVC 的設(shè)計(jì)模式。用來開發(fā) JSP/Servlet 或者 J2EE 的相關(guān)應(yīng)用。簡單工廠模式等。
2 、說說你所熟悉或聽說過的 j2ee 中的幾種常用模式 ? 及對(duì)設(shè)計(jì)模式的一些看法
答: Session Facade Pattern :使用 SessionBean 訪問 EntityBean
Message Facade Pattern :實(shí)現(xiàn)異步調(diào)用
EJB Command Pattern :使用 Command JavaBeans 取代 SessionBean ,實(shí)現(xiàn)輕量級(jí)訪問
Data Transfer Object Factory :通過 DTO Factory 簡化 EntityBean 數(shù)據(jù)提供特性
Generic Attribute Access :通過 AttibuteAccess 接口簡化 EntityBean 數(shù)據(jù)提供特性
Business Interface :通過遠(yuǎn)程(本地)接口和 Bean 類實(shí)現(xiàn)相同接口規(guī)范業(yè)務(wù)邏輯一致性
EJB架構(gòu)的設(shè)計(jì)好壞將直接影響系統(tǒng)的性能、可擴(kuò)展性、可維護(hù)性、組件可重用性及開發(fā)效率。項(xiàng)目越復(fù)雜,項(xiàng)目隊(duì)伍越龐大則越能體現(xiàn)良好設(shè)計(jì)的重要性。
3 、 j2ee 常用的設(shè)計(jì)模式?說明工廠模式。
答: Java 中的 23 種設(shè)計(jì)模式:
Factory (工廠模式), Builder (建造模式), Factory Method (工廠方法模式),
Prototype (原始模型模式), Singleton (單例模式), Facade (門面模式),
Adapter (適配器模式), Bridge (橋梁模式), Composite (合成模式),
Decorator (裝飾模式), Flyweight (享元模式), Proxy (代理模式),
Command (命令模式), Interpreter (解釋器模式), Visitor (訪問者模式),
Iterator (迭代子模式), Mediator (調(diào)停者模式), Memento (備忘錄模式),
Observer (觀察者模式), State (狀態(tài)模式), Strategy (策略模式),
Template Method (模板方法模式), Chain Of Responsibleity (責(zé)任鏈模式)
工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實(shí)現(xiàn)的類可以根據(jù)提供的數(shù)據(jù)生成一組類中某一個(gè)類的實(shí)例,通常這一組類有一個(gè)公共的抽象父類并且實(shí)現(xiàn)了相同的方法,但是這些方法針對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操作。首先需要定義一個(gè)基類,該類的子類通過不同的方法實(shí)現(xiàn)了基類中的方法。然后需要定義一個(gè)工廠類,工廠類可以根據(jù)條件生成不同的子類實(shí)例。當(dāng)?shù)玫阶宇惖膶?shí)例后,開發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是哪一個(gè)子類的實(shí)例。
UML方面
Java基礎(chǔ)面試題編程篇篇3
1、 UML 方面
答: 標(biāo)準(zhǔn)建模語言 UML 。用例圖 , 靜態(tài)圖 ( 包括類圖、對(duì)象圖和包圖 ), 行為圖 , 交互圖 ( 順序圖 , 合作圖 ), 實(shí)現(xiàn)圖 ,
CORBA 方面
2 、 CORBA 是什么 ? 用途是什么 ?
答: CORBA 標(biāo)準(zhǔn)是公共對(duì)象請求代理結(jié)構(gòu) (Common Object Request Broker Architecture) ,由對(duì)象管理組織 (Object Management Group ,縮寫為 OMG) 標(biāo)準(zhǔn)化。它的組成是接口定義語言 (IDL), 語言綁定 (binding: 也譯為聯(lián)編 ) 和允許應(yīng)用程序間互操作的協(xié)議。 其目的為:
用不同的程序設(shè)計(jì)語言書寫
在不同的進(jìn)程中運(yùn)行
為不同的操作系統(tǒng)開發(fā)
LINUX 方面
3 、 LINUX 下線程, GDI 類的解釋。
答: LINUX實(shí)現(xiàn)的就是基于核心輕量級(jí)進(jìn)程的"一對(duì)一"線程模型,一個(gè)線程實(shí)體對(duì)應(yīng)一個(gè)核心輕量級(jí)進(jìn)程,而線程之間的管理在核外函數(shù)庫中實(shí)現(xiàn)。
GDI類為圖像設(shè)備編程接口類庫。
4 、 LINUX 下線程, GDI 類的解釋。
答: LINUX 實(shí)現(xiàn)的就是基于核心輕量級(jí)進(jìn)程的 " 一對(duì)一 " 線程模型,一個(gè)線程實(shí)體對(duì)應(yīng)一個(gè)核心輕量級(jí)進(jìn)程,而線程之間的管理在核外函數(shù)庫中實(shí)現(xiàn)。
GDI 類為圖像設(shè)備編程接口類庫。
5 、寫一個(gè) Singleton 出來
答: Singleton 模式主要作用是保證在 Java 應(yīng)用程序中,一個(gè)類 Class 只有一個(gè)實(shí)例存在。
一般 Singleton 模式通常有幾種種形式 :
第一種形式 : 定義一個(gè)類,它的構(gòu)造函數(shù)為 private 的,它有一個(gè) static 的 private 的該類變量,在類初始化時(shí)實(shí)例話,通過一個(gè) public 的 getInstance 方法獲取對(duì)它的引用 , 繼而調(diào)用其中的方法。
public class Singleton {
private Singleton(){}
// 在自己內(nèi)部定義自己一個(gè)實(shí)例,是不是很奇怪?
// 注意這是 private 只供內(nèi)部調(diào)用
private static Singleton instance = new Singleton();
// 這里提供了一個(gè)供外部訪問本 class 的靜態(tài)方法,可以直接訪問
public static Singleton getInstance() {
return instance;
}
}
第二種形式 :
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
// 這個(gè)方法比上面有所改進(jìn),不用每次都進(jìn)行生成對(duì)象,只是第一次
// 使用時(shí)生成實(shí)例,提高了效率!
if (instance==null)
instance = new Singleton();
return instance; }
}
其他形式 :
定義一個(gè)類,它的構(gòu)造函數(shù)為 private 的,所有方法為 static 的。
一般認(rèn)為第一種形式要更加安全些
6 、繼承時(shí)候類的執(zhí)行順序問題 , 一般都是選擇題 , 問你將會(huì)打印出什么 ?
答 : 父類:
package test;
public class FatherClass
{
public FatherClass()
{
System.out.println("FatherClass Create");
}
}
子類 :
package test;
import test.FatherClass;
public class ChildClass extends FatherClass
{
public ChildClass()
{
System.out.println("ChildClass Create");
}
public static void main(String[] args)
{
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
輸出結(jié)果:
C:\>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create