ÒÔÏÂÄÚÈÝÕª×Ôjavaº¯ÊýµÄ²ÎÊý´«µÝºÍStringÀàÐÍ http://www.blogjava.net/thuixy/archive/2009/06/06/280302.html
˵ÍêÁËjavaµÄStringÀàÐÍ£¬ÎÒÃÇ×îºó¿´¿´javaº¯Êý²ÎÊýµÄ´«µÝ£¬µ½µ×ÊÇÖµ´«µÝ»¹ÊÇÒýÓô«µÝÄØ£¿Ò»°ãµÄ˵·¨ÊǶÔÓÚ»ù±¾ÀàÐͱÈÈçint¡¢charÊÇÖµ´«µÝ£¬¶ÔÓÚ¶ÔÏóÀàÐÍÊÇÒýÓô«µÝ¡£ÕâÖÖ˵·¨Ã»´í£¬µ«ÊÇÇë¿´ÏÂÃæµÄÀý×Ó£º
String s=”abc”;
change(s);
System.out.println(s);
public void change(String str)
{
str=”abcd”;
}
ÉÏÃæµÄ³ÌÐò»áÓÐʲô½á¹ûÄØ£¿´òÓ¡abc»¹ÊÇabcd£¬ÔËÐгÌÐò»á·¢ÏÖ´òÓ¡µÄÊÇabc£¬ÍêÁË£¬Ëƺõ²»ºÏºõ³£Àí£¬°´Àí˵String Ò²ÊǶÔÏó£¬Ó¦¸ÃÊÇÒýÓô«µÝ²Å¶Ô°¡£¬ÓеÄͬѧ֪µÀjavaµÄStringÀàÐÍÊDz»¿É±äÀàÐÍ£¬»áµÃ³ö½á¹ûabc£¬¾ßÌå½âÊÍÊÇString¾ÍÏ൱ÓÚÊÇchar[]µÄ°ü×°Àà¡£°ü×°ÀàµÄÌØÖÊÖ®Ò»¾ÍÊÇÔÚ¶ÔÆäÖµ½øÐвÙ×÷ʱ»áÌåÏÖ³öÆä¶ÔÓ¦µÄ»ù±¾ÀàÐ͵ÄÐÔÖÊ¡£ÔÚ²ÎÊý´«µÝʱ£¬°ü×°Àà¾ÍÊÇÈç´ËÌåÏֵġ£ËùÒÔ£¬¶ÔÓÚStringÔÚÕâÖÖÇé¿öϵÄÕ¹ÏÖ½á¹ûµÄ½âÊ;Í×ÔÈ»¶øÈ»µÃ³öÁË¡£Í¬ÑùµÄ£¬Integer¡¢FloatµÈÕâЩ°ü×°ÀàºÍStringÔÚÕâÖÖÇé¿öϵıíÏÖÊÇÏàͬµÄ¡£ÏÂÃæ´Óº¯Êý²ÎÊý´«µÝµÄ·½Ê½À´Àí½âÒ²¿ÉÒԵóöÏàͬµÄ½á¹û¡£
javaµÄ²ÎÊý´«µÝ±¾ÖÊÉ϶¼ ......
ÃæÊÇÎÒÈÏΪÕýÈ·µÄ×ö·¨£¨½áºÏ×Ô¼ºµÄ¾ÑéдµÄ£¬Èç¹û²»ÕýÈ·£¬Çë´ó¼ÒÖ¸Õý£©£º
¡¡¡¡ÎҵĻæÍ¼¿Ø¼þÊÇJPanel£¬
¡¡¡¡³öÏÖ¹ö¶¯ÌõµÄǰÌᣬ±ØÐëÈûæÍ¼¿Ø¼þ·ÅÔÚJScrollPaneÉÏ£¬
¡¡¡¡¶ÔÓÚJScrollPaneµÄLayout£¬Ã»ÓÐÌØÊâÒªÇó£¬ÏÂÃæÕâÑù¼´¿É£º
¡¡¡¡view plaincopy to clipboardprint?
¡¡¡¡jScrollPane1.setViewportView(jPanel1);
¡¡¡¡jScrollPane1.setViewportView(jPanel1);
¡¡¡¡È»ºó£¬ÁíÍâά³ÖÒ»¸öBufferedImage£¨¼ÙÉè½Ðimage1£©£¬¸÷ÖÖͼÏñµÄ´¦Àí¶¼ÊǶÔimage1½øÐС£
¡¡¡¡»µÄʱºò£¬Ö»ÐèÒª°Ñimage1»ÔÚjPanel1Éϼ´¿É¡£
¡¡¡¡ÏÂÃæÊÇÈçºÎ»Í¼£º
¡¡¡¡£¨£±£©ÔÚÉú³ÉjPanel1µÄʱºò£¬ÐèÒª¸²¸Çpaint(Graphics g)·½·¨£¬ÔÚÀïÃæ°Ñimage1»ÉÏÈ¥£º
¡¡¡¡view plaincopy to clipboardprint?
¡¡¡¡jPanel1 = new JPanel(){
¡¡¡¡ @Override
¡¡¡¡ public void paint(Graphics g) {
¡¡¡¡ super.paint(g);
¡¡¡¡ if(image1 != null){
¡¡¡¡ g.clearRect(0, 0, this.getWidth(), this.getHeight());
¡¡¡¡ g.drawImage(image1, 0, 0, null);
¡¡¡¡ g.dispose();
¡¡¡¡ }
¡¡¡¡ }
¡¡¡¡};
¡¡¡¡jPanel1 = new JPanel(){
¡¡¡¡ @Override
¡¡¡¡ public void paint(Graphics g) {
¡¡¡¡ su ......
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â(collections£¬serialization£¬streams£¬networking£¬ multithreading£¬reflection£¬event£¬handling£¬NIO£¬localization£¬ÒÔ¼°ÆäËû)¡£
¡¡¡¡3.ÄãÓ¦¸ÃÁ˽âJVM£¬classloaders£¬classreflect£¬ÒÔ¼°À¬»ø»ØÊյĻù±¾¹¤×÷»úÖÆµÈ¡£ÄãÓ¦¸ÃÓÐÄÜÁ¦·´±àÒëÒ»¸öÀàÎļþ²¢ÇÒÃ÷°×һЩ»ù±¾µÄ»ã±àÖ¸Áî¡£
¡¡¡¡4.Èç¹ûÄ㽫Ҫд¿Í»§¶Ë³ÌÐò£¬ÄãÐèҪѧϰWEBµÄСӦÓóÌÐò(applet)£¬±ØÐèÕÆÎÕGUIÉè¼ÆµÄ˼ÏëºÍ·½·¨£¬ÒÔ¼°×ÀÃæ³ÌÐòµÄSWING£¬AWT£¬ SWT¡£Ä㻹Ӧ¸Ã¶ÔUI²¿¼þµÄJAVABEAN×é¼þģʽÓÐËùÁ˽⡣JAVABEANSÒ²±»Ó¦ÓÃÔÚJSPÖÐÒÔ°ÑÒµÎñÂß¼´Ó±íÏÖ²ãÖзÖÀë³öÀ´¡£
¡¡¡¡5.ÄãÐèҪѧϰjavaÊý¾Ý¿â¼¼Êõ£¬ÈçJDBCAPI²¢ÇÒ»áʹÓÃÖÁÉÙÒ»ÖÖpersistence/ORM¹¹¼Ü£¬ÀýÈçHibernate£¬JDO£¬ CocoBase£¬TopLink£¬InsideLiberator(¹ú²úJDOºì¹¤³§Èí¼þ)»òÕßiBatis¡£
¡¡¡¡6.Ä㻹Ӧ¸ÃÁ˽â¶ÔÏó¹ØÏµµÄ×迹ʧÅäµÄº¬Ò壬ÒÔ¼°ËüÊÇÈçºÎÓ°ÏìÒµÎñ¶ÔÏóµÄÓë¹ØÏµÐÍÊý¾Ý¿â ......
Genaral Principles Ò»°ãÔ¼¶¨
1.Adhere to the style
of the original.
±£³Ö×î³õµÄÑùʽ¡£
2.Adhere to the Principle of Least
Astonishment.
×ñÊØ×îС¾ªÆæÔÔò¡£
3.Do it right the first time.
µÚÒ»´Î¾ÍÓ¦µ±×öºÃ¡£
4.Document any deviations.
¶ÔÓÚÈκα³Àë¶¼Ó¦µ±Îĵµ×¢ÊÍ¡£
Formatting
Conventions ¸ñʽԼ¶¨
5.Indent nested code.
Ô¼ÊøÇ¶Ì×´úÂë¡£
6.Break up long lines.
²ð·Ö³¤ÐС£
7.Include white space.
°üº¬¿Õ¸ñ¡£
8.Do not use "hard" tabs.
²»ÒªÊ¹ÓÃtab¼ü¡£
Naming
Conventions ÃüÃûÔ¼¶¨
9.Use meaningful names.
ʹÓÃÓÐÒâÒåµÄÃû³Æ¡£
10.Use familiar names.
ʹÓÃÊìϤµÄÃû³Æ¡£
11.Question excessively
long names.
²»ÒªÊ¹Óùý³¤µÄÃû³Æ¡£
12.Join the vowel generation.
¼ÓÈëÔªÒô×Öĸ¡£
13.Capitalize only the first letter in acronyms.
Ö»¶Ô¼ò³ÆµÄµÚÒ»¸ö×Öĸ´óд¡£
14.Do not use names that differ only in case.
²»ÒªÊ¹ÓÃÖ»ÒÀÀµÓÚ´óСдÀ´Çø·ÖµÄÃû³Æ¡£
Package Names °üÃüÃû
15.Use
the reversed, lowercase form of your organizatio ......
½«´«ÈëµÄÈÎÒâÖÐÎÄ×Ö·ûת»»ÎªÆ´Òô
£¨1£©¶àÒô×ÖֻȡÆäÖÐÒ»¸ö¶ÁÒô¡£
£¨2£©ÉúƧ×ÖÈç¹ûûÓÐÆ´Òô£¬Ê¹ÓÃunknownÌæ´ú¡£
package com.amgotech;
public class ChineseSpelling
{
private static int[] pyvalue = new int[] { -20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -20230, -20051, -20036, -20032, -20026, -20002, -19990, -19986, -19982, -19976, -19805, -19784, -19775, -19774, -19763, -19756, -19751, -19746, -19741, -19739, -19728, -19725, -19715, -19540, -19531, -19525, -19515, -19500, -19484, -19479, -19467, -19289, -19288, -19281, -19275, -19270, -19263, -19261, -19249, -19243, -19242, -19238, -19235, -19227, -19224, -19218, -19212, -19038, -19023, -19018, -19006, -19003, -18996, -18977, -18961, -18952, -18783, -18774, -18773, -18763, -18756, -18741, -18735, -18731, -18722, -18710, -18697, -18696, -18526, -18518, -18501, -18490, -18478, -18463, -18448, -18447, -18446, -18239, -18237, -18231, -18220, -18211, -18201, -18184, -18183, -18181, -18012, -17997, ......
ÔÎijö´¦£ºhttp://java.csdn.net/a/20100308/259219.html
Ãô½Ý¿ª·¢µÄÀíÄîÒѾÁ÷ÐÐÁ˺ܳ¤µÄʱ¼ä£¬ÔÚÃô½Ý¿ª·¢ÖеĿª·¢µü´ú½×¶ÎÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÎå¸ö²½Ö裬À´ÓÐЧµÄÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
JavaÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾Ñé¡¢Java´úÂë±àдϰ¹ß£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά »¤£¬ÐèÒª½Ï´óµÄ²âÊÔͶÈëºÍÖÜÆÚµÈÎÊÌâ¡£ÕâЩÎÊÌâÔÚÒ»¸öÏîÄ¿×é³õ½¨¡¢ÐèÇóºÍÉè¼Æ¾ù¾ßÓв»ÍêÈ«¿ÉÔ¤ÆÚÐÔºÍÍ걸ÐÔµÄÈ«ÐÂÏîÄ¿Öн«ÓÈΪͻ³ö¡£
Èçͼ1Ëùʾ£¬Ãô½Ý¿ª·¢¹ý³Ì¾ÀúÐèÇóµ÷ÑУ¬ÓÃÀý·ÖÎöºÍÓÃÀý·Ö½â£¬½øÈ뿪·¢µü´ú½×¶Î¡£ÔÚÿ¸öµü´ú¹ý³ÌÖУ¬¿ÉÒÔ²ÉÓÃÒÔϲ½ÖèÀ´±£Ö¤ºÍÌá¸ßÕû¸öÏîÄ¿µÄ´ú ÂëÖÊÁ¿£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ;¾²Ì¬´úÂë·ÖÎö(staticcodereview);µ¥Ôª²âÊÔ;³ÖÐø¼¯³É;´úÂëÆÀÉóºÍÖØ¹¹ (Review&Refactor)¡£ÏÂÎĽ«Õë¶Ôÿ¸ö²½ÖèºÍÆäËùʹÓõŤ¾ß¡¢·½·¨½øÐÐÏêϸÃèÊö¡£
ͼ1.Ãô½Ý¿ª·¢ÖеÄJava´úÂëÖÊÁ¿±£Ö¤²½Öè
²½ÖèÒ»£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ
¹æ·¶Í³Ò»µÄ±àÂë»áÔö¼ÓÏîÄ¿´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ£¬µ«Êµ¼ÊÇé¿öÍùÍùÊÇÏîÄ¿×éÄÚµÄJava´úÂ뿪·¢ÈËÔ±µÄ±àÂë·ç¸ñ³£³£¸÷²»Ïàͬ£¬Õâ¿ÉÄÜÊÇÓÉÓÚ²»Í¬ µÄ¾Ñéϰ¹ß»òÕßȱ·¦±àÂë¹æ·¶·½ÃæµÄѧϰÔì³ÉµÄ¡£ÕâÑùÒ»À´£¬ÆäËûÏîÄ ......