大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

第一部分 Java基礎
第二部分 Java進階

Java基礎面試題精選(82~113企業(yè)真題)

81、以下哪句是對索引的錯誤描述(C)

A.選擇性差的索引只會降低 DML 語句的執(zhí)行速度

B.選擇性強的索引只有被 Access Path 使用到才是有用的索引

C.過多的索引只會阻礙性能的提升,而不是加速性能

D.在適當?shù)臅r候將最常用的列放在復合索引的最前面

E.索引和表的數(shù)據(jù)都存儲在同一個 Segment 中

82、關于鎖 locks,描述正確的是(A)

A.當一個事務在表上防止了共享鎖(shared lock),其他事務,能閱讀表里的數(shù)據(jù)

B.當一個事務在表上防止了共享鎖(shared lock),其他事務,能更新表里的數(shù)據(jù)

C.當一個事務在表上防止了排他鎖(exclusive lock),其他事務,能閱讀表里的數(shù)據(jù)

D.當一個事務在表上防止了排他鎖(exclusive lock),其他事務,能更新表里的數(shù)據(jù)

83、如下那種情況下,Oracle不會使用 Full Table Scean(D)

A.缺乏索引,特別是在列上使用了函數(shù),如果要利用索引,則需要使用函數(shù)索引。

B.當訪問的數(shù)據(jù)占整個表中的大部分數(shù)據(jù)時。

C.如果時一個表的 high water mark 數(shù)據(jù)塊數(shù)少于初始化參數(shù) DB_FILE_MULTIBLOCK_READ_COUNT。

D.本次查詢可以用到該張表的一個引用,但是該表具有多個索引包含用于過濾的字段。

84、System.out.println(3/2);System.out.println(3.0/2); System.out.println(3.0/2.0); 分別會打印什么結果?

1

1.5

1.5

85、SpringMVC攔截器用過嗎?什么場景會用到,過濾器,攔截器,監(jiān)聽器有什么區(qū)別?

攔截器:是指通過統(tǒng)一攔截從瀏覽器發(fā)往服務器的請求來完成功能的增強。使用場景:解決請求的共性問題(亂碼問題、權限驗證問題)。

過濾器:Servlet中的過濾器Filter是實現(xiàn)了javax.servlet.Filter接口的服務器端程序,主要的用途是過濾字符編碼、做一些業(yè)務邏輯判斷等。其工作原理是只要你在web.xml文件配置好要攔截的客戶端請求,它都會幫你攔截到請求,此時你就可以對請求或響應(Request、Response)統(tǒng)一設置編碼,簡化操作;同時還可進行邏輯判斷,如用戶是否已經登錄、有沒有權限訪問該頁面等等工作。它是隨你的web應用啟動而啟動的,只初始化一次,以后就可以攔截相關請求,只有當你的web應用停止或重新部署的時候才銷毀。

監(jiān)聽器:現(xiàn)在來說說 Servlet 的監(jiān)聽器 Listener,其中有一個監(jiān)聽器是監(jiān)聽上下文的,它實現(xiàn)了javax.servlet.ServletContextListener接口,它也是隨web應用的啟動而啟動,只初始化一次,隨web應用的停止而銷毀。主要作用是:做一些初始化的內容、設置一些基本的內容、比如一些參數(shù)或者是一些固定的對象等等。

86、ThreadLocal 的原理和應用場景

每一個ThreadLocal能夠放一個線程級別的變量,可是它本身能夠被多個線程共享使用,并且又能夠達到線程安全的目的,且絕對線程安全。

ThreadLocal的應用場景:最常見的ThreadLocal使用場景為用來解決數(shù)據(jù)庫連接、Session 管理等

87、簡述 TCP 的三次握手

在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務,采用三次握手建立一個連接。

● 第一次握手:建立連接時,客戶端發(fā)送 syn 包(syn=j)到服務器,并進入 SYN_SEND 狀態(tài), 等待服務器確認; SYN:同步序列編號(Synchronize Sequence Numbers)。

第二次握手:服務器收到 syn 包,必須確認客戶的 SYN(ack=j+1),同時自己也發(fā)送一個 SYN 包(syn=k),即SYN+ACK 包,此時服務器進入 SYN_RECV 狀態(tài)。

● 第三次握手:客戶端收到服務器的 SYN+ACK 包,向服務器發(fā)送確認包 ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務器進入 ESTABLISHED 狀態(tài),完成三次握手。完成三次握手,客戶端與服務器開始傳送數(shù)據(jù)

88、SpringMVC request接收設置是線程安全的嗎?

是線程安全的,request、response 以及 requestContext 在使用時不需要進行同步。而根據(jù) spring的默認規(guī)則,controller對于BeanFactory而言是單例的。即controller只有一個, controller 中的request等實例對象也只有一個。

89、列舉 Maven 常見的六種依賴范圍

● compile: 編譯依賴范圍(默認),對其三種都有效。

● test: 測試依賴范圍,只對測試 classpath 有效。

● runtime: 運行依賴范圍,只對測試和運行有效,編譯主代碼無效,例如 JDBC。

● provided: 已提供依賴范圍,只對編譯和測試有效,運行時無效,例如 selvet-api。

● system: 系統(tǒng)依賴范圍.謹慎使用.例如本地的,maven 倉庫之外的類庫文件。

● import(maven2.0.9 以上): 導入依賴范圍,不會對其他三種有影響。

90、Mybatis 如何防止 sql 注入?mybatis 攔截器了解過嗎,應用場景是什么?

Mybatis使用#{}經過預編譯的,是安全的,防止sql 注入。

Mybatis攔截器只能攔截四種類型的接口:Executor、StatementHandler、ParameterHandler和ResultSetHandler。這是在Mybatis的Configuration中寫死了的,如果要支持攔截其他接口就需要我們重寫Mybatis的Configuration。

Mybatis可以對這四個接口中所有的方法進行攔截。

Mybatis攔截器常常會被用來進行分頁處理。

91、簡單解釋自動裝配的各種模式,或者叫裝配方式

在Spring框架中共有5種自動裝配:

● no:這是 Spring 框架的默認設置,在該設置下自動裝配是關閉的,開發(fā)者需要自行在bean定義中用標簽明確的設置依賴關系。

● byName:該選項可以根據(jù)bean名稱設置依賴關系。當向一個bean中自動裝配一個屬性時,容器將根據(jù)bean的名稱自動在在配置文件中查詢一個匹配的bean。如果找到的話,就裝配這個屬性,如果沒找到的話就報錯。

● byType:該選項可以根據(jù)bean類型設置依賴關系。當向一個bean中自動裝配一個屬性時,容器將根據(jù)bean的類型自動在在配置文件中查詢一個匹配的 bean。如果找到的話,就裝配這個屬性,如果沒找到的話就報錯。

● constructor:造器的自動裝配和 byType 模式類似,但是僅僅適用于與有構造器相同參數(shù) 的bean,如果在容器中沒有找到與構造器參數(shù)類型一致的bean,那么將會拋出異常。

● autodetect:該模式自動探測使用構造器自動裝配或者 byType 自動裝配。首先,首先會嘗試找合適的帶參數(shù)的構造器,如果找到的話就是用構造器自動裝配,如果在bean內部沒有找到相應的構造器或者是無參構造器,容器就會自動選擇byTpe的自動裝配方式。

92、mvc的各個部分都有哪些技術來實現(xiàn)?如何實現(xiàn)的?

MVC是Model-View-Controller的簡寫。Model代表的是應用的業(yè)務邏輯(通過 JavaBean,EJB組件實現(xiàn)),View 是應用的表示面(由JSP頁面產生),Controller是提供應用的處理過程控制(一般是一個Servlet),通過這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。

93、反射機制一般應用在什么場景?

● 逆向代碼,例如反編譯

● 與注解相結合的框架,例如Retrofit

● 單純的反射機制應用框架,例如EventBus 2.x

● 動態(tài)生成類框架,例如Gson

94、設計Java程序,假設有50瓶飲料,喝完三個空瓶可以換一瓶飲料,依次類推,請問總共喝了多少飲料。

class Buy {
    public static void main(String[] args) {
        int n = 50;
        int i = 0;
        while (true) {
            n -= 3;
            n++;
            if (n < 3) {
                System.out.println("共喝了" + (50 + i) + "瓶");
                break;
            }
        }
    }
}

95、根據(jù)某年某月某日,輸出這是一年中第幾天。

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.print("請輸入3個整數(shù),分別表示年月日:");
    int year = in.nextInt();
    int month = in.nextInt();
    int day = in.nextInt();
    int sum = 0;
    int[][] a = {
            {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
            {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
    };
    for (int i = 0; i < month - 1; i++) {
        if (year % 4 == 0 & year % 100 != 0 | year % 400 == 0)
            sum = sum + a[1][i];
        else
            sum = sum + a[0][i];
    }
    sum = sum + day;
    System.out.println(year + "年" + month + "月" + day + "是這一年的第" + sum + "天");
}

96、利潤與獎金,某公司銷售 10 萬元到 20 萬元的獎金 10%,在 20 萬元的獎金 10 萬元以上的獎金 7.5%,到 40 萬元超出 20 萬元的部分獎金為 5%,到 60 萬元的超出 40 萬元的部分獎金 3%,到 100 萬元的超出 60 萬元部分獎金 1%,請輸出說的獎金。

public class Test {
    public static void main(String[] args) {
        float money = 0;
        Scanner scan = new Scanner(System.in);
        System.out.print("請輸入利潤:");
        float num = scan.nextInt();
        if (num <= 100000) {
            money = (float) (num * 0.1);
        } else if (num <= 200000) {
            money = (float) ((num - 100000) * 0.075 + 100000 * 0.1);
        } else if (num <= 400000) {
            money = (float) ((num - 200000) * 0.5 + 100000 * 0.175);
        } else if (num <= 600000) {
            money = (float) ((num - 400000) * 0.3 + 100000 * 0.175 + 200000 * 0.5);
        } else if (num <= 1000000) {
            money = (float) ((num - 600000) * 0.015 + 100000 * 0.175 + 200000 * 0.5 + 200000 * 0.3);
        } else {
            money = (float) ((num - 1000000) * 0.01 + 100000 * 0.175 + 200000 * 0.5 + 200000 * 0.3 + 400000 * 0.015);
        }
        System.out.println("獎金:" + money);
    }
}

97、除了懶漢式和餓漢式你還了解那些單例模式?

//雙重檢查鎖模式
public class DoubleCheckLock {
    private static DoubleCheckLock instance = null;

    private DoubleCheckLock() {
    }

    public static DoubleCheckLock getInstance() {
        if (instance == null) {
            synchronized (DoubleCheckLock.class) {
                if (instance == null) {
                    instance = new DoubleCheckLock();
                }
            }
        }
        return instance;
    }
}

//靜態(tài)內部類方式
public class StaticInner {
    private static StaticInner instance;

    public static StaticInner getInstance() {
        return SingletonHolder.STATIC_INNER;
    }

    private static class SingletonHolder {
        private static final StaticInner STATIC_INNER = new StaticInner();
    }
}

98、簡述SSH的概念以及主要的設計思想?

SSH是Struts+Spring+Hibernate的一個集成框架,是目前比較流行的一種Web應用程序開源框架。

集成SSH框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內搭建結構清晰、可復用性好、維護方便的 Web 應用程序。

其中使用Struts作為系統(tǒng)的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業(yè)務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理Struts和Hibernate。

具體做法是:用面向對象的分析方法根據(jù)需求提出一些模型,將這些模型實現(xiàn)為基本的 Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出 Hibernate的DAO實現(xiàn),采用Hibernate架構實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉換和訪問,最后由Spring 做管理。

99、Linux下如何讓命令在后臺執(zhí)行?

要讓程序在后臺執(zhí)行,只需在命令行的最后加上“&”符號。例如:$ find . -name abc -print&

100、Linux中rm -i 與 rm -r 個實現(xiàn)什么功能?

rm –i: 交互模式刪除文件,刪除文件前給出提示。

rm -r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理。

101、什么是樂觀鎖,什么是悲觀鎖,兩者的區(qū)別是什么?

悲觀鎖(Pessimistic Lock),顧名思義,就是很悲觀,每次去拿數(shù)據(jù)的時候都認為別人會修改,所以每次在拿數(shù)據(jù)的時候都會上鎖,這樣別人想拿這個數(shù)據(jù)就會block直到它拿到鎖。傳統(tǒng)的關系型數(shù)據(jù)庫里邊就用到了很多這種鎖機制,比如行鎖,表鎖等,讀鎖,寫鎖等,都是在做操作之前先上鎖。它指的是對數(shù)據(jù)被外界(包括本系統(tǒng)當前的其他事務,以及來自外部系統(tǒng)的事務處理)修改持保守態(tài)度,因此,在整個數(shù)據(jù)處理過程中,將數(shù)據(jù)處于鎖定狀態(tài)。悲觀鎖的實現(xiàn),往往依靠數(shù)據(jù)庫提供的鎖機制(也只有數(shù)據(jù)庫層提供的鎖機制才能真正保證數(shù)據(jù)訪問的排他性,否則,即使在本系統(tǒng)中實現(xiàn)了加鎖機制,也無法保證外部系統(tǒng)不會修改數(shù)據(jù))。

樂觀鎖(Optimistic Lock),顧名思義,就是很樂觀,每次去拿數(shù)據(jù)的時候都認為別人不會修改,所以不會上鎖,但是在更新的時候會判斷一下在此期間別人有沒有去更新這個數(shù)據(jù),可以使用版本號等機制。樂觀鎖適用于多讀的應用類型,這樣可以提高吞吐量,像數(shù)據(jù)庫如果提供類似于write_condition機制的其實都是提供的樂觀鎖。

兩種鎖各有優(yōu)缺點,不可認為一種好于另一種,像樂觀鎖適用于寫比較少的情況下,即沖突真的很少發(fā)生的時候,這樣可以省去了鎖的開銷,加大了系統(tǒng)的整個吞吐量。但如果經常產生沖突,上層應用會不斷的進行retry,這樣反倒是降低了性能,所以這種情況下用悲觀鎖就比較合適。

102、日志打印的log4j的配置中%t表示什么?

答案:%t 輸出產生該日志事件的線程名。

擴展:%M 是輸出方法的名字、%m 是輸出代碼指定的日志信息。指定的打印信息的具體格式 ConversionPattern,具體參數(shù):

● %m輸出代碼中指定的消息

● %p輸出優(yōu)先級,即 DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL

● %r輸出自應用啟動到輸出該 log 信息耗費的毫秒數(shù)

● %c輸出所屬的類目,通常就是所在類的全名

● %t輸出產生該日志事件的線程名

● %n輸出一個回車換行符,Windows 平臺為"rn”,Unix 平臺為"n”

● %d 輸出日志時間點的日期或時間,默認格式為 ISO8601,也可以在其后指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS}

● %l輸出日志事件的發(fā)生位置,包括類目名、發(fā)生的線程,以及在代碼中的行數(shù)

● %x輸出和當前線程相關聯(lián)的 NDC(嵌套診斷環(huán)境),尤其用到像 java servlets 這樣的多客戶多線程的應用中。

● %%輸出一個”%”字符

● %F輸出日志消息產生時所在的文件名稱

● %M輸出執(zhí)行方法

● %L輸出代碼中的行號

103、Spring中什么時候引起NotWritablePropertyException和Could not open calss path resource[ApplicationContext.xml]

出現(xiàn)NotWritablePropertyException異常的原因一般是在ApplicationContext.xml中 property name的錯誤等相關問題。

104、關于Web應用程序,下列說法錯誤的是(B)

A. WEB-INF目錄存在于web應用的根目錄下

B. WEB-INF目錄與classes目錄平行

C. web.xml在WEB-INF目錄下

D. Web應用程序可以打包為war文件

105、有關Servlet的生命周期說法正確的有(CD)

A. Servlet 的生命周期由 Servlet 實例控制

B. init()方法在創(chuàng)建完 Servlet 實例后對其進行初始化,傳遞的參數(shù)為實現(xiàn) ServletContext 接口的對象

C. service()方法響應客戶端發(fā)出的請求

D. destroy()方法釋放Servlet實例

106、有關會話跟蹤技術描述正確的是(ABC)

A. Cookie是Web服務器發(fā)送給客戶端的一小段信息,客戶端請求時,可以讀取該信息發(fā)送到服務器端

B. 關閉瀏覽器意味著會話 ID 丟失,但所有與原會話關聯(lián)的會話數(shù)據(jù)仍保留在服務器上,直至會話過期

C. 在禁用 Cookie 時可以使用 URL 重寫技術跟蹤會話

D. 隱藏表單域將字段添加到 HTML 表單并在客戶端瀏覽器中顯示

???????107、以下web.xml片斷(D)正確地聲明servlet上下文參數(shù)

A.

<init-param>

<param-name>MAX</param-name>

<param-value>100</param-value>

</init-param>

B.

<context-param>

<param name="MAX" value="100" />

<context-param>

C.

<context>

<param name="MAX" value="100" />

<context>

D.

<context-param>

<param-name>MAX</param-name>

<param-value>100</param-value>

<context-param>

???????108、以下(A)可用于檢索session屬性userid的值

A. session. getAttribute (“userid”);

B. session. setAttribute (“userid”);

C. request. getParameter (“userid”);

D. request. getAttribute (“userid”);

109、下列 JSP 代碼,以下(CD)可放置在1處,不會發(fā)生編譯錯誤

<html>
<body>
<%
for(int i = 0; i < 10; i++) {
//1
}
%>
</body>
</html>

A. <%= i %>

B. <b>i</b>

C. %><%= i %><%

D. 不寫任何內容

110、???????考慮下面兩個JSP文件代碼片斷:

● test1.jsp:

<HTML>
<BODY>
<% pageContext.setAttribute(“ten”,new Integer(10));%>
//1
</BODY>
</HTML>

● test2.jsp:

數(shù)字為:<%= pageContext.getAttribute(”ten”)%>

以下(C)放置在 test1.jsp 中的//1 處,當請求 test1.jsp 時正確輸出 test2.jsp 中的內容。

A. <jsp:include page=”test2.jsp”  />

B. <jsp:forword page=”test2.jsp”  />

C. <%@ include file=”test2.jsp”  %>

D. pageContext對象的scope屬性為page,所以test2.jsp不能訪問 test1.jsp定義的屬性

111、???????有關JSP隱式對象,以下(ACD)描述正確。

A. 隱式對象是 WEB 容器加載的一組類的實例,可以直接在 JSP 頁面使用

B. 不能通過config對象獲取 ServletContext 對象

C. response對象通過sendRedirect方法實現(xiàn)重定向

D. 只有在出錯處理頁面才有 exception 對象

解釋:jsp 的九大內置對象分別是:config、request、response、out、page、pageContext、session、exception、application。其中exception 是特殊的內置對象,只有當在 jsp 中添加 isErrorPage="true"屬性時如下配置時才可以使用。該屬性一般出現(xiàn)在設定的錯誤界面。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" isErrorPage="true" %>

112、???????考慮下面 JSP 文件代碼片斷:

<HTML>
<BODY>
<jsp:include page=”test2.jsp”>
    <jsp:param name=”username”  value=”zhangsan”/>
</jsp:include>
</BODY>
</HTML>

以下(C)代碼片斷放置在 test2.jsp 中不會導致錯誤。

A. <jsp:getParam name=”username”/>

B. <jsp:include param =”username”/>

C. <%=request.getParameter(“username”)%>

D. <%=request.getAttribute(“username”)%>

解釋:<jsp:include page=”test2.jsp”>屬于動態(tài)調用test2.jsp界面,相當于動態(tài)去請求test2.jsp 所生成的Servlet,在請求的同時攜帶了請求參數(shù)“username”,我們知道在Servlet中獲取請求攜帶的參數(shù)就是通過request.getParameter(key)來獲取的,因此C正確。

113、???????以下是login.jsp文件的代碼片斷:???????

<%@ page isELIgnored="false"%>
<html>
<body>
<FORM action="login.jsp" method="GET">
    <input type="text" name="name" value="${param['name']}">
    <input type="submit" value="提交">
</FORM>
<P>
    用戶名為: ${param.name}
</body>
</html>

 

全部教程
主站蜘蛛池模板: 国产欧美在线观看一区二区 | 99综合在线 | 99精品免费视频 | 久久99精品亚洲热综合 | 国产午夜精品一区二区三区 | 毛片毛片 | 成人在线视频观看 | 日韩无毛 | 国产精品无 | 欧美精品99久久久久久人 | 国产成人cao在线 | 五月婷婷在线免费观看 | 国产v片成人影院在线观看 国产v视频 | 国产精品91视频 | 波多野结衣一二三区 | 欧美国产精品 | 久久a视频| 一级无毛| 免费看一级特黄a大片 | 老司机福利在线播放 | 99精品视频只99有精品 | 欧美大胆一级视频 | 欧美毛片在线播放观看 | 国产va| 奇米视频777 | 女人l8毛片a一级毛片 | 国产aaa级一级毛片 国产aaa毛片 | 神马影院午夜剧场 | 亚洲精品专区一区二区三区 | 91亚洲精品一区二区在线观看 | 国产高清一区二区三区 | 欧美人一级淫片a免费播放 欧美人与zoxxxx另类9 | 日韩在线2020专区 | 黄色aaa级片 | 999精品免费视频观看 | 四虎最新紧急入口 | 欧美理论在线观看 | 天天躁夜夜躁狂狂躁综合 | 正在播放久久 | 久久的爱久久久久的快乐 | 最新国产精品精品视频 |