【java performance】使用'System.arraycopy ()'代替通過來迴圈複製陣列
'System.arraycopy ()' 要比通過迴圈來複制陣列快的多。
例子:
public class IRB
{
void method () {
int[] array1 = new int [100];
for (int i = 0; i < array1.length; i++) {
array1 [i] = i;
}
int[] array2 = new int [100];
for (int i = 0; i < array2.length; i++) {
array2 [i] = array1 [i]; // Violation
}
}
}
更正:
public class IRB
{
void method () {
int[] array1 = new int [100];
for (int i = 0; i < array1.length; i++) {
array1 [i] = i;
}
int[] array2 = new int [100];
System.arraycopy(array1, 0, array2, 0, 100);
}
}
參考資料:
http://www.cs.cmu.edu/~jch/java/speed.html
相關推薦
【java performance】使用'System.arraycopy ()'代替通過來迴圈複製陣列
'System.arraycopy ()' 要比通過迴圈來複制陣列快的多。 例子: public class IRB { void method () { int[] array1 = new int [100]; for (int i
【Java筆記】IO流中四種檔案複製方式效率比較
位元組流檔案複製方式: (1)位元組流讀寫單個位元組 (2)位元組流讀寫位元組陣列 (3)位元組緩衝流讀寫單個位元組 (4)位元組緩衝流讀寫位元組陣列 import java.io.BufferedInputStream; import java.io.BufferedOutpu
【Java筆記】通過反射配置檔案執行類中的方法
要求:在一個Test類中呼叫不同類中的方法,不改動Test原始碼,如何做到? 實現方法:將要執行的類名和方法名,以鍵值對的形式卸儲存在文字中,執行哪個類就讀取配置檔案即可。 實現步驟:1.準備配置檔案,鍵值對 &nbs
【Java 資料庫】java工程通過JDBC連線到資料庫
(在原博文上有改動) 下面請一字一句地看,一遍就設定成功,比你設定幾十遍失敗,費時會少得多。 首先,在連線資料庫之前必須保證SQL Server 2012是採用SQL Server身份驗證方式而不是windows身份驗證方式。如果在安裝時選用了後者,則重新設定如下:
【Java必修課】通過Value獲取Map中的鍵值Key的四種方法
1 簡介 我們都知道Map是存放鍵值對<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速獲取Value值。然而,有的時候我們需要反過來獲取,知道Value值,求Key值。 本文將用例項介紹四種方法,通過傳入Value值,獲取得到Key值。 2 四種方法 2.1 迴
【Java基礎】RTTI與反射之Java
start auth try dword star sse from tac sed 1 ; Example assembly language program -- 2 ; Author: Karllen 3 ; Date: revised 05/2014
轉載:【Java基礎】InputStream 、 InputStreamReader和BufferedReader
gen 結果 取字符 sys try eight string font buffer 來源:http://blog.csdn.net/zgljl2012/article/details/47267609 在Java中,上述三個類經常用於處理數據流,下面介紹一下三個類的
【Java集合】試讀LinkedList源碼
是否 包含成員 sta pub tex .com 生成 否則 class LinkedList的本質是雙向鏈表。(01) LinkedList繼承於AbstractSequentialList,並且實現了Dequeue接口。 (02) LinkedList包含兩個重要
【java反射】Class類型的相關操作演練
div gif display 演練 esp arguments 接口 hid col 【一】獲取範型接口的實現類的範型類型 (1)範型接口 package org.springframework.context; import java.util.EventList
【轉】【Java/Android】Toast使用方法大全
runnable public 顯示 ssa setview nbsp efault 使用方法 let Toast 是一個 View 視圖,快速的為用戶顯示少量的信息。 Toast 在應用程序上浮動顯示信息給用戶,它永遠不會獲得焦點,不影響用戶的輸入等操作,主要用於 一些幫
【java測試】Junit、Mock+代碼覆蓋率
tput 活性 插件 報告 tsa println doc 彈出 exe 原文見此處 單元測試是編寫測試代碼,用來檢測特定的、明確的、細顆粒的功能。單元測試並不一定保證程序功能是正確的,更不保證整體業務是準備的。 單元測試不僅僅用來保證當前代碼的正確性,更重要的是用來保證代
總結各種排序算法【Java實現】
main style 發現 第一個 tin 查找 ins lai 歸並排序 一、插入類排序 1.直接插入排序 思想:將第i個插入到前i-1個中的適當位置 時間復雜度:T(n) = O(n2)。 空間復雜度:S(n) = O(1)。 穩定性:穩定排序。 如果碰見一個和插入元
【Java系列】【基礎版】多線程基礎
java多線程基礎1.1 認識進程和線程1.1.1 什麽是進程 1.1.1.1 進程是正在進項的程序,是資源分配的一個基本單位,有內存分配;1.1.2 什麽是線程 1.1.2.1 線程是進程的一個執行單位,也是進程的執行順序; 1.1.2.2 一個進程至少有一個線程,可以由兩個或以上的線程
【Java基礎】Java常見的異常
java exception Java常見的異常1. java.lang.NullPointerException (空指針異常)調用了未經初始化的對象或者是不存在的對象2. java.lang.ClassNotFoundException 指定的類不存在3. java.lang.NumberForm
【Java基礎】Java基本數據類型與位運算
右移 數據 bits 類型 span 網上 height 使用 常數 1.賦值運算符 賦值使用操作符“=”。它的意思是“取右邊的值(即右值),把它復制給左邊(即左值)”。右值可以是任何 常數、變量或者表達式 (只要它能 生成
【Java基礎】Java運算符優先級
() logs 分享 body rowspan 單元 ima idt string 序列號 符號 名稱 結合性(與操作數) 目數 說明 1 . 點 從左到右
【java提高】---HashMap解析(一)
最終 fin 大牛 原理 pan 初始 com oid math HashMap解析(一) 平時一直再用hashmap並沒有稍微深入的去了解它,自己花點時間想往裏面在深入一點,發現它比arraylist難理解很多,好多東西目前還不太能理解等以後自己知識更加豐
【java學習】spring mvc 公共dao的實現,定義基本的增刪改查
pri 代碼 部分 lec sse encoding del epo repos 接口類: package com.blog.db.dao; import com.blog.util.Pagination; import java.util.Lis
【搜狐】【實習】【現場面試】【JAVA工程師】2018.03.14
難受 來看 結束 但是 不想 不同 aik 面試 電梯 13:30-16:30 從學校出發到返回學校,一共3小時 今年實習第一面,面完估計要涼 先簡單說一下經歷: 中午賴在床上不想起來,發現自己還是在逃避,逃避面試、逃避現實,磨嘰著磨嘰著最後遲到了,HR給我打了2個電話,
【JAVA學習】02.Tomcat配置
參考 pro 放置 目的 classpath JD 路徑 spa tomcat配置 【步驟】 【說明】 1、為什麽配置PATH? 為了方便調用程序,例如你把一個目錄的路徑加到系統默認環境變量PATH裏,那麽你可以直接在運行裏輸入該目錄下的程序名,就可以直接運