Time of Update: 2018-12-07
今天看見一位園友寫了一篇非常詳細的文章《ArrayList源碼分析》,很佩服寫的如此仔細和詳細。在看這篇文章時,我也和.net的List<T>做了對比,因為我非常熟悉List<T>的實現,就寫了此篇文章說明各自實現的差異。儲存//Javaprivate transient Object[] elementData;Java的此類雖然對外是泛型的,但內部卻不是使用泛型的數組儲存,沒有.net好;//.netprivate T[]
Time of Update: 2018-12-07
import java.io.*;import java.util.*;Class Why { public static void main(String[] args) { Vector v=new Vector(3,2); v.addElement("a"); v.addElement("b"); v.addElement("c"); Enumeration e=v.elements(); while(e.hasMoreElements()) {
Time of Update: 2018-12-07
1·用ensureCapacity()方法增加ArrayList容量後,用size()方法顯示,為什麼依然是實際元素的個數?而非ArrayList的容量呢?2·為什麼類集不再被設計為同步呢?這樣做有什麼好處?3·類集在現實中究竟有什麼用途?打個比方,我要調出資料庫中的1000條資料,這些資料經過SQL語句的處理,就能實現ID與其他欄位的映射,而且也很方便進行排序,或選擇中間某個記錄,而且用一個迴圈,就能曆遍每一個記錄,這樣說來,我是直接從硬碟中把資料調出,而不需要先把資料存放區到Collecti
Time of Update: 2018-12-07
最近一段時間在寫一個類樹的時候,發現了一些關於繼承的值得思考的問題,於是自己寫了簡單的測試代碼進行分析,經過分析與跟csdn論壇朋友的探討,弄清楚了java的一些繼承的機制,但依然有所迷惑。
Time of Update: 2018-12-07
今天,我終於完成了一個項目的demo版示範程式。由於這個東西很緊急,我是沒日沒夜的幹了將近5天才搞定的。這五天,可真沒少受夠苦。不過也開心的,這個東西可全部都是我一個人做的,從資料庫的設計到頁面設計(由於是demo的,所以很簡單,哈哈),再到整個架構(也談不上是什麼架構,哈)的設計。因為以前沒做過JAVA的B/S程式,自己一個人做走了很多彎路,哈哈,現在總算搞定了。 總結一下這個小demo項目的實現過程,我真正感覺到了使用Tools的重要性,有些人喜歡什麼都自己做,但我可不喜歡,有現成的,好用的
Time of Update: 2018-12-07
如何迅速成為Java高手[Tomjava原創] 很多網友問我學習Java有沒有什麼捷徑,我說“無他,唯手熟爾”。但是我卻很願意將自己學習的一些經驗寫出來,以便後來者少走彎路,協助別人是最大的快樂嘛! 要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net
Time of Update: 2018-12-07
接著學習java.util.regex包裡關於Regex的包,因為string類只提供部分Regex的功能,不能充分展現Regex強大的功能. java.util.regex包裡有兩個類,一個介面,一個異常,Regex的主要功能都是在Pattern,Matcher兩個類裡實現了,現在先學習Pattern類,Pattern類一共有8個方法和兩個方法的重載,還有8個欄位,下面直接看一個例子你就明白他的原理,如果不明白可以查看JDK的協助.Code highlighting produced
Time of Update: 2018-12-07
Java實現多線程有兩種方式:1.繼承Thread類,重寫run方法package com.bjdata.test;public class ThreadTest extends Thread{ String name=""; public ThreadTest(String n){ name=n; } public void run(){ for(int i=0;i<6;i++){
Time of Update: 2018-12-07
Windows1.開啟我的電腦--屬性--進階--環境變數 2.建立系統變數JAVA_HOME 和CLASSPATH 變數名:JAVA_HOME 變數值:C:\Program Files\Java\jdk1.7.0(JDK安裝路徑)變數名:CLASSPATH 變數值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;3.
Time of Update: 2018-12-07
字串操作是編寫程式中最常見的行為,本文對String、StringBuilder、StringBuffer三個類在字串處理方面的效率進行分析。 Java中最常見也是應用最廣泛的類就是String類。 String:Strings are constant; their values cannot be changed after they are created. 這是JDK對String的解釋,意思是:String是常量,一旦建立後它的值不能被修改。
Time of Update: 2018-12-07
因公司推廣需要,需要一套短連結產生方案,正好前幾天在MSDN看到有人發了一個.net版的短連結演算法,我就把它轉換成java版,拿出來共用一下產生思路:1.將"原始連結(長連結)+key(自訂字串,防止演算法泄漏)"MD5加密2.把加密字元按照 8 位一組 16 進位與 0x3FFFFFFF 進行位與運算,把得到的值與 0x0000003D 進行位與運算,取得字元數組 chars 索引,把取得的字元相加,每次迴圈按位右移 5
Time of Update: 2018-12-07
關鍵字enum可以將一組具名的值的有限集合建立為一種新的類型,而這些具名的值可以作為常規的程式組件使用。這些具名的值稱為枚舉值,這種新的類型稱為枚舉類型。 下面是一個簡單的表示星期幾的枚舉:1 public enum Day {2 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY3 }
Time of Update: 2018-12-07
Java集合類基礎:http://www.cnblogs.com/hzmark/archive/2012/12/17/CollectionBase.htmlArrayList源碼分析:http://www.cnblogs.com/hzmark/archive/2012/12/20/ArrayList.htmlArrayList的removeRange方法分析:http://www.cnblogs.com/hzmark/archive/2012/12/19/ArrayList_removeRang
Time of Update: 2018-12-07
Question:1.In the Java API Doc, i saw the statement below:This integer need not remain consistent from one execution of an application to another execution of the same application. Does it mean that on each execution, the hashcode may be
Time of Update: 2018-12-07
Question:java.net.ServerSocket.accept() will listen to the specified port for some requests and create a socket.But some question bewilder me.There is a code :ServerSocket serverSocket = new ServerSocket(listenPort); // Create a server socket to
Time of Update: 2018-12-07
第一,談談final, finally, finalize的區別。最常被問到。第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?第三,Static Nested Class 和 Inner
Time of Update: 2018-12-07
“模型-視圖-控制器(Model-View-Controller,MVC)結構是為那些需要為同樣的資料提供多個視圖的應用程式而設計的,它很好的實現了資料層與展示層的分離。例如中的例子:[img]http://www.cs.nyu.edu/courses/spring99/V22.0480-001/lectures/images/l14_im2.JPG[/img]我們看到,圖中的幾組資料以不同的形式(View)表現出來,一個是表格樣式,一個是圖形樣式。MVC把這種應用程式分為三種物件類型:模型:維
Time of Update: 2018-12-07
一、、安裝JDK 從sun網站上直接下載JDK. 1、bin包 在linux上安裝如下: # chmod 777 jdk-1_5_0_02-linux-i586.bin # ./jdk-1_5_0_02-linux-i586.bin 在目前的目錄下出現了一個 jdk-1_5_0_02-linux-i586.rpm用"Install Packages" 安裝,安裝軟體會將JDK自動安裝到 /usr/java/jdk1.5.0_02目錄下。 二、配置環境變數
Time of Update: 2018-12-07
工作要求用Java了,有很多東西要學習.不得不暫時告別一下.net在看Spring的時候突然想到.net裡面的ThreadStaticAttribute(允許static變數在不同線程不同).在很多情況下每個執行線程裡面的內容是固定的,比如web環境下servlet的CurrentUser/HttpContext/Session.很多情況下這些變數被想方設法的傳遞到後層類中,造成設計的複雜..net中很好的設計方法就是Static: Thread.CurrentPrincipal /
Time of Update: 2018-12-07
在處理Remote調用時,通常思路如下:1. WebService跨平台,跨防火牆,但是很抱歉,基於xml速度慢2. RMI(java)/Remoting(.net)平台相關,基於二進位序列化,速度快.spring提供了第三種選擇:輕量級http invoker關於spring remoting支援,有四種方案:1. 傳統RMI.spring簡化了RMI開發: JNDI沒有啟動時會自動啟動/支援普通對象發布為RMI服務.2. 基於http invoker.http+序列化.缺點:不支援回調3.