1. 程式人生 > >jasperreport 第一次匯出會很慢的原因

jasperreport 第一次匯出會很慢的原因

開發工具

jasperreport5.6.0 

原因

         jasperreport的原始檔是*.jrxml檔案,根據jasperreport的生命週期,報表會經歷編譯、填充資料、匯出等階段。由於存在jrxml檔案被編譯為class類的階段,所以會載入類,具體包括jasperreport-5.6.0.jar部分類(比如JRGroovyCompiler),載入整個groovy-all.jar。正是類載入佔據了時間。後續的匯出不需要載入類,直接從jvm中就可拿到,所以後續匯出速度很快。

注意,在一個應用中,只要匯出過一次,後續匯出(包括其他報表)都會很快。舉個例子說一下吧,比如a、b、c三個報表,現在匯出a會比較慢,再導a或者b或者c都會很快。

發現真理的過程

        因為jasperreport宣告週期有編譯階段,並且預設language是groovy,所以我得出肯定有編譯器將jrxml檔案編譯成class檔案的階段,然後debug後發現使用JRGroovyCompiler,然後我加了-verbose:class,列印類載入資訊後,發現載入這多類,然後才得出上述結論。


eclipse中列印類載入資訊方法

window--->preferences--->install jres---->-verbose:class


eclipse中列印類載入資訊方法

window--->preferences--->install jres---->-verbose:class

相關推薦

jasperreport 第一匯出原因

開發工具 jasperreport5.6.0  原因          jasperreport的原始檔是*.jrxml檔案,根據jasperreport的生命週期,報表會經歷編譯、填充資料、匯出等

SpringBoot多資料來源從庫第一執行SQL原因

今天開發時偶爾發現從庫的第一次SQL執行的速度很慢,所以就進行了一系列排查,後來發現是因為多資料來源的情況下,從庫都是採用懶載入的形式進行載入的,所以就會出現第一次執行SQL很慢的現象,可以從以下兩點進行證明: 證明一 這是專案剛啟動的時候,主庫進行了初始化: 而當訪問

為什麼MySQL做查詢語句時,第一,但是第二,第三變快

為什麼MySQL做查詢語句時,第一次會很慢,但是第二次,第三次就會變快 為什麼MySQL的查詢事務第一次執行會很慢,第二次,第三次就會快很多呢? 在國外,有個老外這麼提問 Hi, I have an sql query which takes 8 seconds i

webpack打包導致App.js大,訪問頁面的時候的問題解決【vue-cli3打包】

問題說明:打包導致 js 很大,然後訪問特別慢。 我把 vue-cli 升級成了 vue-cli3之後打包就有兩個js,並且體積相當大,導致釋出後訪問的速度超級慢。 之前打包都是分了很多個小的js,具體是因為沒有配置還是因為什麼。暫時不清楚。如果你有好的辦法可以在下面留言。 解

為什麼用fopen開啟遠端URL

1. HTTP HEADER之詭 $content = file_get_contents('http://www.baidu.com/logo.png'); 這是php中一種讀取網路圖片的方式,就跟讀本地檔案一樣,用起來十分方便。但是這種方式存在一個問題,部分網路地址讀

資料泵expdp匯出時間長,匯出速度

參考部落格  日前接到一個case,使用者反映一個表匯出時間特別長,因為擔心影響第二天業務,不得不放棄繼續匯出,但是另外一個表比這個問題表數量更大,但是反而順利匯出,使用者在相同版本測試環境上也能順利匯出,當然測試環境和生產環境還是有差異的,客戶說那個環境是用兩個

WebView第一載入白屏,求解決方案

程式碼如下,我是從MainActivity點選按鈕跳轉進去這個頁面的,第一次載入時進度條完成後顯示不出來頁面,必須按返回鍵後再次載入才能顯示出來,搞了半天了都不知道什麼原因,求大神幫忙解決啊,煩死了!! public class AnnounceActivity exten

Mongodb 佔用99%CPU並且查詢速度原因查詢筆記。

最近一直在用Mongodb,因為只是小專案,所以瞭解的不是很深入,並且只期望夠用就沒有進行深入研究。 但是,最近把Mongodb遷移了機器之後,發現特別慢,而且Mongodb 一直佔據99%的CPU, 於是就開始了下面的糾結旅程。 我檢視Mongodb的log,發現在

tomcat配置根目錄訪問後,部署後第一訪問出現tomcat的默認界面而非項目首頁

ref ada pre rac details mac ont con blog tomcat配置根目錄訪問後,部署後第一次訪問會出現tomcat的默認界面而非項目首頁,而重啟後會正常,這個原因是因為在配置文件中有如下配置,造成項目加載兩次 <Host nam

Mysql,如果幾分鐘不用,再次操作時就

1 起因 用的是mysql, mysql是直接使用阿里雲伺服器, 不是內網。 如果4分鐘左右不用,再次操作時就會很慢,但只會慢這一

springboot專案啟動後第一執行controller方法時進入

原因: tomcat的session生成策略問題, 轉載:   文章地址: https://my.oschina.net/malq/blog/1614127                  

關於cocoa pod 管理程式碼時,第一安裝執行pod setup 的解決方式

現在很多OC開發專案都使用cocoapods進行程式碼管理了,cocoapoods管理嘛,其實還挺方便,就是每次裝都是個費時的事,半天裝不了。裝好後最關鍵就是按裝版本描述卡死。與其說卡死不如說沒看到反應吧。pod setup 然之後出現 Setting up Cocoapod

wcf在程式第一載入的時候

      我通過cs架構採用wcf作為服務層,在開啟服務後,開啟wpf客戶端,在第一次請求的時候比較慢大概需要8秒左右,到後面請求就沒事了,通過網上說的在客戶端配置檔案的binding上新增 useDefaultWe

解決linux部署專案後,第一遠端訪問初始化資料來源的時候的問題

1.說一下背景:本地專案遠端連結騰訊雲資料庫。2.問題:第一次訪問的時候感覺很慢。檢視控制檯...{dataSource-1} inited...百度搜了一下。解決方法如下:(1)解決方法:修改mysql檔案,my.ini增加如下程式碼:skip-name-resolve重啟

使用xdebug調試程序後程序原因

資源 .dll ren 調用 out wamp var 完整 file 有一個原因就是開啟調試的會話沒有正確的關閉,即PhpStorm這邊關閉了而沒有通知服務端xdebug關閉,導致服務器資源被耗盡,這時只有重啟服務端的服務才可以。 所以必須保證每一個調試會話被正確關閉。可

公司網絡卡的原因分析與處理

網絡問題分析與解決方案一、電腦網速突然變的很慢、很卡,怎麽辦1. 如果你是用的無線路由器,不管你有沒有設置無線密碼,都有可能被別人盜用你的網絡,可以關掉無線功能,自已用有線連接上網 2. 如果還不行,那麽啟路由器,有貓的話也要重啟,再試試 3. 如果你的路由器用的時間超過一年,質量不好的話可能內部的部件已經老

解決ef第一啟動較

一次 clas per cat com log lar 預編譯 images protected void Application_Start() { //禁用第一次ef查詢對表__MigrationHistory的問題使用了e

百度編輯器UEditor 點擊上傳圖片選擇框延遲幾秒才顯示 反應(轉)

php 編輯 ued 效果 all edit www. 上傳 min 轉自:http://www.blogxuan.com/php/show/323.html UEditor 編輯器點擊上傳文件選擇框會延遲幾秒才會顯示,反應很慢,上傳圖片選擇框顯示很慢。 1、uedit

第一見到這樣的瑜伽教學視頻!表示震驚!

雙手 裏的 .com 表示 點擊 專業 愛好者 愛好 動作 還是第一次看到有這麽專業的瑜伽教學視頻,視頻裏的演示可以讓雙手、雙腳放在標準的位置和尺寸,而且做的動作都非常標準,這對瑜伽愛好者來說簡直是巨大的福利,趕緊學起來吧!! 視頻無法觀看請點擊優酷鏈接:http:/

JavaWeb基礎 session 只有在第一獲取的時候才創建

mage logs () port fire tco jsession protected x64 禮悟:   好好學習合思考,尊師重道存感恩。葉見尋根三返一,江河湖海同一體。 虛懷若谷良心主,願行無悔給最苦。讀書鍛煉強身心,誠勸且行且珍惜。