關于編寫viewer,關鍵在于使用ReportEngineAPI,這個在birt官方文檔上有很詳細的描述。這里將幾個主要環節總結一下:啟動ReportEngine這里需要注意啟動ReportEngine的開銷問題和圖片鏈的協議的問題。使用IReportEngineFactory比每次new一個出來性能方面要好很多。使用HTMLEmitterConfig可以使得生成的HTML報表中的圖片的src指向一個web資源而非file資源。publicIReportE
系統 2019-08-12 09:30:39 2075
當我們開始接觸JNI但是還不熟悉的時候,也許會這樣幾個問題:Java程序和native程序的數據類型通常是不一樣的,它們怎么相互映射的呢?怎么在native方法中訪問java方法傳遞過來的數據呢?在native方法中可以創建java對象嗎?如何把結果返回給調用它的java方法?讀完本文你將會明白如上問題的來龍去脈。首先我在重復一下如何編寫JNI相關的應用程序,我們必須在java方法中聲明一個native的方法,比如publicnativeStringget
系統 2019-08-12 09:30:14 2075
BIRT的runtime下載包中有一個birt.war文件,將它解開,復制WEB-INF/plantform目錄下的congiguration和plungins目錄到項目lib/birt-2.1.2目錄,復制WEB-INF/lib目錄下的jar到項目lib/birt-2.1.2/lib。順便說一下,我的項目目錄結構是這樣的:src/javalib/birt-2.1.2/libconfgurationpluginsweb/WEB-INF如果項目需要使用BIR
系統 2019-08-12 09:29:50 2075
之前遇到一個老師,他從事Java行業20年了,在Python興起的時候,他周圍的其他同行們都在紛紛學習Python方面的知識,連他的學生也問他“老師,你為什么不學Python呢?”。當這位聽到學生這個問題的時候,他心里一怔一下,自己從事了Java這么多年,編寫了這么多年的Java代碼,Java的好他最清楚不過了,覺得Python再怎么盛行他也不會改行學別的,因為在他的眼里Java是不可取代的語言!可當Python逆襲各大編程排行版后,新媒體、身邊朋友也都在
系統 2019-09-27 17:56:26 2074
JavaNIO的通道類似流,但又有些不同:既可以從通道中讀取數據,又可以寫數據到通道。但流的讀寫通常是單向的。通道可以異步地讀寫。通道中的數據總是要先讀到一個Buffer,或者總是要從一個Buffer中寫入。正如上面所說,從通道讀取數據到緩沖區,從緩沖區寫入數據到通道。如下圖所示:Channel的實現這些是JavaNIO中最重要的通道的實現:FileChannel從文件中讀寫數據。DatagramChannel能通過UDP讀寫網絡中的數據。SocketCh
系統 2019-08-29 23:17:48 2074
對象與基本類型幾乎所有Java初學者都被告知,在Java里一切都被視為對象(Object),操縱對象的表示符實際上時對象的一個引用(Reference)。例如Stringstr;//注意!此處創建了一個引用,而非對象str=newString(“Hello”);//這里創建了一個String對象并與str相關聯通常用new操作符來創建一個新對象,并存儲在堆里面。【注】具體內容可以參看Java堆與棧程序設計中有一系列小的、簡單的變量(筆者是這樣認為的),將它
系統 2019-08-29 23:07:26 2074
一本適合自學者的書會縮短自學的時間,并且會讓自學者深深地去喜歡或鐘愛自己的選擇。希望更多的自學者朋友選擇或向你們的朋友們推薦《JavaWeb整合開發與項目實戰》。它確實是一本適合初學者的書籍。至少,買了這本書,可以令你省下數千元的培訓費用。學完這本書,如果你想參加JavaEE技能培訓,你便有權利要求培訓機構實現分階段交費,因為前期的課程都已經自學過了。《JavaWeb整合開發與項目實戰》的書評
系統 2019-08-29 22:51:05 2074
第一章:對象入門1.1、面向對象編程(OOP)的吸引力:(1)對管理人員,它實現了更快和更廉價的開發與維護過程(2)對分析與設計人員,建模處理變得更加簡單,能生成清晰、易于維護的設計方案。(3)對程序員,對象模型顯得如此高雅和淺顯。此外,面向對象工具以及庫的巨大威力使編程成為一項更使人愉悅的任務現在的事實是:事實上,很難很好地設計出對象——從而很難設計好任何東西。因此,只有數量相當少的“專家”能設計出最好的對象,然后讓其他人享用。對于成功的OOP語言,它們
系統 2019-08-12 09:30:28 2074
我這初學者第一次寫博客~把我剛寫的一段小代碼粘貼上來吧packagelocal;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.Ar
系統 2019-08-12 09:29:48 2074
importjava.sql.*;/***java連接sqlserver數據庫語句*@authorAdministrator**/publicclassMain{publicstaticvoidmain(String[]args)throwsSQLException{StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//加載驅動StringdbURL="jdbc:sqlserve
系統 2019-08-12 01:54:15 2074
一切來得太順利,多虧有前人的經驗安裝好SQLserver2000,下載了個補丁sql2000_sp3補丁安裝了jdk,netbeans6.1半個小時不到就在window下搭建好了數據庫設計大作業的環境好順利啊一切ok了最后打開zy寫的工程進行密碼修改run!!!ok不過為了以后方便還是搜了一下轉自http://flovemayday.blog.com.cn/archives/2007/2164558.shtml呵呵,看到這個界面好面熟啊,以前也用過這個模板
系統 2019-08-12 01:52:12 2074
JAVA對象拷貝為什么需要有對象拷貝?對象拷貝相對的自然是引用拷貝。java初學者經常會問,我這個方法要改變一個對象的屬性,可以把參數傳進去了,為什么沒有改變了?——基本數據類型傳值,而對象傳引用或引用的拷貝。而有時候我們要獲取到一個當前狀態的對象復制品,他們是兩個獨立對象。不再是引用或者引用拷貝(實質都是指向對象本身)。就是說a是b的拷貝,b發生變化的時候,不要影響a。對象拷貝有淺拷貝和深度拷貝兩種。1)淺拷貝淺拷貝是指對象中基本數據類型得到拷貝,而引用
系統 2019-08-29 23:47:17 2073
程序設計模式的有趣解釋-追MM創建型模式1、FACTORY一追MM少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖然口味有所不同,但不管你帶MM去麥當勞或肯德基,只管向服務員說“來四個雞翅”就行了。麥當勞和肯德基就是生產雞翅的Factory工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產品,只需向工廠請求即可。消費者無須修改就可以接納新產品。缺點是當產品修改時,工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。2、BUILDER
系統 2019-08-29 22:48:37 2073
volatile,用更低的代價替代同步為什么使用volatile比同步代價更低?同步的代價,主要由其覆蓋范圍決定,如果可以降低同步的覆蓋范圍,則可以大幅提升程序性能.而volatile的覆蓋范圍僅僅變量級別的.因此它的同步代價很低.volatile原理是什么?volatile的語義,其實是告訴處理器,不要將我放入工作內存,請直接在主存操作我.(工作內存詳見java內存模型)因此,當多核或多線程在訪問該變量時,都將直接操作主存,這從本質上,做到了變量共享.v
系統 2019-08-29 22:02:41 2073
Java開發環境的配置首先我們要下載JDK。到Oracle官網上去下載即可,目前最新版是JavaSE8u25。開始我很混亂,JavaSE和JDK是什么關系呢?最后查了一下JavaSE=JDK+JRE。JDK就是Java開發工具包,JRE就是Java運行環境,我們做開發,需要本地運行調試,直接安裝JavaSE就好了。JavaSE是Java開發的標準版本,JavaEE和JavaME都是基于它的。安裝好JDK后,我們需要配置本地開發環境。在我們計算機的屬性中高級
系統 2019-08-12 01:33:41 2073