Time of Update: 2018-12-03
(1)什麼是異常 當出現程式無法控制的外部環境問題(使用者提供的檔案不存在,檔案內容損壞,網路不可用...)時,JAVA就會用異常對象來描述。
Time of Update: 2018-12-03
方便的IO操作是每個成功的語言所必須具有的,但是要有好的IO庫可不是件容易的事情,因為不僅有三種不同的種類的IO需要考慮(檔案、控制台、網路連接),而且需要通過大量不同的方式與它們通訊(順序、隨機訪問、二進位、字元、按行、按字等等)。 序列化就是一種用來處理物件流程的機制,所謂物件流程也就是將對象的內容進行流化。可以對流化後的對象進行讀寫操作,也可將流化後的對象傳輸於網路之間。對象序列化的最主要的用處就是在傳遞和儲存對象(object)的時候,保證對象的完整性和可傳遞性。
Time of Update: 2018-12-03
一,常見讀寫樣本:(1).讀寫文字檔,程式功能:讀取一文字檔到記憶體中的String類型變數中,在終端顯示內容,並複製內容到另外的文字檔中。package MyJava.Base;import java.io.*;public class TextReaderDemo{ public static void main(String[] args) throws IOException { //讀取檔案中內容到BufferedReader;
Time of Update: 2018-12-03
1.昨天和大家講了有關Java的IO特性,現在應該可以讀寫文字檔和二進位檔案了吧,但是在一些特殊情況下我們需要更快的IO操作,這就談到我們今天要講的java.nio.*包了; 2.實現更快的IO操作,我們通常使用的結構類似與作業系統執行IO的方式:通道和緩衝器;我們不直接和通道打交道,我們是通過緩衝器和通道打交道的。所以通道要麼從緩衝器獲得資料,要麼向緩衝器發送資料3.唯一和通道直接打交道的緩衝器是ByteBuffer(可以查看Java的doc);下面看樣本程式,通過檔案通道和ByteBuffe
Time of Update: 2018-12-03
.方便的IO操作是每個成功的語言所必須具有的,但是要有好的IO庫可不是件容易的事情,因為不僅有三種不同的種類的IO需要考慮(檔案、控制台、網路連接),而且需要通過大量不同的方式與它們通訊(順序、隨機訪問、二進位、字元、按行、按字等等)。 2.Java庫的IO類分割為輸入與輸出兩個部分,通過繼承,從InputStream(輸入資料流)衍生的所有類都擁有名為read()的基本方法,用於讀取單個位元組或者位元組數組。類似地,從OutputStream衍生的所有類都擁有基本方法write(),用於寫入單
Time of Update: 2018-12-03
1.很多新手碰到異常處理的時候都偷懶不想看,覺得沒有必要,其實只是新手的代碼就那麼幾行還體會不到異常處理的好處,自然不想看了嘛,可是學習不是馬虎的事嘛!!那麼我們為什麼需要異常處理呢??早期的程式設計語言(比如C語言)沒有異常處理,通常是遇到錯誤返回一個特殊的值或設定一個標誌,並以此判斷是不是有錯誤產生。隨著系統規模的不斷擴大,這種錯誤處理已經成為建立大型可維護程式的障礙了。於是在一些語言中出現了異常處理機制,比如在Basic中的異常處理語句"on error
Time of Update: 2018-12-03
與線程休眠類似,線程的優先順序無法保障線程的執行次序。只不過,優先順序高的線程擷取CPU資源的機率較大,優先順序低的並非沒機會執行。線程的優先順序用1-10之間的整數表示,數值越大優先順序越高,預設的優先順序為5。在一個線程中開啟另外一個新線程,則新開線程稱為該線程的子線程,子線程初始優先順序與父線程相同。 如下的執行個體sss.java:public class sss{ public static void main(String[] args) {
Time of Update: 2018-12-03
Java通過java.lang.Thread類完成多線程。我們通過同一個例子,看線程的兩種建立方法,以及運行方法:(1)一種是聲明 Thread 的子類,重載 Thread 類的方法 run(Extend java.lang.Thread and override the run method)class MyThread extends Thread{public void run(){for(int row = 1;row <5;row ++){for(int i = 0;
Time of Update: 2018-12-03
JAVA是完全物件導向的開發語言,因此對物件導向語言的三個基本特點:封裝、繼承、多態,要有清晰地認識。封裝自然不必說,只有設計時如何識別、分辨出類、對象等等,也就是說封裝的概念主要是設計上的概念,對具體的開發過程並沒有什麼需要特別注意的。而繼承、多態的部分對具體的開發過程、技術卻有很多需要特別注意的地方。下面把幾個需要特別留意的地方詳細解釋,說明一下。 首先,對於類的繼承關係,需要特別注意的就是JAVA中的建構函式。有幾個點需要特別留意的:
Time of Update: 2018-12-03
Java中的存取權限有public,private,protected和預設的包存取權限,如果類中的屬性方法沒有顯示的指明存取權限,則具有包存取權限,也稱它為packeged許可權,很多人也稱它為friendly存取權限,而packaged和friendly這兩個關鍵字在實際中都是不存在的。
Time of Update: 2018-12-03
根據程式上下文環境,Java關鍵字final有“這是無法改變的”或者“終態的”含義,它可以修飾非抽象類別、非抽象類別成員方法和變數。(1)final類不能被繼承,沒有子類,final類中的方法預設是final的。 (2)final方法不能被子類的方法覆蓋,但可以被繼承。 (3)final成員變數表示常量,只能被賦值一次,賦值後值不再改變。 (4)final不能用於修飾構造方法。
Time of Update: 2018-12-03
有些人寫了一陣子Java,可是對於Java 的package 跟import 還是不太瞭解。很多人以為原始碼.java 檔案中的import 跟C/C++ 的#include 相似,實際上這是錯誤的觀念。 讓我們先瞭解一下,Java 的package (套件)到底有何用處。其實,package 名稱就像是我們的姓,而class 名稱就像是我們的名字。package
Time of Update: 2018-12-03
Time of Update: 2018-12-03
當一個對象建立後,Java虛擬機器(JVM)就會給這個對象分配一個引用自身的指標,這個指標的名字就是this。並且this只和特定的對象關聯,而不和類關聯,同一個類的不同對象有不同的this。用法:(1)this(參數):調用本類中另一種形式的建構函式 class Point { private int x,y; public Point(int x,int y) { this.x=x; //this它代表當前對象名
Time of Update: 2018-12-03
JAVA會產生記憶體泄露嗎?首先,答案是肯定的。Java雖然有記憶體回收行程,但依然存在泄漏。 Java記憶體流失跟C/C++記憶體流失的概念不一樣:C/C++的記憶體流失是指Malloc了一些資源,最後沒有free掉,記憶體沒有回收,這個是真正意義上的記憶體黑洞;而Java的泄漏則可能是別的原因,Java對象的存在對程式已經沒有意義,但是對象在程式周期內一直存在,這個可能會導致Java的記憶體流失。 總結原因,大概有下面幾個方面:
Time of Update: 2018-12-03
一.java類 package com.java.test; import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; public class JavaReadXml {
Time of Update: 2018-12-03
1、Random對象的產生 Random類包含兩個構造方法,下面依次進行介紹: a、public Random() 該構造方法使用一個和當前系統時間對應的相對時間有關的數字作為種子數,然後使用這個種子數構造Random對象。 b、public Random(long seed) 該構造方法可以通過制定一個種子數進行建立。 範例程式碼: Random r = new Random(); Random r1 = new Random(10);
Time of Update: 2018-12-03
一、序列化的概念和目的 1.什麼是序列化 對象的壽命通常隨著產生該對象的程式的終止而終止。有時候,可能需要將對象的狀態儲存下來,在需要時再將對象恢複。我們把對象的這種能記錄自己的狀態以便將來再生的能力。叫作對象的持久性(persistence)。對象通過寫出描述自己狀態的數值來記錄自己 ,這個過程叫對象的序列化(Serialization)
Time of Update: 2018-12-03
JAXB(Java Architecture for XML Binding) 是一個業界的標準,是一項可以根據XML
Time of Update: 2018-12-03
利用Marshaller和unMarshaller可在java的object對象和xml之間實現轉換首先建立一個簡單的Boy對象[java] view plaincopyprint?@XmlRootElement(name="Root") @XmlAccessorType(XmlAccessType.PROPERTY) public class Boy { private String name = "aa"; public String getName(