Time of Update: 2018-12-03
-- Start如果你覺得 long 和 double 不能滿足你的要求, Java還提供了兩個表示大數值的類 BigInteger 和 BigDecimal. 它們提供了任意精度, 要想對它們進行數學運算, 需要調用它們提供的方法而不是運算子, 加減乘除分別是add, subtract, divide 和 multiply方法.BigInteger 的使用比較簡單, 實在沒什麼好說的, 所以我就不費口舌了.BigDecimal 是由 BigInteger 和 標度(scale) 構成的,
Time of Update: 2018-12-03
如果你忽略Java的細節,恐怕你的代碼會充滿bug,下面討論關於類成員初始化問題。第一類,初始化成員變數在構造方法之前主要參考TIJ中的代碼,來說明問題!!1. 建立一個類Tagpackage mark.initial;public class Tag {/** * 構造方法 * * @param maker */public Tag(int maker) {System.out.println("tag(" + maker + ")");}} 2. 建立一個類Cardpackage mark.
Time of Update: 2018-12-03
-- Start1. 下載和安裝Java SE登入Oracle官方網站下載最新版的Java SE Development Kit, 然後像安裝其他軟體那樣安裝就OK了, 值得注意的是不要選擇預設的安裝路徑, 因為預設的安裝路徑中帶有空格,這很可能帶來某些問題.假設我們安裝到C:\Applications\Java\jdk1.5.0_16路徑下.2. 設定環境變數 PATH右擊我的電腦(My
Time of Update: 2018-12-03
-- StartListArrayListArrayList 是一個可變數組, 它有數組的所有優缺點, 如高效的隨機訪問, 低效的插入和刪除. 它允許重複值, 允許null, 有序(所謂的有序指的是讀取元素的順序和插入的順序一致).VectorVector 除了提供了同步外, 它和 ArrayList 沒有任何區別, 因為它是安全執行緒的, 所以效率比較差, Java 推薦我們盡量使用 ArrayList.StackStack 是一種後進先出的資料結構, 它繼承自Vector,
Time of Update: 2018-12-03
最近在研究osgi,在osgi裡面裡面有個很重要的東西,就是ClassLoader,所以,在網上搜集了一些資料,整理一下, 並加入了自己的一些理解; (1)jvm的裝載過程以及裝載原理 所謂裝載就是尋找一個類或是一個介面的二進位形式並用該二進位形式來構造代表這個類或是這個介面的class對象的過程, 其中類或介面的名稱是給定了的。當然名稱也可以通過計算得到,但是更常見的是通過搜尋原始碼經過編譯器編譯後所得到 的二進位形式來構造。
Time of Update: 2018-12-03
Java動態載入類的意義和目的:Java動態載入類主要是為了不改變主程式碼,通過修改設定檔就可以操作不同的對象執行不同的功能。主要有利於系統的擴充,例如當我要改變一個功能,只需要做一個類,然後編寫相應的功能,通過設定檔就可以使用新的功能,不需要修改系統的任何地方,只需要添加一個類;充分實現了鬆散耦合。滿足了開閉原則(對修改關閉,對添加或刪除開放);動態載入類設計模式幾個重要概念Interface(介面):定義了一堆未實現的方法(即抽象方法);它們的具體實現是由要實現這個介面的類來實現方法的具體功
Time of Update: 2018-12-03
.方便的IO操作是每個成功的語言所必須具有的,但是要有好的IO庫可不是件容易的事情,因為不僅有三種不同的種類的IO需要考慮(檔案、控制台、網路連接),而且需要通過大量不同的方式與它們通訊(順序、隨機訪問、二進位、字元、按行、按字等等)。 2.Java庫的IO類分割為輸入與輸出兩個部分,通過繼承,從InputStream(輸入資料流)衍生的所有類都擁有名為read()的基本方法,用於讀取單個位元組或者位元組數組。類似地,從OutputStream衍生的所有類都擁有基本方法write(),用於寫入單
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類 package com.java.test; import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*; public class JavaReadXml {
Time of Update: 2018-12-03
JAXB(Java Architecture for XML Binding) 是一個業界的標準,是一項可以根據XML
Time of Update: 2018-12-03
在Java 1.2中就引入了java.lang.ref這個包,WeakReference就屬於這個包。WeakReference是幹嘛的呢,一言弊之,它是和Java中的記憶體回收相關的。如果一個對象只有WeakReference引用它,那麼這個對象就可能被記憶體回收行程回收。 在什麼場合下應用WeakReference呢?(1) 有時我們會碰到一些不能繼承的類,如final
Time of Update: 2018-12-03
轉自:http://www.linuxdiyf.com/viewarticle.php?id=18987 可以這樣認為,每個類都有一個名為Initialize()的方法,這個名字就暗示了它得在使用之前調用,不幸的是,這麼做的話,使用者就得記住要調用這個方法,java類庫的設計者們可以通過一種被稱為建構函式的特殊方法,來保證每個對象都能得到被始化.如果類有建構函式,那麼java就會在對象剛剛建立,使用者還來不及得到的時候,自動調用那個建構函式,這樣初始化就有保障了。 我不知道原作者的描述和譯
Time of Update: 2018-12-03
看這篇部落格之前,假設你看過http://blog.csdn.net/androidbluetooth/article/details/6525146共用兩篇好文章:String中三種加法的區別JAVA的確是一種令程式員陷入兩難境地的言語, 確切的說是思想. 它提供了如此豐富的library,讓程式員能夠很容易的寫出功能強大的程式. 同時它也封裝了如此多的細節,
Time of Update: 2018-12-03
定義:在定義屬性的位置上,在任何方法之外,定義一個代碼塊 種類:分為兩類即動態代碼塊、靜態代碼塊<1> 動態初始代碼塊:在初始化屬性之前調用初始化代碼塊 {……}<2> 靜態初始代碼塊:在類載入時運行 static{……} 只被運行一次,往往用作一個類的準備工作範例程式碼:package mark.zhang;public class Linux {/** * 動態代碼塊 */{System.out.println("--動態初始化代碼塊--");}/** *
Time of Update: 2018-12-03
1. volatile入門(1). java中volatile關鍵字的含義(2). 初學Java多線程:謹慎使用volatile關鍵字進階(1). Java 理論與實踐: 正確使用 Volatile 變數(2). 關於原子操作和volatile關鍵字~擴充 Java 原子操作2. strictfpJava中的strictfp關鍵字3. transient漢語翻譯在 java
Time of Update: 2018-12-03
JDK1.5 才開始有枚舉類型,同時可愛的 Java 組織豐富了 switch 語句:支援枚舉。定義一個枚舉類 Colorpublic enum Color {RED("red color", 0), GREEN("green color", 1),BLUE("blue color", 2), YELLOW("yellow color", 3);Color(String name, int id) {_name = name;_id = id;}private String
Time of Update: 2018-12-03
仍然採用 Java 枚舉:理解枚舉本質 例子。稍加修改。package mark.demo;public class EnumDemo {public static void main(String[] args) {for (Color color : Color.values()) {System.out.println(color);}}public enum Color {RED("red color", 0), GREEN("green color", 1), BLUE("blue
Time of Update: 2018-12-03
瞭解靜態代碼塊,可以先抽幾分鐘時間看看連結 http://blog.csdn.net/androidbluetooth/article/details/6454135先給個樣本程式package it.mark;import java.util.HashMap;public class StaticDemo {public static HashMap<Integer, String> map;public StaticDemo()
Time of Update: 2018-12-03
工作原理:為每個記憶體對象維護一個引用計數。當有新的引用指向某對象時就將該對象的引用計數加一,當指向該對象的引用被銷毀時將該計數減一,當計數歸零時,就回收該對象所佔用的記憶體資源。缺陷:在每次記憶體對象被引用或引用被銷毀的時候都必須修改引用計數,這類操作被稱為footprint。引用計數的footprint是很高的。這使得程式整體的效能受到比較大的影響。因此多數現代的程式語言都不適用引用計數作為垃圾收集的實現演算法。另外,引用計數還有一個致命的缺陷,當程中出現序循環參考時,引用計數演算法無法檢測
Time of Update: 2018-12-03
java程式的函數調用到底是傳值呢還是傳參呢?這可是個難纏的問題,如果搞不清楚還是挺容易出錯的:P對於這個問題,最經典的解釋莫過於“java函數是傳值的,java函數傳遞的參數是對象的引用”