1.Linux“Ï߳̔
½ø³ÌÓëÏß³ÌÖ®¼äÊÇÓÐÇø±ðµÄ£¬²»¹ýLinuxÄÚºËÖ»ÌṩÁËÇáÁ¿½ø³ÌµÄÖ§³Ö£¬Î´ÊµÏÖÏß³ÌÄ£ÐÍ¡£LinuxÊÇÒ»ÖÖ“¶à½ø³Ìµ¥Ï߳̔µÄ²Ù×÷ϵͳ¡£Linux±¾ÉíÖ»Óнø³ÌµÄ¸ÅÄ¶øÆäËùνµÄ“Ï߳̔±¾ÖÊÉÏÔÚÄÚºËÀïÈÔÈ»Êǽø³Ì¡£
´ó¼ÒÖªµÀ£¬½ø³ÌÊÇ×ÊÔ´·ÖÅäµÄµ¥Î»£¬Í¬Ò»½ø³ÌÖеĶà¸öÏ̹߳²Ïí¸Ã½ø³ÌµÄ×ÊÔ´£¨Èç×÷Ϊ¹²ÏíÄÚ´æµÄÈ«¾Ö±äÁ¿£©¡£LinuxÖÐËùνµÄ“Ïֻ߳̔ÊÇÔÚ±»´´½¨Ê±cloneÁ˸¸½ø³ÌµÄ×ÊÔ´£¬Òò´Ëclone³öÀ´µÄ½ø³Ì±íÏÖΪ“Ï߳̔£¬ÕâÒ»µãÒ»¶¨ÒªÅªÇå³þ¡£Òò´Ë£¬Linux“Ï߳̔Õâ¸ö¸ÅÄîÖ»ÓÐÔÚ´òðºÅµÄÇé¿öϲÅÊÇ×î׼ȷµÄ¡£
ĿǰLinuxÖÐ×îÁ÷ÐеÄÏ̻߳úÖÆÎªLinuxThreads£¬Ëù²ÉÓõľÍÊÇỊ̈߳½ø³Ì“Ò»¶ÔÒ»”Ä£ÐÍ£¬µ÷¶È½»¸øºËÐÄ£¬¶øÔÚÓû§¼¶ÊµÏÖÒ»¸ö°üÀ¨ÐźŴ¦ÀíÔÚÄÚµÄÏ̹߳ÜÀí»úÖÆ¡£LinuxThreadsÓÉXavier Leroy (Xavier.Leroy@inria.fr)¸ºÔ𿪷¢Íê³É£¬²¢ÒѰó¶¨ÔÚGLIBCÖз¢ÐУ¬ËüʵÏÖÁËÒ»ÖÖBiCapitalizedÃæÏòLinuxµÄPosix 1003.1c “pthread”±ê×¼½Ó¿Ú¡£Linuxthread¿ÉÒÔÖ§³ÖIntel¡¢Alpha¡¢MIPSµÈƽ̨ÉϵĶà ......
1.Linux“Ï߳̔
½ø³ÌÓëÏß³ÌÖ®¼äÊÇÓÐÇø±ðµÄ£¬²»¹ýLinuxÄÚºËÖ»ÌṩÁËÇáÁ¿½ø³ÌµÄÖ§³Ö£¬Î´ÊµÏÖÏß³ÌÄ£ÐÍ¡£LinuxÊÇÒ»ÖÖ“¶à½ø³Ìµ¥Ï߳̔µÄ²Ù×÷ϵͳ¡£Linux±¾ÉíÖ»Óнø³ÌµÄ¸ÅÄ¶øÆäËùνµÄ“Ï߳̔±¾ÖÊÉÏÔÚÄÚºËÀïÈÔÈ»Êǽø³Ì¡£
´ó¼ÒÖªµÀ£¬½ø³ÌÊÇ×ÊÔ´·ÖÅäµÄµ¥Î»£¬Í¬Ò»½ø³ÌÖеĶà¸öÏ̹߳²Ïí¸Ã½ø³ÌµÄ×ÊÔ´£¨Èç×÷Ϊ¹²ÏíÄÚ´æµÄÈ«¾Ö±äÁ¿£©¡£LinuxÖÐËùνµÄ“Ïֻ߳̔ÊÇÔÚ±»´´½¨Ê±cloneÁ˸¸½ø³ÌµÄ×ÊÔ´£¬Òò´Ëclone³öÀ´µÄ½ø³Ì±íÏÖΪ“Ï߳̔£¬ÕâÒ»µãÒ»¶¨ÒªÅªÇå³þ¡£Òò´Ë£¬Linux“Ï߳̔Õâ¸ö¸ÅÄîÖ»ÓÐÔÚ´òðºÅµÄÇé¿öϲÅÊÇ×î׼ȷµÄ¡£
ĿǰLinuxÖÐ×îÁ÷ÐеÄÏ̻߳úÖÆÎªLinuxThreads£¬Ëù²ÉÓõľÍÊÇỊ̈߳½ø³Ì“Ò»¶ÔÒ»”Ä£ÐÍ£¬µ÷¶È½»¸øºËÐÄ£¬¶øÔÚÓû§¼¶ÊµÏÖÒ»¸ö°üÀ¨ÐźŴ¦ÀíÔÚÄÚµÄÏ̹߳ÜÀí»úÖÆ¡£LinuxThreadsÓÉXavier Leroy (Xavier.Leroy@inria.fr)¸ºÔ𿪷¢Íê³É£¬²¢ÒѰó¶¨ÔÚGLIBCÖз¢ÐУ¬ËüʵÏÖÁËÒ»ÖÖBiCapitalizedÃæÏòLinuxµÄPosix 1003.1c “pthread”±ê×¼½Ó¿Ú¡£Linuxthread¿ÉÒÔÖ§³ÖIntel¡¢Alpha¡¢MIPSµÈƽ̨ÉϵĶà ......
¼òÊö
Ò» ÁÐÎļþÇåµ¥
¶þ£ºÖ´ÐгÌÐò
Èý£ºÏÔʾÊý¾Ý
ËÄ£º¶Ïµã(breakpoint)
Î壮¶ÏµãµÄ¹ÜÀí
Áù£®±äÁ¿µÄ¼ì²éºÍ¸³Öµ
Æß. µ¥²½Ö´ÐÐ
°Ë£®º¯ÊýµÄµ÷ÓÃ
¾Å£®»úÆ÷ÓïÑÔ¹¤¾ß
Ê®£®ÐźÅ
GDBµÄʹÓ÷½·¨
¼òÊö
Ò» ÁÐÎļþÇåµ¥
* List
(gdb) list line1,line2
¶þ£ºÖ´ÐгÌÐò
ÒªÏëÔËÐÐ×¼±¸µ÷ÊԵijÌÐò£¬¿ÉʹÓÃrunÃüÁÔÚËüºóÃæ¿ÉÒÔ¸úËæ·¢¸ø¸Ã³ÌÐòµÄÈκβÎÊý£¬°üÀ¨±ê×¼ÊäÈëºÍ±ê×¼Êä³ö˵Ã÷·û(<ºÍ> )ºÍÍâ¿ÇͨÅä·û£¨*¡¢£¿¡¢[¡¢]£©ÔÚÄÚ¡£Èç¹ûÄãʹÓò»´ø²ÎÊýµÄrunÃüÁgdb¾ÍÔÙ´ÎʹÓÃÄã¸øÓèǰһÌõrunÃüÁîµÄ²ÎÊý£¬ÕâÊǺÜÓÐÓõġ£ÀûÓÃset args ÃüÁî¾Í¿ÉÒÔÐ޸ķ¢Ë͸ø³ÌÐòµÄ²ÎÊý£¬¶øÊ¹ÓÃshow args ÃüÁî¾Í¿ÉÒԲ鿴Æäȱʡ²ÎÊýµÄÁÐ±í¡£
£¨gdb£©set args –b –x
(gdb) show args
backtraceÃüÁîΪ¶ÑÕ»ÌṩÏòºó¸ú×Ù¹¦ÄÜ¡£
Backtrace ÃüÁî²úÉúÒ»ÕÅÁÐ±í£¬°üº¬×Å´Ó×î½üµÄ¹ý³Ì¿ªÊ¼µÄËùÒÔÓÐЧ¹ý³ÌºÍµ÷ÓÃÕâЩ¹ý³ÌµÄ²ÎÊý¡£
Èý£ ......
¼òÊö
Ò» ÁÐÎļþÇåµ¥
¶þ£ºÖ´ÐгÌÐò
Èý£ºÏÔʾÊý¾Ý
ËÄ£º¶Ïµã(breakpoint)
Î壮¶ÏµãµÄ¹ÜÀí
Áù£®±äÁ¿µÄ¼ì²éºÍ¸³Öµ
Æß. µ¥²½Ö´ÐÐ
°Ë£®º¯ÊýµÄµ÷ÓÃ
¾Å£®»úÆ÷ÓïÑÔ¹¤¾ß
Ê®£®ÐźÅ
GDBµÄʹÓ÷½·¨
¼òÊö
Ò» ÁÐÎļþÇåµ¥
* List
(gdb) list line1,line2
¶þ£ºÖ´ÐгÌÐò
ÒªÏëÔËÐÐ×¼±¸µ÷ÊԵijÌÐò£¬¿ÉʹÓÃrunÃüÁÔÚËüºóÃæ¿ÉÒÔ¸úËæ·¢¸ø¸Ã³ÌÐòµÄÈκβÎÊý£¬°üÀ¨±ê×¼ÊäÈëºÍ±ê×¼Êä³ö˵Ã÷·û(<ºÍ> )ºÍÍâ¿ÇͨÅä·û£¨*¡¢£¿¡¢[¡¢]£©ÔÚÄÚ¡£Èç¹ûÄãʹÓò»´ø²ÎÊýµÄrunÃüÁgdb¾ÍÔÙ´ÎʹÓÃÄã¸øÓèǰһÌõrunÃüÁîµÄ²ÎÊý£¬ÕâÊǺÜÓÐÓõġ£ÀûÓÃset args ÃüÁî¾Í¿ÉÒÔÐ޸ķ¢Ë͸ø³ÌÐòµÄ²ÎÊý£¬¶øÊ¹ÓÃshow args ÃüÁî¾Í¿ÉÒԲ鿴Æäȱʡ²ÎÊýµÄÁÐ±í¡£
£¨gdb£©set args –b –x
(gdb) show args
backtraceÃüÁîΪ¶ÑÕ»ÌṩÏòºó¸ú×Ù¹¦ÄÜ¡£
Backtrace ÃüÁî²úÉúÒ»ÕÅÁÐ±í£¬°üº¬×Å´Ó×î½üµÄ¹ý³Ì¿ªÊ¼µÄËùÒÔÓÐЧ¹ý³ÌºÍµ÷ÓÃÕâЩ¹ý³ÌµÄ²ÎÊý¡£
Èý£ ......
½ñÌìÔÚdoubanÉÏÃæ¿´µ½ÁËÒ»¸öÌû×Ó£¬ÀïÃæ¹ØÓڳ˷¨ÎÊÌâ´ó¼ÒÌÖÂÛÁËÒ»ÏÂ
http://www.douban.com/group/topic/8384097/
¿´µ½ÒÆÎ»×ö³Ë·¨Ò²²»ÊǵÚÒ»´ÎÁË£¬µ«ÊǺܲïÒìÕæµÄ»áÔÚÓã¬×Ô¼ºË®Æ½»¹¾Í²îÁËÄÇôһµãµã£¬ÎÞ¿É·ñÈÏ£¬ÎÒÃÇ´¦ÀíÆ÷µÄALU×öÒÆÎ»ÊÇÏ൱¸ßЧµÄ¡£
ÕâÀï¼Ç¼һÏÂÀïÃæµÄÒ»¸öÒÆÎ»³Ë·¨Àý×Ó¡£
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main ()
{
unsigned long int sum=0;
unsigned int a=0x49d;
unsigned int b=0xd;
unsigned int c=0x1;
unsigned int test;
printf("%d * %d", a, b);
for(c = 1; c; c<<=1, a<<=1)
if (test = b&c) sum += a;
printf("= %d.\n",sum);
system("pause");
return 0;
}
ʵÏÖÁË1181 * 13 ......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔǰ¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎ񵀼̮æÐÄ¡£ÎÒÿÌìÉϰà×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔǰ¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎ񵀼̮æÐÄ¡£ÎÒÿÌìÉϰà×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
×î½üÒòΪÑо¿Ò»¸ö¶«Î÷£¬²¢ÇÒÔںܾÃÒÔǰ¾ÍÏë°ÑpythonºÃºÃ¿´¿´¡£ÕýºÃÂú×ãÎ񵀼̮æÐÄ¡£ÎÒÿÌìÉϰà×öµÃÓÎÏ·¶¼ÊÇÓÃlua£¬Ò²ÊÇÒ»ÃźÜÇ¿´óµÄ½Å±¾ÓïÑÔ¡£¿ÉÄÜÎÒ¸üϲ»¶pythonµÄËõ½øÇø·ÖºÍÃæÏò¶ÔÏó°É¡£ ½ñÌìֻдһ¸ö¼òµ¥µÄÀý×Ó¡£Ò»¸ö¼òµ¥µÄpython½Å±¾£¬¾ÍÒ»¸öº¯Êý£¬ÓÃC/C++È¥µ÷Ó᣿ÉÄÜÕâÒ²ÊÇ×÷Ϊ³ÌÐòÀ´Ëµ×î¹ØÐĵÄÒ»¼þÊ¡£ËùÒÔÎÒµÄpython±Ê¼ÇÒ²¾Í×îÏÈдÕâ¿é¡£- - ºÃÇÐÈëÕýÌ⣺
#include <Python.h>
#include <stdio.h>
void test( void )
{
PyObject *pMod = NULL;
PyObject *pFun = NULL;
PyObject *pParm = NULL;
PyObject *pRetVal = NULL;
int iRetval = 0;
if ( pMod = PyImport_ImportModule( "add" ) )
{
if ( pFun = PyObject_GetAttrString( pMod, "add" ) )
{
......
ÕæÕý·¢ÏÖÈËÉúÐèҪ֪ʶµÄʱºò£¬ÎÒµÄÇà´ºÒѾÀË·ÑÁËÒ»°ë¡£
ÓÚÊÇ¹ÄÆðÓÂÆøÀ´µ½±±´óÇàÄñѧϰIT£¬¼øÓÚ¶à·½¿¼ÂÇ£¬»¹ÊÇÑ¡ÔñÁËÈí¼þ²âÊÔ¡£
Èç½ñ¿ÎÒµµÄÒ»´ó°ëÒ²ÒѽáÊø£¬´Ó¸Õ¿ªÊ¼µÄÒ»ÎÞËùÖª£¬½¥½¥³É³¤ÎªÒ»¸ö²ËÄñ……
Ôڿγ̵Äѧϰ¹ý³ÌÖУ¬²Å½¥½¥·¢ÏÖ×Ô¼º¶ÔÓÚÕâ¸öÐÐÒµµÄÐËȤ£¬ÓÈÆäÊÇÈí¼þ¿ª·¢ÕâÒ»¿é¡£
ÉõÖÁ¶Ô×Ô¼ºÑ¡Ôñ×ö²âÊÔºÜÊǺó»Ú£¬²»¹ýÏÖÔÚÎÒ¸ø×Ô¼ºÕÒµ½Ò»¸öºÃµÄÀíÓÉ£º
µ±²»ÁËNBµÄ¿ª·¢¾Í×ö²»³ÉNBµÄ²âÊÔ……
²âÊÔÀàµÄ¿Î³ÌÔ±¾Ö»ÓÐCÕâÒ»ÃÅ¿ª·¢ÓïÑÔ£¬ºóÀ´ÔÚÀÏʦºÍͬѧÃǵÄŬÁ¦Ï£¬
JAVAÒ²×÷ΪѡÐ޿νøÈë²âÊÔÀàµÄѧϰ¡£
ͨ¹ýÕ⼸ÌìµÄJAVA¿Î³Ì£¬½¥½¥·¢ÏÖ£¬ÕâÖÖÃæÏò¶ÔÏóÓïÑÔµÄѧϰ¹ý³ÌºÍCµÄѧϰÓкܴóÇø±ð£¬
Ä¿Ç°ËÆºõ»¹ÊÇÓе㲻ÊÊÓ¦£¬Ó¦¸ÃºÜ¿ì¾Í»áºÃÆðÀ´£¬
C,JAVA,SQLserver,LINUXÒÔ¼°TCP/IPÊÇÕû¸öITѧϰµÄ»ù´¡£¬Òª¾¿ìµ÷ÕûºÃ״̬£¬
°ÑÕâЩ»ù±¾¹¦´òÔúʵ£¬Îª½«À´µÄ·¢Õ¹ÆÌºÃµÀ·¡£
ֻҪŬÁ¦£¬²ËÄñÒ²ÓзɵÄÒ»Ìì¡£
·»¹ºÜÔ¶£¬Ïà±ÈQQ¿Õ¼äÀïÄÇЩɿÇ飬»ÞɬµÄÎÄ×Ö£¬
CSDNµÄ²©¿Í¾ÍÓÃÀ´ÂýÂý¼Ç¼Îҵijɳ¤Ö®Â·°É¡£ ......
ÕæÕý·¢ÏÖÈËÉúÐèҪ֪ʶµÄʱºò£¬ÎÒµÄÇà´ºÒѾÀË·ÑÁËÒ»°ë¡£
ÓÚÊÇ¹ÄÆðÓÂÆøÀ´µ½±±´óÇàÄñѧϰIT£¬¼øÓÚ¶à·½¿¼ÂÇ£¬»¹ÊÇÑ¡ÔñÁËÈí¼þ²âÊÔ¡£
Èç½ñ¿ÎÒµµÄÒ»´ó°ëÒ²ÒѽáÊø£¬´Ó¸Õ¿ªÊ¼µÄÒ»ÎÞËùÖª£¬½¥½¥³É³¤ÎªÒ»¸ö²ËÄñ……
Ôڿγ̵Äѧϰ¹ý³ÌÖУ¬²Å½¥½¥·¢ÏÖ×Ô¼º¶ÔÓÚÕâ¸öÐÐÒµµÄÐËȤ£¬ÓÈÆäÊÇÈí¼þ¿ª·¢ÕâÒ»¿é¡£
ÉõÖÁ¶Ô×Ô¼ºÑ¡Ôñ×ö²âÊÔºÜÊǺó»Ú£¬²»¹ýÏÖÔÚÎÒ¸ø×Ô¼ºÕÒµ½Ò»¸öºÃµÄÀíÓÉ£º
µ±²»ÁËNBµÄ¿ª·¢¾Í×ö²»³ÉNBµÄ²âÊÔ……
²âÊÔÀàµÄ¿Î³ÌÔ±¾Ö»ÓÐCÕâÒ»ÃÅ¿ª·¢ÓïÑÔ£¬ºóÀ´ÔÚÀÏʦºÍͬѧÃǵÄŬÁ¦Ï£¬
JAVAÒ²×÷ΪѡÐ޿νøÈë²âÊÔÀàµÄѧϰ¡£
ͨ¹ýÕ⼸ÌìµÄJAVA¿Î³Ì£¬½¥½¥·¢ÏÖ£¬ÕâÖÖÃæÏò¶ÔÏóÓïÑÔµÄѧϰ¹ý³ÌºÍCµÄѧϰÓкܴóÇø±ð£¬
Ä¿Ç°ËÆºõ»¹ÊÇÓе㲻ÊÊÓ¦£¬Ó¦¸ÃºÜ¿ì¾Í»áºÃÆðÀ´£¬
C,JAVA,SQLserver,LINUXÒÔ¼°TCP/IPÊÇÕû¸öITѧϰµÄ»ù´¡£¬Òª¾¿ìµ÷ÕûºÃ״̬£¬
°ÑÕâЩ»ù±¾¹¦´òÔúʵ£¬Îª½«À´µÄ·¢Õ¹ÆÌºÃµÀ·¡£
ֻҪŬÁ¦£¬²ËÄñÒ²ÓзɵÄÒ»Ìì¡£
·»¹ºÜÔ¶£¬Ïà±ÈQQ¿Õ¼äÀïÄÇЩɿÇ飬»ÞɬµÄÎÄ×Ö£¬
CSDNµÄ²©¿Í¾ÍÓÃÀ´ÂýÂý¼Ç¼Îҵijɳ¤Ö®Â·°É¡£ ......
×î½üµÄÒ»¸öÏîÄ¿ÔÚʹÓÃC3P0µÄÁ¬½Ó³Ø£¬Êý¾Ý¿âΪMysql¡£¿ª·¢²âÊÔûÓÐÎÊÌ⣬ÔÚÔËÐÐÖÐÿ¸öÒ»¶Î³¤µÄ¿ÕÏÐʱ¼ä¾Í³öÏÖÒì³£Communications link failure due to underlying exception:
java ´úÂë
²é¿´ÁËMysqlµÄÎĵµ£¬ÒÔ¼°Connector/JµÄÎĵµÒÔ¼°ÔÚÏß˵Ã÷·¢ÏÖ£¬³öÏÖÕâÖÖÒì³£µÄÔÒòÊÇ£º
Mysql·þÎñÆ÷ĬÈϵēwait_timeout”ÊÇ8Сʱ£¬Ò²¾ÍÊÇ˵һ¸öconnection¿ÕÏг¬¹ý8¸öСʱ£¬Mysql½«×Ô¶¯¶Ï¿ª¸Ãconnection¡£Õâ¾ÍÊÇÎÊÌâµÄËùÔÚ£¬ÔÚC3P0 poolsÖеÄconnectionsÈç¹û¿ÕÏг¬¹ý8Сʱ£¬Mysql½«Æä¶Ï¿ª£¬¶øC3P0²¢²»ÖªµÀ¸ÃconnectionÒѾʧЧ£¬Èç¹ûÕâʱÓÐClientÇëÇóconnection£¬C3P0½«¸ÃʧЧµÄConnectionÌṩ¸øClient£¬½«»áÔì³ÉÉÏÃæµÄÒì³£¡£
½â¾öµÄ·½·¨ÓÐ3ÖÖ£º
Ôö¼Ówait_timeoutµÄʱ¼ä¡£
¼õÉÙConnection poolsÖÐconnectionµÄlifetime¡£
²âÊÔConnection poolsÖÐconnectionµÄÓÐЧÐÔ¡£
µ±È»×îºÃµÄ°ì·¨ÊÇͬʱ×ÛºÏʹÓÃÉÏÊö3ÖÖ·½·¨£¬¼ÙÉèwait_timeoutΪĬÈϵÄ8Сʱ
C3P0Ôö¼ÓÒÔÏÂÅäÖÃÐÅÏ¢:
//»ñÈ¡connnectionʱ²âÊÔÊÇ·ñÓÐЧ
testConnectionOnCheckin = true
//×Ô¶¯²âÊÔµÄtableÃû³Æ
automaticTestTable=C3P0TestTable
//set to something much less than wait_timeout, prevents c ......
×î½üµÄÒ»¸öÏîÄ¿ÔÚʹÓÃC3P0µÄÁ¬½Ó³Ø£¬Êý¾Ý¿âΪMysql¡£¿ª·¢²âÊÔûÓÐÎÊÌ⣬ÔÚÔËÐÐÖÐÿ¸öÒ»¶Î³¤µÄ¿ÕÏÐʱ¼ä¾Í³öÏÖÒì³£Communications link failure due to underlying exception:
java ´úÂë
²é¿´ÁËMysqlµÄÎĵµ£¬ÒÔ¼°Connector/JµÄÎĵµÒÔ¼°ÔÚÏß˵Ã÷·¢ÏÖ£¬³öÏÖÕâÖÖÒì³£µÄÔÒòÊÇ£º
Mysql·þÎñÆ÷ĬÈϵēwait_timeout”ÊÇ8Сʱ£¬Ò²¾ÍÊÇ˵һ¸öconnection¿ÕÏг¬¹ý8¸öСʱ£¬Mysql½«×Ô¶¯¶Ï¿ª¸Ãconnection¡£Õâ¾ÍÊÇÎÊÌâµÄËùÔÚ£¬ÔÚC3P0 poolsÖеÄconnectionsÈç¹û¿ÕÏг¬¹ý8Сʱ£¬Mysql½«Æä¶Ï¿ª£¬¶øC3P0²¢²»ÖªµÀ¸ÃconnectionÒѾʧЧ£¬Èç¹ûÕâʱÓÐClientÇëÇóconnection£¬C3P0½«¸ÃʧЧµÄConnectionÌṩ¸øClient£¬½«»áÔì³ÉÉÏÃæµÄÒì³£¡£
½â¾öµÄ·½·¨ÓÐ3ÖÖ£º
Ôö¼Ówait_timeoutµÄʱ¼ä¡£
¼õÉÙConnection poolsÖÐconnectionµÄlifetime¡£
²âÊÔConnection poolsÖÐconnectionµÄÓÐЧÐÔ¡£
µ±È»×îºÃµÄ°ì·¨ÊÇͬʱ×ÛºÏʹÓÃÉÏÊö3ÖÖ·½·¨£¬¼ÙÉèwait_timeoutΪĬÈϵÄ8Сʱ
C3P0Ôö¼ÓÒÔÏÂÅäÖÃÐÅÏ¢:
//»ñÈ¡connnectionʱ²âÊÔÊÇ·ñÓÐЧ
testConnectionOnCheckin = true
//×Ô¶¯²âÊÔµÄtableÃû³Æ
automaticTestTable=C3P0TestTable
//set to something much less than wait_timeout, prevents c ......