對比Java的ArrayList與.net的List

今天看見一位園友寫了一篇非常詳細的文章《ArrayList源碼分析》,很佩服寫的如此仔細和詳細。在看這篇文章時,我也和.net的List<T>做了對比,因為我非常熟悉List<T>的實現,就寫了此篇文章說明各自實現的差異。儲存//Javaprivate transient Object[] elementData;Java的此類雖然對外是泛型的,但內部卻不是使用泛型的數組儲存,沒有.net好;//.netprivate T[]

今天的問題:一個簡單的例子,請幫我解開“介面實現Java‘隱藏實現細目’”的迷惑。

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()) {   

今日的問題:關於java.util包的幾個問題?

1·用ensureCapacity()方法增加ArrayList容量後,用size()方法顯示,為什麼依然是實際元素的個數?而非ArrayList的容量呢?2·為什麼類集不再被設計為同步呢?這樣做有什麼好處?3·類集在現實中究竟有什麼用途?打個比方,我要調出資料庫中的1000條資料,這些資料經過SQL語句的處理,就能實現ID與其他欄位的映射,而且也很方便進行排序,或選擇中間某個記錄,而且用一個迴圈,就能曆遍每一個記錄,這樣說來,我是直接從硬碟中把資料調出,而不需要先把資料存放區到Collecti

關於Java繼承一個值得思考的問題。

        最近一段時間在寫一個類樹的時候,發現了一些關於繼承的值得思考的問題,於是自己寫了簡單的測試代碼進行分析,經過分析與跟csdn論壇朋友的探討,弄清楚了java的一些繼承的機制,但依然有所迷惑。       

自己第一個JAVA編的B/S結構項目的心得

今天,我終於完成了一個項目的demo版示範程式。由於這個東西很緊急,我是沒日沒夜的幹了將近5天才搞定的。這五天,可真沒少受夠苦。不過也開心的,這個東西可全部都是我一個人做的,從資料庫的設計到頁面設計(由於是demo的,所以很簡單,哈哈),再到整個架構(也談不上是什麼架構,哈)的設計。因為以前沒做過JAVA的B/S程式,自己一個人做走了很多彎路,哈哈,現在總算搞定了。 總結一下這個小demo項目的實現過程,我真正感覺到了使用Tools的重要性,有些人喜歡什麼都自己做,但我可不喜歡,有現成的,好用的

如何迅速成為Java高手

如何迅速成為Java高手[Tomjava原創] 很多網友問我學習Java有沒有什麼捷徑,我說“無他,唯手熟爾”。但是我卻很願意將自己學習的一些經驗寫出來,以便後來者少走彎路,協助別人是最大的快樂嘛! 要想學好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來,就力圖使之無所不包,所以Java發展到現在,按應用來分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net

javaRegex學習筆記(四)

  接著學習java.util.regex包裡關於Regex的包,因為string類只提供部分Regex的功能,不能充分展現Regex強大的功能.  java.util.regex包裡有兩個類,一個介面,一個異常,Regex的主要功能都是在Pattern,Matcher兩個類裡實現了,現在先學習Pattern類,Pattern類一共有8個方法和兩個方法的重載,還有8個欄位,下面直接看一個例子你就明白他的原理,如果不明白可以查看JDK的協助.Code highlighting produced

Java多線程的學習和應用

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++){

java配置環境變數

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.

Java字串串連效率

     字串操作是編寫程式中最常見的行為,本文對String、StringBuilder、StringBuffer三個類在字串處理方面的效率進行分析。     Java中最常見也是應用最廣泛的類就是String類。     String:Strings are constant; their values cannot be changed after they are created.     這是JDK對String的解釋,意思是:String是常量,一旦建立後它的值不能被修改。     

Java產生短連結

因公司推廣需要,需要一套短連結產生方案,正好前幾天在MSDN看到有人發了一個.net版的短連結演算法,我就把它轉換成java版,拿出來共用一下產生思路:1.將"原始連結(長連結)+key(自訂字串,防止演算法泄漏)"MD5加密2.把加密字元按照 8 位一組 16 進位與 0x3FFFFFFF 進行位與運算,把得到的值與 0x0000003D 進行位與運算,取得字元數組 chars 索引,把取得的字元相加,每次迴圈按位右移 5

Java枚舉類型

     關鍵字enum可以將一組具名的值的有限集合建立為一種新的類型,而這些具名的值可以作為常規的程式組件使用。這些具名的值稱為枚舉值,這種新的類型稱為枚舉類型。     下面是一個簡單的表示星期幾的枚舉:1 public enum Day {2 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY3 }   

Java集合類源碼分析匯總

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

Question with java.lang.Object.hashCode()

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

[Question]Question about “java.net.ServerSocket.accept()”

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

java面試常見疑惑解答

第一,談談final, finally, finalize的區別。最常被問到。第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?第三,Static Nested Class 和 Inner

設計模式:MVC模式 (java)

“模型-視圖-控制器(Model-View-Controller,MVC)結構是為那些需要為同樣的資料提供多個視圖的應用程式而設計的,它很好的實現了資料層與展示層的分離。例如中的例子:[img]http://www.cs.nyu.edu/courses/spring99/V22.0480-001/lectures/images/l14_im2.JPG[/img]我們看到,圖中的幾組資料以不同的形式(View)表現出來,一個是表格樣式,一個是圖形樣式。MVC把這種應用程式分為三種物件類型:模型:維

[匯入]linux下java環境的安裝與配置

一、、安裝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目錄下。   二、配置環境變數 

建議推廣ThreadLocal在Java中的應用

工作要求用Java了,有很多東西要學習.不得不暫時告別一下.net在看Spring的時候突然想到.net裡面的ThreadStaticAttribute(允許static變數在不同線程不同).在很多情況下每個執行線程裡面的內容是固定的,比如web環境下servlet的CurrentUser/HttpContext/Session.很多情況下這些變數被想方設法的傳遞到後層類中,造成設計的複雜..net中很好的設計方法就是Static: Thread.CurrentPrincipal /

超越RMI,高效Java remote調用

在處理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.

總頁數: 4058 1 .... 799 800 801 802 803 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.