當前位置:首頁 » 編程語言 » java網路編程實例

java網路編程實例

發布時間: 2022-08-10 10:08:34

java網路編程實例如何實現廣域網通訊

這個涉及到打孔,上網找下java打孔p2p

⑵ java網路編程,怎樣在客戶端和伺服器間實現通信。

寫個簡單點的伺服器跟客服端就行了我寫了個很簡單的,只能在一個客戶端跟一個伺服器通信,在控制台輸入下面這個是伺服器import java.io.*;
import java.net.*;
import java.util.Scanner;public class Server
{
public static void main(String[] args)
{
try {
ServerSocket server=new ServerSocket(8888);//定義客戶端的埠號
Socket client=server.accept();//定義一個Socket對象

InputStream is=client.getInputStream();//伺服器接受信息輸入流,也就是接受從伺服器段發送過來的消息
BufferedReader br=new BufferedReader(new InputStreamReader(is));//用bufferedreader包裝下輸入流

OutputStream os=client.getOutputStream();//這是用來給伺服器發送消息的輸出流
PrintStream ps=new PrintStream(os);
Scanner scanner=new Scanner(System.in);//從鍵盤輸入字元串

boolean flag=true;//定義一個死循環,讓伺服器不停的接受從客戶端發送來的字元串
while(flag)
{
String s=br.readLine();//s是從客戶端接受到得字元串
System.out.println(s);

String s2=scanner.nextLine();//s2是寫給客戶端的字元串
ps.println(s2); //給客戶端發送你寫的東西
}
client.close();
} catch (IOException e) {//try 跟catch你不用管,這是用來處理異常的,就是固定格式

e.printStackTrace();
}
}
} 下面是客戶端import java.io.*;
import java.net.*;
import java.util.Scanner;public class Client
{ public static void main(String[] args)
{
try
{
Socket client=new Socket("192.168.--.--",8888);//IP地址是個字元串,埠號是個整數,這個埠號要跟前面你寫的那個一樣,還有IP地址,寫你的機器的IP地址

InputStream is=client.getInputStream();//這邊的兩個流跟上面伺服器的差不多的作用
BufferedReader bf=new BufferedReader(new InputStreamReader(is));

OutputStream os=client.getOutputStream();
PrintStream ps=new PrintStream(os);
Scanner scanner=new Scanner(System.in);
boolean flag=true;
while(flag)//這句話可以讓客戶端不停的說話
{
String s2=scanner.nextLine();
ps.println(s2);

String s=bf.readLine();
System.out.println(s); }

client.close();

}
catch (UnknownHostException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
} }}

⑶ 求java nio網路編程的小例子,要求客戶端一直與伺服器保持連接

import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import java.net.*;
import java.io.*;

public class chatClient extends Frame {

/**
* @param args
*/
TextField tfTxT=new TextField();
TextArea taContent=new TextArea();
Socket s=null;
DataOutputStream dos=null;
DataInputStream dis=null;
private boolean bConnected =false;

public static void main(String[] args) {
new chatClient().lunachFrame();
}

private class RecvThread implements Runnable{

public void run() {
try{
while(bConnected){
String str=dis.readUTF();
taContent.setText(taContent.getText()+str+'\n');
}
}catch(IOException e){
e.printStackTrace();
}
}

}

public void lunachFrame(){
this.setLocation(400, 300);
this.setSize(300,300);
//this.setLayout(new FlowLayout());
this.add(tfTxT,"South");
this.add(taContent,"North");
pack();
tfTxT.addActionListener(new TFListener());
this.addWindowListener(new WindowClose());
this.setVisible(true);
connect();
new Thread(new RecvThread()).start();
}

public void connect(){
try {
s= new Socket("127.0.0.1",8888);
dos =new DataOutputStream(s.getOutputStream());
dis =new DataInputStream(s.getInputStream());
System.out.println("connected!");
bConnected=true;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

public void disconnect(){
try {
dos.close();
s.close();
} catch (Exception e) {
// TODO 自動生成 catch 塊
e.printStackTrace();
}
}

class WindowClose extends WindowAdapter{

@Override
public void windowClosing(WindowEvent e) {
// TODO 自動生成方法存根
System.exit(0);
disconnect();
}

}

private class TFListener implements ActionListener{

public void actionPerformed(ActionEvent e) {
String str=tfTxT.getText().trim();//trim去掉兩邊空格
//taContent.setText(str);
tfTxT.setText("");
try {
dos.writeUTF(str);
dos.flush();
//dos.close();

} catch (IOException e1) {
e1.printStackTrace();

}
}
}
}

======================================
import java.io.IOException;
import java.net.*;
import java.io.*;
import java.util.*;

public class ChatServer {
List<Client> clients=new ArrayList<Client>();
Client c=null;

public static void main(String[] args){
new ChatServer().start();
}

public void start(){
boolean started=false;
ServerSocket ss=null;
DataInputStream dis=null;
try{
ss=new ServerSocket(8888);
started =true;
}catch(Exception e)
{
e.printStackTrace();
}
try{
while(started){
Socket s=ss.accept();
c=new Client(s);//啟動線程,實行run()方法
System.out.println("a client connected!");
new Thread(c).start();//啟動start方法,循環.start是Thread中的方法與這上面的start無關
clients.add(c);
//dis.close();
}
} catch (Exception e) {

//e.printStackTrace();
}
finally{
try {
ss.close();
} catch (IOException e) {
// TODO 自動生成 catch 塊
e.printStackTrace();
}
}
}

class Client implements Runnable{

private Socket s;
private DataInputStream dis =null;
private boolean bConnected =false;
private DataOutputStream dos=null;

public Client(Socket s){
this.s=s;
try {
dis=new DataInputStream(s.getInputStream());
dos =new DataOutputStream(s.getOutputStream());
bConnected =true;
} catch (IOException e) {
// TODO 自動生成 catch 塊
e.printStackTrace();
}
}

public void send(String str)throws Exception{
dos.writeUTF(str);

}

public void run() {
try{
while(bConnected){
String str = dis.readUTF();
System.out.println(str);
for(int i=0;i<clients.size();i++){
c=clients.get(i);
c.send(str);
}
/*for(Iterator<Client> it=clients.iterator();it.hasNext();){
Client c=it.next();
c.send(str);
}*/
}
}catch(SocketException e){
clients.remove(this);
System.out.println("客戶下線了");
}
catch(EOFException e){
System.out.println("Client closed");
}
catch (Exception e){

//e.printStackTrace();
}
finally{
try {
if(dis !=null) dis.close();
if(dos !=null) dos.close();
if(s!=null) s.close();
} catch (Exception e1) {
// TODO 自動生成 catch 塊
//e1.printStackTrace();
}
}
}
}

}

第一個是客戶端,
第二個是server端

⑷ 《Java網路編程核心技術詳解》pdf下載在線閱讀全文,求百度網盤雲資源

《Java網路編程核心技術詳解》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1_XTd5UzNdDfNK3oN7lcUYQ

?pwd=htjm 提取碼: htjm
簡介:本書結合大量典性的實例,詳細介紹了用Java來編寫網路應用程序的技術。本書的範例都基於最新的JDK10版本。本書內容包括:Java網路編程的基礎知識、 套接字編程、非阻塞通信、創建HTTP伺服器與客戶程序、數據報通信、對象的序列化與反序列化、Java反射機制、RMI框架、JDBC API、JavaMail API、MVC設計模式、安全網路通信、XML數據處理和Web服務。

⑸ Java網路編程如何初始化套接字

不同的構造方法不僅帶的參數不同,所具有的意義也不一樣。下面分別解析這兩個類的實例初始化過程。 ServerSocket 實例的初始化 ServerSocket 類提供了四個構造器: public Socket(String host, int port) throws UnknownHostException, IOException public Socket(InetAddress address, int port) throws IOException public Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException public Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException public Socket() public Socket(Proxy proxy) 帶參構造器用來創建已綁定的伺服器套接字,也就是說構造成功後它就已經開始偵聽指定的埠,且能夠調用 accept() 方法來接受客戶端連接。默認構造器則會創建未綁定的伺服器套接字,構造成功後必須手動將其綁定到一個本地地址才能用,在綁定之前可以進行一些選項配置。 帶參構造器 總的來說,帶參構造器提供了三個參數: port 指定該伺服器套接字所要偵聽的本地埠。如果為 0,則由系統自動分配一個埠號,這必須以另外的方式讓客戶端獲取埠號。 backlog 這個名詞目前還沒有合適的譯名。底層系統的 TCP 實現會維護一個連接隊列,該隊列緩存了已被 TCP 處理完畢,但還沒有被伺服器套接字接受的客戶端連接。一旦某個連接被接受(通過調用 accept() 方法),它就會被從隊列中移除。backlog 參數就用於指定隊列的最大長度,默認值為 50,但這個值只是一個建議,底層系統可能根據需要自動調整。如果隊列滿了,則其行為是平台相關的:微軟的 WINSOCK 會拒絕新的連接,其他實現則什麼都不做。嚴格地說,微軟沒有遵守規范,破壞了游戲規則…… bindAddr 一台機器可能會有多個本地 IP 地址,例如同時使用多塊網卡。使用其他兩個帶參構造器時,該參數為 null,伺服器套接字會在所有的本地 IP 地址(0.0.0.0 或 ::0)上偵聽。如果希望只偵聽一個地址,則可使用該參數。 默認構造器 如果使用默認構造器,在綁定地址前,還可以做些配置。綁定操作由兩個 bind 方法定義,參數類似於帶參構造器。配置項包括以下方面(都必須在綁定前配置): 設置是否重用本地地址 該選項由 setReuseAddress(boolean on) 方法配置,對應底層系統的 SO_REUSEADDR 套接字選項。JDK 沒有定義該選項的默認值。如果該選項為 false,則在關閉 TCP 連接時,為了保證可靠性,該連接可能在關閉後的一段時間(大約兩分鍾)內保持超時狀態(通常稱為 TIME_WAIT 狀態或 2MSL 等待狀態),這段時間里無法將新建的伺服器套接字綁定到同一個地址。在開發階段,伺服器可能不斷重啟,打開改選項會非常有用。 設置接收緩沖區大小 該選項由 setReceiveBufferSize(int size) 方法配置,對應底層系統的 SO_RCVBUF 套接字選項,單位是位元組。《RFC 1323 - TCP Extensions for High Performance》將緩沖區大小定義為 64KB。該選項只是一個建議值,底層系統可能根據需要自行調整。 設置超時值 該選項由 setSoTimeout(int timeout) 方法配置,對應底層系統的 SO_TIMEOUT 套接字選項,單位是毫秒。默認值為 0。該選項影響 accept 方法的阻塞時間長度,如果超時將引發 SocketTimeoutException。如果設為 0,則表示永不超時。 設置性能首選項 性能首選項包括連接時間、延遲和帶寬三個選項,由 setPerformancePreferences(int connectionTime, int latency, int bandwidth) 方法配置。這三個數值分別表示短連接時間、低延遲和高帶寬的相對重要性,數值越大則越重要;其各自的絕對值沒有意義。該方法的初衷是為了讓 Java 能在用非 TCP/IP 實現的套接字環境下工作得更好,某些需要對網路進行調優的程序也可以將這三個首選項作為配置參數提供給用戶。 Socket 實例的初始化 Socket 類提供了六個公共構造器(已過時的除外): public Socket(String host, int port) throws UnknownHostException, IOException public Socket(InetAddress address, int port) throws IOException public Socket(String host, int port, InetAddress localAddr, int localPort) throws IOException public Socket(InetAddress address, int port, InetAddress localAddr, int localPort) throws IOException public Socket() public Socket(Proxy proxy) 前四個構造器創建已連接的客戶端套接字,也就是說構造的時候就會去連接伺服器。前兩個構造器需要提供伺服器的地址和埠作為參數,本地地址和埠由系統自動分配;後兩個允許手動指定本地地址和埠,但極少使用。後兩個構造器創建未連接的套接字,創建後需要調用 connect 方法手動連接,連接之前可以做一些配置。最後一個構造器接受一個代表代理服務其的 Proxy 對象,JDK 支持 HTTP 和 SOCKS(V4 或 V5)兩種代理類型。 連接前的配置 在連接前,客戶端套接字不僅像伺服器套接字那樣可以設置是否重用本地地址、緩沖區大小、超時值和性能首選項,還能夠配置以下各項(都必須在連接前配置): 設置是否保持活躍 該選項由 setKeepAlive(boolean on) 方法配置,對應底層系統的 SO_KEEPALIVE 套接字選項。默認值為 false。如果打開該選項,則套接字會定期自動發送保持活躍的探測性消息,類似於心跳檢測。根據《RFC 1122 - Requirements for Internet Hosts》的規定,保持活躍機制只是 TCP 的一個可選功能,如果支持的話,默認必須為 false,而且這種機制默認在成功建立連接後,且連續兩小時沒有數據傳輸的情況下才會被激活。從另一方面來看,通過套接字的 I/O 操作完全可以知道連接是否還有效,所以該選項的實用價值不大。 設置是否收發帶外數據 該選項由 setOOBInline(boolean on) 方法配置,對應底層系統的 SO_OOBINLINE 套接字選項。默認值為 off。帶外數據(Out-of-band Data)也叫做緊急數據,表示數據很重要,需要使用不同於發送普通數據的一個專用通道來發送。打開該選項後,就可以調用 sendUrgentData(int data) 方法發送一個位元組的緊急數據。JDK 對帶外數據只提供了有限支持,緊急數據將會和普通數據一起被收到,並且無法自動區分。該選項對應用開發人員意義不大。 設置是否從容關閉連接 該選項由 setSoLinger(boolean on, int linger) 方法配置,對應底層系統的 SO_LINGER 套接字選項。默認為 false。該選項只會影響套接字的關閉,其中的 linger 參數表示超時時間,單位為秒。如果打開改選項:如果將 linger 設為 0,則關閉套接字的時候,未發送的數據會被丟棄,且另一端會出現連接被同位體重置的異常;如果 linger 非 0,則關閉套接字的線程將被阻塞,直到數據全部發送或超時,超時後的行為與底層系統相關,JDK 無法控制。如果關閉該選項,則套接字正常關閉,數據也會全部發送。由於底層實現的差異性,不提倡應用開發人員打開該選項。 設置是否延遲發送數據 該選項由 setTcpNoDelay(boolean on) 方法配置,對應底層系統的 TCP_NODELAY TCP 選項。默認值為 off。打開該選項將禁用 Nagle 演算法,TCP 包會立即發送;關閉該選項則會啟用 Nagle 演算法,多個較小的 TCP 包會被組合成一個大包一起發送,雖然發送延遲了,但有利於避免網路擁塞。默認為 false。該選項對實時性很強的程序可能有用,但一般的程序不需要關心。 設置流量類別 該選項由 setTrafficClass(int tc) 方法配置,對應底層系統的「流量類別」套接字屬性。該選項用於向網路(例如路由器)提示從該套接字發送的包需要獲取哪些服務類型,對本地 TCP 協議棧沒有影響。IPv4 和 IPv6 分別定義了多個不同的值,例如 IPv4 將 0x08 定義為最大吞吐量,0x10 定義為最小延遲,等等。可以用或運算將多個值合並為一個選項。該選項用來調整性能,需要根據實際情況設置。由於只是建議值,可能被網路忽略。

⑹ java網路編程的基本內容有哪些其特點和優勢如何請進行論述。

1.用Java編寫網路程序是非常簡單的——至少比在現有其他編程環境下要簡單得多。本書的新版本帶給開發者的是Java發展的最新特性。一旦開始使用Java的網路API進行網路編程,我們能做到可以想像到的一切事情。 本書對開發網路程序進行了非常完整的介紹(從應用程序和applet兩方面),它包括了從網路基礎到遠程方法調用(RMI)的所有內容。本書的章節涵蓋了TCP和UDP套接字、組播、內容和協議處理器以及兩個新的API:JSSE(SSL實現)和JavaMail API。擴充了I/O和多線程等基礎知識。還講述了在不直接編寫網路代碼時你所能夠實現的內容,例如如何用URL實現自己的目標、applet的基本功能以及如何用Swing處理HTML。無論是有經驗的網路程序員還是只想隨意看一看的初學者,都會發現本書對於Java的網路程序類的學習是相當完整的。本書內容涵蓋了:1、Java 2(JDK 1.2和1.3)和Java1.1。2、許多完整的程序(可在線獲取)。3、網路編程基礎的所有方面。4、一些高級專題,包括RMI和組播。5、許多重要的API,有JSSE、JavaMail以及Swing中的HTML解析器。Elliotte Rusty Harold是著名的Java網站Cafe Au Lait的作者(http://metalab.unc.e/javafaq),國際知名的計算機專家。他是《Java I/O》以及其他一些Java和XML技術圖書的作者。 「直到找到這本書之後,我才開始真正理解Java網路編程。」——Bruce Eckel,《Java編程思想》的作者.
2.JAVA的特點§ 1.2 Java的特點

Java是一個廣泛使用的網路編程語言 ,它是一種新的計算概念。

首先 ,作為一種程序設計語言 ,它簡單、面向對象、不依賴於機器的結構、

具有可移植性、魯棒性、安全性、並且提供了並發的機制、具有很高的性能。其

次 ,它最大限度地利用了網路 ,Java的小應用程序 (applet)可在網路上傳輸而

不受 CPU和環境的限制。另外 ,Java還提供了豐富的類庫 ,使程序設計者可以很

方便地建立自己的系統。

下面我們分別從這三個方面來討論 Java的特點 ,然後通過把 Java與 C,

C++相比進一步指出它所具有的優點。

一、 Java語言

Java語言有下面一些特點 :簡單、面向對象、分布式、解釋執行、魯棒、

安全、體系結構中立、可移植、高性能、多線程以及動態性。

:1.簡單性

Java語言是一種面向對象的語言 ,它通過提供最基本的方法來完成指定的

任務 ,只需理解一些基本的概念 ,就可以用它編寫出適合於各種情況的應用程

序。 Java略去了運算符重載、多重繼承等模糊的概念 ,並且通過實現自動垃圾

收集大大簡化了程序設計者的內存管理工作。另外 ,Java也適合於在小型機上運

行 ,它的基本解釋器及類的支持只有 40KB左右 ,加上標准類庫和線程的支持也

只有 215KB左右。庫和線程的支持也只有 215KB左右。

2.面向對象

Java語言的設計集中於對象及其介面 ,它提供了簡單的類機制以及動態的

介面模型。對象中封裝了它的狀態變數以及相應的方法 ,實現了模塊化和信息

隱藏 ;而類則提供了一類對象的原型 ,並且通過繼承機制 ,子類可以使用父類

所提供的方法 ,實現了代碼的復用。

3.分布性

Java是面向網路的語言。通過它提供的類庫可以處理 TCP/IP協議 ,用戶

可以通過 URL地址在網路上很方便地訪問其它對象。

4.魯棒性

Java在編譯和運行程序時 ,都要對可能出現的問題進行檢查 ,以消除錯誤

的產生。它提供自動垃圾收集來進行內存管理 ,防止程序員在管理內存時容易

產生的錯誤。通過集成的面向對象的例外處理機制 ,在編譯時,Java提示出可能

出現但未被處理的例外 ,幫助程序員正確地進行選擇以防止系統的崩潰。另外,

Java在編譯時還可捕獲類型聲明中的許多常見錯誤 ,防止動態運行時不匹配問題

的出現。

5.安全性

用於網路、分布環境下的 Java必須要防止病毒的入侵。 Java不支持指針,

一切對內存的訪問都必須通過對象的實例變數來實現 ,這樣就防止程序員使用

"特洛伊 "木馬等欺騙手段訪問對象的私有成員 ,同時也避免了指針操作中容易

產生的錯誤。

6.體系結構中立

Java解釋器生成與體系結構無關的位元組碼指令 ,只要安裝了 Java運行時

系統 ,Java程序就可在任意的處理器上運行。這些位元組碼指令對應於 Java虛擬

機中的表示 ,Java解釋器得到位元組碼後 ,對它進行轉換 ,使之能夠在不同的平

台運行。

7.可移植性

與平台無關的特性使 Java程序可以方便地被移植到網路上的不同機器。

同時 ,Java的類庫中也實現了與不同平台的介面 ,使這些類庫可以移植。另外,

Java編譯器是由 Java語言實現的 ,Java運行時系統由標准 C實現 ,這使得Java

系統本身也具有可移植性。

8.解釋執行

Java解釋器直接對 Java位元組碼進行解釋執行。位元組碼本身攜帶了許多

編譯時信息 ,使得連接過程更加簡單。

9.高性能

和其它解釋執行的語言如 BASIC、 TCL不同 ,Java位元組碼的設計使之能

很容易地直接轉換成對應於特定CPU的機器碼 ,從而得到較高的性能。

10.多線程

多線程機制使應用程序能夠並行執行 ,而且同步機制保證了對共享數據

的正確操作。通過使用 多線程 ,程序設計者可以分別用不同的線程完成特定

的行為 ,而不需要採用全局的事件循環機制 ,這樣就很容易地實現網路上的實

時交互行為。

11.動態性

Java的設計使它適合於一個不斷發展的環境。在類庫中可以自由地加入

新的方法和實例變數而不會影響用戶程序的執行。並且 Java通過介面來支持

多重繼承 ,使之比嚴格的類繼承具有更靈活的方式和擴展性。
參考資料:http://chat.xwsy.com/wangshangjiaocheng/java/Java.htm
3.Java已用動態的交互應用軟體使Web栩栩如生。它使開發人員
具有『編寫一次到處運行TM」的巨大能力。而且,藉助其JavaAPI
及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式。
這種模式叫做Java企業計算,正在幫助各企業以各種不同的方法取
得競爭優勢。網管和控制已大大簡化。軟體分配基本上是免費的,
而且立即可實現。電子貿易已獲得。佔有成本大幅度降低。信息和
應用軟體到處可存取。
Java建立在簡單的前提基礎上,即所有微處理器都應講同一種
語言——所有內部採用晶元的產品都應能一起工作,無縫而方便地
共享信息。它已經改變企業和個人同Internet大交道的方式。現在,
它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影
響企業計算。
藉助Java,您可自由自在地使用您已擁有的硬體和軟體。這是因
為Java是獨立於平台的。它還可使您超越企業計算,使應用軟體在便
攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。
全世界的公司都已發現Java數不勝數的用途。所有用途可從其無
可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和
環境的能力中受益非淺,而且節省的時間和費用十分可觀。
Java無處不在。它已擁有幾百萬個用戶,其發展速度要快於在它
以前的其他任何一種計算機產品。它可位於任何地方,而且能到處運
行。Java正在迅速被用做傳播信息的事實上標准,這是因為它既可給
企業,也可給最終用戶帶來似乎數不清的好處。

⑺ 求《Java網路編程核心技術詳解》全文免費下載百度網盤資源,謝謝~

《Java網路編程核心技術詳解》網路網盤pdf最新全集下載:
鏈接: https://pan..com/s/1_XTd5UzNdDfNK3oN7lcUYQ

?pwd=htjm 提取碼: htjm
簡介:本書結合大量典性的實例,詳細介紹了用Java來編寫網路應用程序的技術。本書的範例都基於最新的JDK10版本。本書內容包括:Java網路編程的基礎知識、 套接字編程、非阻塞通信、創建HTTP伺服器與客戶程序、數據報通信、對象的序列化與反序列化、Java反射機制、RMI框架、JDBC API、JavaMail API、MVC設計模式、安全網路通信、XML數據處理和Web服務。

⑻ 一道關於網路編程及多線程的Java編程題目

So Easy的代碼,如你真的想學習java 連這點代碼都不願意寫,那你最後什麼都學不到。如果只是為了應付考試或者是聯系,網路一下Java網路編程,到處都是在這樣的代碼

建議自己先試下,不成功再到網路上來看下,什麼事都想到先問他人是學不到什麼的

⑼ 有幾個java網路編程基礎的選擇題 哪位大神給下答案

、Applet為一種特殊的Panel,它可作為Java Applet程序的最外層容器。 ( )
2、Java的源碼中定義多少個類,編譯後結果就生成多少個以.class為後綴的位元組碼文 ( )
3、Java程序中,使用關鍵字new創建新的類對象,使用關鍵字free回收無用的類對象。 ( )
4、Java有垃圾回收機制,可在指定的時間使用內存回收程序釋放內存對象。 ( )
5、構造函數用於創建類的實例對象,返回類型為void,構造函數名應與類名相同。 ( )
6、在異常處理中,假設try中的代碼可能產生多種異常則可以對應多個catch語句,若catch中的參數類型有父子關系,此時應該將子類放在前面,父類放在後面。 ( )
7、含有abstract方法的類是抽象類,而抽象類中可以沒有abstract方法。 ( )
8、Java的屏幕坐標以像素為單位,容器的左下角被確定為坐標的起點。 ( )
9、靜態初始化器是在其所屬的類載入內存時由系統自動調用執行。 ( )
10、在Java中可使用賦值號( )對對象賦值,相當於生成了一個各屬性與賦值對象相同的新對象。 ( )
11、MVC是Model-View-Controller的簡寫。"View" 是應用的表示面(由JSP頁面產生)。( )
12、MVC是Model-View-Controller的簡寫。"Controller" 是提供應用的處理過程式控制制(一般是一個Servlet),通過這種設計模型控制應用邏輯。( )
13、Tomcat是支持JSP引擎的一種伺服器軟體,可以通過server.xml文件修改伺服器的配置信息。( )
14、通過Request.getParameterValues()可以獲得某個參數的多個值( )
15、運行JSP需要有JSP引擎,Tomcat是支持JSP的Web伺服器的一種。( )
16、Jsp使用的是Java腳本代碼,可跨平台運行,運行開銷小,具有速度快,可擴展性好及支持分布式處理等特點。 ( )
17、在定義了Bean的屬性後,可不創建屬性方法。( )
18、if語句是Java的條件分支語句,它控製程序以兩條路徑執行。( )
19、包是類的容器,用於保證類名空間的一致性。( )
20、JSP中不能使用HTML中的「<!-- -->」注釋方式,只能使用JSP的「<!-- -->」的注釋方式。
答案:僅供參考
T T F T T T T F T F T T T F F F T T T F

21.Java application中的主類必須包含方法main,以下哪項是main方法的正確參數?( )
A、 String args B、String ar[] C、Char arg D、StringBuffer args[]

22.以下對繼承的正確描述是( )。
A、在Java中類只允許單一繼承
B、在Java中一個類只能實現一個介面
C、在Java中一個類不能同時繼承一個類和實現一個介面
D、在Java中介面只允許單一繼承

23.paint()方法中的參數可使用哪種類型? ( )
A、Graphics B、Graphics2D C、String D、Color

24.以下不屬於Java基本數據類型的是( )
A、int B、Boolean C、float D、char

25.以下哪項可能包含菜單條( )。
A、Panel B、Frame C、Applet D、Dialog

26.應使用哪種修飾符定義一個類域或類方法?( )
A、static B、package C、private D、public

27.在瀏覽器中執行applet 程序,以下選項中的哪個方法將被最先執行( )。
A、init() B、start() C、destroy() D、stop()

28.參考以下代碼,關於該程序以下哪個說法是正確的?( )
public class Person{
static int arr[] = new int[3];
public static void main(String a[])
{
System.out.println(arr[0]);}
}
A、編譯時將產生錯誤 B、編譯時正確,運行時將產生錯誤
C、輸出零 D、輸出空

29.下列語句中,哪些關於Java內存回收的說明是正確的? ( )
A、程序員必須創建一個線程來釋放內存
B、內存回收程序負責釋放無用內存
C、內存回收程序允許程序員直接釋放內存
D、內存回收程序可以在指定的時間釋放內存對象

30.以下關鍵字中,可以用來對對象加互斥鎖的是?( )
A、transient B、synchronized C、 serialize D、static

31.以下代碼段執行後的輸出結果為( )
int x=-3; int y=-10;
System.out.println(y%x);
A、 -1 B、2 C、1 D、3

32.有以下程序片段,下列哪個選項不能插入到行1。( )
1.
2.public class Interesting{
3.//do sth
4. }
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }

33.假設有如下兩個賦值語句:
a = Integer.parseInt(「5」);
b = Integer.valueOf(「5」).intValue();
下述說法正確的是( )。
A、a是整數類型變數,b是整數類對象。 B、a是整數類對象,b是整數類型變數。
C、a和b都是整數類對象並且值相等。 D、a和b都是整數類型變數並且值相等。

⑽ Java網路編程,高手進




你可以調用 java.net.URLConnection.getContentLength( )。
中文文檔:http://shorterlink.com/?WSX10K

import java.net.URL;

class C {
public static void main( String[ ] args ) throws Exception {
URL url = new URL( "http://www.python.org/ftp/python/2.5/python-2.5.msi" );
int size = url.openConnection( ).getContentLength( );
System.out.printf( "%s is only %.1f MB in size.", url, size / Math.pow( 2, 20 ) );
}
}


熱點內容
刀劍亂舞腳本ios 發布:2025-01-21 09:41:06 瀏覽:521
2編程 發布:2025-01-21 09:36:50 瀏覽:776
把我的世界的ice伺服器炸了 發布:2025-01-21 09:31:01 瀏覽:681
sql資料庫導入數據 發布:2025-01-21 09:25:21 瀏覽:420
zynqsdk修改編譯選項 發布:2025-01-21 09:22:30 瀏覽:875
存儲器部件教學實驗 發布:2025-01-21 09:14:06 瀏覽:179
php安裝memcached擴展 發布:2025-01-21 09:07:06 瀏覽:546
手機緩存視頻到電腦上 發布:2025-01-21 09:07:02 瀏覽:978
如果知道伺服器ip有什麼風險 發布:2025-01-21 09:06:58 瀏覽:525
在壓縮曲線 發布:2025-01-21 09:05:31 瀏覽:910