java 建立最大堆

標籤:最大堆的性質是除了根節點之外的所有節點(i)都需要滿足A[PARENT(i)]>A[i],即其對應節點值小於其父節點對應值。下面實現以數組int []a構建最大堆。  public class Heap {public static int Left(int i)//返回左子結點{return 2*i+1;}public static int Right(int i)//返回右子節點{return 2*i+2;}public static void

詳解Java中Map用法

標籤:map集合Map以按鍵/數值對的形式儲存資料,這裡要特別說明( Map.Entry,是Map的內部類,它用來描述Map中的鍵/值對)。 Map是一個介面,我們平時多用它的實作類別HashMap。用例如下: public static void main(String args[]) { HashMap hashmap = new HashMap(

JAVA關於POI匯出Excel記憶體溢出的解決方案

標籤:JAVA關於POI匯出Excel記憶體溢出的解決方案在我們使用JAVA開發過程中,經常要匯出查詢獲得的資料,這些資料一般情況下都是以Excel儲存的,因此我們在匯出資料的時候要使用JAVA的POI庫,其主要是對各種windows平台的資料格式進行操作,在這裡,我們是對Excel操作。產生Excel的過程原理是這樣的,首先,我們對資料庫進行查詢,擷取相應的結果集,一般是list集合,然後產生Workbook對象,根據產生的Workbook對象擷取sheet對象,根據此sheet對象擷取Row

Java一個簡單的死結例子

標籤:內容:一個簡單的死結例子,大概的思路:兩個線程A和B,兩把鎖X和Y,現在A先拿到鎖X,然後sleep()一段時間,我們知道sleep()是不會釋放鎖資源的。然後如果這段時間軸程B拿到鎖Y,也sleep()一段時間的話,那麼等到兩個線程都醒過來的話,那麼將互相等待對方釋放鎖資源而僵持下去,陷入死結。flag的作用就是讓A和B獲得不同的鎖。public class TestDeadLock {public void run() {MyThread mt = new

Java設計模式-Factory 方法模式(Factory Method)

標籤: Factory 方法模式(Factory Method)   原廠模式適合:凡是出現了大量的產品需要建立,並且具有共同的介面時,可以通過Factory 方法模式進行建立。在以下的三種模式中,第一種如果傳入的字串有誤,不能正確建立對象,第三種相對於第二種,不需要執行個體化工廠類,所以,大多數情況下,我們會選用第三種——靜態Factory

Java設計模式-單例模式(Singleton)

標籤:   單例對象(Singleton)是一種常用的設計模式。在Java應用中,單例對象能保證在一個JVM中,該對象只有一個執行個體存在。這樣的模式有幾個好處:1、某些類建立比較頻繁,對於一些大型的對象,這是一筆很大的系統開銷。2、省去了new操作符,降低了系統記憶體的使用頻率,減輕GC壓力。3、有些類如證券交易所的核心交易引擎,控制著交易流程,如果該類可以建立多個的話,系統完全亂了。(比如一個軍隊出現了多個司令員同時指揮,肯定會亂成一團),所以只有使用單例模式,才能保證核心交易伺服

Java演算法-符號&

標籤:  &與運算子 與運算子用符號“&”表示,其使用規律如下:兩個運算元中位都為1,結果才為1,否則結果為0例如下面的程式段。 public class data13{public static void main(String[] args){int a=129;int b=128;System.out.println("a 和b 與的結果是:"+(a&b));}}  運行結果a

java常用演算法

標籤:冒泡排序: //降序 public static int[] bubbleSort(int[] array){ for(int i = 0; i < array.length; i++){ int curval = array[i]; for(int j = i - 1; j >= 0; j--){ int temp = array[j];

Java for LeetCode 069 Sqrt(x)

標籤:Implement int sqrt(int x).Compute and return the square root of x.解題思路一: public int mySqrt(int x) { return (int)Math.sqrt(x); } 神奇般的Accepted。解題思路二:參考平方根計算方法 計算平方根的演算法這裡給出最簡單的牛頓法,JAVA實現如下: public int mySqrt(int x) {

Java演算法-符號~

標籤: ~取反 非運算子用符號“~”表示,其運算規律如下:如果位為0,結果是1,如果位為1,結果是0下面看一個簡單例子。public class data15{public static void main(String[] args){int a=2;System.out.println("a 非的結果是:"+(~a));}}       System.out.println(

Java for LeetCode 068 Text Justification

標籤:Given an array of words and a length L, format the text such that each line has exactly L characters and is fully (left and right) justified.You should pack your words in a greedy approach; that is, pack as many words as you can in each line. Pad

Java設計模式-抽象原廠模式(Abstract Factory )

標籤:  Factory 方法模式有一個問題就是,類的建立依賴工廠類,也就是說,如果想要拓展程式,必須對工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的問題,如何解決?就用到抽象原廠模式,建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的代碼。為工廠類做一個統一的父類介面,可用於擴充因為抽象工廠不太好理解,先看看圖,然後就和代碼,就比較容易理解。例子:public interface Sender { public void

Java演算法-符號^

標籤: ^按位異或如果操作的兩位元是相同的,比如都是1或者都是0,則結果為0,否則為1.如public class data16{public static void main(String[] args){int a=15;int b=2;System.out.println("a 與 b 異或的結果是:"+(a^b));}}運行結果a 與 b 異或的結果是:13分析上面的程式段:a 的值是15,轉換成二進位為1111,而b

Java演算法-符號>>,>>>,<<

標籤: >>右移  右移,道在二進位中,假設用一個32位的Int表示一個64,那麼高位就都是0,所以當我們把整個位元右移,如0100000 >> 2 = 0001000,可以看到右移兩位後的數變成了8,可以分析出其實右移就是一個除以2的操作例:對於非2,4,8,16,64的數也可以實驗一下:System.out.println(3 >> 1);System.out.println(5 >> 1);System.out.println(63

Java設計模式-建造者模式(Builder)

標籤:  將一個複雜的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。 [構建與表示分離,同構建不同表示]   

Java演算法-符號|

標籤: |或運算子或運算子用符號“|”表示,其運算規律如下:兩個位只要有一個為1,那麼結果就是1,否則就為0下面看一個簡單的例子。public class data14{public static void main(String[] args){int a=129;int b=128;System.out.println("a 和b 或的結果是:"+(a|b));}} 運行結果a 和b 或的結果是:129下面分析這個程式段:a

Java for LeetCode 070 Climbing Stairs

標籤:You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?解題思路:遞迴會導致逾時,用動態規劃即可,JAVA實現如下; public int climbStairs(int n) { if(n==1)

Java Web 學習筆記(二)

標籤:java web19、CSS:即(層疊)樣式表,一種美化頁面的技術,可以方便、靈活地設定網頁中不同元素的外觀屬性。20、CSS中的定位屬性:(1)position:定位,分為絕對位置(absolute)、相對定位(relative)、靜態定位(static);(2)橫座標:left,縱座標:top;(3)寬:width,高:height;(4)overflow:定義內容超出的處理方法;(5)z-index:定義立體效果;(6)visbility:定義可見度,visible/hidden;2

【Java】把位元組數B轉化為KB、MB、GB的方法

標籤:檔案大小   b   java   換算   單位   在檔案處理的系統中,很容易就能通過一些系統內建的方法取出其大小,問題是這個大小往往只是一個位元組數B。如果要把這個位元組數轉化為KB、MB、GB的最終呈現給使用者,則涉及到整除與取餘的算術運算。方法如下:public static String getPrintSize(long

Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules

標籤:最近在用eclipse玩的時候,建立項目時什麼都貪新,用最新的版本,在Dynamic web module version欄裡選了最新的3.0版本,布署項目的時候就出現了如期的錯誤,在網上看到其他網友的部落格,解決了問題,現將方法貼於此,希望對別人有所協助:通過search,發現在project的.setting

總頁數: 4058 1 .... 3850 3851 3852 3853 3854 .... 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.