說說JAVA的equals()和hashCode()

經常會有人問,如果重寫了equals方法,是不是一定要重寫hashcode方法呢? 答案是yes,因為如果不重寫,那麼基於hash結構的那些東東比如hashMap,HashSet等等會出現非你想象的結果。why?看一下HashMap的源碼,get也是一樣的判斷邏輯:public V put(K key, V value) { if (key == null) return putForNullKey(value); int hash =

在Ubuntu 10.04+系統中安裝Sun Java

不知道出於什麼原因,在Ubuntu 10.04以及更新的Ubuntu系統中,預設的官方資料來源中已經不包含sun-java6-jdk這個軟體包了,但是我們可以通過另外的資料來源來安裝Sun Java。首先添加額外資料來源:add-apt-repository "deb http://archive.canonical.com/ lucid partner"更新資料來源:sudo apt-get update此時即可安裝Sun Javasudo apt-get install sun-java6-

解決 java.lang.IllegalThreadStateException: Thread already started. 錯誤

              android開發中,對線程的操作比較悲催,start一個線程後,必須將標誌位置false後過一段時間軸程才會停止。              當我們再次用到線程的時候,不管Thread.isAlife()返回的是true還是false,如果我們再次Thread.start(),就會下面這樣一個錯誤:               java.lang.IllegalThreadStateException: Thread already started         

演算法導論堆排序Java實現

            堆排序的時間複雜度為O(nlogn),相對於插入排序的O(n^2),它有很大的優勢;對歸併排序來講,時間複雜度上兩者一致,但是堆排序具有空間原址性,不用像歸併那樣還要有數組的複製操作。因此,堆排序的優點多多,    下面給出演算法導論裡堆排序的java實現。      /** * 堆排序 * */ public void heapSort(int[] A){ //先建立數組對應的最大堆 buildMaxHeap(A,A.

java對象集合中某個屬性的漢字進行按拼音進行排序

在開發中,有些時候我們要對一個集合中的對象的某個屬性進行按拼音排序,便於更快的找到漢字,我採用Comparator介面,在實現這個介面裡定義定序,取得比較對象的漢字編碼,並將其轉換成字串,運用String類的 compareTo()方法對兩對象進行比較。說了這麼多,怎麼還不貼代碼啊。。。一,建一個要排序的對象實體類ProvinceVO。/* * Copyright 2013 The JA-SIG Collaborative. All rights reserved. * distributed

java 數組的反轉

有一個需求,要求反轉一個數組,並把這個數組中小於0的資料處理用0代替public class Test5 {    public static void main(String[] args) {        int[] array = new int[] { 1, 3, -1, 5, -2 };        System.out.println("原數組為:");        for (int i = 0; i < array.length; i++) {          

我的JAVA相關文章

  之前有一個曆經三年的項目,負責其中一個AS,最後實現的效能和功能已經超出了我的預期,尤其作為電信運營層級所要求的效能,各類的過載保護等等。最近這個項目可能又要翻出來,這一年多來,位置沒有變化,部門的名字換了兩趟,名片上的除了名字外什麼都不對。實驗室搬了兩次,手頭的機器也更換了。最近有空的時候就整理一下,當時有一些對JAVA很有趣的效能文檔,可惜一下子沒找著。我想發現一些問題還是整理一下,刪除所有項目有關的東西,放在網上,也方便自己查閱。 開發環境篇Makefile的編寫——用於C和JAVAJ

Java在編寫檔案下載的代碼中如何避免檔案名稱亂碼情況

  做項目的時候經常要遇到編寫檔案下載的模組,如果遇到檔案名稱就是英數位情況,那麼就很簡單,不會出現任何亂碼。但是如果出現了類似中文或者別的其他文字的時候,檔案名稱就會出現亂碼。那麼如何去避免呢,就要在檔案下載的代碼之前對檔案名稱做一些處理轉換。 在IE中,我們要用到URLEncoder類來進行轉換,代碼如下filename =

對Java和.NET以一個中國程式員的角度來評論一下

    在工作了一段時間,對Java有了比較深入的運用後說說自己的感覺。    我自己的職業也許要給一些人罵,我坦誠說我是做對日外包的,做這個工作不是說我對日本有多麼的好感,只不過現在工作難找,而且我們也屬於出口日本,也不是從日本進口,所以心裡覺得也不算過分。我們公司有兩個外包部門,我所在的部門主要做得是J2EE架構的B/S或者B2C開發,另外一個外包部門做.NET的比較多。   

Tomcat記憶體溢出(java.lang.OutOfMemoryError: PermGen space)的解決辦法

Tomcat啟動時報如下錯誤:   java.lang.OutOfMemoryError: PermGen space解決辦法:   配置相關記憶體大小。其中按照啟動tomcat的不同方式,分如下三種情況   a):如果是eclipse的tomcat外掛程式啟動tomcat,在“window”菜單-“Preferences”-“Tomcat”-“JVM Settings”中添加JVM參數如下即可:       -Xms128M -Xmx512M -XX:PermSize=128M

java之動態代理

代理類Proxy.getProxyClass(ClassLoader loader,Class<?> … interfaces)擷取一個代理類的位元組碼對象,返回Class類型Proxy.newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)擷取一個動態代理類的執行個體對象動態代理類:class proxy{InvocationHandler

java5之枚舉

<!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--><!-- [if gte mso 10]><![endif]-->枚舉枚舉就是要把某一類型的變數只能為某些特定的值中的一個,這樣可以把錯誤在編譯階段就顯現出來,這是比普通變數優越的地方.用普通類類比枚舉類 class WeekDay(){private

java類載入器備忘

<!-- [if gte mso 9]><![endif]--><!-- [if gte mso 9]><![endif]--><!-- [if gte mso

Java線程:並發協作-生產者消費者模型 轉自:http://lavasoft.blog.51cto.com/62575/221932

轉自:http://lavasoft.blog.51cto.com/62575/221932Java線程:並發協作-生產者消費者模型 對於多線程程式來說,不管任何程式設計語言,生產者和消費者模型都是最經典的。就像學習每一門程式設計語言一樣,Hello

Java中Return和Finally執行順序的實現

下面這段代碼的執行結果是怎樣的呢?publc int test(){int x;try{x = 1;return x;}catch(Exception e){x = 2;return x;}finally{x =

Java中的Exception和RuntimeException的區別

在java的異常類體系中,Error和RuntimeException是非檢查型異常(unchecked exception),其他的都是檢查型異常(unchecked

Java堆初始大小的建議值

摘自:《Java Performance》第三章Initial Heap Space Size ConfigurationThis section describes how to use live data size calculations to determine an initial Java heap size. Figure 7-3 shows the fields that identify an application’s live data size. It is wise

Path與Classpath 參考:Java JDK 5.0學習筆記第二章

這裡有如何設定path和classpath的詳細資料。 當我們在Windows命令列中使用Java時,我們會發現在任何一個地方輸入java,系統都會有反應,儘管在那個地方時沒有java.exe的。系統是怎麼做到的呢?其實很簡單,答案就在系統的環境變數中的path屬性。這個過程是這樣的,系統首先在目前的目錄下尋找java.exe,若沒有,它會找系統變數下的path,若這個path中有,那麼就會按這個路徑來找到java.exe,並執行這個檔案。Classpath對應的是JDK中的工具,也需要設定,否

java線程簡單介紹

在java中,一個線程用一個Thread對象表示一般每一個java程式都有一個main方法(applet沒有),它是主線程的進入點而用Thread表示的線程,進入點自然不是main了,而是run方法定義一個線程,主要就是寫它的run方法寫run有兩種方法,一種是繼承Thread類,然後重寫它的run另一種是實現Runnable介面,然後重寫它的run,如下所示:============================//用外部類實現多線程class  ThreadTest2 { public

總結一下java裡的Collections

java 的集合類包含兩部分,一部分是實現了介面Collection的類,另一部分是實現了介面Map的類.注意雖然後者沒有實現Collection介面,但是它們都是Collections(不是Collection)的一部分.下面的內容基於jdk1.5以上.其中用到了泛型.下面之所以列出它們的方法,是為了讓大家瞭解一下它們的規律先看實現了Collection的類.它的方法主要可以分為:1.添加,刪除 2.查詢 3.其他1.添加,刪除: boolean add(Object),boolean

總頁數: 4058 1 .... 440 441 442 443 444 .... 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.