導航:首頁 > 編程語言 > java串列並行

java串列並行

發布時間:2022-01-19 21:18:48

java串列化怎麼理解什麼是串列化誰能通俗地給我講講

首先,這個概念的原文是 Serialization,而串列化這個翻譯並不是很好,個人傾向於序列化這個翻譯,下面我都會用序列化這個名詞。

所謂序列化是指把一個對象通過某種規則轉化為一串二進制串,字元串就是一種二進制串。但為何要把對象轉化為二進制串呢?因為我們需要保存或者在網路上傳輸它們,而存在於 JVM 內存中的對象並沒有使用者可見的二進制形式。雖然內存中的所有東西仍然是二進制的,但 JVM 向我們屏蔽了內存操作相關的信息,我們不一定能確定某個 JVM 實現是如何在內存中存儲和組織一個 Java 對象的內容的(C/C++ 就可以直接獲取內存塊來作為序列化的二進制串)。

當然,光序列化是不夠的,我們還需要反序列化,也就是如何從二進制串重新轉回對象。這樣當我們從文件中讀取或者在網路的另一頭收到某個對象的二進制串之後,我們才能重新還原回那個對象。

Java 默認實現了自己的序列化,就是使用的內存數據。然而除了 Java 自己的序列化,我們還有很多中序列化方式,例如 hessian。或者說將 Java 對象轉成 json、xml 也是一種序列化。

舉一個非常簡單的例子,例如我們有一個對象 Integer v = 1;。當我們使用 hessian 對其序列化的時候,我們可能會拿到 I1 這樣的字串(並不確定 hessian 生成的串是不是真的是這樣,但是也差不多),其中 i 表示類型是 Integer,而 1 就是這個變數的值,而 I1 就是序列化後的二進制串(一個字元串)。

② java中怎麼解決並行計算問題

如果是單節點的,利用多線程的就可以了。mpi一般使用在多節點上的,就是好幾個工作站一起計算的時候

③ 在JAVA中並行和並發機制的區別

並發與並行是兩個既相似而又不相同的概念:並發性,又稱共行性,是指能處理多個同時性活動的能力;並行是指同時發生的兩個並發事件,具有並發的含義,而並發則不一定並行,也亦是說並發事件之間不一定要同一時刻發生。

-------------------------------------------------------------

並發和並行的區別僅僅在發生時刻的不同嗎?
舉個例子理解一下,如:
假設有A、B 兩個事件
並行:
如果A和B都在15:30同時發生,A 的運行時間為 5 分鍾,B 的運行時間為 8 分鍾
在前5分鍾是並行,也包括並發,因為他們都是在同一時刻發生的
並發:
如果A在15:30發生,運行3分鍾後,B事件發生,在以後的5分鍾時間里,A和B 是並發的

-------------------------------------------------------------

並發,是在同一個cpu上同時(不是真正的同時,而是看來是同時,因為cpu要在多個程序間切換)運行多個程序。
並行,是每個cpu運行一個程序。
打個比方,並發,就像一個人(cpu)喂2個孩子(程序),輪換著每人喂一口,表面上兩個孩子都在吃飯。
並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。

④ Java 並行線程

樓主這個問題是典型的生產者/消費者問題。

如果你採用了資料庫,那麼,可以將文件名存儲在資料庫中,然後轉換的程序就循環掃描這個表,然後進行處理。

如果沒有使用資料庫,那麼,位元組寫一個容器,進行數據的存儲處理,如果不想使用靜態屬性,可以採用單例模式來完成。

這兒只提供思路,就不貼代碼了,如果樓主有不清楚的,可以單獨交流

⑤ 提高Java性能的幾個高效用法

1.循環

■ 在重要的循環里,消除循環終止判斷時的方法調用。。。
例如:將...

for( int i = 0; i < collection.size(); i++){
...
}

替換為…

for( int i = 0; n = collection.size(); i < n; i++){
...
}

通常,把與循環index不相關的移到循環的外面

for( int i = 0; terminal = x.length; i < terminal; i++){
X[i] = x[i] / scaleA * scaleB
}

應該該成:

Double scale = scaleb / scaleA;
for( int i = 0; terminal = x.length; i < terminal; i++){
X[i] = x[i] * scale
}

2.字元串

■ 消除字元串連接
■ 創建長字元串時,總是使用StringBuffter代替String
■ 預先分配StringBuffer空間
StringBuffer sb = new StringBuffer(5000);

3.基本數據類型

■ 在重要的循環里使用基本數據類型(int型數據通常比long/double型數據更快)
■ 基本數據類型(Boolean,Integer,etc)的包裝類主要用在當傳遞的方法參數必須是一個對象的引用時(而不是一個基本數據類型)
■ 對所有的常量代數表達式使用static final修飾符
一 使常量更容易引用(編譯器預先計算常量表達式)

4.異常

■ 異常只用於單個真正的錯誤條件
一 拋出一個異常和執行一個catch代碼塊花費是很高的(主要由於當創建一個異常時要獲得線程棧的一個快照)
一 只當條件真的異常時才拋出一個異常
■ 使編譯器和運行時最優化,將幾個方法調用放在一個try/catch塊中,而不是為每個方法調用實現幾個try/catch塊

try{
Some.method1(); //Difficut for javac
} catch (method1Exception e) { //and the JVM runtime
//Handle exception 1// to optimixe this code
}

try{
Some.method2();
} catch (method2Exception e) {
// Handle exception 2
}

try{
Some.method3();
} catch (method3Exception e) {
// Handle exception 3
}

try{
Some.method1();
Some.method2();
Some.method3(); // easier to optimize
} catch (method1Exception e) {
// Handle exception 1
} catch (method2Exception e) {
// Handle exception 2
} catch (method3Exception e) {
// Handle exception 3
}

5.基準

■ 注意,所有這些技巧會因不同的平台和虛擬機而不同
一 例如:在有些servlet容器內,通過一個OutputStream作為位元組輸出會更快
一 在其它的容器內,通過一個PrintWriter輸出字元會更快
■ 這些技巧描述的是最可移植的建議
■ 你可能需要運行一些基準來判斷在你的平台上怎麼樣是最快的

⑥ java 類的串列化問題

用了未經檢測或不安全操作 跟你的串列沒關系 可能是你用的1.5或1.6的JDK 是提示你那個Vector要使用泛型對象 Vector 改為Vector<Plan>就可以啦

⑦ java,什麼叫串列化

把一個對象變成01串,然後在需要的地方重新恢復成對象。比如可以將對象保存在文件,然後再讀出。可以將一個對象通過網路傳輸。

⑧ JAVA中的多線程能在多CPU上並行執行嗎注意,我說的不是並發執行哦

你的思路是對的,CPU就是為了迎合操作系統的多線程從而提高系統的計算效率.但是具體分配任務到各個內核中去執行的並非JAVA與JVM而是操作系統.也就是說,你所執行的多線程,可能會被分配到同一個CPU內核中運行.也可能非配到不同的cpu中運行.如果可以控制CPU的分配,那也應該是操作系統的api才能實現的了

⑨ java中並行與並發的區別

並發與並行是兩個既相似而又不相同的概念:並發性,又稱共行性,是指能處理多個同時性活動的能力;並行是指同時發生的兩個並發事件,具有並發的含義,而並發則不一定並行,也亦是說並發事件之間不一定要同一時刻發生。
-------------------------------------------------------------
並發和並行的區別僅僅在發生時刻的不同嗎?
舉個例子理解一下,如:
假設有a、b
兩個事件
並行:
如果a和b都在15:30同時發生,a
的運行時間為
5
分鍾,b
的運行時間為
8
分鍾
在前5分鍾是並行,也包括並發,因為他們都是在同一時刻發生的
並發:
如果a在15:30發生,運行3分鍾後,b事件發生,在以後的5分鍾時間里,a和b
是並發的
-------------------------------------------------------------
並發,是在同一個cpu上同時(不是真正的同時,而是看來是同時,因為cpu要在多個程序間切換)運行多個程序。
並行,是每個cpu運行一個程序。
打個比方,並發,就像一個人(cpu)喂2個孩子(程序),輪換著每人喂一口,表面上兩個孩子都在吃飯。
並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。

閱讀全文

與java串列並行相關的資料

熱點內容
男主外號叫撒旦的小說 瀏覽:382
導航APK升級文件 瀏覽:216
看未上映電影的網站 瀏覽:693
蘋果解壓有密碼的文件 瀏覽:521
5g視頻網站都有哪些 瀏覽:551
尹美麗還演過什麼 瀏覽:650
抗日奇俠之終極任務演員表 瀏覽:628
電影短片網 瀏覽:646
日本的電影大全免費看中文版 瀏覽:188
一女多男七個世界 瀏覽:733
cad文件怎麼轉換slt文件 瀏覽:948
外語電影翻譯成普通話的網站 瀏覽:381
別克怎麼用原廠電腦編程 瀏覽:125
半月談app是什麼意思 瀏覽:788
廣州正大數據恢復 瀏覽:80
什麼app軟體上買汽車減震器 瀏覽:375
在線免費的網站你懂得 瀏覽:611
linux服務加入開機啟動 瀏覽:115
手機百度app如何上傳文件 瀏覽:672
韓劇電影版 瀏覽:887

友情鏈接