1. 程式人生 > >尚學堂面試整理題目

尚學堂面試整理題目

目錄


Java

面試題整理

Java面向物件

This():當前類的物件,super父類物件

Super():在子類訪問父類的成員和行為,必須受類繼承規則的約束

this他代表當前物件,當然所有的資源都可以訪問.

在建構函式中,如果第一行沒有寫super(),編譯器會自動插入.但是如果父類沒有不帶引數的建構函式,或這個函式被私有化了(private修飾).此時你必須加入對父類的例項化構造.this就沒有這個要求,因為它本身就進行例項化的構造.
而在方法中superthis使用的方法就差不多了.只不過super 要考慮是否能訪問其父類的資源.

2.      作用域public,protected,private,
以及不寫時的區別(default)?

Public >protected>default>private (範圍)

Ø  Public:不同包、同一包、類內都可用

Ø  Private:類內

Ø  Protected: 不同包的子類同一包類內都可用

Ø  不寫時:同一包內、類內

* * * * *

* * * *

* * *

* *

*

程式碼如下:

publicclass Print {

publicstaticvoid main(String[] args) {

for (int i = 0; i < 5; i

++) {

for (int j = 5; j > i; j--) {

System.out.print("*");

}

System.out.println();

}

}

}

4.      JAVA事件委託機制垃圾回收機制

java 事件委託機制的概念,一個源產生一個事件並將它送到一個或多個監聽器那裡。在這種方案中,監聽器簡單的等待,直到它收到一個事件。一旦事件被接受,監聽器將處理這個事件,然後返回。

垃圾回收機制 垃圾收集是將分配給物件但不再使用的記憶體回收或釋放的過程。如果一個物件沒有指向它的引用或者其賦值為null,則此物件適合進行垃圾回收

5.      JAVA中,如何跳出當前的多重巢狀迴圈?

用break; return 方法。

6.      什麼是java序列化,如何實現java序列化?(寫一個例項)

序列化:

    可以將一個物件儲存到一個檔案,所以可以通過流的方式在網路上傳輸,可以將檔案的內容讀取,轉化為一個物件。

處理物件流的機制,所謂物件流也就是將物件的內容進行流化。可以對流化後的物件進行讀寫操作,也可將流化後的物件傳輸於網路之間。序列化是為了解決在對物件流進行讀寫操作時所引發的問題。

序列化的實現:

將需要被序列化的類實現Serializable介面,該介面沒有需要實現的方法,implements Serializable只是為了標註該物件是可被序列化的,然後使用一個輸出流(如:FileOutputStream)來構造一個ObjectOutputStream(物件流)物件,接著,使用ObjectOutputStream物件的writeObject(Object obj)方法就可以將引數為obj的物件寫出(即儲存其狀態),要恢復的話則用輸入流。

7.      一個".java"原始檔中是否可以包括多個類(不是內部類)?有什麼限制?

可以。如果這個類的修飾符是public,其類名與檔名必須相同。

排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(氣泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸併排序,分配排序(箱排序、基數排序)

快速排序的虛擬碼。

9.      OverloadOverride的區別。Overloaded(過載)的方法是否可以改變返回值的型別?

方法的

重寫Override,子類覆蓋父類的方法,將子類傳與父類的引用呼叫的還是子類的方法。

過載Overloading 一個類多個方法,名稱相同,引數個數型別不同(引數列表)。

兩者都是Java多型性的不同表現(動態繫結 dynamic binding)。

Overloaded的方法是可以改變返回值的型別(因為過載的判斷是根據方法名和引數來決定的,與訪問許可權和返回型別無關)。

1, public class Ctest()

{

    Public static void main()

{

System.out.prinln(8+8+88+8+8);//注意運算的順序

}

}

168888

{不能改變的}

屬性常量

方法不可以overridding (方法不可以被重寫)

類不可以繼承,只能例項化

答:父類:

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();

}

}

輸出結果:

C:>java test.ChildClass

FatherClass Create

FatherClass Create

ChildClass Create

(注意在例項化一個類時,一定是先建立其父類,即先執行父類的建構函式。如果子類沒有顯示的呼叫父類的建構函式,編譯器會自動加入父類的無參的建構函式super());

答:示例程式碼如下:

public class OuterClass

{

//內部類

private class InterClass

{

Public Interlass()

{

System.out.println("InterClass Create");

}

}

//建構函式

public OuterClass()

{

InterClass ic = new InterClass();

System.out.println("OuterClass Create");

}

public static void main(String[] args)

{

OuterClass oc = new OuterClass();

}

}

輸出結果:

C:>java test/OuterClass

InterClass Create

OuterClass Create

13.   用JAVA實現一種排序,JAVA類實現序列化的方法(二種)

serializable

14.   如在COLLECTION框架中,實現比較要實現什麼樣的介面?

Java.lang.Comparable 其中有一個方法compareTo();

package test;

import java.util.*;

class InsertSort

{

ArrayList al;

public InsertSort(int num,int mod)

{

al = new ArrayList(num);

Random rand = new Random();

System.out.println("The ArrayList Sort Before:");

for (int i=0;i<num ;i++ )

{

al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));

System.out.println("al["+i+"]="+al.get(i));

}

}

public void SortIt()

{

Integer tempInt;

int MaxSize=1;

for(int i=1;i<al.size();i++)

{

tempInt = (Integer)al.remove(i);

if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())

{

al.add(MaxSize,tempInt);

MaxSize++;

System.out.println(al.toString());

} else {

for (int j=0;j<MaxSize ;j++ )

{

if

(((Integer)al.get(j)).intValue()>=tempInt.intValue())

{

al.add(j,tempInt);

MaxSize++;

System.out.println(al.toString());

break;

}

}

}

}

System.out.println("The ArrayList Sort After:");

for(int i=0;i<al.size();i++)

{

System.out.println("al["+i+"]="+al.get(i));

}

}

public static void main(String[] args)

{

InsertSort is = new InsertSort(10,100);

is.SortIt();

}

}

JAVA類實現序例化的方法是實現java.io.Serializable介面

Collection框架中實現比較要實現Comparable 介面和 Comparator 介面

16.   程式設計:編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。但是要保證漢字不被截半個,如"ABC"4(中間有個空格),應該截為"AB",輸入"ABCDEF"6,應該輸出為"ABC"而不是"ABC+漢的半個"

答:程式碼如下:

public static void split(String source,int num) throws Exception

{

        int k=0;

        String temp="";

        for (int i = 0; i <source.length(); i++)

        {  

            byte[] b=(source.charAt(i)+"").getBytes();//此行程式碼關鍵

            k=k+b.length;//位元組的累加

            if(k>num)

            {

                break;

            }

            temp=temp+source.charAt(i);        

        }  

        System.out.println(temp);

    }

15Java程式設計,列印昨天的當前時刻

public class YesterdayCurrent{

publi void main(String[] args){

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, -1);

System.out.println(cal.getTime());

}

}

16、檔案讀寫,實現一個計數器

int i = -1;

try{

String stri="";

BufferedReader in = new BufferedReader(new FileReader(f));

while((stri=in.readLine())!=null){

i = Integer.parseInt(stri.trim());

}

in.close();

}catch(Exception e){

e.printStackTrace();

}

return i;

}

public void setNum(){

int i = getNum();

i++;

try{

PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(f,false)));

out.write(String.valueOf(i)); //可能是編碼的原因,如果直接寫入int的話,將出現java編碼和windows編碼的混亂,因此此處寫入的是String

out.close() ;

}catch(Exception e){

e.printStackTrace();

}

}

17、指出下面程式的執行結果。

class A{

static{

System.out.print("1");

}

public A(){

System.out.print("2");

}

}

class B extends A{

static{

System.out.print("a");

}

public B(){

System.out.print("b");

}

}

public class Hello{

public static void main(String[] ars){

A ab = new B(); //執行到此處,結果: 1a2b

ab = new B(); //執行到此處,結果: 1a2b2b

}

}

  注:類的static 程式碼段,可以看作是類首次載入(被虛擬機器載入)執行的程式碼,而對於類的載入,首先要執行其基類的構造,再執行其本身的構造

18、抽象類和介面的區別?

(1)介面可以被多重implements,抽象類只能被單一extends

(2)介面只有1定義,抽象類可以有定義和實現

(3)介面的欄位定義預設為:public static final, 抽象類欄位預設是"friendly"(本包可見)

當功能需要累積時 用抽象類,不需要累積時 用介面。(何為累積?)

19、什麼是類的返射機制?

通過類(Class物件),可以得出當前類的fields、method、construtor、interface、superClass、modified等,同是可以通過類例項化一個例項、設定屬性、喚醒方法。Spring中一切都是返射、struts、hibernate都是通過類的返射進行開發的。

20、類的返射機制中的包及核心類?

  java.lang.Class

  java.lang.refrection.Method

  java.lang.refrection.Field

  java.lang.refrection.Constructor

  java.lang.refrection.Modifier

  java.lang.refrection.Interface

21、得到Class的三個過程是什麼?

物件.getClass()

        類.class或Integer.type(int)  Integer.class(java.lang.Integer)

        Class.forName();

22、如何喚起類中的一個方法

產生一個Class陣列,說明方法的引數

通過Class物件及方法引數得到Method

通過method.invoke(例項,引數值陣列)喚醒方法

23、如何將數值型字元轉換為數字(IntegerDouble)?

Integer.parseInt(1234)

Double.parseDouble(123.2)

24、如何將數字轉換為字元?

1+””

1.0+””

25、如何去(取)小數點前兩位,並四捨五入。

d=d/100;

System.out.println(Math.round(d)*100);

26、如何取得年月日,小時分秒?

Calendar c=Calendar.getInstance();

        c.set(Calendar.YEAR,2004);

        c.set(Calendar.MONTH,0);

        c.set(Calendar.DAY_OF_MONTH,31);

        System.out.println(c.get(Calendar.YEAR)+"  "+(c.get(Calendar.MONTH)+1)+"  "+c.get(Calendar.DAY_OF_MONTH));

27、如何取得從1970年到現在的毫秒數

Java.util.Date dat=new Date();

long now=dat.getTime();

28、如何獲取某個日期是當月的最後一天

當前日期加一天,若當前日期與結果的月份不相同,就是最後一天。

取下一個月的第一天,下一個月的第一天-1

    {

        Calendar c = Calendar.getInstance();

        c.set(Calendar.YEAR,2004);

        c.set(Calendar.MONTH,0);

        c.set(Calendar.DAY_OF_MONTH,30);

        Calendar c1=(Calendar)c.clone();

        System.out.println(c.get(Calendar.YEAR)+"  "+(c.get(Calendar.MONTH)+1)+"  "+c.get(Calendar.DAY_OF_MONTH));

        c.add(Calendar.DAY_OF_MONTH,1);

        if(c.get(Calendar.MONTH)!=c1.get(Calendar.MONTH))

        {

            System.out.println("是最後一天");

        }

        else

        {

            System.out.println("不是取後一天");

        }

    }

29、如何格式化日期?Simple

Import java.text. SimpleDateFormat;

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dat=new Date();

//把日期轉化為字串

String str=sdf.format(dat);

System.out.println(str);

//將字串轉化為日期

Java.util.Date d1=sdf.parse(yyyy-mm-dd);

30、編碼轉換,怎樣實現將GB2312編碼的字串轉換為ISO-8859-1編碼的字串。

String a=new String("中".getBytes("gb2312"),"iso-8859-1");

String a=new String("中".getBytes("iso-8859-1"));

32String s = new String("xyz");建立了幾個String Object?

New了一個,XYZ本來又是一個

兩個

33   floatfloat f=3.4是否正確?

  報錯,應當是float f=3.4f

  如果是float f=3(整數)正確

35、說出一些常用的類,包,介面,請各舉5

常用的類:BufferedReader  BufferedWriter  FileReader  FileWirter  String  Integer

常用的包:java.lang  java.awt  java.io  java.util  java.sql javax.xml javax.sevlet javax.ejb.  java.net  javax.faces 

常用的介面: List  Map  Document  NodeList EjbObject EjbHome SessionBean  EntityBean

36java中會存在記憶體洩漏嗎,請簡單描述。

會。如:int i,i2;  return (i-i2);   //when i為足夠大的正數,i2為足夠大的負數。結果會造成溢位,導致錯誤。

37java中實現多型的機制是什麼?( 表現出來的是子類的行為)

靜態的多型:方法名相同,引數個數或型別不相同(overloading)

動態的多型:

子類覆蓋父類的方法,將子類的例項傳與父類的引用呼叫的是子類的方法

實現介面的例項傳與介面的引用呼叫的實現類的方法。

38、垃圾回收器的基本原理是什麼?垃圾回收器可以馬上回收記憶體嗎?有什麼辦法主動通知虛擬機器進行垃圾回收?

動態記憶體

        存放類例項

靜態記憶體

類本身

垃圾收集主要針對的是動態記憶體,一般當記憶體不夠用時會進行垃圾收集。

或通過System.gc()手動收集,但不保證一定執行。

39、靜態變數和例項變數的區別?

static i = 10; //常量

  class A a;  a.i =10;//可變

靜態方法可以呼叫靜態變數。

實現方法可以呼叫    靜態變數、例項變數

41、是否可以從一個static方法內部發出對非static方法的呼叫?

不可以,如果其中包含物件的method();不能保證物件初始化.

42、寫clone()方法時,通常都有一行程式碼,是什麼?

Clone 有預設行為,super.clone();他負責產生正確大小的空間,並逐位複製。

43JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finally分別代表什麼意義?在try塊中可以丟擲異常嗎?

Try:執行部分,產生異常

Catch:捕捉異常

Finally:不管有沒有異常都執行

Throws:在方法宣告處宣告要丟擲的異常,呼叫者必須對其進行處理。

Throw:丟擲一個異常

在try中可以丟擲異常,一般與宣告的異常相同。

自定義異常要繼承於Exception或Exception的子類

45、氣泡排序法

//相鄰兩個數比較,將最小或最大的放到後面,最後面數的不參與比較

publicclass BubbleSort {

privatestaticintal[] = newint[10];

public BubbleSort() {

al[0]=2;

al[1]=3;

al[2]=23;

al[3]=45;

al[4]=1;

al[5]=67;

al[6]=23;

al[7]=80;

al[8]=35;

al[9]=72;

}

publicstaticvoid main(String[] args) {

BubbleSort bs = new BubbleSort();

System.out.println("排序前:");

display(al);

for(int i=0;i<al.length;i++) {

for (int j = 0; j < al.length-i-1; j++) {

if(al[j]>al[j+1]) {

swap(j,j+1);

}

}

}

System.out.println();

System.out.println("排序後:");

display(al);

}

privatestaticvoid display(int[] al2) {

for (int i = 0; i < al2.length; i++) {

System.out.print(al2[i]+");

}

}

privatestaticvoid swap(int i, int j) {

int temp = al[i];

al[i]= al[j];

al[j] = temp;

}

}

46String and StringBuffer的區別?

String:長度給定不可變,當多個字串聯合時要先轉為StringBuffer,再聯合,速度慢。

StringBuffer:長度可變,可以將多個字串值直接聯合,效率高

47、用java程式碼編寫堆疊

publicclass Stack {

int[] data;

intmaxSize;

inttop;

public Stack(int maxSize) {

this.maxSize = maxSize;

data = newint[maxSize];

top = -1;

}

/**

 *依次加入資料

 *@paramdata要加入的資料

 *@return新增是否成功

 */

publicboolean push(int data) {

if(top+1== maxSize) {

System.out.println("棧已滿!");

returnfalse;

}

this.data[++top] = data;

returntrue;

}

/**

 *從棧中取出資料

 *@return取出的資料

 */

publicint pop() throws Exception{

if(top==-1) {

thrownew Exception("棧已空!");

}

returnthis.data[top--];

}

publicstaticvoid main(String[] args) throws Exception {

Stack stack=new Stack(1000);

stack.push(1);

stack.push(2);

stack.push(3);

stack.push(4);

stack.push(5);

while(stack.top>=0)

{

System.out.println(stack.pop());

}     

}

}

48、集合的作用是什麼?

資料的傳送 增、刪、改、查、constainsAll,可以存放不同型別的物件。

49、集合的通用方法有那些?通用方法是什麼?(操作)

集合List 的遍歷方法有:

Iterator:

Enumeration

For

Get

set

Collection的通用方法有:

    Iterator()

    Add()

    Clear();

    remove()

50、說出ArrayList,Vector, LinkedList的儲存效能和特性HashMapHashtable的區別

ArrayList Vector:以陣列的方式儲存,增、刪慢,查、改快

ArrayList:執行緒不安全,速度快

ArrayList:執行緒安全,速度慢(synchoronized)

LikedList: 以單鏈表的方式儲存,增、刪快,查、改慢

HashMap與Hashtable都實現的Map介面,HashTable執行緒安全,HashMap執行緒不安全。

51Collection Collections的區別。

Collection是集合的根介面,其下有set及list

Collections是集合的演算法(提供操作的方法)。

52Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()? 它們有何區別?contains來區分是否有重複的物件。還是都不用。

在比較時先呼叫hashCode方法,如果不相同,證明不相等。

如果相同,再呼叫equals方法,如果equals方法相同,證明相等,不相同,證明不相等。

==:主要用在基本資料型別及引用

Equals:主要是物件或物件引用的比較。

集合中是否包含某一個元素用contains來判斷。

53List, Set, Map是否繼承自Collection介面?

List,set繼承於Collection

Map沒有繼承於Collection,其相對是獨立的。

屬於Collection型別的物件,可以通過建構函式將一個集合構造成另外一個集合。

54、面向物件的特徵有哪些方面

1.抽象:

    找共性,將共有的屬性、方法放到父類中

2.繼承:

    子類繼承於父類,具有父類的所有屬性與方法,可以重用,也可以覆蓋。

3.封裝:

    一個類包括多個屬性及方法。

4. 多型性:

    動態:

    靜態:

55String是最基本的資料型別嗎?

基本資料型別包括byte、int、char、long、float、double、boolean和short。

java.lang.String類是final型別的,因此不可以繼承這個類、不能修改這個類。為了提高效率節省空間,我們應該用StringBuffer類

56

相關推薦

發一些Java面試題,上海學堂Java學員面試遇到的真題,值得學習

1. 下面哪些是Thread類的方法() A start()       B run()       C exit()      &nbs

前端面試筆試題目整理

目錄 1.DOCTYPE作用?嚴格模式與混雜模式如何區分?它們有何意義? <!DOCTYPE>是放在HTML文件第一行,用來告訴瀏覽器以什麼形式解析該文件。DOCTYPE不正確會使瀏覽器以混雜模式解析文件。 嚴格模式(

Linux 筆試面試常見題目整理

一.填空題: 在Linux系統中,以 檔案 方式訪問裝置 。 Linux核心引導時,從檔案 /etc/fstab 中讀取要載入的檔案系統。 Linux檔案系統中每個檔案用 i節點 來標識。 全部磁碟塊由四個部分組成,分別為引導塊 、專用塊 、 i節點表塊 和

學堂騙局,我的真實經歷

我叫紹可可,來自於河南,就讀於河南科技學院數學系。在很多人眼中,數學系多學霸,然而非常遺憾,我不是學霸,也沒有成為一名數學老師。目前呢,我在鐵道路電子所工作,是一名java女程序員,薪資10K。 進入IT行業,找到一份滿意的工作,我很感謝自己的哥哥,是他讓我認識到學IT的前景非常好。從數學

學堂學員就業情況怎麽樣?畢業2年的我給新學員的忠告

尚學堂學員就業情況怎麽樣?我是2015年從尚學堂畢業的,大概三月份吧,剛從學校畢業的時候,找工作也是每周都給安排的,但最後沒選擇學校給安排的企業,還是非常感謝學校給的很多就業機會。 從尚學堂學完java到現在,我工作2年了,在技術方面得到了很大鍛煉。前段時間離職了,可能是我要求

學堂java培訓怎麽樣?談談我在學堂學習的心得體會

培訓機構 尚學堂 參加尚學堂java培訓班有一段時間了,今天有點時間,來分享下這段時間在尚學堂學java的心得體會。 學java編程很枯燥也很乏味,每天就是對著電腦敲寫著代碼,一行行代碼在電腦鍵盤的敲擊下就如同壘城堡一般,必須很專註很認真仔細,因為稍不留神一個標點符號,或者大小寫一點點小錯誤

學堂學習是騙局?我來說說我對學堂的看法

java尚學堂學習是騙局?我在這裏首先要對尚學堂給我的培訓表示真摯的感謝,感謝把我帶領到計算機行業,可以成功的轉行業,所以我想說:沒有比尚學堂更靠譜的學校!其次是對尚學堂老師的感謝,感謝老師辛勤地毫無保留地把知識傳授給我們,讓我們這些毫無基礎的學生可以感受到java編程的美妙。來尚學堂培訓的這段時間,感覺時間

自學資源推薦 學堂-視頻下載

get block 。。 好好學習 lock 未來 且行且珍惜 download article 禮悟:   好好學習多思考,尊師重道存感恩。葉見尋根三二一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉強身心,誠勸且行且珍惜。

Spring MVC面試整理

直接 mark 如果 void struts 視圖 限制 線程安全問題 mapping Spring MVC執行過程 客戶端的請求提交到dispatcherServlet DispatcherServlet查詢一個或者多個handlermapping ,找請求的Cont

數據庫面試整理

位數 pan 驅動 基本 red datetime 分級別 HR nio 概念 1、什麽是視圖?以及視圖的使用場景有哪些? 視圖是一種虛擬的表,具有和物理表相同的功能。可以對視圖進行增,改,查,操作,試圖通常是有一個表或者多個表的行或列的子集。對視圖的修改不影響基本表。它使

mysql面試常見題目

arc delete upd replace eva 第三題 其中 signed 使用 第一題 某班學生和考試成績信息如下表Student所示: Student表 ID SName Mark 1 Jack 90 2 Marry 96 3 Rose 88 4 Bob 86 5

mysql面試常見題目2

4條 count student 插入 機考 mysq ID def arch Sutdent表的定義 字段名 字段描述 數據類型 主鍵 外鍵 非空 唯一 自增 Id 學號 INT(10) 是 否 是 是 是 sName 姓名 VARCHAR(20) 否 否 是 否 否 S

2016【極限班培訓】大數據(學堂

mage TE QQ targe 視頻教程 http image 技術 gallery ======================================================= 長期更新IT編程視頻教程,資料收集整理不易,需要一點費用 有意

2016 學堂 互聯網架構師 培訓2期-不加密完整版(32G)

收集 二維碼 完整 AR 技術資料 alt view info 資料 ======================================================= 長期更新IT編程視頻教程,資料收集整理不易,需要一點費用 有意者加Q

面試整理(1):原生ajax

兼容ie header 如果 sta class host sch 改變 chan 接到電話面試,有一些送分題答的不好,在這裏整理一下 問題:原生ajax的工作流程是怎麽樣的? 老用封裝好的工具,原生的ajax其實並不熟悉,今天復習一下。主要參考http://www.w3s

線性回歸——學堂-人工智能開發課程

很好 pri int font logs lin 概率 one 寫博客 傳送門:人工智能視頻列表-尚學堂,點開任意一個之後會發現他們會提供系列課程整合到一起的百度網盤下載,包括視頻+代碼+資料,都是免費的 這裏:博客園小技巧,我覺得這個很好玩,可以拿來用。 第一種方法:利用

記一次電話面試題目

ports tps prop 整理 怎麽 說了 構造 語句 htm 昨天下午六點正準備關電腦下班去和對象約定好的地方吃飯的時候,突然接到了一個電話面試邀請,於是內心快速糾結了一下,還是同意了這次電話邀約(其實內心是拒絕的,但是轉念一想剛好通過這個電話面試對自己查漏補缺),聊

java面試/筆試題目之多執行緒及鎖 (持續更新中)

前言:這一模組可以參照徐劉根大佬的部落格。 一.執行緒和程序的概念、並行和併發的概念 1.程序:是計算機中的程式關於某資料集合上的一次執行活動,是系統 進行資源分配和排程的基本單位,是作業系統結構的基礎。程式是指令、資料及其組織形式的描述,程序是程式的實體。 2.執行緒:是程式執行流的

java面試/筆試題目之Java常見集合(持續更新中)

宣告:題目大部分來源於Java後端公眾號,有些個人整理,但答案皆為個人整理,僅供參考。 目錄 Java中的集合 List 和 Set 區別 1.Set:集合中的物件不按特定方式排序(針對記憶體地址來說,即非線性),並且沒有重複物件。它的有些實現類能對集合中的物件按特定方式排序。