http://school.itzcn.com/special-spid-50.html
Òì³£¸úÆÕͨµÄ¾¯¸æµÈÓÐÒ»¶¨µÄÇø±ð¡£µ±Ó¦ÓóÌÐò·¢ÉúÒ쳣ʱ£¬»áÖжÏÕýÔÚÖ´ÐеijÌÐòµÄÕý³£Ö¸ÁîÁ÷¡£Ò²¾ÍÊÇ˵£¬·¢ÉúÒì³£ºóÃæµÄ´úÂ뽫µÃ²»µ½ÕýÈ·µÄÖ´ÐС£ÉõÖÁ»¹»á´¥·¢Êý¾Ý¿âµÄ»ØÍ˲Ù×÷¡£
¡¡¡¡ÔÚJava¿ª·¢Æ½Ì¨ÖУ¬Òì³£°üÀ¨Ô¤¶¨ÒåÒì³£Óë×Ô¶¨ÒåÒì³£¡£ÕâÁ½ÖÖÒì³£µÄÀàÐÍ»¥Îª²¹³ä¡£×÷Ϊһ¸öºÏ¸ñµÄ³ÌÐò¿ª·¢ÈËÔ±£¬ÒªÉÆÓÚÔÚÓ¦ÓóÌÐòÖÐʹÓÃÒì³£¡£Õâ¿ÉÒÔÌá¸ßÓ¦ÓóÌÐòµÄ½»»¥ÐÔ¡£Í¬Ê±£¬Ò²ÊDZ£Ö¤Ó¦ÓóÌÐòÕý³£ÔËÐеÄǰÌá¡£¹ÊÒì³£µÄ´¦Àí¶ÔÓÚ¿ª·¢Ò»¸öÓÅÐãµÄÓ¦ÓóÌÐòÀ´Ëµ·Ç³£µÄÖØÒª¡£Îª´Ë±ÊÕßÈÏΪ³ÌÐò¿ª·¢ÈËÔ±Ó¦¸Ã¶ÔJavaÓ¦ÓóÌÐòµÄ³£¼ûÒì³£ÓÐÒ»¸öÉîÈëµÄÁ˽⡣ֻÓÐÔÚÁ˽âÕâЩ³£¼ûÒì³£µÄÇé¿öÏ£¬²ÅÄܹ»×öºÃ×Ô¶¨ÒåÒì³£µÄ´¦Àí¡£
¡¡¡¡Ò»¡¢³£¼ûÒì³£µÄÀàÐÍÓëÔÒò¡£
¡¡¡¡¶ÔÓÚJavaÓ¦ÓóÌÐòµÄ³£¼ûÒì³££¬±ÊÕßÈÏΪ³ÌÐò¿ª·¢ÈËÔ±Òª´ÓÁ½¸ö·½ÃæÈ¥Á˽⡣һÊÇÒªÖªµÀÓÐÄÄЩ³£¼ûµÄJavaÓ¦ÓóÌÐòÒì³££¬¶þÊÇÐèÒªÖªµÀÄÄЩÔÒò¿ÉÄÜ»áÔì³ÉÕâ¸öÒì³£¡£Õâ²»½öÐèÒª³ÌÐò¹ÜÀíÈËÔ±ÔÚÈÕ³£¹¤×÷ÖÐҪעÒâ»ýÀÛ£¬ÔÚ±ØÒªµÄÇé¿öÏ»¹ÐèҪȥ´ÓÆäËüÇþµÀÊÕ¼¯×ÊÁÏ¡£±ÊÕ߶Դ˾ͽøÐÐÒ»¸ö·ÖÎö£¬Ï£ÍûÄܹ»¶Ô¸÷λ³ÌÐò¿ª·¢ÈËÔ±ÓÐÒ»¶¨µÄ°ïÖú¡£
¡¡¡¡1¡¢ SQLException£º²Ù×÷Êý¾Ý¿âÒì³£Àà¡£
¡¡¡¡ÏÖÔÚµÄJavaÓ¦Óà ......
ͨ¹ýJAVAµ÷ÓÃORACLEµÄ´æ´¢¹ý³Ì£¬ÔÚORACLEµÄ´æ´¢¹ý³ÌÄÚ²¿×öÁËÒ»¸ö²éѯÔÚJAVAÖлñÈ¡¸Ã²éѯ½á¹û£¬Õâ¸öºÍSYBASE¡¢SQLSERVERµÄ»ñÈ¡²»Ò»Ñù£¬µÈÎÒµÄÏÂһƪÎÄÕÂÎÒ»á½éÉÜÈçºÎ»ñÈ¡SYBASE¡¢SQLSERVERÔÚ´æ´¢¹ý³ÌÖÐÖ´ÐÐÁ˲éѯºóÈçºÎ»ñÈ¡Æä½á¹û¼°´æ´¢¹ý³ÌµÄ±àд¡£
ÔÚOracleÖÐÐèÒª·µ»Ø²éѯ½á¹û¼¯£¬±ØÐ뽫ÆäÒÔÓαêµÄÐÎʽ·µ»Ø£¬µ«ÓαêÓÖ²»ÊÇ»ù´¡ÀàÐÍ£¬Òò¶ø²»Äܹ»Ïñ·µ»Ø×Ö·ûÀàÐÍÒ»ÑùÖ±½Ó¿ÉÒÔ·µ»Ø£¬ÈçÎÒÃǶ¨ÒåÒ»°ãµÄ´æ´¢¹ý³ÌÈçÏ£º
CREATE OR REPLACE PROCEDURE simpleProc
(
outpara OUT VARCHAR2
)
AS
BEGIN
outpara:='¼òµ¥¹ý³Ì';
return;
END;
¶¨Òå·µ»Ø½á¹û¼¯µÄ´æ´¢¹ý³Ì£¬²»Äܹ»¶¨Òå³ÉÈçÏ·½Ê½£º
procedure testQuery
(
return_rs out CURSOR --CURSORÖ»ÊÇÒ»¸ö¹Ø¼ü×Ö£¬µ«²¢²»ÊÇÒ»ÖÖÀàÐÍ£¬ËùÒÔÔÚ´æ´¢¹ý³ÌÖÐÕâÑùд»á±¨"CURSORÀàÐÍ´ò²»µ½"µÄ´íÎó
)
as
begin
--......
end;
ÎÒÃÇÐèÒª½«¹ý³Ì¶¨Òåµ½°üÖУ¬ÔÚ°üÀïÃæÏȶ¨ÒåÓαêÒýÓã¬È»ºó²ÅÄܹ»ÔÚ¹ý³ÌµÄÊä³ö²ÎÊýÖÐÒýÓøÃÀàÐÍ£¬ÈçÏ£º
CREATE OR REPLACE PACKAGE TestQueryPkg
IS
--¶¨ÒåÓαêÒýÓ㬺óÃæ¾Í¿ÉÒÔÔ ......
ͨ¹ýJAVAµ÷ÓÃORACLEµÄ´æ´¢¹ý³Ì£¬ÔÚORACLEµÄ´æ´¢¹ý³ÌÄÚ²¿×öÁËÒ»¸ö²éѯÔÚJAVAÖлñÈ¡¸Ã²éѯ½á¹û£¬Õâ¸öºÍSYBASE¡¢SQLSERVERµÄ»ñÈ¡²»Ò»Ñù£¬µÈÎÒµÄÏÂһƪÎÄÕÂÎÒ»á½éÉÜÈçºÎ»ñÈ¡SYBASE¡¢SQLSERVERÔÚ´æ´¢¹ý³ÌÖÐÖ´ÐÐÁ˲éѯºóÈçºÎ»ñÈ¡Æä½á¹û¼°´æ´¢¹ý³ÌµÄ±àд¡£
ÔÚOracleÖÐÐèÒª·µ»Ø²éѯ½á¹û¼¯£¬±ØÐ뽫ÆäÒÔÓαêµÄÐÎʽ·µ»Ø£¬µ«ÓαêÓÖ²»ÊÇ»ù´¡ÀàÐÍ£¬Òò¶ø²»Äܹ»Ïñ·µ»Ø×Ö·ûÀàÐÍÒ»ÑùÖ±½Ó¿ÉÒÔ·µ»Ø£¬ÈçÎÒÃǶ¨ÒåÒ»°ãµÄ´æ´¢¹ý³ÌÈçÏ£º
CREATE OR REPLACE PROCEDURE simpleProc
(
outpara OUT VARCHAR2
)
AS
BEGIN
outpara:='¼òµ¥¹ý³Ì';
return;
END;
¶¨Òå·µ»Ø½á¹û¼¯µÄ´æ´¢¹ý³Ì£¬²»Äܹ»¶¨Òå³ÉÈçÏ·½Ê½£º
procedure testQuery
(
return_rs out CURSOR --CURSORÖ»ÊÇÒ»¸ö¹Ø¼ü×Ö£¬µ«²¢²»ÊÇÒ»ÖÖÀàÐÍ£¬ËùÒÔÔÚ´æ´¢¹ý³ÌÖÐÕâÑùд»á±¨"CURSORÀàÐÍ´ò²»µ½"µÄ´íÎó
)
as
begin
--......
end;
ÎÒÃÇÐèÒª½«¹ý³Ì¶¨Òåµ½°üÖУ¬ÔÚ°üÀïÃæÏȶ¨ÒåÓαêÒýÓã¬È»ºó²ÅÄܹ»ÔÚ¹ý³ÌµÄÊä³ö²ÎÊýÖÐÒýÓøÃÀàÐÍ£¬ÈçÏ£º
CREATE OR REPLACE PACKAGE TestQueryPkg
IS
--¶¨ÒåÓαêÒýÓ㬺óÃæ¾Í¿ÉÒÔÔ ......
ǿתһ¸öÊý×éÀàÐÍ ±ØÐëҪѻ·±éÀú
±ÈÈç
B[] b;
//A¼Ì³ÐB;
A[] a= (A[])b;
ÕâÑùתÊDz»Äܳɹ¦µÄ
ÕâÊÇΪʲô£¿ÈçºÎ½â¾ö£¿
Ò²¾ÍÊÇ˵
for( int i=0; i<b.length; i++ )
{
a[i]=(A)b[i];
}
ÕâÑùת£¡ ......
ÔÚJavaÓïÑÔÖУ¬ abstract class ºÍinterface ÊÇÖ§³Ö³éÏóÀඨÒåµÄÁ½ÖÖ»úÖÆ¡£ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖÆµÄ´æÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄ ÃæÏò¶ÔÏóÄÜÁ¦¡£abstract classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏà»¥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½ø ÐгéÏóÀඨÒåʱ¶ÔÓÚabstract classºÍinterfaceµÄÑ¡ÔñÏԵñȽÏËæÒâ¡£Æäʵ£¬Á½ÕßÖ®¼ä»¹ÊÇÓкܴóµÄÇø±ðµÄ£¬¶ÔÓÚËüÃǵÄÑ¡ÔñÉõÖÁ·´Ó³³ö¶Ô ÓÚÎÊÌâÁìÓò±¾ÖʵÄÀí½â¡¢¶ÔÓÚÉè¼ÆÒâͼµÄÀí½âÊÇ·ñÕýÈ·¡¢ºÏÀí¡£±¾ÎĽ«¶ÔËüÃÇÖ®¼äµÄÇø±ð½øÐÐÒ»·¬ÆÊÎö£¬ÊÔͼ¸ø¿ª·¢ÕßÌṩһ¸öÔÚ¶þÕßÖ®¼ä½øÐÐÑ¡ÔñµÄÒÀ¾Ý¡£
¡¡¡¡Àí½â³éÏóÀà
¡¡¡¡abstract classºÍinterfaceÔÚJavaÓïÑÔÖж¼ÊÇÓÃÀ´½øÐгéÏóÀࣨ±¾ÎÄ ÖеijéÏóÀಢ·Ç´Óabstract class·Òë¶øÀ´£¬Ëü±íʾµÄÊÇÒ»¸ö³éÏóÌ壬¶øabstract classΪJavaÓïÑÔÖÐÓÃÓÚ¶¨Òå³éÏóÀàµÄÒ»ÖÖ·½·¨£¬ Çë¶ÁÕß×¢ÒâÇø·Ö£©¶¨ÒåµÄ£¬ÄÇôʲôÊdzéÏóÀ࣬ʹÓóéÏóÀàÄÜΪÎÒÃÇ´øÀ´Ê²Ã´ºÃ´¦ÄØ£¿
¡¡¡¡ÔÚ ÃæÏò¶ÔÏóµÄ¸ÅÄîÖУ¬ÎÒÃÇÖªµÀËùÓеĶÔÏó¶¼ÊÇͨ¹ýÀàÀ´Ãè»æµÄ£¬µ«ÊÇ·´¹ýÀ´È´²»ÊÇÕâÑù¡£²¢²»ÊÇ ËùÓеÄÀà¶¼ÊÇÓÃÀ´Ãè»æ¶ÔÏóµÄ£¬Èç¹ûÒ»¸öÀàÖÐûÓаüº¬×ã¹»µÄÐÅÏ¢À´Ãè»æÒ»¸ö¾ßÌåµÄ¶ÔÏó£¬ÕâÑùµÄÀà¾ÍÊdzéÏóÀà¡£³éÏóÀàÍùÍùÓÃÀ´±íÕ÷ÎÒÃÇÔÚ¶ÔÎ ......
ÎÒÊÇ×öj2se¿ª·¢µÄ£¬×î½ü·¢ÉúµÄһϵÁÐʼþ£¬ÈÃÎÒ¶ÔÊÖ»úÈí¼þÐÐÒµ²úÉúÁËŨºñµÄÇéȤ¡£ÎÒµÄÒ»¸öÅóÓÑǰÁ½Ä꿪ÁËÒ»¸öС¹«Ë¾£¬×öÁËÒ»¸öÊÖ»úmadÓÎÏ·£¬×ܹ²¾Í7£¬8¸öÈË×öµÄ£¬Ã»ÓÐʲô̫ţµÄµØ·½£¬±¾À´ÅóÓÑÒ²ÑûÇëÎҲμӣ¬µ«ÊÇÎÒ¾õµÃ¹¤×÷²»Îȶ¨£¬¾Í¾Ü¾øÁË£¬µ«È¥ÄêÎÒÅóÓѾ¹È»µÃµ½µÄ200ÍòµÄ·çÍ·£¬ÏÖÔÚ»¹Ô½À´Ô½´ó£¬ÕæÊÇÈÃÎÒºó»Ú¡£ºóÀ´iphoneÊÖ»úÏÂÔØÉ̵꿪·Å£¬ÎÒµÄÒ»¸öÅóÓÑÁ¢¿Ì¾ÍͶÈëÆäÖУ¬ÒµÓà×öÁ˼¸¸öСÓÎÏ·£¬ÕõÁ˼¸Ç§ÃÀ½ð¡£²»¹ýiphoneÉ̵êÏÖÔÚ¶«Î÷Ì«¶à£¬ÒѾºÜÄÑÕõµ½Ç®ÁË£¬×î½üÎÒ·¢ÏÖÈýÐÇ¿ªÊ¼ÎªËûµÄÊÖ»úÏÂÔØÊÕ¼¯ÊÖ»úÈí¼þ£¬ÈýÐÇÔÚÖйúʹÓÃÕßÓÐ8000¶àÍò£¬ÎªËû¿ª·¢£¬Ò»¶¨ÓкܺõÄǰ;¡£Õâ´ÎÎÒ¾ö¶¨×ßÔÚÇ°Ãæ£¬¿ªÊ¼Ñ§Ï°ÊÖ»ú¿ª·¢ÁË¡£ÎұȽÏÊìϤjava£¬ÓÚÊǾʹÓѧϰÊÖ»újava¿ª·¢ÈëÊÖ£¬·¢ÏÖÈýÐÇÍøÕ¾ÉÏÓÐJavaÊÖ»ú¿ª·¢µÄ¾µä×ÊÔ´ºÍ½Ì³Ì£¬È«²¿ÊÇ×ÊÉîÊÖ»ú¹¤³Ìʦ׫дµÄÎÄÕº;«Ñ¡Êé¼®£¬ÏÂÃæ¾Í°ÑÎÒµÄѧϰ¾Ñé½éÉÜһϣº1.¹¦ÓûÉÆÆäÊ£¬±ØÏÈÀûÆäÆ÷£¬ÍøÕ¾ÉϾÑé·á¸»µÄ¹¤³Ìʦ°ÑJ2MEѧϰµÄÒªµã¾«ÐÄ×é֯дÁËһƪÈëÃÅÆª£¬½éÉܵÄÄÚÈݰüÀ¨£ºÒ»£®J2MEÖÐÐèÒªµÄJava»ù´¡ÖªÊ¶£ºJavaÓï·¨»ù´¡£¬ÃæÏò¶ÔÏóµÄ˼Ï룬Òì³£´¦ÀíµÈµÈ¡£¶þ£®J2MEÖÐÔÝʱÎÞ·¨Íê³ÉµÄ¹¦ÄÜ£º²Ù×÷±¾µØ×ÊÔ´¡¢ÀýÈçµØÖ·±¾¡¢ÒÑÊÕ¶ÌÐÅÏ¢µÈÈý£®J2MEµÄ¿çƽ̨ÐÔ£ºÉæ ......
¶ÔÔ¶Ô¶´óÓÚÄÚ´æµÄÊý¾Ý½øÐÐÍâÅÅÐò£¬Ôڶ෱ȽϵÄʱºòÓðÜÕßÊ÷ЧÂÊ»á¸ü¸ß¡£
package my.sort;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Random;
/**
* »ùÓÚ´óÊý¾ÝÁ¿µÄÍâÅÅÐòËã·¨£¬·ÖΪ¶þ·¹ó±öºÍ¶à·¹é²¢
* @author java2king
* @link http://blog.csdn.net/Java2King
*
*/
public class ExternalSort {
public static int ITEM_COUNT = 10000000; //×ÜÊý
public static int BUFFER_SIZE = 1024*4*1000;// Ò»´Î»º³å¶ÁÈ¡
public static int FILE_COUNT = 1024*1000*1*4;// ÿ¸öÎļþµÄ¼Ç¼Êý1
public static File MAIN_FILE = new File("mainset");//ÒªÅÅÐòµÄÎļþ
/**
* ......