Java編程筆試面試題⑤
上期題目解答:
1.如果程序代碼爲:
public class Demo{
public static void main (String[ ] args){
String a=args[1];
System.out.println(a);
}
}
進行編譯後,執行以下命令將得到什麼結果?
java Demo a1 a2 a3
結果:a2
2、現有一個類定義如下,請回答問題:
class Employee{
String name;
int age;
double wage;
static int No=0;
Employee(String a1,int a2,double a3){
name=a1; age=a2; wage=a3;
No++;
}
}
在使用該類時,已使用下面語句生成了該類的對象:
Employee e1,e2;
e1=new Employee("王勁",26,6300);
e2=new Employee("張山",30,3800);
問題:
1)e2.name,e2.age,e2.wage的值各是什麼 ?
2)生成對象e1,e2後,e1.No值爲多少 能否通過類名做前綴引用屬性No和age?
結果:1)(張山;30;3800.0)
2)可以訪問No,不能訪問age
3、閱讀以下程序,寫出運行結果
class Q1{
public static void main(String args[ ]){
double d=1.23;
Dec dec=new Dec( );
dec.decrement(d);
System.out.println(d);
}
classs Dec{
public void decrement(double decMe){
decMe = decMe - 0.1;
}
}
結果:1.23
4、分析下列程序的執行結果:
class Value{
public int i = 15;
}
public class Test{
public static void main(String argv[]){
Test t = new Test(); t.first();
}
public void first(){
int i = 5;
Value v = new Value();
v.i = 25; second(v, i);
System.out.println(v.i);
}
public void second(Value v, int i){
i = 0; v.i = 20;
Value val = new Value();
v = val;
System.out.println(v.i + " " + i);
}
}
結果:15 0 20
5、分析下列程序的執行結果:
public class Test{
public static void main(){
int i = 1, j = 10;
do{
if(i++ > --j)
continue;
}while(i < 5);
System.out.println("i=" + i + " j=" + j);
}
}
結果:i=5,j=6
今日題目:概念題 難度指數:★★
1.常用中間件RabbitMQ,kafka等,原理、區別、優缺點。
2.Lock 和 synchronize 實現原理與區別。簡述樂觀鎖悲觀鎖。分佈式鎖實現方式
3.常用中間件RabbitMQ,kafka等,原理、區別、優缺點
4.Redis原理,數據結構,集羣幾種方式,和memcache區別
書籍推薦:入門級 難度指數:★★★
Head First Java
Java學習筆記
Java核心技術:卷1 基礎知識
Java從入門到精通
瘋狂Java講義
Head First Servle&JSP
JSP & Servlet學習筆記
編寫高質量代碼——改善Java程序的151個建議
Java程序員修煉之道
Java8實戰
有效的單元測試
Java核心技術:卷2 高級特性
代碼整潔之道
數據結構與算法分析-Java語言描述