Java如何從數據庫中導出100W的數據又快又不內存溢出?
第一種方法,Java調用shell腳本,用shell腳本將CSV導出到一個文件夾,然后下載,因為用其他導出會更有效率,內存快,速度快。
記得以前在電信工作的時候,經常要導入數據,數據量不多,但是頻率頻繁。基本上是我和運維部門合作,做一個腳本調用,然后下載。shell的導出方法速度很快,內存占用不高。但是導出后要上傳到應用目錄下載,調試過程比較麻煩。
第二種是用Java導出,但是導出Excel或者TXT的時候,需要做一個流程。比如導出Excel或者TXT的時候,可以啟動兩個線程,看到中間有一個隊列。一個線程每次讀取5000塊放入隊列,另一方每次消耗1000塊才刷盤。唐t一次刷一張,讀寫分開,可以達到更優化的程度。如果想更優化,可以。
其實不管用什么方法,都要結合自己的團隊和項目情況,工期和效率要適中。畢竟你要根據項目目標來完成功能。
只要內存足夠大,100w不是問題。
Easyexc
java程序如何打包為exe程序?
這里有一個簡單的方法———exe4j。首先將Java程序打包成Jar包,然后將Jar包打包成exe程序。我簡單介紹一下實現過程。主要內容如下:
在這里,為了更好地說明問題,我簡單地寫了一個測試類和一個Swingwindow程序。主要代碼如下,非常簡單。以下是與該計劃相關的包裝:
點擊運行此程序,效果如下,即一個表單包含一個標簽Label:
1.首先,將這個測試類打包到一個Jar包中,選擇這個文件,右鍵單擊"出口與貿易-gt"Java和-gt"jar文件",選擇導出的文件夾,最后單擊"完成"最后,如下所示:
2.然后下載exe4j。直接從官網下載就可以了。地址如下。直接下載:
下載完成后是exe文件,直接雙擊安裝,按照提示一步一步操作,如下:
3.安裝完成后,最后一步是將Jar包打包成exe程序。主要步驟和截圖如下:
打開exe4j,點擊"Next",跳過步驟1和2,直接進入"申請信息與咨詢界面,在這里需要輸入應用程序名,選擇Jar包所在的目錄和執行目錄,如下所示:
點擊"Next"進入"可執行BL"電子信息與通訊界面,在這里您需要輸入exe應用程序的名稱并選擇"32位或64位"in"高級選項和,如下所示:
如果是打包的64位程序,需要在這里勾選以下選項,否則運行會有問題:
點擊"Next"進入"Java調用"接口,這里需要導入Jar包和剛才的主類名(程序入口類),如下:
點擊"Next"進入"jre"界面,在這里需要設置程序運行的JRE的最低版本和最高版本,根據自己的需要設置即可,如下:
最后點擊Finish結束,在當前的Jar包目錄下會生成一個test.exe文件,就是我們打包的exe文件,如下:
雙擊它正常運行,如下:
至此,我們已經完成了將Java程序打包成exe程序。總的來說,整個過程很簡單,只是步驟有點復雜。只要熟悉步驟,多練習幾次,很快就能掌握。需要注意的是,有些電腦本身沒有jre,你需要在打包過程中把jre打包在一起。網上也有相關教程和資料。有興趣的可以搜一下。希望以上分享的內容對你有所幫助,歡迎大家評論和意見。