當前位置:首頁 » 編程語言 » java詳解

java詳解

發布時間: 2022-03-15 13:59:23

java問題,求詳解。

請看字元型變數的正確聲明:


表示的是一個unicode字元,後面跟四位十六進制的數。

F選項後面跟了五位,所以錯。

❷ java中的堆棧詳解

簡單的說 其實 棧 就是存放變數引用的一個地方, 堆 就是存放實際對象的地方 也就是.

比如: int i = 7; 這個 其實是存在棧里邊的。內容為 i = 7。

Apple app = new Apple(); 這個 app 是在棧里邊的 他對應的是一個內存地址也在堆里邊, 而這個內存地址對應的是堆里邊存放 Apple 實例的地址。

String s = "Hello World!"; 這個其實是存在另外一塊靜態代碼區。

總體來說: 棧--主要存放引用 和基本數據類型。
堆--用來存放 new 出來的對象實例。

❸ java代碼詳解

(Stringurl,Stringcharset)
throwsException{
//創建httpclinet對象,進行http請求
HttpClienthttpClient=newHttpClient();
//設置超時連接時間
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(
5000);
//使用get方法訪問url
GetMethodgetMethod=newGetMethod(url);
//設置get請求超時連接
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT,5000);
//應該是重新發送get請求時的處理對象
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
());
//存儲伺服器端響應數據
Stringresponse="";
try{
//get請求過後的狀態碼,像伺服器端有404或者200等等
intstatusCode=httpClient.executeMethod(getMethod);
//如果狀態碼不為SC_OK,輸出錯誤信息
if(statusCode!=HttpStatus.SC_OK){
System.err.println("Methodfailed:"
+getMethod.getStatusLine());
}
//拿到get請求頭部信息
Header[]headers=getMethod.getResponseHeaders();
for(Headerh:headers)
System.out
.println(h.getName()+"------------"+h.getValue());
//拿到響應數據
byte[]responseBody=getMethod.getResponseBody();//讀取為位元組數組
//對響應數據進行字元集編碼
response=newString(responseBody,charset);
System.out.println("----------response:"+response);
}catch(HttpExceptione){
System.out.println("!");
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
//最後釋放http連接
getMethod.releaseConnection();
}
//返回響應數據
returnresponse;
}

❹ JAVA語言詳解

樓上的一個地方說錯了
面向網路方向編程j2ee:面向嵌入式方向開發我現在做的是j2se,
現在一般都叫javaee,javame,javase,因為現在的java遠不止2.x了

❺ java中如何建立一個java樹,請詳解

importjava.awt.*;
importjavax.swing.*;
classTreeDemoextendsJFrame
{
publicTreeDemo()
{
setSize(400,300);
setTitle("演示怎樣使用JTree");
show();
JScrollPanejPanel=newJScrollPane();
getContentPane().add(jPanel);
JTreejtree=newJTree();
jPanel.getViewport().add(jtree,null);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
publicclassExample5_25
{
publicstaticvoidmain(String[]args)
{
TreeDemoframe=newTreeDemo();
}
}

其中JScrollPane是一個帶滾動條的面板類。

將對象加入到帶滾動條的面板類中,在將已建的數放入到其中。

就可建立一個系統默認的樹結構。

❻ java中關於equals()和==詳解

equals()如果我沒記錯的話是比較地址變數的內容的。。而==的話。。是比較變數所在的地址

❼ java io流詳解

public void write(int ch) 這個方法你在哪個類里看到的,Write類里沒有這個方法!public int read(char[] b) 這個參數是把字元數組傳進去,返回int型是表示讀出了多少個位元組

❽ java toString()詳解

下邊是從jdk 1.6 api 中拿過來的關於Object中toString的介紹

toString
public
String

toString
()
返回該對象的字元串表示。通常,toString方法會返回一個「以文本方式表示」此對象的字元串。結果應是一個簡明但易於讀懂的信息表達式。建議所有子類都重寫此方法。
Object類的toString方法返回一個字元串,該字元串由類名(對象是該類的一個實例)、at
標記符「@」和此對象哈希碼的無符號十六進製表示組成。換句話說,該方法返回一個字元串,它的值等於:getClass().getName()+'@'+Integer.toHexString(hashCode())
返回:
該對象的字元串表示形式。

想要知道更詳細的介紹,建議參考jdk的api,會有很詳細的介紹.

當然,你也可以Bai或者Google咯,會有更詳細的資料的.

❾ java詳解

Java是由Sun微系統公司所發展出來的程序語言,它本身是一種對象導向(Object-Oriented)的程序語言。JAVA目前在手機上應用最多的就是JAVA游戲。

Java也號稱是能跨平台使用的語言,這主要是因為Java本身被編譯之後,並不是直接產生可執行的碼,而是產生一種中間碼叫作 ByteCode,這種碼必需在透過 Java 的直譯器來解讀它,才能夠真正的被執行,所以只要平台上裝有這種Java的直譯器,就能解讀ByteCode也就能執行Java編譯過的程序,故與Java程序是在那種平台上被編譯的,就完全沒有干係了。Java寫出來的程序可分為兩類,分別是Java Applet與一般的Application,而Application 這一類就與一般的程序如C++的作用是比較類似的,是一個獨立可執行的應用程序,像HotJava是一個瀏覽器,且就是使用Java程序所發展出來的。最常見的Java程序包括應用程序和applets。應用程序是單獨的程序,諸如HotJava瀏覽器軟體就是用Java語言編寫的。 Applets類似於應用程序,但是它們不能單獨運行, Applets可以在支持Java的瀏覽器中運行。Applet主要是內置於HTML網頁中,在瀏覽時發揮作用。

Java的目標是為了滿足在一個充滿各式各樣不同種機器,不同操作系統平台的網路環境中開發軟體。利用Java程序語言,可以在網頁中加入各式各樣的動態效果。可以放上一段動畫,加入聲音,也可以建立互動式網頁等。

Java手機軟體平台

Java手機軟體平台採用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中國一般稱為「無線Java」技術。此前,有人把它叫做「K-Java」;其實,K-Java的叫法只是Sun公司在開發KVM Java虛擬機時的項目代號,在該技術被正式命名為KVM後,就不再用K-Java了。

KJava即J2ME(Java 2 Micro Edition),是Sun公司專門用於嵌入式設備的Java軟體。以KJava編程語言為手機開發應用程序,可以為手機用戶提供游戲、個人信息處理、電子地圖、股票等服務程序。J2ME(Java 2 Micro Edition)是致力於消費產品和嵌入式設備的最佳解決方案。J2ME在設計其規格的時候,遵循著「對於各種不同的裝置而造出一個單一的開發系統是沒有意義的事」這個基本原則。於是J2ME先將所有的嵌入式裝置大體上區分為兩種:一種是運算功能有限、電力供應也有限的嵌入式裝置(比方說PDA、手機);另外一種是運算能力相對較佳、並且在電力供應上相對比較充足的嵌入式裝置(比方說冷氣機、電冰箱)。因為這兩種區分,所以Java引入了一個叫做Configuration的概念,然後把上述運算功能有限、電力有限的嵌入式裝置定義在Connected Limited Device Configuration(CLDC)規格之中;而另外一種裝置則規范為Connected Device Configuration(CDC)規格。也就是說,J2ME先把所有的嵌入式裝置利用Configuration的概念區隔成兩種抽象的型態。

Java技術的開放性、安全性和龐大的社會已有資源,以及其跨平台性,即「編寫一次,到處運行」的特點,使Java技術成為智能手機軟體平台的事實標准。採用Java技術後,編寫應用程序和提供服務的人就不必關心接受其服務的手機採用的是什麼操作系統和晶元,只要按照Java的要求去寫程序就好了;同樣,生產手機的廠商也不必顧慮將來誰來提供增值服務。可以看出,採用Java技術,可以建立完整、高效的無線數據增值服務產業鏈,從而為用戶提供靈活、個性化、內容方式多樣的服務。

❿ java XML解析詳解

(I)Java通過DOM解析XML

1>得到DOM解析器的工廠實例
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
得到javax.xml.parsers.DocumentBuilderFactory;類的實例就是我們要的解析器工廠

2>從DOM工廠獲得DOM解析器
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
通過javax.xml.parsers.DocumentBuilderFactory實例的靜態方法newDocumentBuilder()得到DOM解析器

3>把要解析的XML文檔轉化為輸入流,以便DOM解析器解析它
InputStream is=new FileInputStream("bin/library.xml");
InputStream是一個介面。
4>解析XML文檔的輸入流,得到一個Document
Document doc=dombuilder.parse(is);
由XML文檔的輸入流得到一個org.w3c.dom.Document對象,以後的處理都是對Document對象進行的

5>得到XML文檔的根節點
Element root=doc.getDocumentElement();
在DOM中只有根節點是一個org.w3c.dom.Element對象。

6>得到節點的子節點
NodeList books=root.getChildNodes();
for(int i=0;i<books.getLength();i++){
Node book=books.item(i);
}
這是用一個org.w3c.dom.NodeList介面來存放它所有子節點的,還有一種輪循子節點的方法,後面有介紹

7>取得節點的屬性值
String email=book.getAttributes().getNamedItem("email").getNodeValue();
System.out.println(email);
注意,節點的屬性也是它的子節點。它的節點類型也是Node.ELEMENT_NODE

8>輪循子節點
for(Node node=book.getFirstChild();node!=null;node=node.getNextSibling()){

if(node.getNodeType()==Node.ELEMENT_NODE){

if(node.getNodeName().equals("name")){

String name=node.getNodeValue();

String name1=node.getFirstChild().getNodeValue();

...

if(node.getNodeName().equals("price")){

String price=node.getFirstChild().getNodeValue();
...

Java通過SAX解析XML
Simple API for XML(簡稱SAX)是個循序存取XML的解析器API。
一個實現SAX的解析器(也就是「SAX Parser」)以一個串流解析器的型式作用,擁有事件驅動API。由使用者定義回調函數,解析時,若發生事件的話會被調用。SAX事件包括:
XML 文字 節點
XML 元素 節點
XML 處理指令
XML 注釋

Java代碼
<person>
<user>
<username>謝成志</username>
<password>6626310xie</password>
<sex>男</sex>
<birthday>1988/11/28</birthday>
<headpic>
<pictitle>ermao</pictitle>
<picurl>images/head1.jpg</picurl>
</headpic>
</user>
</person>

此為下面即將解析度簡單xml結構,並將其封裝成一個User對象。

////////////////////////////////////////////////////////////////////////////////////

Java代碼
<span style="font-family: courier new,courier; font-size: small;">package com.xcz.xml;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.SAXException;

import com.xcz.util.SaxUtil;

public class Sax4XML {

public static void main(String[] args) {

try {
//1.獲取factory
SAXParserFactory factory = SAXParserFactory.newInstance();
//2.獲取parser
SAXParser parser = factory.newSAXParser();
//3.獲取解析時的監聽器對象
SaxUtil su = new SaxUtil();
//4.開始解析
parser.parse(new File("src/user-params.xml"), su);

System.out.println(su.getUser());

} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
}
</span>

////////////////////////////////////////////////////////////////////////////////////

Java代碼
<span style="font-family: courier new,courier; font-size: small;">package com.xcz.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import com.xcz.po.HeadPic;
import com.xcz.po.User;

/**
* 定義xml解析時的監聽類
*
* 實現方式有很多,可以實現介面:ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler
* 但我們常用的繼承:DefaultHandler
*/
public class SaxUtil extends DefaultHandler {

private User user;
private HeadPic headPic;
private String content;
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
content = new String(ch, start, length);
}

//當解析到文本開始時觸發
@Override
public void startDocument() throws SAXException {
super.startDocument();
}

//當解析到文本結束時觸發
@Override
public void endDocument() throws SAXException {
super.endDocument();
}

//當解析到元素開始時觸發
@Override
public void startElement(String uri, String localName, String name,
Attributes attributes) throws SAXException
{
if("user".equals(name))
{
user = new User();
}
if("headpic".equals(name))
{
headPic = new HeadPic();
}
}

//當解析到元素結束時觸發
@Override
public void endElement(String uri, String localName, String name)
throws SAXException
{
if("username".equals(name))
{
user.setUsername(content);
}
if("password".equals(name))
{
user.setPassword(content);
}
if("sex".equals(name))
{
user.setSex(content);
}
if("birthday".equals(name))
{
try {
user.setBirthday(sdf.parse(content));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if("pictitle".equals(name))
{
headPic.setPicTitle(content);
}
if("picurl".equals(name))
{
headPic.setPicUrl(content);
user.setHeadPic(headPic);
}

}

public User getUser(){
return user;
}

}</span>

[優點]

(1).節約內存開銷

SAX解析器在某些方面優於DOM風格解析器,因為SAX解析器的內存使用量一般遠低於DOM解析器使用量。DOM解析器在任何處理開始之前,必須將xml以整棵樹放在內存,所以DOM解析器的內存使用量完全根據輸入資料的大小。相對來說,SAX解析器的內存內容,是只基於XML檔案的最大深度(XML樹的最大深度)和單一XML項目上XML屬性儲存的最大資料。

(2)解析速度快

因為SAX事件驅動的本質,處理文件通常會比DOM風格的解析器快。

[缺點]

SAX事件驅動的模型對於XML解析很有用,但它確實有某些缺點。

某些種類的XML驗證需要存取整份文件。例如,一個DTD IDREF屬性需要文件內有項目使用指定字串當成DTD ID屬性。要在SAX解析器內驗證,必須追蹤每個之前遇過的ID和IDREF屬性,檢查是否有任何相符。更甚者,一個IDREF找不到對應的ID,使用者只會在整份文件都解析完後才發現,若這種連結對於建立有效輸出是重要的,那用在處理整份文件的時間只是浪費。

熱點內容
linuxoracle操作 發布:2025-01-16 12:40:50 瀏覽:44
河北存儲服務價格 發布:2025-01-16 12:39:21 瀏覽:342
掛機伺服器的搭建 發布:2025-01-16 12:34:07 瀏覽:414
安卓怎麼刪除信任憑證 發布:2025-01-16 12:22:06 瀏覽:335
代理編譯 發布:2025-01-16 12:07:59 瀏覽:793
伺服器為什麼老是無響應 發布:2025-01-16 12:07:59 瀏覽:891
安卓怎麼傳軟體到蘋果 發布:2025-01-16 12:01:28 瀏覽:952
pythonforzip 發布:2025-01-16 11:59:46 瀏覽:909
磁感密碼鎖有多少鑰匙 發布:2025-01-16 11:41:12 瀏覽:117
酷睿電腦配置怎麼查看 發布:2025-01-16 11:27:26 瀏覽:563