日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

亿联本科java_厦门亿联2018面试题

發布時間:2023/12/2 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 亿联本科java_厦门亿联2018面试题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、選擇器

public class EqTest {

public static void main(String[] args) {

EqTest e = new EqTest();

}

public EqTest() {

String s = "Java";

String s2 = "java";

//if (s.equalsIgnoreCase(s2))

{

System.out.println("相等");

} else {

System.out.println("不相等");

}

}

}

在上面的java代碼的注釋行位置,放置(C)測試代碼能輸出“相等”的結果(單選)

C:if (s.equalsIgnoreCase(s2))

2.研究下馬的java代碼:

public class TestException {

public static void main(String[] args) {

int n[] = {

0, 1, 2, 3, 4

};

int sum = 0;

try {

for (int i = 1; i < 6; i++) {

sum = sum + n[i];

}

System.out.println("sum+" + sum);

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("數組越界");

} finally {

System.out.println("程序結束");

}

}

}

輸出結果是(C);

結果:數組越界 程序結束

3.考慮下列java代碼:

public class A {

public static void main(String[] args) {

try {

System.out.println("HelloWorld!");

}

}

}

程序報的錯為:Syntax error, insert "Finally" to complete BlockStatements

其中錯誤的是(A)。(單選)

A:沒有catch和finally塊   B:沒有拋出異常的代碼不能出現在try代碼塊內

C:如果沒有catch塊而使用try,main()會總是拋職異常   D:class A 沒有throws IOException

try要一個catch或者finally

4.研究下面的java代碼:

switch (x) {

case 1:

System.out.println(1);

case 2:

case 3:

System.out.println(3);

case 4:

System.out.println(4);

}

當x=2;時,運行結果是(C)。(單選)

C:單選結果是3和4

5.在java中,關鍵字(A)使類不能派生出子類(單選)

A:final

6.下面關于servlet的陳述正確的是:(B C)

A:我們在瀏覽器的地址欄直接輸入要請求的Servlet,該servlet默認會使用doPost方法處理請求

B:servlet運行在服務端

C:servlet的生命周期包括:實例化,初始化,服務,破壞,不可以用

D:servlet不能向瀏覽器發送Html標簽

注:Servlet生命周期分為三個階段:

1、初始化階段 , 調用init()方法;

2、響應客戶請求階段, 調用service()方法;

3、終止階段, 調用destroy()方法。

7.在JAVA編程中,以下(B)命令能將java源文件轉換為類文件。(單選)

A:appletviewer(小程序瀏覽器)  B:javac

C:java      D:以上所有選項都不正確

javac是JDK的標準編譯工具,常見的形式為:javac 。它可能的選項包括:

-g:生成所有調試信息。

-g:none:生成無調試信息。

-g:{lines,vars,source}:生成只有部分調試信息。

-nowarn:生成無警告。

-verbose:輸出關于編譯器正在做的信息。

-deprecation:輸出使用了不鼓勵使用的API的源程序位置。

-classpath :指定用戶類文件的位置。

-sourcepath :指定輸入源文件的位置。

-bootclasspath :覆蓋自舉類文件的位置。

-extdirs :覆蓋安裝的擴展類的位置。

-d :指定輸出類文件的位置。

-encoding :指定源文件中所用的字符集編碼。

-target :生成指定虛擬機版本的類文件。

java命令是JDK默認的java執行程序,在這里值得注意的是在執行帶包的.class文件時,需要使用標準的Java包形式。

Windows下文件名為jar.exe,Linux下文件名為jar。它的運行需要用到JDK安裝目錄下lib目錄中的tools.jar文件。jar命令行格式為:

jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目錄] 文件名

其中{ctxu}是jar命令的子命令,每次jar命令只能包含一個子命令,這些子命令含義如下。

-c:創建新的JAR文件包。

-t:列出JAR文件包的內容列表。

-x:展開JAR文件包的指定文件或者所有文件。

-u:更新已存在的JAR文件包(添加文件到JAR文件包中)。

[vfm0M]中的選項可以任選,也可以不選,它們是jar命令的選項參數。

-v:生成具體報告并打印到標準輸出。

-f:指定JAR文件名,通常這個參數是必須的。

-m:指定需要包含的MANIFEST清單文件。

-0:只存儲,不壓縮,這樣產生的JAR文件包會比不用該參數產生的體積大,但速度更快。

-M:不產生所有項的清單(MANIFEST〕文件,此參數會忽略-m參數。

8.下面對http請求消息使用Get和Post方法陳述正確的是:(B C)

A:post方法提交信息可以保存為書簽,而get則不行

B:可以使用GET方法提交敏感數據

C:使用POST提交數據量沒有限制

D:使用post方法提交數據比get方法快

注:

A錯,說的剛好相反

可以使用GET方法提交敏感數據,但不安全,所以不建議

GET方式提交的數據最多只能是1024字節,理論上POST沒有限制,可傳較大量的數據

post方法提交數據比get方法慢

GET的優點:

1.執行效率比POST高。

2.可以通過url傳遞數據,查找數據的時候就會體現到它的好處。

GET的缺點:

1.安全性很低,因為上傳的數據都會顯示在url上,所以一般用在上傳無關緊要的數據上。

2.上傳的數據量較小,一般不能超過4K.這也是因為url的長度而被限制的。

POST優點:

1.安全性高,但是也不是很高,如果想要高安全性的話就用https傳輸協議。

2.上傳的數據量比GET大得多。“理論上講,POST是沒有大小限制的,HTTP協議規范也沒有進行大小限制,說“POST數據量存在 80K/100K的大小限制”是不準確的,POST數據是沒有限制的,起限制作用的是服務器的處理程序的處理能力。”

POST缺點:

1.執行效率比GET低,但是現在的計算機都很強大,這些幾乎可以忽略不計,所以建議一般都使用POST方式。

2.不可以通過url傳遞數據,有時候可能會不方便.

9.在web應用程序中web.xml配置類Servlet的信息,如果你的項目為LoginDemo,那么最可能位于哪個目錄下(D)

A:LoginDemo/   B:LoginDemo/src

C:LoginDemo/WEB-INF/bin/  D:LoginDemo/WEB-INF/

注:web.xml文件是用來初始化配置信息,web.xml是放置在WEB-INF目錄中

(1)/WEB-INF/web.xml 是部署描述文件

(2)/WEB-INF/classes 用來放置應用程序用到的自定義類(.class),必須包括包(package)結構。

(3)/WEB-INF/lib 用來放置應用程序用到的JAR文件。

10.jsp在轉移階段生成文件的擴張名是(A,B)

A:class  B:java

C:exe    C:bin

注:web容器處理JSP文件請求的三個階段

翻譯階段:這一個階段,編寫好的jsp文件首先被web容器中的jp引擎轉換成java源代碼

編譯階段:jsp文件所翻譯的java源代碼會被編譯成可執行的字節碼

請求階段:當容器接受了客戶端請求之后,就執行jsp編譯的字節碼文件,處理完成請求之后,容器再把生成的頁面反饋給客戶端顯示。

簡答題

1.String和StringBuder,stringbuff的區別?

對字符串操作三者在執行速度方面的比較

StringBuilder StringBuffer String

String

String:字符串常量

StringBuffer:字符創變量

StringBuilder:字符創變量

從上面的名字可以看到,String是“字符創常量”,也就是不可改變的對象。

String s = "abcd";

s = s+1;

System.out.print(s);// result : abcd1

JVM是這樣解析這段代碼的:首先創建對象s,賦予一個abcd,然后再創建一個新的對象s用來;執行第二行代碼,也就是說我們之前對象s并沒有變化,所以我們說String類型是不可改變的對象了,由于這種機制,每當用String操作字符串時,實際上是在不斷的創建新的對象,而原來的對象就會變為垃圾被GC回收掉,可想而知這樣執行效率會有多底。

而StringBuffer與StringBuilder就不一樣了,他們是字符串變量,是可改變的對象,每當我們用它們對字符串做操作時,實際上是在一個對象上操作的,這樣就不會像String一樣創建一些而外的對象進行操作了,當然速度就快了。

StringBuilder:線程非安全的

StringBuffer:線程安全的

當我們在字符串緩沖去被多個線程使用是,JVM不能保證StringBuilder的操作是安全的,雖然他的速度最快,但是可以保證StringBuffer是可以正確操作的。當然大多數情況下就是我們是在單線程下進行的操作,所以大多數情況下是建議用StringBuilder而不用StringBuffer的,就是速度的原因。

我的博客里有關于字符串的詳解http://www.cnblogs.com/yangliguo/p/7496431.html

2、描述下HsahMap、hashtable、hashset的共同點與不同點

編程題

編寫一個工具類CollectionTools,為其編寫一個方法insertSect,功能是計算連個集合(Collection)的交集:傳入參數是兩個集合,返回結果是計算出來的交集。

import java.util.HashSet;

import java.util.Set;

public class CollectionTools {

public static Set insertSet(Set C1, Set C2) {

C1.retainAll(C2);

System.out.println(C1);

return C1;

}

public static void main(String[] args) {

Set c1 = new HashSet();

c1.add(3);

c1.add(2);

Set c2 = new HashSet();

c2.add(2);

c2.add(4);

System.out.println(CollectionTools.insertSet(c1, c2));

}

}

也可以用依次讀出數據進行比較簡單然后把相同的寫到一個集合中。或者把兩個集合的數據放到set集合中利用set的不含重復元素得到一個并集,然后求得他們的交集。

2.編寫一個對數據庫表t_user進行update操作的完整java代碼,請參考鏈接數據庫和異常等的處理

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class main {

public static void main(String[] args) {

//聲明Connection對象

Connection con;

//驅動程序名

String driver = "com.mysql.jdbc.Driver";

//URL指向要訪問的數據庫名mydata

String url = "jdbc:mysql://localhost:3306/sqltestdb";

//MySQL配置時的用戶名

String user = "root";

//MySQL配置時的密碼

String password = "123456";

//遍歷查詢結果集

try {

//加載驅動程序

Class.forName(driver);

//1.getConnection()方法,連接MySQL數據庫!!

con = DriverManager.getConnection(url,user,password);

//2.創建statement類對象,用來執行SQL語句!!

Statement statement = con.createStatement();

//要執行的SQL語句

String sql = "update t_user set id="+user.getId+"name"=user.getName+"login_name"+user.getLogin_name+"role_id"+user.getRole_id+"password"+user.getPsssword+"mobile"+user.getMobile;

//3.ResultSet類,用來存放獲取的結果集!!

int rs = statement.execute(sql);

con.close();

} catch(ClassNotFoundException e) {

//數據庫驅動類異常處理

System.out.println("Sorry,can`t find the Driver!");

e.printStackTrace();

} catch(SQLException e) {

//數據庫連接失敗異常處理

e.printStackTrace();

}catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}finally{

System.out.println("數據庫數據成功獲取!!");

}

}

}

數據庫連接方法比較多這里是最基礎的。

總結

以上是生活随笔為你收集整理的亿联本科java_厦门亿联2018面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。