Berkely DB Java Editionѧϰ±Ê¼ÇÒ»
Berkely DB¶ÔÓڸ߲¢·¢¡¢ÒªÇóËÙ¶È¿ìµÄÓ¦ÓÃÀ´ËµÊǸö²»´íµÄÑ¡Ôñ£¬mysql¾ÍÊÇÓÃBDBʵÏÖµÄ(mysqlµÄºǫ́) £¬mysql¿ì£¬BDB±Èmysql»¹Òª¿ìN±¶¡£BDBÊÇÒ»ÖÖǶÈëʽµÄ¡¢·Ç¹ØÏµÊý¾Ý¿â£¬ËüÓëÆäËûµÄ¹ØÏµÊý¾Ý¿âRMDBS²»Í¬,ËüûÓÐÌṩSQL,¶øÊÇÌṩÁË×Ô¼ºµÄ·ÃÎʽӿڡ£×÷ΪһÖÖǶÈëʽµÄÊý¾Ý¿â£¬ËüÊǽø³ÌÄÚģʽµÄ£¬Ò²¾ÍÊÇ˵ËüºÍÓ¦ÓóÌÐòÔÚͬһÄÚ´æ¿Õ¼äÔËÐУ¬ËùÒÔËÙ¶ÈÒª¸ßºÜ¶à£¬ÓëǶÈëʽµÄÊý¾Ý¿âÈçDerby¡¢HSQLDB(¶¼ÊÇRMDBSµÄ)Ïà±È£¬ËüЧÂʸü¸ß£¬Ê¹Ó÷½·¨Ò²ÓкܴóµÄ²»Í¬¡£ÏÖÔÚBDBÒÔ±»OracleÊÕ¹º¡£Berkely DBÌṩµÄÎĵµGetting Started with¡¡Berkeley DB Java Edition¿ÉÒÔ˵ÊǶÌС¾«º·£¨£±£±£³Ò³£©£¬ÈëÃÅÏ൱²»´í¡£ÏÂÃæGet Start°É£º
Environment£º
Ê×ÏÈÒª½Ó´¥µÄ¾ÍÊÇEnvironmentÁË£¬Ê¹ÓÃËüÀ´open¡¡databaseÒÔ¼°×öÒ»¹ÜÀí·½ÃæµÄÊÂÇé.
´´½¨Environment£¬»¹ÐèÒªEnvironmentµÄһЩÅäÖÃÐÅÏ¢EnvironmentConfig¡£
ÏÂÃæÊÇ´´½¨µÄ¹ý³Ì£º
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
myDbEnvironment = new Environment(new File("/export/dbEnv"),
envConfig);
ÆäÖÐEnvironmentConfigÌṩÁËÐí¶àÅäÖòÎÊý£¬³£ÓõÄÓУº
envConfig.setAllowCreate()//Èç¹û²»´æÔÚµÄenvµÄ»°£¬ÊÇ·ñÒª´´½¨Ò»¸öеÄ
envConfig.setReadOnly()//ÊÇ·ñΪֻ¶ÁµÄ
envConfig.setTransactional()//ÊÇ·ñʹÓÃÊÂÎñ
²ÎÊý¶¼ÊÇbooleanÀàÐ͵Ä
³ýÁËEnvironmentConfigÍ⣬»¹ÓÐEnvironmentMutableConfig£¬Ëûʵ¼ÊÊÇEnvironmentConfigµÄ¸¸À࣬ʹÓÃËûÀ´ÅäÖÃÔÚ´´½¨ÍêEnvironmentÖ®ºó¿ÉÒԸıä
µÄÊôÐÔ£º
setCachePercent()//ÉèÖÃcacheµÄ´óСռJVM¡¡memoryµÄ°Ù·Ö±È
setCacheSize()//ÉèÖÃcacheµÄ´óС
setTxnNoSync()//ÊÂÎñÌá½»ÊÇ·ñ½«¸Ä±äµÄ¼Ç¼дÈë´ÅÅÌ
setTxnWriteNoSync()//ÊÂÎñÌá½»ÊÇ·ñ½«logдÈë´ÅÅÌ
ÏÂÃæ¿´Ò»ÏÂʹÓÃEnvironmentMutableConfigµÄ·½·¨:
Environment myEnv = new Environment(new File("/export/dbEnv"), null);
EnvironmentMutableConfig envMutableConfig =
new EnvironmentMutableConfig();
envMutableConfig.setTxnNoSync(true);
myEnv.setMutableConfig(envMutableConfig);
Environmentͨ¹ýcloseÀ´¹Ø±Õ£¬ÊÍ·Å×ÊÔ´
ÏÂÃæ¿´¿´EnvironmentÔÚ¹ÜÀí·½ÃæµÄһЩ·½·¨£º
¿ÉÒÔͨ¹ýEnvironment»ñµÃEnvironmentStats£¬ËûÌṩÁËEnvironmentһЩ״̬ÐÅÏ¢£¬
ÀýÈçʹÓÃ
long cacheMisses = myEnv.getStats(null).getNCacheMiss();
ÎÒÃÇ¿ÉÒÔ»ñ
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
package Demo;
// Java·ºÐͽӿÚ
interface Info24<T> { // ÔÚ½Ó¿ÚÉ϶¨Òå·ºÐÍ
public T getVar(); // ¶¨Òå³éÏó·½·¨£¬³éÏó·½·¨µÄ·µ»ØÖµ¾ÍÊÇ·ºÐÍÀàÐÍ
}
class InfoImp24<T> implements Info24<T> { // ¶¨Òå·ºÐͽӿڵÄ×ÓÀà
private T var; // ¶¨ÒåÊôÐÔ
public InfoImp24(T var) { // ͨ¹ý¹¹Ôì·½·¨É ......
¹¹Ô캯Êý²»Äܼ̳С£×ÓÀàµÄ¹¹Ô캯Êý¿ÉÒÔͨ¹ýsuper¹Ø¼ü×ÖÏÔʽµ÷Óø¸ÀàÖеĹ¹Ô캯Êý¡£Èç¹û×ÓÀàÖеĹ¹Ô캯ÊýûÓÐÏÔʽµ÷Óø¸ÀàÖеĹ¹Ô캯Êý£¬±àÒëÆ÷¾Í»á×Ô¶¯ÔÚ×ÓÀàµÄ¹¹Ô캯ÊýÖе÷Óø¸ÀàÖвÎÊýΪ¿ÕµÄ¹¹Ô캯Êý¡£ÓÚÊÇ£¬µ±¸¸ÀàÖÐûÓвÎÊýΪ¿ÕµÄ¹¹Ô캯Êý£¬¶ø×ÓÀàÖÐÓÖûÓÐÏÔʾµ÷Óø¸ÀàµÄÆäËû¹¹Ô캯Êý£¬±àÒëʱ¾Í»á±¨´í¡£ÕâÒ»µãÐèÒªÌØ±ð× ......
import java.util.Random;
/**
* ÅÅÐò²âÊÔÀà
*
* ÅÅÐòËã·¨µÄ·ÖÀàÈçÏ£º
* 1.²åÈëÅÅÐò£¨Ö±½Ó²åÈëÅÅÐò¡¢ÕÛ°ë²åÈëÅÅÐò¡¢Ï£¶ûÅÅÐò£©£»
* 2.½»»»ÅÅÐò£¨Ã°ÅÝÅÝÅÅÐò¡¢¿ìËÙÅÅÐò£©£»
* 3.Ñ¡ÔñÅÅÐò£¨Ö±½ÓÑ¡ÔñÅÅÐò¡¢¶ÑÅÅÐò£©£»
* 4.¹é²¢ÅÅÐò£»
* 5.»ùÊýÅÅÐò¡£
*
& ......
package io;
import java.io.*;
/**
* @author ¸ßÕíÎâÓÇ
* ÀûÓûº³åÇøÔÀí,BufferedInputStream,
* ʵÏÖµÄÎļþ×Ö½ÚÁ÷¶ÁÈ¡¹¦ÄÜʾ·¶
*
*/
public class BufferedInOutputStream {
public BufferedInOutputStream() {
ioTest2();
}
public void ioTest2() {
FileInputStream in = null ;
BufferedInput ......