¡¡¡¡¶ÔÏóÐòÁл¯ºÍ·´ÐòÁл¯µÄ×÷ÓÃÊÇʲô£¬Ò»Ö±²»ÖªµÀ£¬¿´¿´ÏÂÃæµÄ½éÉÜÁ˽âÁËһЩ¡£
¡¡¡¡ÎÒÃǶ¼ÖªµÀ£¬µ±ÎÒÃÇnewÒ»¸ö¶ÔÏóµÄʱºò£¬Java¾Í»áÔÚÄÚ´æÖд´½¨Ò»¸öÏàÓ¦µÄ¶ÔÏó¹©ÎÒÃǺóÐøÊ¹Óá£Èç¹ûÎÒÃǰÑÕâ¸öJava³ÌÐò¹ØµôµÄ»°£¬ÄÇôÕâ¸ö¶ÔÏóÒ²¾ÍËæ×ÅÎÒÃdzÌÐòµÄ¹Ø±Õ¶øÏûʧ£¬ÈçºÎ²ÅÄÜÔÚÕâÖÖÇé¿öϼÌÐø±£´æÕâ¸ö¶ÔÏóÄØ£¿Õâ¾ÍÊÇJavaÐòÁл¯Òª×öµÄÊÂÇé¡£¼òµ¥µØËµ£¬Java¶ÔÏóÁл¯¾ÍÊÇÒª°ÑÄÚ´æÖеÄJava¶ÔÏó±£´æÏÂÀ´(³Ö¾Ã»¯)£¬ÒÔ±ã¿ÉÒÔÔÚÍøÂçÉÏ´«Êä»ò½ñºó¼ÌÐøÊ¹ÓÃÕâ¸ö¶ÔÏóÖеÄÊý¾Ý¡£
¡¡¡¡ÄÇô¶ÔÏóÐòÁл¯µ½µ××öÁËÄÄЩÊÂÄØ£¿ÆäʵºÜ¼òµ¥£¬Ò»¸ö¶ÔÏó¶ÔÓÚÎÒÃÇÀ´ËµµÄÒâÒåÆäʵ¾ÍÊǶÔÏóÀï±£´æµÄÄÇЩÊý¾Ý£¬ÐòÁл¯¾ÍÊǰÑÕâЩÊý¾Ýת»»³É¶þ½øÖƱíʾµÄ¶ÔÏóÁ÷£¬Äã¿ÉÒÔ°ÑËüͨ¹ýÍøÂç´«Êäµ½Ô¶³Ì£¬µ±È»£¬Ò²¿ÉÒÔ°ÑÕâЩÐÅÏ¢±£´æÔÚ±¾µØµÄÎļþÀï¡£ÏÂÃæ¸ø³öÒ»¸ö×î¼òµ¥µÄJavaµÄÐòÁл¯Óë·´ÐòÁл¯µÄÀý×Ó£¬¿´¶®Õâ¸öÀý×Ó£¬ÏàÐÅÄãÓ¦¸ÃÒ²ÄܸúÎÒÒ»Ñù£¬´ó¸ÅÀí½âÕâÊÇÔõôһ»ØÊÂÁË¡£
Ê×ÏÈÊÇÒ»¸öPeraonÀࣺ
Person.java
Java´úÂ룺
package com.lanber.serial;
import java.io.Serializable;
public class Person implements Serializab ......
1.½âÊÍ
ÒòΪjspÓõ½ÁËSiteDataÀ࣬¶øSiteData¼Ì³ÐBasePageÀ࣬
ËùÒÔBasePage¹¹Ô캯Êý
BasePage¹¹Ô캯Êý
initializeByCityCodeº¯Êýmain
keyµÄÖµmain.UpImages
vµÄÖµmain.UpImages
2.Ö´ÐÐÍê BasePage.java
ÖеÄinitCommon()ºó£¬
Ìøµ½SiteData.java ÖÐµÄ process();·½·¨£¬
public SiteData(HttpServletRequest request,
ServletContext context, HttpServletResponse response,
JspWriter out)
{
super(request, context, response, out);
process();//¡¾×¢Òâ´Ë·½·¨±»×ÓÀàoverrieds ¡¿
}
3. process();´¦ÀíÍê±Ïºó£¬×ªµ½AjaxSiteData.javaÖÐ
public AjaxSiteData(HttpServletRequest request,
ServletContext context, HttpServletResponse response,
JspWriter out)
{
super(request, context, response, out);
normalhttp = false;
}
Ö´ÐÐÍênormalhttp = false; ......
1.½âÊÍ
ÒòΪjspÓõ½ÁËSiteDataÀ࣬¶øSiteData¼Ì³ÐBasePageÀ࣬
ËùÒÔBasePage¹¹Ô캯Êý
BasePage¹¹Ô캯Êý
initializeByCityCodeº¯Êýmain
keyµÄÖµmain.UpImages
vµÄÖµmain.UpImages
2.Ö´ÐÐÍê BasePage.java
ÖеÄinitCommon()ºó£¬
Ìøµ½SiteData.java ÖÐµÄ process();·½·¨£¬
public SiteData(HttpServletRequest request,
ServletContext context, HttpServletResponse response,
JspWriter out)
{
super(request, context, response, out);
process();//¡¾×¢Òâ´Ë·½·¨±»×ÓÀàoverrieds ¡¿
}
3. process();´¦ÀíÍê±Ïºó£¬×ªµ½AjaxSiteData.javaÖÐ
public AjaxSiteData(HttpServletRequest request,
ServletContext context, HttpServletResponse response,
JspWriter out)
{
super(request, context, response, out);
normalhttp = false;
}
Ö´ÐÐÍênormalhttp = false; ......
package com.citycollege.stw;
public class testreplace {
public static final String replace( String line, String oldString, String newString )
{
if (line == null)
{
return null;
}
int i=0;
if ( ( i=line.indexOf( oldString, i ) ) >= 0 )
{
char [] line2 = line.toCharArray(); //×Ö·û´®·ÅÈëÊý×é
char [] newString2 = newString.toCharArray(); //ÒªÌæ»»µÄ×Ö·û´®
int oLength = oldString.length(); //±»Ìæ»»µÄ×Ö·û´®µÄ³¤¶È
StringBuffer buf = new StringBuffer(line2.length);
buf.append(line2, 0, i).append(newString2);
i += oLength;
int j = i;
......
×ðÖØÔ´´£¬±¾Ìùת×Ô:http://longsy.javaeye.com/blog/382880
µ±Êý×é×÷Ϊ·½·¨´«µÝ²ÎÊýʱ£¬¼ÙÈçÐè´¦Àí´ËÊý×飬ÔòÒ»°ãÓÐÁ½ÖÖ×ö·¨£¨ÒÔһάÊý×éΪÀý£©:
//µÚÒ»ÖÖ
public static int[] processArray1(int[] array) {
int[] tempArr = new int[array.length];
for(int i=0; i<array.length; i++) {
tempArr[i] = array[i];
}
//process temp array
for(int i=0; i<tempArr.length; i++) {
tempArr[i] = tempArr[i] * 2;
}
return tempArr;
}
//µÚ¶þÖÖ
public static int[] processArray2(int[] array) {
//process array
for(int i=0; i<array.length; i++) {
array[i] = array[i] * 2;
}
return array;
}
ÕâÁ½ÖÖ´¦ÀíÊý×éÓкβ»Í¬ÄØ£¬ÎÒÃÇÓÃʾÀýÀ´ËµÃ÷:
public static void main(String[] args) {
int[] baseArr = {1,2,3,4};
int[] arr;
//use processArray1
arr = processArray1(baseArr);
//print arr
for(int i=0; i<arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.print("\n-----------------------\n"); ......
×òÌìÍíÉÏÒÔΪ´óP·ÖÏíÁËjavaÐÔÄÜÓÅ»¯¼°ÄÚ´æÄ£Ðͼ°javaÀ¬»ø»ØÊÕ»úÖÆ
ÎÒͨ¹ý»¥ÁªÍø²éѯ×ÊÁϲ¢ÕûÀíÏà¹ØÑ§Ï°×ÊÁÏÈçÏ£º
1£®À¬»øÊÕ¼¯Ëã·¨µÄºËÐÄ˼Ïë
JavaÓïÑÔ½¨Á¢ÁËÀ¬»øÊÕ¼¯»úÖÆ£¬ÓÃÒÔ¸ú×ÙÕýÔÚʹÓõĶÔÏóºÍ·¢ÏÖ²¢»ØÊÕ²»ÔÙʹÓã¨ÒýÓ㩵ĶÔÏ󡣸ûúÖÆ¿ÉÒÔÓÐЧ·À·¶¶¯Ì¬ÄÚ´æ·ÖÅäÖпÉÄÜ·¢ÉúµÄÁ½¸öΣÏÕ£ºÒòÄÚ´æÀ¬»ø¹ý¶à¶øÒý·¢µÄÄÚ´æºÄ¾¡£¬ÒÔ¼°²»Ç¡µ±µÄÄÚ´æÊÍ·ÅËùÔì³ÉµÄÄÚ´æ·Ç·¨ÒýÓá£
À¬»øÊÕ¼¯Ëã·¨µÄºËÐÄ˼ÏëÊÇ£º¶ÔÐéÄâ»ú¿ÉÓÃÄÚ´æ¿Õ¼ä£¬¼´¶Ñ¿Õ¼äÖеĶÔÏó½øÐÐʶ±ð£¬Èç¹û¶ÔÏóÕýÔÚ±»ÒýÓã¬ÄÇô³ÆÆäΪ´æ»î¶ÔÏ󣬷´Ö®£¬Èç¹û¶ÔÏó²»ÔÙ±»ÒýÓã¬ÔòΪÀ¬»ø¶ÔÏ󣬿ÉÒÔ»ØÊÕÆäÕ¼¾ÝµÄ¿Õ¼ä£¬ÓÃÓÚÔÙ·ÖÅä¡£À¬»øÊÕ¼¯Ëã·¨µÄÑ¡ÔñºÍÀ¬»øÊÕ¼¯ÏµÍ³²ÎÊýµÄºÏÀíµ÷½ÚÖ±½ÓÓ°Ïì×ÅϵͳÐÔÄÜ£¬Òò´ËÐèÒª¿ª·¢ÈËÔ±×ö±È½ÏÉîÈëµÄÁ˽⡣
2£®´¥·¢Ö÷GC£¨Garbage Collector£©µÄÌõ¼þ£¨2¸öÌõ¼þ£©
JVM½øÐдÎGCµÄƵÂʺܸß,µ«ÒòΪÕâÖÖGCÕ¼ÓÃʱ¼ä¼«¶Ì,ËùÒÔ¶Ôϵͳ²úÉúµÄÓ°Ïì²»´ó¡£¸üÖµµÃ¹Ø×¢µÄÊÇÖ÷GCµÄ´¥·¢Ìõ¼þ,ÒòΪËü¶ÔϵͳӰÏìºÜÃ÷ÏÔ¡£×ܵÄÀ´Ëµ,ÓÐÁ½¸öÌõ¼þ»á´¥·¢Ö÷GC:
1£©µ±Ó¦ÓóÌÐò¿ÕÏÐʱ,¼´Ã»ÓÐÓ¦ÓÃÏß³ÌÔÚÔËÐÐʱ,GC»á±»µ÷Óá£ÒòΪGCÔÚÓÅÏȼ¶×îµÍµÄÏß³ÌÖнøÐÐ,ËùÒÔµ±Ó¦ÓÃæʱ,GCÏ߳̾Ͳ»»á±»µ÷ÓÃ,µ«ÒÔÏÂÌõ¼þ³ýÍâ¡£
  ......
Class.forName(xxx.xx.xx) ·µ»ØµÄÊÇÒ»¸öÀà Ê×ÏÈÄãÒªÃ÷°×ÔÚjavaÀïÃæÈκÎclass¶¼Òª×°ÔØÔÚÐéÄâ»úÉϲÅÄÜÔËÐС£Õâ¾ä»°¾ÍÊÇ×°ÔØÀàÓõÄ(ºÍnew ²»Ò»Ñù£¬Òª·ÖÇå³þ)¡£
ÖÁÓÚʲôʱºòÓã¬Äã¿ÉÒÔ¿¼ÂÇÒ»ÏÂÕâ¸öÎÊÌ⣬¸øÄãÒ»¸ö×Ö·û´®±äÁ¿£¬Ëü´ú±íÒ»¸öÀàµÄ°üÃûºÍÀàÃû£¬ÄãÔõôʵÀý»¯Ëü£¿Ö»ÓÐÄãÌáµ½µÄÕâ¸ö·½·¨ÁË£¬²»¹ýÒªÔÙ¼ÓÒ»µã¡£
A a = (A)Class.forName("pacage.A").newInstance();
ÕâºÍÄã
A a = new A()£»
ÊÇÒ»ÑùµÄЧ¹û¡£
¹ØÓÚ²¹³äµÄÎÊÌâ ´ð°¸Êǿ϶¨µÄ£¬jvm»áÖ´Ðо²Ì¬´úÂë¶Î£¬ÄãÒª¼Çסһ¸ö¸ÅÄ¾²Ì¬´úÂëÊǺÍclass°ó¶¨µÄ£¬class×°ÔØ³É¹¦¾Í±íʾִÐÐÁËÄãµÄ¾²Ì¬´úÂëÁË¡£¶øÇÒÒÔºó²»»áÔÙ×ßÕâ¶Î¾²Ì¬´úÂëÁË¡£
Class.forName(xxx.xx.xx) ·µ»ØµÄÊÇÒ»¸öÀà
Class.forName(xxx.xx.xx);µÄ×÷ÓÃÊÇÒªÇóJVM²éÕÒ²¢¼ÓÔØÖ¸¶¨µÄÀ࣬Ҳ¾ÍÊÇ˵JVM»áÖ´ÐиÃÀàµÄ¾²Ì¬´úÂë¶Î
¶¯Ì¬¼ÓÔØºÍ´´½¨Class ¶ÔÏ󣬱ÈÈçÏë¸ù¾ÝÓû§ÊäÈëµÄ×Ö·û´®À´´´½¨¶ÔÏó
String str = Óû§ÊäÈëµÄ×Ö·û´®
Class t = Class.forName(str);
t.newInstance();
ÔÚ³õʼ»¯Ò»¸öÀ࣬Éú³ÉÒ»¸öʵÀýµÄʱºò£¬newInstance()·½·¨ºÍnew¹Ø¼ü×Ö³ýÁËÒ»¸öÊÇ·½·¨£¬Ò»¸öÊǹؼü×ÖÍ⣬×îÖ÷ÒªÓÐÊ²Ã´Çø±ð£¿ËüÃǵÄÇø±ðÔÚÓÚ´´½¨¶ÔÏóµÄ·½Ê½²»Ò»Ñù£¬Ç ......