ÏàÐÅ´ó¼ÒÒѾ¶ÔEclipseµÄʹÓÃÓÐÒ»¶¨µÄ¾Ñé,ÔÚ±àдjavaÔ´´úÂëÊǼþÌý×ÔºÀµÄÊÂ,´óÒª±àÒëÒ»´óÅújavaÔ´´úÂëȴʵ¼ù±È½Ï¿àÄÕµÄÊÂÇé,Èç¹ûÒ»¸öÒ»¸öµã"run"È¥±àÒëʵÔÚÌ«ÀË·Ñʱ¼äÁË.ÏëÍÑÀë"¿àº£",ÏÖÔھ͸ú×ÅżÃÇÒ»Æë×ß°É,²½ÈëAntµÄʹÓÃÀú³Ì.
1.°²×°Ant
a.ʹÓÃEclipse.3.2°æ±¾×Ô´øµÄAnt¿ÉÒÔʡȥ°²×°µÄÂé·³,ĬÈϰ汾ʱAnt-1.6.5,ÏÖÔÚ×îеÄAntÊÇ1.7.0
b.ÊÖ¹¤°²×°Ant,ÔÚhttp://ant.apache.orgÉÏÏÂÔØ×îеÄant-1.7.0
½âѹµ½ÈÎÒâĿ¼ÏÂ,ÉèÖÃpathÓëclasspathÒÔ¼°ANT_HOME,Ö®ºó¾Í¿ÉÒÔÔÚÃüÁîÐÐģʽÏÂÔËÐÐantÁË.
(¸öÈ˽¨Ò黹ÊÇÈ¥¹ÙÍøÏÂÔØÒ»¸ö×îаæµÄAnt,ÒÔΪeclipseÖÐÒÔ²å¼þÐÎʽĬÈϰ²×°µÄantͨ³£Ã»ÓÐdoc,ϸöant-1.7.0,¿´¿´ÀïÃæµÄdoc¶ÔÏêϸµÄѧϰantÊǺÜÓÐÓõÄ)
2.simple¿ª·¢ÊµÀý
a.ÔÚeclipseн¨Ò»¸öprojectÃûΪHelloWorld,ÔÚsrcĿ¼ÏÂн¨Ò»¸öÃûΪhelloworldµÄpackage.
b.ÔÚhelloworld°üÖÐ,н¨Ò»¸öÀà,ÃûΪHelloWorld
Ô´ÂëÈçÏÂ:
package helloworld;
public ......
¹²ÏíÄÚ´æÔÚJavaÖÐʵÏÖºÍÓ¦ÓÃ
Õª×Ôhttp://zc4530.javaeye.com/blog/326186
1¡¢¹²ÏíÄÚ´æ¶ÔÓ¦Ó¦Óÿª·¢µÄÒâÒå
¶ÔÊìÖªUNIXϵͳӦÓÿª·¢µÄ³ÌÐòÔ±À´Ëµ£¬IPC£¨InterProcess Communication£©»úÖÆÊǷdz£ÊìϤµÄ£¬IPC»ù±¾°üÀ¨¹²ÏíÄÚ´æ¡¢ÐźŵƲÙ×÷¡¢ÏûÏ¢¶ÓÁС¢ÐźŴ¦ÀíµÈ²¿·Ö£¬ÊÇ¿ª·¢Ó¦ÓÃÖзdz£ÖØÒªµÄ±Ø²»¿ÉÉٵŤ¾ß¡£ÆäÖй²ÏíÄÚ´æIPC»úÖÆµÄ¹Ø¼ü£¬¶ÔÓÚÊý¾Ý¹²Ïí¡¢ÏµÍ³¿ìËÙ²éѯ¡¢¶¯Ì¬ÅäÖᢼõÉÙ×ÊÔ´ºÄ·ÑµÈ¾ùÓжÀµ½µÄÓŵ㡣
¶ÔÓ¦UNIXϵͳÀ´Ëµ£¬¹²ÏíÄÚ´æ·ÖΪһ°ã¹²ÏíÄÚ´æºÍÓ³ÏñÎļþ¹²ÏíÄÚ´æÁ½ÖÖ£¬¶ø¶ÔÓ¦Windows£¬Êµ¼ÊÉÏÖ»ÓÐÓ³ÏñÎļþ¹²ÏíÄÚ´æÒ»ÖÖ¡£ËùÒÔJavaÓ¦ÓÃÖУ¬Ò²ÊÇÖ»ÄÜ´´½¨Ó³ÏñÎļþ¹²ÏíÄÚ´æ¡£
ÔÚJavaÓïÑÔÖУ¬»ù±¾ÉÏûÓÐÌá¼°¹²ÏíÄÚ´æÕâ¸ö¸ÅÄµ«ÊÇ£¬ÔÚijһЩӦÓÃÖУ¬¹²ÏíÄÚ´æÈ·Êµ·Ç³£ÓÐÓã¬ÀýÈç²ÉÓÃJavaÓïÑԵķֲ¼Ê½Ó¦ÓÃϵͳÖУ¬´æÔÚ×Å´óÁ¿µÄ·Ö²¼Ê½¹²Ïí¶ÔÏ󣬺ܶàʱºòÐèÒª²éѯÕâЩ¶ÔÏóµÄ״̬£¬ÒԲ鿴ϵͳÊÇ·ñÔËÐÐÕý³£»òÕßÁ˽âÕâЩ¶ÔÏóµÄĿǰµÄһЩͳ¼ÆÊý¾ÝºÍ״̬¡£Èç¹û²ÉÓÃÍøÂçͨÐŵķ½Ê½£¬ÏÔÈ»»áÔö¼ÓÓ¦ÓõĶîÍ⸺µ££¬Ò²Ôö¼ÓÁËһЩ²»±ØÒªµÄÓ¦Óñà³Ì¡£¶øÈç¹û²ÉÓù²ÏíÄÚ´æµÄ·½Ê½£¬Ôò¿ÉÒÔÖ±½Óͨ¹ý¹²ÏíÄÚ´æ²é¿´¶ÔÏóµÄ״̬Êý¾ÝºÍͳ¼ÆÊý¾Ý£¬´Ó¶ø¼õÉÙÁËһЩ²»±ØÒªµÄÂé·³¡£
¹²ÏíÄÚ ......
¿ª·¢µÄʱºòÓÐʱºò»áÅöµ½ÕâÑùµÄÇé¿ö£¬ÎÒÃÇÔÚд³ÌÐòµÄʱºò²¢²»ÖªµÀÐèÒªµ÷ÓÃij¸ö¶ÔÏóµÄÄĸö·½·¨£¬Ö»ÓгÌÐòÔËÐкó£¬ÎÒÃDzÅÄܹ»ÖªµÀ¡£»òÐíÎÒÃÇÐèÒª¸ù¾Ý¿Í»§¶Ë´«¹ýÀ´µÄij¸öString²ÎÊýµÄÖµÀ´ÅжÏÎÒÃÇÓ¦¸ÃÖ´ÐÐÄĸö·½·¨¡£ÔÚÕâÖÖÇé¿öÏÂJAVAµÄ·´ÉäÖ´ÐоͿÉÒÔ°ïÉÏæÁË¡£ÏÂÃæÊÇÎÒ×öµÄÒ»¸ö¼òµ¥µÄ²âÊÔ´úÂ룬Ìṩ¸ø´ó¼Ò×ö¸ö²Î¿¼¡£
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class TestRef{
public static void main(String[] args){
TestBean test = new TestBean();
Method[] methods = test.getClass().getMethods();
test.setAbc("---");
for(int i=0;i<methods.length;i++){
if(methods[i].getName().equalsIgnoreCase("getabc")){
try {
System.out.println(methods[i].invoke(test));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
......
¾õµÃÁôÑÔºÜÓеÀÀí£¬ÎÄÕºÜÕÜÀí£¬Ò»²¢×ªÔØ ½¨Òé¶ÁÕß¿´ÔÎĵØÖ·
×÷Õߣº ÈîÒ»·å
ÈÕÆÚ£º 2008Äê12Ô 7ÈÕ
ÏÂÃæµÄÎÄÕÂÊÇMore Joel on SoftwareÒ»ÊéµÄµÚ8ƪ¡£
ÎÒ¾õµÃ·ÒëÄѶȺܴó£¬ÕûÕûÁ½¸ö¹¤×÷ÈÕ£¬Ã¿Ìì8СʱÒÔÉÏ£¬²ÅÒë³öÁË5000×Ö¡£³ýÁËJoel´óÁ¿Ê¹ÓÃÙµÓÁíÒ»¸öÔÒòÊÇÔÎÄÉæ¼°"±à³ÌÔÀí"£¬ºÃ¶à¶«Î÷ÎÒ¸ù±¾²»¶®¡£Ï£Íû¶®µÄÅóÓѰïÎÒ¿´¿´£¬ÒëÎÄÓÐûÓдíÎ󣬰üÀ¨ÎÒдµÄ×¢½â¡£
====================
JAVAÓïÑÔѧУµÄΣÏÕÐÔ
×÷ÕߣºJoel Spolsky
ÒëÕߣºÈîÒ»·å
ÔÎÄ£º http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html
·¢±íÈÕÆÚ 2005Äê12ÔÂ29ÈÕ£¬ÐÇÆÚËÄ
Èç½ñµÄº¢×Ó±äÀÁÁË¡£
¶à³ÔÒ»µã¿à£¬ÓÖ»áÔõôÑùÄØ£¿
ÎÒÒ»¶¨ÊDZäÀÏÁË£¬²Å»áÕâÑùà©à©²»Ðݵر§Ô¹ºÍ¸Ð̾"Èç½ñµÄº¢×Ó"¡£ÎªÊ²Ã´ËûÃDz»ÔÙÔ¸Òâ¡¢»òÕß˵²»ÔÙÄܹ»×ö¼è¿àµÄ¹¤×÷ÄØ¡£
µ±ÎÒ»¹ÊǺ¢×ÓµÄʱºò£¬Ñ§Ï°±à³ÌÐèÒªÓõ½´©¿×¿¨Æ¬£¨punched cards£©¡£ÄÇʱ¿ÉûÓÐÈκÎÀàËÆ"Í˸ñ"¼ü£¨Backspace key£©ÕâÑùµÄÏÖ´ú»¯¹¦ÄÜ£¬Èç¹ûÄã³ö´íÁË£¬¾ÍûÓа취¸üÕý£¬Ö»ºÃÈÓµô³ö´íµÄ¿¨Æ¬£¬´ÓÍ·ÔÙÀ´¡£
»ØÏë1991Ä꣬ÎÒ¿ªÊ¼ÃæÊÔ³ÌÐòÔ±µÄʱºò¡£ÎÒÒ»°ã»á³öһЩ±à³ÌÌ⣬ÔÊÐíÓÃÈκαà³ÌÓïÑÔ½âÌâ¡£ÔÚ99%µÄÇé¿öÏ£¬ÃæÊÔÕßÑ¡ÔñCÓïÑ ......
2008-04-26 09:25 ×÷Õߣºsuperman À´Ô´£ºÈüµÏÍø
[ÕªÒª] Ê×ÏÈ£¬±¾ÎĵÄÄ¿±ê¶ÁÕßÊÇÕýÔÚ´Óʼ¼Êõ¹¤×÷µÄ¼Ü¹¹Ê¦¡£±ÜÃâ½²ÊöһЩ³Â¸¯µÄ×î¼Ñʵ¼ù£¬ÀýÈç"ÈÕ³£¹¹½¨£¨build daily£©"¡¢"²âÊÔÒ»ÇУ¨test everything£©"ºÍ"¾³£¼¯³É£¨ integrate often£©¡£ ÈκξßÓгÆÖ°¼Ü¹¹Ê¦µÄÏîÄ¿¶¼Óзֹ¤Ã÷È·µÄ¡¢¶¨ÒåÁ¼ºÃµÄÍŶӽṹ¡£ËûÃÇ»¹Îª½øÐбàÂë¼ì²é¡¢¹¹½¨´úÂ루ÿÈÕ»òÔÚÐèҪʱ£©¡¢½øÐвâÊÔ£¨µ¥Ôª¡¢¼¯³ÉºÍϵͳµÄ£©¡¢²¿ÊðºÍÅäÖÃ/ÊͷŹÜÀí¶ø¾ß±¸ÒѼǼµÄ¹ý³Ì¡£
¡¡¡¡Ê×ÏÈ£¬±¾ÎĵÄÄ¿±ê¶ÁÕßÊÇÕýÔÚ´Óʼ¼Êõ¹¤×÷µÄ¼Ü¹¹Ê¦¡£ÎªÁ˱ÜÃâÀË·Ñ´ó¼ÒµÄ²ÅÖÇ£¬ÎÒ»á±ÜÃâ½²ÊöһЩ³Â¸¯µÄ×î¼Ñʵ¼ù£¬ÀýÈç"ÈÕ³£¹¹½¨£¨build daily£©"¡¢"²âÊÔÒ»ÇУ¨test everything£©"ºÍ"¾³£¼¯³É£¨ integrate often£©¡£ ÈκξßÓгÆÖ°¼Ü¹¹Ê¦µÄÏîÄ¿¶¼Óзֹ¤Ã÷È·µÄ¡¢¶¨ÒåÁ¼ºÃµÄÍŶӽṹ¡£ËûÃÇ»¹Îª½øÐбàÂë¼ì²é¡¢¹¹½¨´úÂ루ÿÈÕ»òÔÚÐèҪʱ£©¡¢½øÐвâÊÔ£¨µ¥Ôª¡¢¼¯³ÉºÍϵͳµÄ£©¡¢²¿ÊðºÍÅäÖÃ/ÊͷŹÜÀí¶ø¾ß±¸ÒѼǼµÄ¹ý³Ì¡£¡¡¡¡
¡¡¡¡Æä´Î£¬ÎÒ½«Ìø¹ýͨ³£´µÅõµÄ×î¼Ñʵ¼ù£¬ÀýÈç"»ùÓÚ½Ó¿ÚµÄÉè¼Æ"¡¢"ʹÓÃÖøÃûµÄÉè¼ÆÄ£ÐÍ"ÒÔ¼°"ʹÓÃÃæÏò·þÎñµÄ¼Ü¹¹"µÈ¡£Ïà·´£¬ÎÒ½«¼¯Öн²ÊöÎÒÔøÑ§¹ý²¢ÇÒʹÓÃÁËÈô¸ÉÄêµÄ6£¨²»ÊǺࣩܶ¸ö·½ÃæµÄin-the-trench¿Î³Ì¡£×îºó£¬±¾Î ......
1. Multiply-Thread
Locks offer two primary features: mutual exclusion and visibility. Mutual exclusion means only one thread at a time may hold a given lock, so only one thread at a time will be using the shared data. Visibility is to ensure that changes made to shared data prior to releasing a lock are made visible to another thread that subsequently acquires that lock
you must ensure that your threads spend most of their time actually doing work, rather than waiting for more work to do, or waiting for locks on shared data structures
An algorithm is said to be wait-free if every thread will continue to make progress in the face of
arbitrary delay (or even failure) of other threads. By contrast, a lock-free algorithm requires only that some thread always make progress. (Another way of defining wait-free is that each thread is guaranteed to correctly compute its operations in a bounded number of its own steps, regardless of the actions, timing, i ......