我為了能夠提高Java程序的性能,而經(jīng)常采用的一些方法和技巧。
1.盡量使用final修飾符。
帶有final修飾符的類是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String。為String類指定final防止了使用者覆蓋length()方法。另外,如果一個類是final的,則該類所有方法都是final的。java編譯器會尋找機會內(nèi)聯(lián)(inline)所有的final方法(這和具體的編譯器實現(xiàn)有關(guān))。此舉能夠使性能平均提高50%。
2.盡量重用對象。
特別是String對象的使用中,出現(xiàn)字符串連接情況時應(yīng)使用StringBuffer代替,由于系統(tǒng)不僅要花時間生成對象,以后可能還需要花時間對這些對象進行垃圾回收和處理。因此生成過多的對象將會給程序的性能帶來很大的影響。
3.盡量使用局部變量。
調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量,實例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。
360知識網(wǎng)
1.JasperReports是一個基于Java的開源報表工具,它可以在Java環(huán)境下像其他IDE報表工具一樣來制作報表。JasperReports支持PDF、HTML、XLS、CSV和XML文件輸出格式。JasperReports是當前Java開發(fā)者最常用的報表工具。
2.Pentaho是一個以工作流為核心的、強調(diào)面向解決方案而非工具組件的BI套件,整合了多個開源項目,目標是和商業(yè)BI相抗衡。它偏向于與業(yè)務(wù)流程相結(jié)合的BI解決方案,側(cè)重于大中型企業(yè)應(yīng)用。它允許商業(yè)分析人員或開發(fā)人員創(chuàng)建報表,儀表盤,分析模型,商業(yè)規(guī)則和BI流程。
功能和特點
3.OpenReports 是一個基于Web的報表解決方案,可為用戶提供通過瀏覽器查看動態(tài)創(chuàng)建的PDF、HTML或XLS格式報表的能力。OpenReports使用Java開發(fā)的,并使用JasperReports作為報表生成引擎。
4.JFreeReport (現(xiàn)改名為Pentaho Reporting)是一個用來生成報表的Java類庫。它為Java應(yīng)用程序提供一個靈活的打印功能并支持輸出到打印機和PDF,Excel,HTML和XHTML,PlainText,XML和CSV文件中。
5.JXLS是基于Jakarta POI API的Excel報表生成工具,可以生成精美的Excel格式報表。它采用標簽的方式,類似JSP標簽,寫一個Excel模板,然后生成報表,非常靈活,簡單!
6.BIRT是一個Eclipse-based開放源代碼報表系統(tǒng)。它主要是用在基于Java與J2EE的Web應(yīng)用程序上。BIRT主要由兩部分組成:一個是基于Eclipse的報表設(shè)計和一個可以加到你應(yīng)用服務(wù)的運行期組件。BIRT同時也提供一個圖形報表制作引擎。
主站蜘蛛池模板: 磐石市| 扬州市| 文登市| 绍兴市| 西吉县| 沂南县| 仁寿县| 江城| 天台县| 隆德县| 和平区| 米易县| 于田县| 屯门区| 乌拉特前旗| 苍山县| 阳西县| 正宁县| 玛沁县| 周至县| 湟源县| 弥渡县| 江孜县| 巴东县| 庐江县| 太原市| 白玉县| 临海市| 玉门市| 晋宁县| 固阳县| 桃园市| 盐源县| 巍山| 营山县| 车致| 海门市| 治县。| 理塘县| 洛扎县| 雅江县|