Time of Update: 2018-07-25
最近又重新學習了一下,感覺受益匪淺,所以在這裡將自己的感想寫出來,供大家和自己在以後時間內學習。我們要明確一點,java是一個編譯性語言。我們將java的來源程式編譯成位元組碼檔案,而不是編譯成機器語言,當我們在不同的作業系統下運行這個位元組碼檔案的時候,不同作業系統中 java的虛擬機器解釋執行這個位元組碼檔案。這就是java為什麼是跨平台語言的原因。 下面我講解一下java的運行環境。在圖中我們看到的最下面的一層“Java HotSpot
Time of Update: 2018-07-25
寫了幾年 java 程式,今天才看到 String 的 endwith startwith 。實在不好意思。還有就是 不區分大小寫 字串比較。String.CASE_INSENSITIVE_ORDER 以後需要養成習慣,對於無論熟悉不熟悉的類(庫),時不時,多看兩眼方法。 import java.util.Collections;import java.util.Comparator;import java.util.LinkedList;import
Time of Update: 2018-07-25
首先說一下char類型: char類型用來表示單個字元。要想弄清楚char類型,就必須瞭解Unicode編碼錶。 在設計Java時決定採用16位的Unicode字元集。能表示65536個字元。 十分遺憾,經過一段時間,不可避免的事情發生了。Unicode字元超過了65536個。 (主要原因是增加了大量的漢語、日語、韓語這樣的表意文字),也就是16位的 char類型已經不能滿足所有的Unicode字元的需要了。 代碼點(code
Time of Update: 2018-07-25
package a_a_a;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import
Time of Update: 2018-07-25
public static String encode(String str) {if(str == null) {return null;}str = str.replace('+', '~');str = str.replace('/', '_');str = str.replace('=', '.');return str;}public static String encode2(String str) {if(str == null) {return null;}str =
Time of Update: 2018-07-25
在java中,FileChannel類中有一些最佳化方法可以提高傳輸的效率,其中transferTo( )和 transferFrom( )方法允許將一個通道交叉串連到另一個通道,而不需要通過一個緩衝區來傳遞資料。只有FileChannel類有這兩個方法,因此 channel-to-channel 傳輸中通道之一必須是 FileChannel。不能在sock通道之間傳輸資料,不過socket 通道實現WritableByteChannel 和
Time of Update: 2018-07-25
1 web 1.1 檔案下載 1.1.1 用戶端 var url = "/services/fileServlet";url += "?beanId=" + beanId;url += "&method=" + method;url += "¶ms=" + $.toJSON(params);var frame =
Time of Update: 2018-07-25
java.util.Scanner是Java5的新特徵,主要功能是簡化文本掃描。 小例子: 簡曆一個txt檔案:test.txt 代碼: import java.io.File;import java.io.FileNotFoundException;import java.util.Scanner;public class ReadTxtFile {public static void main(String[] args) {File file = new
Time of Update: 2018-07-25
java中接收輸入的函數java.util.Scanner的使用: package net.nyist;import java.util.Scanner;public class ScannerDemo2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int intValue =
Time of Update: 2018-07-25
用maven建立web項目後,src下只有resources,接下來想在src/main中再添加目錄名為java的源檔案夾(source folder)用於存放java代碼,但eclipse報出如下錯誤: Cannot nest 'tst/src/main/java' inside 'tst/src/'. To enable the nesting exclude main/' from 'tst/src/' 以上錯誤是提示你想要建立的source
Time of Update: 2018-07-25
在Java裡,這個模式主要與clone()方法密切相關。 1. 類圖 2. Java實現代碼 package cn.edu.ynu.sei.prototype; /** * 原始模型模式用戶端 * * @author 88250 * @version
Time of Update: 2018-07-25
這幾天正在學習設計模式,看完書,總得寫點簡單的執行個體吧:-) 所以呢,從今天開始認真寫點簡單的純設計模式實現的Java代碼,先比較淺顯地體會一下設計模式的思想。以便以後在實際項目中正確地使用它。 在這個例子中,ArtTracer的指責是根據客戶的要求繪製各種各樣的圖形;Shape介面是提供一些常用的繪圖操作,3個圖形類分別實現了它;繪圖異常時拋出BadShapeException。 1. 簡單工廠執行個體UML類圖 2.
Time of Update: 2018-07-25
java.util包中包含了一系列重要的集合類。本文將從分析源碼入手,深入研究一個集合類的內部結構,以及遍曆集合的迭代模式的源碼實現內幕。 下面我們先簡單討論一個根介面Collection,然後分析一個抽象類別AbstractList和它的對應Iterator介面,並仔細研究迭代子模式的實現原理。 本文討論的原始碼版本是JDK 1.4.2,因為JDK 1.5在java.util中使用了很多泛型代碼,為了簡化問題,所以我們還是討論1.4版本的代碼。 集合類的根介面Collection
Time of Update: 2018-07-25
執行: for (Iterator it = o.getSons().iterator(); it.hasNext();) { r = (KnowledgeNode) it.next();
Time of Update: 2018-07-25
利用java.util.zip.ZipFile類,來解壓檔案。 可以解壓zip,jar,war,但無法解壓rar檔案。 import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import
Time of Update: 2018-07-25
import java.io.File;import org.tmatesoft.svn.core.SVNException;import org.tmatesoft.svn.core.SVNURL;import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;import
Time of Update: 2018-07-25
源碼: /* * MainFrame.java * * Created on 2008年9月20日, 上午11:44 */ package com.topking.tray.ui;
Time of Update: 2018-07-25
HashMap · It is a Map,which means it stores <Key, Value> pairs. Same key with different valueswill only be stored once in the map and only the last one put into map will bestored, i.e. when you put
Time of Update: 2018-07-25
Java中的析構方法finalize 在C++程式設計中有建構函式與解構函式的概念,並且是記憶體管理技術中相當重要的一部分,而在Java語言中只有構造器(也可以稱為建構函式)的概念,卻沒有析構器或解構函式的概念。這是因為,理論上JVM負責對象的析構(銷毀與回收)工作。也就是上面講到的記憶體回收的概念。那麼Java語言中是否真的不存在與C++中解構函式職能類似的方法。其實Java語言中的finalize
Time of Update: 2018-07-25
在windows中設定path是告訴系統可執行檔是放在什麼路徑上面。 設定ClassPath是告訴jvm 要使用或執行的class放在什麼路徑上。 拿我自己機子為例。 JAVA_HOME=C:/j2sdk1.4.2_06 //我安裝jdk的路徑。 ClassPath=.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar//jdk中內建的一些工具包。注意.;很重要他告訴jvm從目前的目錄找。