±¾ÎĽéÉÜÈçºÎÔÚLinuxÏÂÅäÖÃJava»·¾³±äÁ¿¡£ÅäÖù²·ÖÊ®¸ö²½Ö裬´ÓÏÂÔØJDK¿ªÊ¼£¬µ½LinuxÉÏJDKµÄ°²×°£¬EclipseµÄÏàÓ¦ÅäÖã¬×îÖÕÔÚ×ÀÃæÉÏ´´½¨Ò»¸öÆô¶¯Æ÷£¬Â·¾¶ÉèÖõ½Eclipse£¬¾Í´ËÍê³ÉJava»·¾³±äÁ¿µÄÅäÖá£
1.È¥http://java.sun.com/j2se/1.4.2/download.html
ÏÂÔØÒ»¸öLinux PlatformµÄJDK£¬
½¨ÒéÏÂÔØRPM×Ô½âѹ¸ñʽµÄ£¨RPM in self-extracting file£¬j2sdk-1_4_2_06-linux-i586-rpm.bin£©£»
2. ÉÏÔØµ½Linux·þÎñÆ÷ÉÏ£¬ÔÚshellÏÂÖ´ÐÐÃüÁ
[root@LinuxServer rpm]# chmod 755 j2sdk-1_4_2_11-linux-i586-rpm.bin
[root@LinuxServer rpm]# ./j2sdk-1_4_2_11-linux-i586-rpm.bin
Õâʱ»áÓÐÒ»¶ÎSunµÄÐÒ飬Çü¸´Î¿Õ¸ñ¼ü£¬µ±Ñ¯ÎÊÊÇ·ñͬÒâµÄʱºò£¬ÇÃyes¾Í¿ÉÒÔÁË¡£
Sun Microsystems, Inc.
Binary Code License Agreement
for the
JAVATM 2 SOFTWARE DEVELOPMENT KIT (J2SDK), STANDARD
EDITION, VERSION 1.4.2_X
...
Do you agr ......
±¾ÎĽéÉÜÈçºÎÔÚLinuxÏÂÅäÖÃJava»·¾³±äÁ¿¡£ÅäÖù²·ÖÊ®¸ö²½Ö裬´ÓÏÂÔØJDK¿ªÊ¼£¬µ½LinuxÉÏJDKµÄ°²×°£¬EclipseµÄÏàÓ¦ÅäÖã¬×îÖÕÔÚ×ÀÃæÉÏ´´½¨Ò»¸öÆô¶¯Æ÷£¬Â·¾¶ÉèÖõ½Eclipse£¬¾Í´ËÍê³ÉJava»·¾³±äÁ¿µÄÅäÖá£
1.È¥http://java.sun.com/j2se/1.4.2/download.html
ÏÂÔØÒ»¸öLinux PlatformµÄJDK£¬
½¨ÒéÏÂÔØRPM×Ô½âѹ¸ñʽµÄ£¨RPM in self-extracting file£¬j2sdk-1_4_2_06-linux-i586-rpm.bin£©£»
2. ÉÏÔØµ½Linux·þÎñÆ÷ÉÏ£¬ÔÚshellÏÂÖ´ÐÐÃüÁ
[root@LinuxServer rpm]# chmod 755 j2sdk-1_4_2_11-linux-i586-rpm.bin
[root@LinuxServer rpm]# ./j2sdk-1_4_2_11-linux-i586-rpm.bin
Õâʱ»áÓÐÒ»¶ÎSunµÄÐÒ飬Çü¸´Î¿Õ¸ñ¼ü£¬µ±Ñ¯ÎÊÊÇ·ñͬÒâµÄʱºò£¬ÇÃyes¾Í¿ÉÒÔÁË¡£
Sun Microsystems, Inc.
Binary Code License Agreement
for the
JAVATM 2 SOFTWARE DEVELOPMENT KIT (J2SDK), STANDARD
EDITION, VERSION 1.4.2_X
...
Do you agr ......
du -sh * ²é¿´µ±Ç°Ä¿Â¼ÏµÄÎļþ¼Ð´óС
du ÃüÁî
ÓÃ;
¸ÅÊö´ÅÅÌʹÓá£
Óï·¨
du [ -a | -s ] [ -k ] [ -m ] [ -g ][ -l ] [ -r ] [ -x ] [ -H | -L ][ File ... ]
ÃèÊö
duÃüÁîÏÔʾÓÃÓÚÎļþµÄ¿éµÄÊýÁ¿¡£
Èç¹ûÖ¸¶¨µÄFile²ÎÊýʵ¼ÊÉÏÊÇÒ»¸öĿ¼£¬¾ÍÒª±¨¸æ¸ÃĿ¼ÄÚµÄËùÓÐÎļþ¡£Èç¹ûûÓÐÌṩ File²ÎÊý£¬duÃüÁîʹÓõ±Ç°Ä¿Â¼ÄÚµÄÎļþ¡£
Èç¹ûFile²ÎÊýÊÇÒ»¸öĿ¼£¬ÄÇô±¨¸æµÄ¿éµÄÊýÁ¿¾ÍÊÇ·ÖÅ䵽Ŀ¼ÖÐÎļþÒÔ¼°·ÖÅ䵽Ŀ¼×ÔÉíµÄ¿éÖ®ºÍ¡£
Ö¸¶¨-a±êÖ¾£¬±¨¸æ¸öÌåÎļþÖпéÊýÁ¿¡£²»¹ÜÊÇ·ñʹÓÃÁË-a±êÖ¾£¬ÓÉFile²ÎÊýÖ¸¶¨µÄ¸öÌåÎļþ×ÜÊÇÒªÁгö¡£
Ö¸¶¨-s±êÖ¾£¬±¨¸æÓÃÓÚËùÓÐÖ¸¶¨ÎļþºÍĿ¼ÖÐËùÓÐÎļþµÄÈ«²¿¿é¡£
¿é¼ÆÊý°üÀ¨Ã¿¸öÎļþµÄ¼ä½Ó¿é¡£¿é¼ÆÊýÊÇͨ¹ý 512 ×Ö½Úµ¥Î»¼ÆËãµÄ£¬ËüÓëϵͳʹÓõÄȺ¼¯´óСÎ޹ء£Ö¸¶¨-k±êÖ¾£¬Í¨¹ý 1024 ×Ö½Úµ¥Î»¼ÆËã¿éÊý¡£
×¢:
1. ¾ßÓжà¸öÁ´½ÓµÄÎļþֻΪһ¸öÌõÄ¿¼ÆÊýºÍÊéд¡£
2. ÓÉÓÚ¿é¼ÆÊýÖ»»ùÓÚÎļþ´óС£¬ËùÒÔÔÚ±¨¸æµÄ¿éÊýÖУ¬Î´·ÖÅäµÄ¿éÊÇûÓаüº¬½øÈ¥µÄ¡£
3. Èç¹ûduµÃ²»µ½ÎļþÊôÐÔ£¬»òÕßÎÞ·¨¶ÁȡĿ¼£¬Ëü¾Í±¨¸æÒ»¸ö´íÎ󣬲¢ÇÒ»áÓ°ÏìÃüÁîµÄÍ˳ö״̬¡£
±êÖ¾
-a Ϊÿ¸öÖ¸¶¨ÎļþÏÔʾ´ÅÅÌʹÓÃÇé¿ö£¬»òÕßΪĿ¼ÖÐÿ¸öÎļþÏÔʾ¸÷×Ô´ÅÅÌʹÓÃÇé ......
Windows ºÍ Linux µÄIPC API¶ÔÓ¦±í
Table 1. Process mapping
Windows
Linux
Classification
CreateProcess()
CreateProcessAsUser()
fork()
setuid()
exec()
Mappable
TerminateProcess()
kill()
Mappable
SetThreadpriority()
GetThreadPriority()
Setpriority()
getPriority()
Mappable
GetCurrentProcessID()
getpid()
Mappable
Exitprocess()
exit()
Mappable
WaitForSingleObjec()
WaitForMultipleObject()
GetExitCodeProcess()
waitpid()
¡ùUsing Sys V semaphores, WaitForSingleObjec/MultipleObject
can be implemented
Context specific
GetEnvironmentVariable
SetEnvironmentVariable
getenv()
setenv()
Mappable
Table 2. Thread mapping
Windows
Linux
Classification
CreateThread
pthread_create
pthread_attr_init
pthread_attr_setstacksize
pthread_attr_destroy
Mappable
ThreadExit
pthread_exit
Mappable
WaitForSingleObject
pthread_join
pthread_attr_setdetachstate
pthread_detach
Mappable
SetPriorityClass
SetThreadPriority
setpriority
sch ......
3¡¢Ìõ¼þ±äÁ¿
¡¡¡¡Ç°Ò»½ÚÖÐÎÒÃǽ²ÊöÁËÈçºÎʹÓû¥³âËøÀ´ÊµÏÖÏ̼߳äÊý¾ÝµÄ¹²ÏíºÍͨÐÅ£¬»¥³âËøÒ»¸öÃ÷ÏÔµÄȱµãÊÇËüÖ»ÓÐÁ½ÖÖ״̬£ºËø¶¨ºÍ·ÇËø¶¨¡£¶øÌõ¼þ±äÁ¿Í¨¹ýÔÊÐíÏß³Ì×èÈûºÍµÈ´ýÁíÒ»¸öÏ̷߳¢ËÍÐźŵķ½·¨ÃÖ²¹ÁË»¥³âËøµÄ²»×㣬Ëü³£ºÍ»¥³âËøÒ»ÆðʹÓá£Ê¹ÓÃʱ£¬Ìõ¼þ±äÁ¿±»ÓÃÀ´×èÈûÒ»¸öỊ̈߳¬µ±Ìõ¼þ²»Âú×ãʱ£¬Ïß³ÌÍùÍù½â¿ªÏàÓ¦µÄ»¥³âËø²¢µÈ´ýÌõ¼þ·¢Éú±ä»¯¡£Ò»µ©ÆäËüµÄij¸öÏ̸߳ıäÁËÌõ¼þ±äÁ¿£¬Ëü½«Í¨ÖªÏàÓ¦µÄÌõ¼þ±äÁ¿»½ÐÑÒ»¸ö»ò¶à¸öÕý±»´ËÌõ¼þ±äÁ¿×èÈûµÄÏ̡߳£ÕâЩÏ߳̽«ÖØÐÂËø¶¨»¥³âËø²¢ÖØÐ²âÊÔÌõ¼þÊÇ·ñÂú×ã¡£Ò»°ã˵À´£¬Ìõ¼þ±äÁ¿±»ÓÃÀ´½øÐÐÏ߳мäµÄͬ²½¡£
¡¡¡¡Ìõ¼þ±äÁ¿µÄ½á¹¹Îªpthread_cond_t£¬º¯Êýpthread_cond_init£¨£©±»ÓÃÀ´³õʼ»¯Ò»¸öÌõ¼þ±äÁ¿¡£ËüµÄÔÐÍΪ£º
¡¡¡¡extern int pthread_cond_init __P ((pthread_cond_t *__cond,__const pthread_condattr_t *__cond_attr));
¡¡¡¡ÆäÖÐcondÊÇÒ»¸öÖ¸Ïò½á¹¹pthread_cond_tµÄÖ¸Õ룬cond_attrÊÇÒ»¸öÖ¸Ïò½á¹¹pthread_condattr_tµÄÖ¸Õë¡£½á¹¹ pthread_condattr_tÊÇÌõ¼þ±äÁ¿µÄÊôÐԽṹ£¬ºÍ»¥³âËøÒ»ÑùÎÒÃÇ¿ÉÒÔÓÃËüÀ´ÉèÖÃÌõ¼þ±äÁ¿Êǽø³ÌÄÚ¿ÉÓû¹Êǽø³Ì ......
ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬ solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí¶à²Ù×÷ϵͳËùÖ§³Ö£¬°üÀ¨Windows/NT£¬µ±È»£¬Ò²°üÀ¨Linux¡£
¡¡¡¡ÎªÊ²Ã´ÓÐÁ˽ø³ÌµÄ¸ÅÄîºó£¬»¹ÒªÔÙÒýÈëÏß³ÌÄØ£¿Ê¹ÓöàÏ̵߳½µ×ÓÐÄÄЩºÃ´¦£¿Ê²Ã´µÄϵͳӦ¸ÃÑ¡ÓöàỊ̈߳¿ÎÒÃÇÊ×ÏȱØÐë»Ø´ðÕâЩÎÊÌâ¡£
¡¡¡¡Ê¹ÓöàÏ̵߳ÄÀíÓÉÖ®Ò»ÊǺͽø³ÌÏà±È£¬ËüÊÇÒ»Öַdz£"½Ú¼ó"µÄ¶àÈÎÎñ²Ù×÷·½Ê½¡£ÎÒÃÇÖªµÀ£¬ÔÚLinuxϵͳÏ£¬Æô¶¯Ò»¸öеĽø³Ì±ØÐë·ÖÅ䏸Ëü¶ÀÁ¢µÄµØÖ·¿Õ¼ä£¬½¨Á¢ÖÚ¶àµÄÊý¾Ý±íÀ´Î¬»¤ËüµÄ´úÂë¶Î¡¢¶ÑÕ»¶ÎºÍÊý¾Ý¶Î£¬ÕâÊÇÒ»ÖÖ"°º¹ó"µÄ¶àÈÎÎñ¹¤×÷·½Ê½¡£¶øÔËÐÐÓÚÒ»¸ö½ø³ÌÖеĶà¸öỊ̈߳¬ËüÃDZ˴ËÖ®¼äʹÓÃÏàͬµÄµØÖ·¿Õ¼ä£¬¹²Ïí´ó²¿·ÖÊý¾Ý£¬Æô¶¯Ò»¸öÏß³ÌËù»¨·ÑµÄ¿Õ¼äԶԶСÓÚÆô¶¯Ò»¸ö½ø³ÌËù»¨·ÑµÄ¿Õ¼ä£¬¶øÇÒ£¬Ï̼߳ä±Ë´ËÇл»ËùÐèµÄʱ¼äҲԶԶСÓÚ½ø³Ì¼äÇл»ËùÐèÒªµÄʱ¼ä¡£
¡¡¡¡Ê¹ÓöàÏ̵߳ÄÀíÓÉÖ®¶þÊÇÏ̼߳䷽±ãµÄͨÐÅ»úÖÆ¡£¶Ô²»Í¬½ø³ÌÀ´Ëµ£¬ËüÃǾßÓжÀÁ¢µÄÊý¾Ý¿Õ¼ä£¬Òª½øÐÐÊý¾ÝµÄ´«µÝÖ»ÄÜͨ¹ýͨÐŵķ½Ê½½øÐУ¬ÕâÖÖ·½Ê½²»½ö·Ñʱ£¬¶ ......
ÐÞ¸ÄÏ̵߳ÄÊôÐÔ
¡¡¡¡ÔÚÉÏÒ»½ÚµÄÀý×ÓÀÎÒÃÇÓÃpthread_createº¯Êý´´½¨ÁËÒ»¸öỊ̈߳¬ÔÚÕâ¸öÏß³ÌÖУ¬ÎÒÃÇʹÓÃÁËĬÈϲÎÊý£¬¼´½«¸Ãº¯ÊýµÄµÚ¶þ¸ö²ÎÊýÉèΪNULL¡£µÄÈ·£¬¶Ô´ó¶àÊý³ÌÐòÀ´Ëµ£¬Ê¹ÓÃĬÈÏÊôÐԾ͹»ÁË£¬µ«ÎÒÃÇ»¹ÊÇÓбØÒªÀ´Á˽âÒ»ÏÂÏ̵߳ÄÓйØÊôÐÔ¡£
¡¡¡¡ÊôÐԽṹΪpthread_attr_t£¬ËüͬÑùÔÚÍ·Îļþ/usr/include/pthread.hÖж¨Ò壬ϲ»¶×·¸ùÎʵ׵ÄÈË¿ÉÒÔ×Ô¼ºÈ¥²é¿´¡£ÊôÐÔÖµ²»ÄÜÖ±½ÓÉèÖã¬ÐëʹÓÃÏà¹Øº¯Êý½øÐвÙ×÷£¬³õʼ»¯µÄº¯ÊýΪpthread_attr_init£¬Õâ¸öº¯Êý±ØÐëÔÚpthread_createº¯Êý֮ǰµ÷Óá£ÊôÐÔ¶ÔÏóÖ÷Òª°üÀ¨ÊÇ·ñ°ó¶¨¡¢ÊÇ·ñ·ÖÀë¡¢¶ÑÕ»µØÖ·¡¢¶ÑÕ»´óС¡¢ÓÅÏȼ¶¡£Ä¬ÈϵÄÊôÐÔΪ·Ç°ó¶¨¡¢·Ç·ÖÀ롢ȱʡ1MµÄ¶ÑÕ»¡¢Ó븸½ø³ÌͬÑù¼¶±ðµÄÓÅÏȼ¶¡£
¡¡¡¡¹ØÓÚÏ̵߳İ󶨣¬Ç£Éæµ½ÁíÍâÒ»¸ö¸ÅÄÇá½ø³Ì£¨LWP£ºLight Weight Process£©¡£Çá½ø³Ì¿ÉÒÔÀí½âΪÄÚºËỊ̈߳¬ËüλÓÚÓû§²ãºÍϵͳ²ãÖ®¼ä¡£ÏµÍ³¶ÔÏß³Ì×ÊÔ´µÄ·ÖÅä¡¢¶ÔÏ̵߳ĿØÖÆÊÇͨ¹ýÇá½ø³ÌÀ´ÊµÏֵģ¬Ò»¸öÇá½ø³Ì¿ÉÒÔ¿ØÖÆÒ»¸ö»ò¶à¸öÏ̡߳£Ä¬ÈÏ×´¿öÏ£¬Æô¶¯¶àÉÙÇá½ø³Ì¡¢ÄÄЩÇá½ø³ÌÀ´¿ØÖÆÄÄЩÏß³ÌÊÇÓÉϵͳÀ´¿ØÖƵģ¬ÕâÖÖ×´¿ö¼´³ÆÎª·Ç°ó¶¨µÄ¡£°ó¶¨×´¿öÏ£¬Ôò¹ËÃû˼Ò壬¼´Ä³¸öÏ̶̹߳¨µÄ"°ó"ÔÚÒ»¸öÇá½ø³ÌÖ®ÉÏ¡£±»°ó¶¨µÄÏ߳̾ßÓнϸߵÄÏìÓ¦ËÙ¶È£¬Õâ ......