<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    #

         摘要: 在傳統的RPC編程接口逐漸淡出人們視線的同時,新的、更便于使用且附加了更多特性的RPC編程接口也不斷涌現,CORBA作為分布式對象計算技術的典范,在很長一段時間內極大地吸引了大家的注意,但是由于CORBA規范試圖覆蓋過多的內容,使得CORBA顯得過于復雜,也極大地限制了CORBA的應用范圍,本系列將向大家介紹幾種輕量級的,更適于在Java開發中使用的RPC編程接口:RMI、XML-RPC、SOAP。

    RMI(Remote Method Invocation)
    與本系列將介紹的其它兩種RPC編程接口不同,RMI(Remote Method Invocation)顯得有些老舊,它是在Java-IDL加入J2SE之前被引入的。RMI開發流程與CORBA如出一轍(從出現的時間上無法確定RMI是否是按照CORBA規范定制的),因此,其開發過程相對比較煩瑣,但是由于RMI是EJB的基礎,因此,它在Java開發中具有十分重要的地位。

    以下是創建遠程方法調用的5個步驟:

    1. 定義一個擴展了Remote接口的接口,該接口中的每一個方法必  閱讀全文
    posted @ 2011-09-24 10:21 rogerfan 閱讀(4462) | 評論 (0)編輯 收藏

         摘要: XML-RPC是一種簡單的,輕量級的通過HTTP協議進行RPC通信的規范。本文以Apache XML-RPC 3.0為基礎,對XML-RPC的基本原理及Apache XML-RPC 3.0的主要特性進行了討論和分析。

      閱讀全文
    posted @ 2011-09-24 10:16 rogerfan 閱讀(3185) | 評論 (0)編輯 收藏

         摘要: 現在流行安卓系統,鑒于囊中羞澀,買不起手機,所以我就在網上找了個安卓模擬器,特整理了一下,發給大家,對安卓系統感興趣的朋友不妨拿來解解饞吧。
    方法如下:
    一.安裝java JDK 1.6,并配置以下三個環境變量:
    下載地址
    1.添加
    變量名:JAVA_HOME
    變量值:C:\Program Files\Java\jdk1.6.0_10
      閱讀全文
    posted @ 2011-08-25 14:41 rogerfan 閱讀(3557) | 評論 (2)編輯 收藏

         摘要: Tomcat內存設置方法
    windows中大家都知道,JAVA程序啟動時都會JVM都會分配一個初始內存和最大內存給這個應用程序。這個初始內存和最大內存在一定程度都會影響程序的性能。比如說在應用程序用到最大內存的時候,JVM是要先去做垃圾回收的動作,釋放被占用的一些內存。
    所以想調整Tomcat的啟動時初始內存和最大內存就需要向JVM聲明,一般的JAVA程序在運行都可以通過中-Xms -Xmx來調整應用程序的初始內存和最大內存:
    如:java -Xms64m -Xmx128m a.jar.
    tomcat的啟動程序是包裝過的,不能直接使用java -X..... tomcat.*來改變內存的設置。在Tomcat在改變這個設置
    有兩種方法:
    1. 適合用%tomcat_home%\bin中的startup.bat腳本啟動,需要在環境變量中加上CATALINA_OPTS這個屬性 。
    如 SET CATALINA_OPTS= -Xms64m -Xmx512m;
    ms是最小的,mx是  閱讀全文
    posted @ 2011-01-11 16:57 rogerfan 閱讀(744) | 評論 (0)編輯 收藏

         摘要: 分享一下多年來在myeclipse中支持jquery、ext、YUI、mooto等主流框架的自動完成、提示、調試等方法。百忙之中非常想念各位群友,MMT很快就會回來。以下著重介紹link方式安裝,不推薦升級模式安裝,升級安裝會帶來很多問題,并且嘗嘗安裝不成功。

    1、從http://update1.aptana.org/studio/3.2/024747/index.html下載aptana studio的eclipse插件 aptana_update_024747.zip

    2、在D:\Myeclipse下創建myPlugins文件夾。 (我的myeclipse裝在D盤)

    3、在 D:\Myeclipse\eclipse\links 下創建一個link文件aptana.link,內容如下:path=D:\\Myeclipse\\myPlugins\\aptana

    4、在 D:\Myeclipse\myPlugins中創建文件夾aptana,在這個aptana文件夾下創建名為eclipse的文件夾。 閱讀全文
    posted @ 2010-12-09 15:40 rogerfan 閱讀(1914) | 評論 (0)編輯 收藏

         摘要: 首 先在代碼與生產庫間建立一個Connection,將讀取到的數據放在ResultSet對象,然后再與開發庫建立一個Connection。從 ResultSet取出數據后通過TestConnection插入到開發庫,以此來實現Copy。代碼寫完后運行程序,速度太慢了,一秒鐘只能Copy 一千條數據,生產庫上有上億條數據,按照這個速度同步完要到猴年馬月呀,用PreparedStatement批處理速度也沒有提交多少。我想能不能用多 線程處理,多個人干活總比一個人干活速度要快。
    假設生產庫有1萬條數據,我開5個線程,每個線程分2000條數據,同時向開發庫里插數據,Oracle支持高并發這樣的話速度至少會提高好多倍,按照這 個思路重新進行了編碼,批處理設置為1萬條一提交,統計插入數量的變量使用 java.util.concurrent.atomic.AtomicLong,程序一運行,傳輸速度飛快CPU利用率在70%~90%,現在一秒鐘可 以拷貝50萬條記錄,沒過幾分鐘上億條數據一條不落地全部Copy到目標庫。  閱讀全文
    posted @ 2010-11-26 14:11 rogerfan 閱讀(982) | 評論 (0)編輯 收藏

         摘要: 1. SELECT子句中避免使用 “*”
    當你想在SELECT子句中列出所有的COLUMN時,使用動態SQL列引用 ‘*’ 是一個方便的方法.不幸的是,這是一個非常低效的方法. 實際上,ORACLE在解析的過程中, 會將“*” 依次轉換成所有的列名, 這個工作是通過查詢數據字典完成的, 這意味著將耗費更多的時間.

    2.使用DECODE函數來減少處理時間
    使用DECODE函數可以避免重復掃描相同記錄或重復連接相同的表. 例如:
    Sql代碼 1.SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;
    2.SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME LIKE ‘SMITH%’;
    SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;   閱讀全文
    posted @ 2010-11-19 14:06 rogerfan 閱讀(558) | 評論 (0)編輯 收藏

         摘要: 1、將文件checkout到本地目錄
    svn checkout path(path是服務器 上的目錄)
    例如:svn checkout svn://192.168.1.1/pro/domain
    簡寫:svn co

    2、往版本庫中添加新的文件
    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加當前目錄下所有的php文件)

    3、將改動的文件提交到版本庫
    svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
    例如:svn commit -m “add test file for my test“ test.php
    簡寫:svn ci

    4、加鎖/解鎖
    svn lock -m “LockMessage“ [--force] PATH
    例如:svn lock -m “lock te  閱讀全文
    posted @ 2010-11-18 10:28 rogerfan 閱讀(1316) | 評論 (0)編輯 收藏

    posted @ 2010-11-10 11:10 rogerfan 閱讀(790) | 評論 (0)編輯 收藏

         摘要: 常見的內存溢出有以下兩種:

    java.lang.OutOfMemoryError: PermGen space

    java.lang.OutOfMemoryError: Java heap space



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

    這里以tomcat環境為例,其它WEB服務器如jboss,weblogic等是同一個道理。


    一、java.lang.OutOfMemoryError: PermGen space

    PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域,
    這塊內存主要是被JVM存放Class和Meta信息的,Class在被Loader時就會被放到PermGen space中,
    它和存放類實例(Instance)的Heap區域不同,GC(Garbage Collection)不會在主  閱讀全文
    posted @ 2010-11-08 14:57 rogerfan 閱讀(4912) | 評論 (0)編輯 收藏

         摘要: 1. 環境:

    1.1. Red Hat Linux 9

    1.2. Tomcat 5.5.17

    2. 需要解決一下幾個問題

    2.1. 不同的tomcat啟動和關閉監聽不同的端口

    2.2. 不同的tomcat的啟動文件startup.sh 中要指定各自的CATALINA_HOME和CATALINA_BASE這兩個環境變量。