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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 常見問題 Java編程基礎(chǔ)類庫(kù)

Java編程基礎(chǔ)類庫(kù)

更新時(shí)間:2019-04-10 10:34:32 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2258次

u=1495756089,2899056458&fm=26&gp=0.jpg

  1、Java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請(qǐng)說出他們分別是哪些類?

  字節(jié)流,字符流。字節(jié)流繼承于InputStreamOutputStream,字符流繼承于ReaderWriter。

  在java.io包中還有許多其他的流,低層流與調(diào)層流,高層流主要是為了提高性能和使用方便。

  2、啟動(dòng)一個(gè)線程是用run()還是start()?

  啟動(dòng)一個(gè)線程是調(diào)用start()方法,啟動(dòng)線程并調(diào)用run方法。

  3、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系

  線程是進(jìn)程內(nèi)的并發(fā),沒有自已內(nèi)存空間,共享進(jìn)程的,線程間的通信成本較低。

  Java中的線程有四種狀態(tài)分別是:運(yùn)行、就緒、掛起、結(jié)束。

  4、多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?用什么關(guān)鍵字修飾同步方法?

  stop()和suspend()方法為何不推薦使用?

  ExtendsThread

  ImplementsRunnable

  同步

  Publicsynchronizedaa()

  {

  }

  Publicvoidcc(objectaa)

  {

  synchronized(aa)

  {

  }

  }

  用synchoronized修飾同步方法。

  答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口

  同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify反對(duì)使用stop(),是因?yàn)樗话踩K鼤?huì)解除由線程獲取的所有鎖定,而且如果對(duì)象處于一種不連貫狀態(tài),那么其他線程能在那種狀態(tài)下檢查和修改它們。結(jié)果很難檢查出真正的問題所在。suspend()方法容易發(fā)生死鎖。調(diào)用suspend()的時(shí)候,目標(biāo)線程會(huì)停下來,但卻仍然持有在這之前獲得的鎖定。此時(shí),其他任何線程都不能訪問鎖定的資源,除非被"掛起"的線程恢復(fù)運(yùn)行。對(duì)任何線程來說,如果它們想恢復(fù)目標(biāo)線程,同時(shí)又試圖使用任何一個(gè)鎖定的資源,就會(huì)造成死鎖。所以不應(yīng)該使用suspend(),而應(yīng)在自己的Thread類中置入一個(gè)標(biāo)志,指出線程應(yīng)該活動(dòng)還是掛起。若標(biāo)志指出線程應(yīng)該掛起,便用wait()命其進(jìn)入等待狀態(tài)。若標(biāo)志指出線程應(yīng)當(dāng)恢復(fù),則用一個(gè)notify()重新啟動(dòng)線程。

  5、集合框架有什么?

  CollectionMap

  ListsetHashMap

  ArrayListlinkedListHashSetTreeSet

  6、設(shè)計(jì)4個(gè)線程,其中兩個(gè)線程每次對(duì)j增加1,另外兩個(gè)線程對(duì)j每次減少1。寫出程序

  publicclassTestThread

  {

  privateintj;

  publicsynchronizedvoidinc()

  {

  j++;

  System.out.println(Thread.currentThread().getName()+"-inc:"+j);

  }

  publicsynchronizedvoiddec()

  {

  j--;

  System.out.println(Thread.currentThread().getName()+"-dec:"+j);

  }

  publicstaticvoidmain(String[]args)

  {

  TestThreadt=newTestThread();

  for(inti=0;i<2;i++)

  {

  Threadinc=newThread(newInc(t));

  Threaddec=newThread(newDec(t));

  inc.start();

  dec.start();

  }

  }

  }

  classIncimplementsRunnable

  {

  privateTestThreadobj;

  publicInc(TestThreadobj)

  {

  this.obj=obj;

  }

  publicvoidrun()

  {

  //for(inti=0;i<100;i++)

  //{

  this.obj.inc();

  //}

  }

  }

  classDecimplementsRunnable

  {

  privateTestThreadobj;

  publicDec(TestThreadobj)

  {

  this.obj=obj;

  }

  publicvoidrun()

  {

  //for(inti=0;i<100;i++)

  //{

  this.obj.dec();

  //}

  }

  }

  7、同步和異步有和異同,在什么情況下分別使用他們?舉例說明。

  同步:上一段代碼沒的完成,下一段必須等到上一段代碼完成后才可以執(zhí)行。如買票排隊(duì)

  異步:上一段代碼沒的完成,下一段不必等到上一段代碼完成就可以執(zhí)行。如手機(jī)發(fā)送短信。

  8、sleep()和wait()有什么區(qū)別?

  Sleep是指休眠給定的時(shí)間,當(dāng)這個(gè)時(shí)間達(dá)到之后,線程會(huì)再次醒來。

  Wait是等待狀態(tài),多長(zhǎng)時(shí)間不清楚,由另一個(gè)線程將其喚醒。

  9、當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?

  如只其它方法是同步方法,不可以進(jìn)入。如果不是可以進(jìn)入。

  10、輸入輸出流的理解:

  在java使用流的機(jī)制進(jìn)行數(shù)據(jù)的傳送,從文件到內(nèi)存是輸入流,從內(nèi)存到文件是輸出流,輸入流可以通過read讀取,輸出流以write或print寫入,對(duì)于流可以是分為高層流和低層流,低層以一個(gè)字節(jié)或字符為單位進(jìn)行處理,高層流以一批數(shù)據(jù)為單位進(jìn)行處理。

  FileInputStream(System.in)至InputSteamReader至BufferReader

  OutputSteam(System.out)至printStream

  FileReader至BufferedReader

  FileWriter至PrintWriter或bufferWriter

  分類:

  字節(jié)(二進(jìn)制)

  FileInputStream(低層輸入流)

  FileOutputStream(低層輸出流)

  PrintStream(高層流)System.out.println()

  字符(一個(gè)char)

  FileReader

  FileWriter

  11、請(qǐng)寫一個(gè)程序的讀寫,要求用兩種方式一種是低層流另一種是高層流。

  importjava.io.FileWriter;

  importjava.io.InputStream;

  importjava.io.BufferedWriter;

  importjava.io.InputStreamReader;

  importjava.io.BufferedReader;

  importjava.io.FileReader;

  publicclassUntitled1{

  publicstaticvoidwriteFileChar()throwsException{

  FileWriterf=newFileWriter("c:\\aa.txt");

  InputStreamis=System.in;

  intc=is.read();

  while(((char)c)!='x'){

  f.write(c);

  c=is.read();

  }

  f.close();

  is.close();

  }

  publicstaticvoidwriteFileString()throwsException{

  FileWriterf=newFileWriter("c:\\aa.txt");

  BufferedWriterbwr=newBufferedWriter(f);

  BufferedReaderbf=newBufferedReader(newInputStreamReader(System.in));

  Stringc=bf.readLine();

  while(!c.equals("stop")){

  bwr.write(c+"\r\n");

  c=bf.readLine();

  }

  bwr.close();

  f.close();

  bf.close();

  }

  publicstaticvoidreadFileChar()throwsException{

  FileReaderf=newFileReader("c:\\aa.txt");

  intc=f.read();

  while(c!=-1){

  System.out.print((char)c);

  c=f.read();

  }

  f.close();

  }

  publicstaticvoidreadFileString()throwsException{

  BufferedReaderbf=newBufferedReader(newFileReader("c:\\aa.txt"));

  Stringc=bf.readLine();

  while(c!=null)

  {

  System.out.println(c);

  c=bf.readLine();

  }

  bf.close();

  }

  publicstaticvoidmain(String[]args)throwsException{

  readFileString();

  }

  }

  12、如何列出某個(gè)目錄下的所有文件

  Importjava.io.File;

  Filef=newFile("C:\\");

  File[]f1=f.listFiles();

  for(inti=0;i<f1.length;i++)

  {

  if(f1[i].isDirectory())

  {

  System.out.println("dirctoryis"+f1[i].getName());

  }

  else

  {

  System.out.println("fileis"+f1[i].getName());

  }

  }

  }

  1.如何列出某個(gè)目錄下的所有子目錄

  publicstaticvoidmain(String[]args)throwsException

  {

  getFile(newFile("C:\\entityBean"),"\t");

  }

  publicstaticvoidgetFile(Filef,Stringsem)throwsException

  {

  System.out.println(sem+f.getName());

  Filefl[]=f.listFiles();

  if(fl.length>=1)

  {

  for(inti=0;i<fl.length;i++)

  {

  if(fl[i].isDirectory())

  {

  getFile(fl[i],sem+"\t");

  }

  }

  }

  }

  2.判斷一個(gè)文件或目錄是否存在

  Filef=newFile("C:\\entityBean");

  if(f.exists())

  {

  System.out.println("exist");

  }

  else

  {

  System.out.println("notexist");

  }

  Socket

  13、用socket通訊寫出客戶端和服務(wù)器端的通訊,要求客戶發(fā)送數(shù)據(jù)后能夠回顯相同的數(shù)據(jù)?

  publicclassServerSocket_1

  {

  publicstaticvoidmain(String[]args)

  throwsException

  {

  ServerSocketss=newServerSocket(4001);

  Sockets=ss.accept();

  BufferedReaderbr=newBufferedReader(newInputStreamReader(s.

  getInputStream()));

  PrintStreamps=newPrintStream(s.getOutputStream());

  Stringtemp=br.readLine();

  while(true)

  {

  System.out.println("客戶端:"+temp);

  ps.println(temp);

  if(temp.equals("stop"))

  {

  break;

  }

  temp=br.readLine();

  }

  br.close();

  ps.close();

  ss.close();

  }

  }

  publicclassClientSocket

  {

  publicstaticvoidmain(String[]args)throwsException

  {

  Sockets=newSocket("localhost",4001);

  PrintStreamps=newPrintStream(s.getOutputStream());

  BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

  BufferedReaderbr_server=newBufferedReader(newInputStreamReader(s.

  getInputStream()));

  Stringtemp=br.readLine();

  while(true)

  {

  ps.println(temp);

  temp=br_server.readLine();

  System.out.println("服務(wù)器的信息:"+temp);

  if(temp.equals("stop"))

  {

  break;

  }

  temp=br.readLine();

  }

  s.close();

  br.close();

  br_server.close();

  }

  }

  14、介紹Java中的CollectionFrameWork(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?

  答:CollectionFrameWork如下:

  Collection

  ├List

  │├LinkedList

  │├ArrayList

  │└Vector

  │└Stack

  └Set

  Map

  ├Hashtable

  ├HashMap

  └WeakHashMap

  Collection是最基本的集合接口,一個(gè)Collection代表一組Object,即Collection的元素

  (Elements)

  Map提供key到value的映射

  15、請(qǐng)說出你所知道的線程同步的方法

  HashTable中的put,get,remove

  Vector的相關(guān)方法。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产精品v免费视频 | 桃色婷婷 | 免费观看大片毛片 | 在线看亚洲 | 国产目拍亚洲精品一区麻豆 | 亚洲精品αv一区二区三区 亚洲精品爱爱久久 | 国产91在线播放 | 成人午夜精品网站在线观看 | 国内精品福利在线视频 | 欧美色亚洲图 | 91福利免费| 免费看a网站 | 亚洲tv精品一区二区三区 | 日韩一区二区三区在线免费观看 | 国产精品嫩草研究所永久网址 | 美国免费三片在线观看 | 色婷婷狠狠五月综合天色拍 | 欧美jizzhd精品欧美另类 | 九九精品成人免费国产片 | 国产精品免费入口视频 | 久久久久女人精品毛片九一 | 日韩欧美中 | 五月天婷婷在线观看 | 一级a毛片 | 波多野结衣二区 | 91久久青草精品38国产 | 内部片免费一区 | 5060午夜一级毛片 | 久久久久久尹人网香蕉 | 国产精品久久自在自线观看 | 91在线播 | 337p色噜噜人体大胆欧美 | 波多野结衣免费播放 | 久久久窝窝午夜精品 | 91社区在线观看精品 | 亚洲小视频网站 | 亚洲天天做夜夜做天天欢人人 | 亚洲欧美另类视频 | 五月天天色| 国产美女一级高清免费观看 | 五月天婷婷在线观看 |