锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国偷自产在线,成人亚洲国产va天堂,亚洲日韩精品无码专区加勒比http://www.tkk7.com/brock/category/53326.htmlzh-cnSat, 25 Feb 2017 05:35:40 GMTSat, 25 Feb 2017 05:35:40 GMT60鍦ㄥ悓涓鍙版満鍣ㄤ笂瀹夎澶氫釜鐗堟湰jdk錛屼慨鏀圭幆澧冨彉閲忎笉鐢熸晥http://www.tkk7.com/brock/archive/2015/01/06/422073.htmlbrockbrockTue, 06 Jan 2015 03:45:00 GMThttp://www.tkk7.com/brock/archive/2015/01/06/422073.htmlhttp://www.tkk7.com/brock/comments/422073.htmlhttp://www.tkk7.com/brock/archive/2015/01/06/422073.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/422073.htmlhttp://www.tkk7.com/brock/services/trackbacks/422073.html

    鏈満宸茬粡瀹夎浜唈dk1.6錛岃屾瘮杈冩棭鏈熺殑欏圭洰闇瑕佷緷璧杍dk1.5錛屼簬鏄悓鏃跺湪鏈満瀹夎浜唈dk1.5鍜宩dk1.6. 

 瀹夎jdk1.5鍓嶏紝鎵цjava -version寰楀埌

java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)


瀹夎瀹宩dk1.5,騫朵慨鏀圭幆澧冨彉閲廕AVA_HOME涓篋:\devSoftware\jdk1.5.鍐嶆墽琛?nbsp;java -version鏃訛紝渚濈劧鏄劇ず錛?/p>

java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)


鐪嬩笂鍘伙紝鏂扮殑鐜鍙橀噺JAVA_HOME=D:\devSoftware\jdk1.5騫舵病鏈夌敓鏁堛?鍦ㄧ綉涓婃壘浜嗗緢澶氳祫鏂欐墠鍙戠幇錛?/p>

      鍦ㄥ畨瑁匤DK1.6鏃訛紙鏈満鍏堝畨瑁卝dk1.6鍐嶅畨瑁呯殑jdk1.5錛夛紝鑷姩灝唈ava.exe銆乯avaw.exe銆乯avaws.exe涓変釜鍙墽琛屾枃浠跺鍒跺埌浜咰:\Windows\System32鐩綍錛岀敱浜庤繖涓洰褰曞湪WINDOWS鐜鍙橀噺涓殑浼樺厛綰ч珮浜嶫AVA_HOME璁劇疆鐨勭幆澧冨彉閲忎紭鍏堢駭


瑙e喅鏂規錛氬皢java.exe,javaw.exe,javaws.exe鍒犻櫎鍗沖彲銆傚紑鍚柊鐨勫懡浠よ紿楀彛錛屽啀鎵цjava -version鏃訛紝灝卞緱鍒頒簡鏈熸湜涓殑緇撴灉

java version "1.5.0_17"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_17-b04)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_17-b04, mixed mode)




brock 2015-01-06 11:45 鍙戣〃璇勮
]]>
Calendar.getInstance() 涓嶈鏀懼湪寰幆閲? 褰撳績OutOfMemoryError: Java heap spacehttp://www.tkk7.com/brock/archive/2014/01/08/408673.htmlbrockbrockWed, 08 Jan 2014 03:26:00 GMThttp://www.tkk7.com/brock/archive/2014/01/08/408673.htmlhttp://www.tkk7.com/brock/comments/408673.htmlhttp://www.tkk7.com/brock/archive/2014/01/08/408673.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/408673.htmlhttp://www.tkk7.com/brock/services/trackbacks/408673.html List<Calendar> l = new ArrayList<Calendar>();
while (true) {
l.add(Calendar.getInstance());
System.out.println(l.size());
}
605473
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Calendar.<init>(Unknown Source)
at java.util.GregorianCalendar.<init>(Unknown Source)
at java.util.Calendar.createCalendar(Unknown Source)
at java.util.Calendar.getInstance(Unknown Source)
at jodatestmemory.Main.main(Main.java:25)

brock 2014-01-08 11:26 鍙戣〃璇勮
]]>
lucene絀洪棿绱㈠紩http://www.tkk7.com/brock/archive/2013/11/29/407021.htmlbrockbrockFri, 29 Nov 2013 08:15:00 GMThttp://www.tkk7.com/brock/archive/2013/11/29/407021.htmlhttp://www.tkk7.com/brock/comments/407021.htmlhttp://www.tkk7.com/brock/archive/2013/11/29/407021.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/407021.htmlhttp://www.tkk7.com/brock/services/trackbacks/407021.html1銆佸垱寤虹儲寮?  
-------------------------------------------------------------------------------------------
GeohashPrefixTree grid = new GeohashPrefixTree(ctx, 12);//< 1 meter == 11 maxLevels
        this.strategy = new RecursivePrefixTreeStrategy(grid, "shape");
        ((RecursivePrefixTreeStrategy) this.strategy).setDistErrPct(LUCENE_4464_distErrPct);//1% radius (small!)

 String wktstr = clobtoString(map.get("wkt"));//鍥懼艦淇℃伅
                String objectid = map.get("objectid").toString();//瀵硅薄id
                String name = map.get("name").toString();//瀵硅薄鍚嶇О
                Shape shape = wktGeoRect(wktstr);
                Document doc = new Document();
                doc.add(new StringField("objectidtable", objectid + tableName, Field.Store.YES));
                doc.add(new StringField("objectid", objectid, Field.Store.YES));
                doc.add(new StringField("tableName", tableName, Field.Store.YES));
                doc.add(new StringField("metadataid", mid.toString(), Field.Store.YES));
                doc.add(new TextField ("title", name, Field.Store.YES));
                if (shape != null) {
                    for (Field f : strategy.createIndexableFields(shape)) {
                        doc.add(f);
                    }
                    doc.add(new StoredField(strategy.getFieldName(), ctx.toString(shape)));
                }
  indexWriter.addDocument(doc);
---------------------------------------------------------------
    public Shape wktGeoRect(String wktStr) {
        JtsGeometry jtsGeom = null;
        try {
            if (StringUtils.trim(wktStr.substring(0, wktStr.indexOf("("))).equalsIgnoreCase("POINT")) {
                wktStr = wktStr.substring(wktStr.indexOf("(") + 1, wktStr.lastIndexOf(")"));
                String[] point = wktStr.split(" ");
                return ctx.makePoint(Double.parseDouble(point[0]), Double.parseDouble(point[1]));
            } else {
                jtsGeom = (JtsGeometry) ctx.readShape(wktStr);
            }
        } catch (Exception e) {
        }
        return jtsGeom;
    }
2銆佹煡璇㈢┖闂寸儲寮?br />
   @Test
    public void testshape() throws Exception {
                JtsSpatialContext ctx = JtsSpatialContext.GEO;
        Directory directory = new SimpleFSDirectory(new File("D:/platform/spatiallucence"));
        IndexReader[] indexReaders1 = new IndexReader[]{IndexReader.open(directory)};
        MultiReader multiReader = new MultiReader(indexReaders1);
        indexSearcher = new IndexSearcher(multiReader);
        indexSearcher.setSimilarity(new NoScoreSimilarity());
        GeohashPrefixTree grid = new GeohashPrefixTree(ctx, 12);//< 1 meter == 11 maxLevels
        strategy = new RecursivePrefixTreeStrategy(grid, "shape");
        ((RecursivePrefixTreeStrategy) strategy).setDistErrPct(0.025);//1% radius (small!)
        //POINT (121.591953019118 28.7566972164043)
        //Shape shape = ctx.readShape("POINT (121.454715099823 28.860595871703)");
        Shape shape = ctx.readShape("POLYGON(" +
                "(121.10836126349 28.84450508816,\n" +
                "121.12569906256 28.84450508816,\n" +
                "121.12569906256 28.856950537989,\n" +
                "121.10836126349 28.856950537989,\n" +
                "121.10836126349 28.84450508816))");
        shape = ctx.makeRectangle(121.10836126349d ,121.12569906256d, 28.84450508816d ,28.856950537989d);
        SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, shape);
        args.setDistErrPct(0.025);
        Query query = strategy.makeQuery(args);
        TopDocs results = indexSearcher.search(query, 1000);
        int numTotalHits = results.totalHits;
        System.out.println("鍏?" + numTotalHits + " 瀹屽叏鍖歸厤鐨勬枃妗?);
        ScoreDoc[] hits = results.scoreDocs;
        for (int i = 0; i < hits.length; i++) {
            Document document = indexSearcher.doc(hits[i].doc);
            System.out.println("Id: " + document);
        }
    }



brock 2013-11-29 16:15 鍙戣〃璇勮
]]>
java 鑾峰彇cpu 浣跨敤鐜?/title><link>http://www.tkk7.com/brock/archive/2013/08/19/403021.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Mon, 19 Aug 2013 02:40:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/08/19/403021.html</guid><wfw:comment>http://www.tkk7.com/brock/comments/403021.html</wfw:comment><comments>http://www.tkk7.com/brock/archive/2013/08/19/403021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/brock/comments/commentRss/403021.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/brock/services/trackbacks/403021.html</trackback:ping><description><![CDATA[<div>  private static double getCpuRateForLinux(){</div><div>        InputStream is = null;</div><div>        InputStreamReader isr = null;</div><div>        BufferedReader brStat = null;</div><div>        StringTokenizer tokenStat = null;</div><div>        try{</div><div>            System.out.println("Get usage rate of CUP , linux version: "+linuxVersion);</div><div></div><div>            Process process = Runtime.getRuntime().exec("top -b -n 1");</div><div>            is = process.getInputStream();</div><div>            isr = new InputStreamReader(is);</div><div>            brStat = new BufferedReader(isr);</div><div></div><div>            if(linuxVersion.equals("2.4")){</div><div>                brStat.readLine();</div><div>                brStat.readLine();</div><div>                brStat.readLine();</div><div>                brStat.readLine();</div><div></div><div>                tokenStat = new StringTokenizer(brStat.readLine());</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                String user = tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                String system = tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                String nice = tokenStat.nextToken();</div><div></div><div>                System.out.println(user+" , "+system+" , "+nice);</div><div></div><div>                user = user.substring(0,user.indexOf("%"));</div><div>                system = system.substring(0,system.indexOf("%"));</div><div>                nice = nice.substring(0,nice.indexOf("%"));</div><div></div><div>                float userUsage = new Float(user).floatValue();</div><div>                float systemUsage = new Float(system).floatValue();</div><div>                float niceUsage = new Float(nice).floatValue();</div><div></div><div>                return (userUsage+systemUsage+niceUsage)/100;</div><div>            }else{</div><div>                brStat.readLine();</div><div>                brStat.readLine();</div><div></div><div>                tokenStat = new StringTokenizer(brStat.readLine());</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                tokenStat.nextToken();</div><div>                String cpuUsage = tokenStat.nextToken();</div><div></div><div></div><div>                System.out.println("CPU idle : "+cpuUsage);</div><div>                Float usage = new Float(cpuUsage.substring(0,cpuUsage.indexOf("%")));</div><div></div><div>                return (1-usage.floatValue()/100);</div><div>            }</div><div></div><div></div><div>        } catch(IOException ioe){</div><div>            System.out.println(ioe.getMessage());</div><div>            freeResource(is, isr, brStat);</div><div>            return 1;</div><div>        } finally{</div><div>            freeResource(is, isr, brStat);</div><div>        }</div><div></div><div>    }</div><div>    private static void freeResource(InputStream is, InputStreamReader isr, BufferedReader br){</div><div>        try{</div><div>            if(is!=null)</div><div>                is.close();</div><div>            if(isr!=null)</div><div>                isr.close();</div><div>            if(br!=null)</div><div>                br.close();</div><div>        }catch(IOException ioe){</div><div>            System.out.println(ioe.getMessage());</div><div>        }</div><div>    }</div><div></div><div></div><div>    /**</div><div>     * 鑾峰緱CPU浣跨敤鐜?   </div><div>     * @return 榪斿洖cpu浣跨敤鐜?/div><div>     * @author GuoHuang</div><div>     */</div><div>    private double getCpuRatioForWindows() {</div><div>        try {</div><div>            String procCmd = System.getenv("windir")</div><div>                    + "\\system32\\wbem\\wmic.exe process get Caption,CommandLine,"</div><div>                    + "KernelModeTime,ReadOperationCount,ThreadCount,UserModeTime,WriteOperationCount";</div><div>            // 鍙栬繘紼嬩俊鎭?   </div><div>            long[] c0 = readCpu(Runtime.getRuntime().exec(procCmd));</div><div>            Thread.sleep(CPUTIME);</div><div>            long[] c1 = readCpu(Runtime.getRuntime().exec(procCmd));</div><div>            if (c0 != null && c1 != null) {</div><div>                long idletime = c1[0] - c0[0];</div><div>                long busytime = c1[1] - c0[1];</div><div>                return Double.valueOf(</div><div>                        PERCENT * (busytime) / (busytime + idletime))</div><div>                        .doubleValue();</div><div>            } else {</div><div>                return 0.0;</div><div>            }</div><div>        } catch (Exception ex) {</div><div>            ex.printStackTrace();</div><div>            return 0.0;</div><div>        }</div><div>    }</div><div></div><div>    /**</div><div></div><div>     * 璇誨彇CPU淇℃伅.</div><div>     * @param proc</div><div>     * @return</div><div>     * @author GuoHuang</div><div>     */</div><div>    private long[] readCpu(final Process proc) {</div><div>        long[] retn = new long[2];</div><div>        try {</div><div>            proc.getOutputStream().close();</div><div>            InputStreamReader ir = new InputStreamReader(proc.getInputStream());</div><div>            LineNumberReader input = new LineNumberReader(ir);</div><div>            String line = input.readLine();</div><div>            if (line == null || line.length() < FAULTLENGTH) {</div><div>                return null;</div><div>            }</div><div>            int capidx = line.indexOf("Caption");</div><div>            int cmdidx = line.indexOf("CommandLine");</div><div>            int rocidx = line.indexOf("ReadOperationCount");</div><div>            int umtidx = line.indexOf("UserModeTime");</div><div>            int kmtidx = line.indexOf("KernelModeTime");</div><div>            int wocidx = line.indexOf("WriteOperationCount");</div><div>            long idletime = 0;</div><div>            long kneltime = 0;</div><div>            long usertime = 0;</div><div>            while ((line = input.readLine()) != null) {</div><div>                if (line.length() < wocidx) {</div><div>                    continue;</div><div>                }</div><div>                // 瀛楁鍑虹幇欏哄簭錛欳aption,CommandLine,KernelModeTime,ReadOperationCount,    </div><div>                // ThreadCount,UserModeTime,WriteOperation    </div><div>                String caption = Bytes.substring(line, capidx, cmdidx - 1)</div><div>                        .trim();</div><div>                String cmd = Bytes.substring(line, cmdidx, kmtidx - 1).trim();</div><div>                if (cmd.indexOf("wmic.exe") >= 0) {</div><div>                    continue;</div><div>                }</div><div>                // log.info("line="+line);    </div><div>                if (caption.equals("System Idle Process")</div><div>                        || caption.equals("System")) {</div><div>                    idletime += Long.valueOf(</div><div>                            Bytes.substring(line, kmtidx, rocidx - 1).trim())</div><div>                            .longValue();</div><div>                    idletime += Long.valueOf(</div><div>                            Bytes.substring(line, umtidx, wocidx - 1).trim())</div><div>                            .longValue();</div><div>                    continue;</div><div>                }</div><div></div><div>                kneltime += Long.valueOf(</div><div>                        Bytes.substring(line, kmtidx, rocidx - 1).trim())</div><div>                        .longValue();</div><div>                usertime += Long.valueOf(</div><div>                        Bytes.substring(line, umtidx, wocidx - 1).trim())</div><div>                        .longValue();</div><div>            }</div><div>            retn[0] = idletime;</div><div>            retn[1] = kneltime + usertime;</div><div>            return retn;</div><div>        } catch (Exception ex) {</div><div>            ex.printStackTrace();</div><div>        } finally {</div><div>            try {</div><div>                proc.getInputStream().close();</div><div>            } catch (Exception e) {</div><div>                e.printStackTrace();</div><div>            }</div><div>        }</div><div>        return null;</div><div>    }<br /><span style="color: red; ">涓婇潰鏂規硶涓嶈錛屼笅闈㈢殑鍙互</span><br /><div>  String result = "";</div><div></div><div>        try {</div><div></div><div>            File file = File.createTempFile("tmp", ".vbs");</div><div></div><div>            file.deleteOnExit();</div><div></div><div>            FileWriter fw = new java.io.FileWriter(file);</div><div></div><div>            String vbs ="Set objProc = GetObject(\"winmgmts:\\\\.\\root\\cimv2:win32_processor='cpu0'\")\n" +</div><div>                    "WScript.Echo  \"CPU Load Percentage: \"& chr(13) & chr(10) & Round(objProc.LoadPercentage,2) & \"%\"";</div><div></div><div></div><div></div><div>            fw.write(vbs);</div><div></div><div>            fw.close();</div><div></div><div>            Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());</div><div></div><div>            BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));</div><div></div><div>            String line;</div><div></div><div>            while ((line = input.readLine()) != null) {</div><div></div><div>                result += line;</div><div></div><div>            }</div><div></div><div>            input.close();</div><div></div><div>            file.delete();</div><div></div><div>        } catch (Exception e) {</div><div></div><div>            e.fillInStackTrace();</div><div></div><div>        }</div><div></div><div>        if (result.trim().length() < 1 || result == null) {</div><div></div><div></div><div></div><div>        }else{</div><div></div><div>            System.out.println(result.trim());</div><div></div><div>        }</div><br /><br /><br /><br /></div><img src ="http://www.tkk7.com/brock/aggbug/403021.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-08-19 10:40 <a href="http://www.tkk7.com/brock/archive/2013/08/19/403021.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>java 娉ㄥ唽鍒?windows 鏈嶅姟http://www.tkk7.com/brock/archive/2013/08/09/402627.htmlbrockbrockFri, 09 Aug 2013 06:20:00 GMThttp://www.tkk7.com/brock/archive/2013/08/09/402627.htmlhttp://www.tkk7.com/brock/comments/402627.htmlhttp://www.tkk7.com/brock/archive/2013/08/09/402627.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/402627.htmlhttp://www.tkk7.com/brock/services/trackbacks/402627.html#encoding=UTF-8
# Configuration files must begin with a line specifying the encoding
#  of the the file.
#********************************************************************
# Wrapper License Properties (Ignored by Community Edition)
#********************************************************************
# Professional and Standard Editions of the Wrapper require a valid
#  License Key to start.  Licenses can be purchased or a trial license
#  requested on the following pages:
# http://wrapper.tanukisoftware.com/purchase
# http://wrapper.tanukisoftware.com/trial
# Include file problems can be debugged by removing the first '#'
#  from the following line:
##include.debug
# The Wrapper will look for either of the following optional files for a
#  valid License Key.  License Key properties can optionally be included
#  directly in this configuration file.
#include ../conf/wrapper-license.conf
#include ../conf/wrapper-license-%WRAPPER_HOST_NAME%.conf
# The following property will output information about which License Key(s)
#  are being found, and can aid in resolving any licensing problems.
#wrapper.license.debug=TRUE
#********************************************************************
# Wrapper Localization
#********************************************************************
# Specify the locale which the Wrapper should use.  By default the system
#  locale is used.
#wrapper.lang=en_US # en_US or ja_JP
# Specify the location of the Wrapper's language resources.  If these are
#  missing, the Wrapper will default to the en_US locale.
wrapper.lang.folder=../lang
#********************************************************************
# Wrapper Java Properties
#********************************************************************
# Java Application
#  Locate the java binary on the system PATH:
wrapper.java.command=java
#  Specify a specific java binary:
#set.JAVA_HOME=/java/path
set.LIB=D:/MonitorApp/lib
#wrapper.java.command=%JAVA_HOME%/bin/java
# Tell the Wrapper to log the full generated Java command line.
#wrapper.java.command.loglevel=INFO
# Java Main class.  This class must implement the WrapperListener interface
#  or guarantee that the WrapperManager class is initialized.  Helper
#  classes are provided to do this for you.  See the Integration section
#  of the documentation for details.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
echo %LIB%
wrapper.java.classpath.1=%LIB%/wrapper.jar
wrapper.java.classpath.2=%LIB%/commons-beanutils-1.8.3.jar
wrapper.java.classpath.3=%LIB%/commons-codec-1.4.jar
wrapper.java.classpath.4=%LIB%/commons-collections-3.1.jar
wrapper.java.classpath.5=%LIB%/commons-collections-3.2.1.jar
wrapper.java.classpath.6=%LIB%/commons-dbcp-1.3.jar
wrapper.java.classpath.7=%LIB%/commons-dbcp-1.4.jar
wrapper.java.classpath.8=%LIB%/commons-fileupload-1.2.1.jar
wrapper.java.classpath.9=%LIB%/commons-httpclient-3.0.1.jar
wrapper.java.classpath.10=%LIB%/commons-io-1.4.jar
wrapper.java.classpath.11=%LIB%/commons-io-2.0.1.jar
wrapper.java.classpath.12=%LIB%/commons-jexl-1.1.jar
wrapper.java.classpath.13=%LIB%/commons-lang-2.5.jar
wrapper.java.classpath.14=%LIB%/commons-logging-1.1.1.jar
wrapper.java.classpath.15=%LIB%/commons-logging-api-1.1.jar
wrapper.java.classpath.16=%LIB%/commons-management-1.0.jar
wrapper.java.classpath.17=%LIB%/commons-pool-1.5.4.jar
wrapper.java.classpath.18=%LIB%/jedis-2.0.0.jar
wrapper.java.classpath.19=%LIB%/log4j-1.2.14.jar
wrapper.java.classpath.20=%LIB%/quartz-all-1.6.3.jar
wrapper.java.classpath.21=%LIB%/spring-aop-3.0.2.RELEASE.jar
wrapper.java.classpath.22=%LIB%/spring-asm-3.0.2.RELEASE.jar
wrapper.java.classpath.23=%LIB%/spring-beans-3.0.2.RELEASE.jar
wrapper.java.classpath.24=%LIB%/spring-binding-2.0.8.RELEASE.jar
wrapper.java.classpath.25=%LIB%/spring-context-3.0.2.RELEASE.jar
wrapper.java.classpath.26=%LIB%/spring-context-support-3.0.2.RELEASE.jar
wrapper.java.classpath.27=%LIB%/spring-core-3.0.2.RELEASE.jar
wrapper.java.classpath.28=%LIB%/spring-expression-3.0.2.RELEASE.jar
wrapper.java.classpath.29=%LIB%/springside-3.3.2.jar
wrapper.java.classpath.30=%LIB%/spring-test-3.0.2.RELEASE.jar
wrapper.java.classpath.31=%LIB%/spring-tx-3.0.2.RELEASE.jar
wrapper.java.classpath.32=%LIB%/slf4j-api-1.5.8.jar
wrapper.java.classpath.33=%LIB%/slf4j-log4j12-1.5.8.jar
wrapper.java.classpath.34=%LIB%/monitor.jar
wrapper.java.classpath.35=%LIB%   #鍙互璇誨埌榪欓噷鐨勬枃浠?xml pro 絳?      
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=../bin
# Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
wrapper.java.additional.auto_bits=TRUE
# Java Additional Parameters
wrapper.java.additional.1=-Dlog4j.configuration=file:%LIB%/log4j.xml
wrapper.java.additional.2=-Dorg.tanukisoftware.wrapper.WrapperManager.mbean=TRUE
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=128
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=512
# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=com.zjasm.tomcat.TomcatStat
#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Enables Debug output from the Wrapper.
#wrapper.debug=TRUE
# Format of output for the console.  (See docs for formats)
wrapper.console.format=PM
# Log Level for console output.  (See docs for log levels)
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log
# Format of output for the log file.  (See docs for formats)
wrapper.logfile.format=LPTM
# Log Level for log file output.  (See docs for log levels)
wrapper.logfile.loglevel=INFO
# Maximum size that the log file will be allowed to grow to before
#  the log is rolled. Size is specified in bytes.  The default value
#  of 0, disables log rolling.  May abbreviate with the 'k' (kb) or
#  'm' (mb) suffix.  For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=0
# Maximum number of rolled log files which will be allowed before old
#  files are deleted.  The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0
# Log Level for sys/event log output.  (See docs for log levels)
wrapper.syslog.loglevel=NONE
#********************************************************************
# Wrapper General Properties
#********************************************************************
# Allow for the use of non-contiguous numbered properties
wrapper.ignore_sequence_gaps=TRUE
# Do not start if the pid file already exists.
wrapper.pidfile.strict=TRUE
# Title to use when running as a console
wrapper.console.title=Test Wrapper Sample Application
#********************************************************************
# Wrapper JVM Checks
#********************************************************************
# Detect DeadLocked Threads in the JVM. (Requires Standard Edition)
wrapper.check.deadlock=TRUE
wrapper.check.deadlock.interval=10
wrapper.check.deadlock.action=RESTART
wrapper.check.deadlock.output=FULL
# Out Of Memory detection.
# (Ignore output from dumping the configuration to the console.  This is only needed by the TestWrapper sample application.)
wrapper.filter.trigger.999=wrapper.filter.trigger.*java.lang.OutOfMemoryError
wrapper.filter.allow_wildcards.999=TRUE
wrapper.filter.action.999=NONE
#  Ignore -verbose:class output to avoid false positives.
wrapper.filter.trigger.1000=[Loaded java.lang.OutOfMemoryError
wrapper.filter.action.1000=NONE
# (Simple match)
wrapper.filter.trigger.1001=java.lang.OutOfMemoryError
# (Only match text in stack traces if -XX:+PrintClassHistogram is being used.)
#wrapper.filter.trigger.1001=Exception in thread "*" java.lang.OutOfMemoryError
#wrapper.filter.allow_wildcards.1001=TRUE
wrapper.filter.action.1001=RESTART
wrapper.filter.message.1001=The JVM has run out of memory.
#********************************************************************
# Wrapper Email Notifications. (Requires Professional Edition)
#********************************************************************
# Common Event Email settings.
#wrapper.event.default.email.debug=TRUE
#wrapper.event.default.email.smtp.host=<SMTP_Host>
#wrapper.event.default.email.smtp.port=25
#wrapper.event.default.email.subject=[%WRAPPER_HOSTNAME%:%WRAPPER_NAME%:%WRAPPER_EVENT_NAME%] Event Notification
#wrapper.event.default.email.sender=<Sender email>
#wrapper.event.default.email.recipient=<Recipient email>
# Configure the log attached to event emails.
#wrapper.event.default.email.attach_log=TRUE
#wrapper.event.default.email.maillog.lines=50
#wrapper.event.default.email.maillog.format=LPTM
#wrapper.event.default.email.maillog.loglevel=INFO
# Enable specific event emails.
#wrapper.event.wrapper_start.email=TRUE
#wrapper.event.jvm_prelaunch.email=TRUE
#wrapper.event.jvm_start.email=TRUE
#wrapper.event.jvm_started.email=TRUE
#wrapper.event.jvm_deadlock.email=TRUE
#wrapper.event.jvm_stop.email=TRUE
#wrapper.event.jvm_stopped.email=TRUE
#wrapper.event.jvm_restart.email=TRUE
#wrapper.event.jvm_failed_invocation.email=TRUE
#wrapper.event.jvm_max_failed_invocations.email=TRUE
#wrapper.event.jvm_kill.email=TRUE
#wrapper.event.jvm_killed.email=TRUE
#wrapper.event.jvm_unexpected_exit.email=TRUE
#wrapper.event.wrapper_stop.email=TRUE
# Specify custom mail content
wrapper.event.jvm_restart.email.body=The JVM was restarted.\n\nPlease check on its status.\n
#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
#  using this configuration file has been installed as a service.
#  Please uninstall the service before modifying this section.  The
#  service can then be reinstalled.
# Name of the service
wrapper.name=testwrapper
# Display name of the service
wrapper.displayname=Test Wrapper Sample Application
# Description of the service
wrapper.description=Test Wrapper Sample Application Description
# Service dependencies.  Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=
# Mode in which the service is installed.  AUTO_START, DELAY_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false


brock 2013-08-09 14:20 鍙戣〃璇勮
]]>
鍝ユ妸Tengine鏀瑰洖NGINXhttp://www.tkk7.com/brock/archive/2013/05/16/399366.htmlbrockbrockThu, 16 May 2013 08:54:00 GMThttp://www.tkk7.com/brock/archive/2013/05/16/399366.htmlhttp://www.tkk7.com/brock/comments/399366.htmlhttp://www.tkk7.com/brock/archive/2013/05/16/399366.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/399366.htmlhttp://www.tkk7.com/brock/services/trackbacks/399366.html闃呰鍏ㄦ枃

brock 2013-05-16 16:54 鍙戣〃璇勮
]]>
鍏充簬浜у搧緇忕悊鐨勫洓鐐規濊?/title><link>http://www.tkk7.com/brock/archive/2013/03/22/396844.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Fri, 22 Mar 2013 03:16:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/03/22/396844.html</guid><description><![CDATA[<p style="line-height:18.0pt;background:#F8F7F5"><span style="font-family:"Helvetica","sans-serif";color:#3E3E3E">1 </span><span style="color:#3E3E3E">鍋氫駭鍝佺粡鐞嗭紝鑰屼笉鏄姛鑳界粡鐞嗭紱</span></p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-family:"Helvetica","sans-serif";color:#3E3E3E">2 </span><span style="color:#3E3E3E">鍋氫駭鍝侀渶姹傦紝鑰屼笉鏄敤鎴烽渶姹傦紱</span></p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="color:#3E3E3E">3 </span><span style="color:#3E3E3E">瑕侀敠涓婃坊鑺憋紝鑰屼笉鏄敾铔囨坊瓚籌紱</span></p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="color:#3E3E3E">4 </span><span style="color:#3E3E3E">榪芥眰浜烘у寲錛岃屼笉鏄拷姹傚畬緹庛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浜у搧緇忕悊鏄釜寰堝鎬殑宀椾綅錛屽ソ鍍忓ぇ澶氭暟浜洪兘鑳藉仛錛屽洜涓烘瘡涓漢瀵規煇涓駭鍝侀兘鏈夎嚜宸辯殑鐪嬫硶錛岄兘鑳芥彁鍑轟竴浜涙剰瑙佸拰鎯蟲硶錛岀敋鑷寵兘璁捐瀹炵幇鍘熺悊錛涗篃濂藉儚澶у鏁頒漢閮藉仛涓嶅ソ浜у搧緇忕悊錛屽洜涓轟簰鑱旂綉涓婃垚鍗冧笂涓囦釜浜у搧錛屽ぇ閮ㄥ垎鏄瀮鍦撅紝娌″嚑涓駭鍝佹槸鐢ㄦ埛鐪熷績瑙夊緱寰堜笉閿欑殑銆?/span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鎴戝仛浜у搧緇忕悊錛岃繕涓嶅埌涓ゅ勾錛屼互鍓嶅崄鏉ュ勾涓鐩村湪鍋氭妧鏈備箣鍓嶅仛鎶鏈殑鏃跺欙紝鎴戝緢鐪嬩笉涓婁駭鍝佺粡鐞嗐傚綋鏃舵兂錛氫駭鍝佺粡鐞嗚嚜宸變粈涔堥兘瀹炵幇涓嶄簡錛屾瘡澶╁氨鏄彁鐐規兂娉曪紝鑰屼笖鎯蟲硶榪樼粡甯鎬笉闈犺氨錛屽鏋滃摢澶╄鍛橈紝浜у搧緇忕悊鐨勪綅緗渶鍗遍櫓浜嗭紱浣嗙瓑鎴戣漿鏉ュ仛浜嗕駭鍝佺粡鐞嗭紝鎯蟲硶鍙戠敓浜嗘牴鏈殑鍙樺寲錛氬棷錛屼駭鍝佺粡鐞嗗お閲嶈鐨勶紝涓涓駭鍝佺殑鏈潵灝卞喅瀹氬湪浜у搧緇忕悊韜笂銆?/span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浣犻棶鎴戠幇鍦ㄥ浣曠湅寰呮妧鏈漢鍛橈紵鍢垮樋錛屾垜鐜板湪瑙夊緱錛屾妧鏈氨鏄竴鎶婂垁錛岃瀹冩潃璋佸氨鏉璋侊紒褰撶劧錛岃繖鍙槸寮鐜╃瑧銆備竴涓ソ鐨勬妧鏈洟闃熷浜庝駭鍝佺粡鐞嗘潵璇達紝閭f槸鐩稿綋閲嶈銆?/span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">瀵瑰浣曞仛浜у搧緇忕悊錛屾垜榪樼湡鐨勬槸灝忓鐢燂紝鑷繁璐熻矗鐨勬窐瀹濇悳绱㈡渶榪戜袱騫翠篃娌′粈涔堝ぇ鎻愬崌銆傜壒鍒槸鐪嬩簡鍛ㄩ縛紲庛佸紶灝忛緳鍏充簬瀵逛駭鍝佺殑涓浜涜璋堜互鍚庯紝鎴戞洿鍙戠幇鑷繁鍦ㄨ繖鏂歸潰鐨勫樊璺濄?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">涓嶈繃鎴戞湁涓紭鐐癸紝灝辨槸鍠勪簬瀛︿範銆佹濊冦佹葷粨騫跺垎浜傝屼笖浣滀負涓涓琛岃繘鍏ュ埌榪欎釜棰嗗煙錛岃瀵熺殑瑙掑害涔熶細涓嶄竴鏍楓傝繖涓騫村涓嬫潵錛屼篃鎵懼埌涓浜涙劅瑙夛紝鍙戠幇鍛ㄥ洿鐨勪竴浜涗駭鍝佺粡鐞嗭紝瀹規槗璧板叆涓浜涜鍖猴紝鍒嗕韓緇欏ぇ瀹躲?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">1 </span><span style="font-size:13.5pt;color:#3E3E3E">鍋氫駭鍝佺粡鐞嗭紝鑰屼笉鏄姛鑳界粡鐞嗐?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">榪欏彞璇濇垜鏈鏃╂槸鍚ぉ鐚昏閫嶉仴瀛愯鐨勶紝褰撴椂娌℃湁鎰熻錛岀幇鍦ㄥ彂鐜伴潪甯告湁閬撶悊錛屽洜涓哄懆鍥村お澶氱殑浜у搧緇忕悊瀹為檯涓婃槸鍦ㄥ仛涓鍚嶅姛鑳界粡鐞嗐?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浠栦滑鍙槸涓嶅仠鐨勫湪鎺ヤ駭鍝佸姛鑳介渶姹傦紝鐒跺悗涓嶅仠瀹炵幇浜у搧鍔熻兘銆傜己鐧誨綍錛岃璁′竴涓櫥褰曟錛涙病鏈夋暟鎹紝鎵炬煇涓鉤鍙版墦閫氫竴涓嬶紱綆$悊涓嶆柟渚匡紝璁捐涓涓伐鍏鋒潵綆$悊錛涢〉闈笉緹庤錛岄噸鏂拌鍒掍竴涓嬮〉闈㈢粨鏋?#8230;…</span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鍔熻兘緇忕悊錛屾瘡澶╅兘寰堝繖錛屽叧娉ㄨ繕鏈夊灝戦渶姹傚湪鍚庨潰鎺掗槦錛岄渶姹傛柟鏄惁寰楀埌婊¤凍銆傝岀敤鎴蜂綋楠屽埌搴曞浣曪紝鍔熻兘鏄惁鐪熺殑鐪熸湁浠峰鹼紝鏄惁鍙互鏇村姞瀹岀編錛屽姛鑳界粡鐞嗗緢灝戝叧蹇冦傚綋鏈変漢鎶辨ㄦ煇涓姛鑳戒笉鐖界殑鏃跺欙紝浠栦細璇達細</span></p> <p style="line-height:18.0pt;background:#F8F7F5"><strong><span style="font-size:13.5pt;font-family:瀹嬩綋;color:#3E3E3E">榪欎釜鍔熻兘鎴戝凡緇忔湁浜嗗晩錛屼綘璇翠綋楠屼笉澶ソ錛熸病鍔炴硶錛屽伐紼嬪笀璧勬簮澶揣寮犲晩錛屼綘璇翠負鍟ヨ璁$殑榪欎箞鍒壄錛焝ao錛屾兂璧鋒潵灝辨潵姘旓紝澶ц佹澘闈炶姹傝繖鏍峰晩錛屾垜浠篃鍙兘榪欐牱璁捐錛屾病鍔炴硶錛?/span></strong></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浠栫粡甯歌〃杈劇殑璇皵鏄粬涔熶笉寰楀凡鑰屼負涔嬶紝鎶婅矗浠婚兘鎺ㄥ埌鍏朵粬浜鴻韓涓娿?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鐒惰屽仛涓涓悎鏍肩殑浜у搧緇忕悊錛岄渶瑕佸叧娉ㄧ敤鎴風殑浣撻獙錛岀湡姝e叧娉ㄧ敤鎴風殑鍙嶉錛屽叧娉ㄦ暟鎹殑璐ㄩ噺錛屽叧娉ㄦ瘡涓涓粏鑺傘傚氨鍍忎拱涓鍙岄瀷涓鏍鳳紝涓嶅彧鏄兘絀匡紝榪樿鑰冭檻鏄惁鍚堣剼錛屾槸鍚﹁垝鏈嶏紝嬈懼紡鏄惁婕備寒銆?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鏈変竴嬈″紑浼氾紝娣樺疂鐨勬昏璇濮愬璇翠簡涓鍙ュ緢鏈寸礌浣嗗緢鏈夐亾鐞嗙殑涓鍙ヨ瘽錛氫駭鍝佽兘鐢ㄥ拰濂界敤瀹屽叏涓嶆槸涓鍥炰簨錛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">(</span><span style="font-size:13.5pt;color:#3E3E3E">澶у涓嶇敤鎵硅瘎娣樺疂鎼滅儲鍟婏紝鎴戠煡閬撳緢澶氬湴鏂硅繕涓嶅ソ鐢ㄣ傚ぇ瀹跺啀緇欐垜鐐規椂闂達紝鎴戜篃璁よ瘑鍒拌繖涓棶棰樹笉鏄?.....)</span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">2 </span><span style="font-size:13.5pt;color:#3E3E3E">瀹炵幇浜у搧闇姹傦紝鑰屼笉鏄敤鎴烽渶姹傘?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">榪欎釜璇濋寰堟湁鎰忔濄傚綋浣犻棶鐢ㄦ埛闇瑕佷粈涔堢殑鏃跺欙紝浠栦細鍥炵瓟浠栭渶瑕佷竴鍖規洿蹇殑椹備箶甯冩柉璇達紝姘歌繙涓嶈闂敤鎴鋒兂瑕佷粈涔堬紒鍥犱負鐢ㄦ埛閮芥槸鍌葷摐錛屼笉鐭ラ亾鑷繁鎯寵浠涔堛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">榪欏叾瀹炴槸浜у搧緇忕悊緇忓父鎶婄敤鎴烽渶姹傚綋鎴愪駭鍝侀渶姹傘傚鎵鏈夌敤鎴瘋鐨勶紝浠栦滑娌¢敊錛屾彁鐨勯兘鏄嚜宸辯殑鏈熸湜錛屼笉鏄竴涓駭鍝侀渶姹傘傚墠浜涘ぉ鏈夊紶灝忛緳鐨勯噰璁匡紝寮犲皬榫欒浠栦笉鐪嬬敤鎴風殑鏁版嵁銆傚叾瀹炲紶灝忛緳寰堝叧蹇冪敤鎴風殑闇姹傦紝鎴戝拰寮犲皬榫欏湪涓涓兢閲岋紝濡傛灉鏈変漢鍦ㄧ兢閲屾彁涓浜涘井淇′嬌鐢ㄤ笉鐖界殑鍔熻兘錛屽紶灝忛緳浼氬緢蹇粰鍑哄弽棣堛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">榪欎簺浜у搧澶х浠紝鑳屽悗鐨勬剰鎬濇槸錛屼笉搴旇綆鍗曟弧瓚崇敤鎴烽渶姹傦紝鑰屽簲璇ユ濊冩妸鐢ㄦ埛闇姹傛彁鐐兼垚浜у搧闇姹傘傚綋涓涓駭鍝佺殑鐢ㄦ埛鏈変笂鐧句竾涓婂崈涓囩殑鏃跺欙紝浜у搧闇姹傜殑鐞嗚В鍜屾彁鐐鹼紝灝辯浉褰撻噸瑕併?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">榪欎釜閬撶悊姣旇緝瀹規槗鐞嗚В錛屼笉鍋氬瑙i噴銆?/span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">3 </span><span style="font-size:13.5pt;color:#3E3E3E">瑕侀敠涓婃坊鑺憋紝鑰屼笉鏄敾铔囨坊瓚熾?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浜掕仈緗戠殑鍙戝睍錛岃寰堝浜掕仈緗戜駭鍝佺粡鐞嗘湁涓儻鎬э細鍋氫駭鍝佽凱浠h蹇傚揩閫熶笂綰匡紝蹇熶慨鏀廣傝繖閲屼篃鏈夎鍖猴紝瀵逛簬涓浜涘熀鏈姛鑳斤紝紜疄瑕佸揩閫熶笂綰匡紝蹇熻凱浠c傚洜涓烘湁甯傚満绔炰簤錛岄渶瑕佸揩閫熷垏鍏ュ競鍦猴紝鑾峰緱鐢ㄦ埛銆傜劧鑰屽ぇ閮ㄥ垎鐨勪駭鍝佺粡鐞嗭紝娌℃湁鏈轟細浠庨浂寮濮嬭璁′竴涓柊浜у搧錛屽ぇ閮ㄥ垎鏃跺欏湪鐜版湁鐨勪駭鍝佷笂鍋氬崌綰ф垨浼樺寲銆傝繖鏃惰璁$殑寰堝鍔熻兘錛岄兘鏄敠涓婃坊鑺辯殑鍔熻兘錛岃繕鐪熶笉鑳藉お蹇?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">閿︿笂娣昏姳鐨勫姛鑳斤紝鍚屾牱閲嶈錛屼細璁╀駭鍝佹洿濂界帺錛屾洿鏈夋剰鎬濓紝鏇存湁鐗圭偣銆備緥濡傚井淇℃渶鏃╄璁$殑鎽囦竴鎽囧姛鑳姐佹湅鍙嬪湀鍔熻兘銆傚井鍗氱殑寰垔鍔熻兘銆佷箣鍓嶇殑閫佺ぜ鐗╃殑鍔熻兘銆?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">闂鍦ㄤ簬錛岄敠涓婃坊鑺憋紝娣諱笂鍘葷殑涓瀹氭槸涓鏈佃姳錛岃寰椾織涓鐐癸紝涓嶈兘娣諱笂鍘繪槸涓鍧ㄥ睅銆傚鏋滄槸鍚庤咃紝閭d箞灝辨湁鐐圭敾铔囨坊瓚充簡錛屾垨鑰呮垚浜嗛浮鑲嬪姛鑳姐?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浠涔堟槸涓鏈佃姳錛熷氨鏄姛鑳芥坊鍔犱笂鍘諱互鍚庯紝浼氳鐢ㄦ埛鐪煎墠涓浜傜粰浜烘湁“鍝囷紒錛侊紒”鐨勬劅瑙?#8230;…</span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">閬楁喚鐨勬槸娣樺疂鎼滅儲涔嬪墠鐨勫緢澶氬姛鑳芥坊涓婂幓鐨勯兘涓嶆槸涓鏈佃姳錛屼笂綰夸簡澶鐨勭敾铔囨坊瓚崇殑鍔熻兘銆傝繖浜涘姛鑳戒竴鏃︿笂綰匡紝灝卞緢闅句笅綰褲傚洜涓哄綋浣犱駭鍝佺殑鐢ㄦ埛緹ゆ湁涓婁嚎鐨勬椂鍊欙紝鍐嶇儌鐨勪竴涓姛鑳斤紝姣忓ぉ涔熶細鏈夊嚑鍗佷竾鐢ㄦ埛鍦ㄤ嬌鐢ㄣ備竴鏃︿綘涓嬬嚎錛屼細鏈夊緢澶氫漢寰堜笉鐖姐?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">娣樺疂鎼滅儲鐨勫悓搴楄喘灝辨湁鐐硅繖涓懗閬撱傛妧鏈疄鐜版垚鏈珮錛屼綋楠屼竴鑸紝鐢ㄧ殑浜轟篃涓嶅銆傛湁涓孌墊椂闂存垜浠妸榪欎釜鍔熻兘闅愯棌璧鋒潵浜嗭紝鏈変漢鍦ㄥ井鍗氫笂璇達細</span></p> <p style="line-height:18.0pt;background:#F8F7F5"><strong><span style="font-size:13.5pt;font-family:瀹嬩綋;color:#3E3E3E">濡堢殑錛屾垜鐜板湪鏈鎯沖仛鐨勪簨鎯咃紝灝辨槸鎵炬妸鍒鏉涓窐瀹濇悳绱㈢殑浜у搧緇忕悊鏉ヨВ瑙f仺錛屾垜灞呯劧姝繪椿鎵句笉鍒版垜鏈甯哥敤鐨勫悓搴楄喘浜嗭紒</span></strong></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鐢昏泧娣昏凍鐨勫姛鑳借秺澶氾紝璁╀駭鍝佽儗璐熺殑鍨冨溇灝辮秺澶氾紝閫犳垚濂界殑鍔熻兘娌℃湁璧勬簮鍋氾紝宸殑鍔熻兘鍙堟棤娉曚笅綰褲?/span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">4 </span><span style="font-size:13.5pt;color:#3E3E3E">榪芥眰浜烘у寲錛岃屼笉鏄拷姹傚畬緹庛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">寰堝浜у搧緇忕悊錛岃拷姹傚畬緹庛傝繖鏄綔涓轟駭鍝佺粡鐞嗗緢濂界殑鍝佽川錛岀劧鑰岋紝鏈変竴鐐瑰嵈緇忓父琚駭鍝佺粡鐞嗗拷瑙嗭紝浜у搧鐨勪漢鎬у寲銆?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">姘歌繙娌℃湁瀹岀編鐨勪駭鍝侊紝鐗瑰埆鏄綋涓涓駭鍝佺殑鐢ㄦ埛閲忓埌杈句笂鐧句竾涓婂崈涓囩殑鏃跺欍傜敤鎴風殑鍠滃ソ鍗冨樊涓囧埆銆傚浣曡鐢ㄦ埛鑳藉枩嬈駭鍝佺殑浼樼偣鐨勫悓鏃惰兘瀹瑰繊浜у搧鐨勭己鐐癸紵</span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">澶у鐪嬮夌編澶ц禌鑾瘋儨鐨勭編濂籌紝緇忓父浼氭湁鎰熷徆錛屼負浠涔堣繖涔堜笐榪樿兘寰楀墠涓夊晩錛佹槸鍥犱負璇勫鐨勫彛鍛沖お鐗瑰埆錛熷綋鐒舵湁涓閮ㄥ垎璇勫鍘熷洜錛屼絾鏇村鍘熷洜鍦ㄤ簬錛屽ぇ瀹舵瘡涓漢鐨勫緹庤涓嶄竴鏍楓傚ぇ瀹舵槸鎶婇夌編鍐犲啗浣滀負涓涓畬緹庣殑浜烘潵璇勫垽銆?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">瀹為檯涓婏紝鏃犺閫夊嚭璋佹槸鍐犲啗錛岄兘浼氭湁浜鴻寰楅毦鐪嬨備換浣曚竴涓駭鍝侊紝鏃犺浜у搧緇忕悊鎺ㄥ嚭澶氫箞濂界敤鐨勫姛鑳斤紝閮戒細鏈変漢涓嶅枩嬈紒</span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鐒惰岋紝澶у瀵瑰緟鍛ㄥ洿鐨勬湅鍙嬶紝灝變笉浼氱敤閫夌編鐨勬爣鍑嗚姹備粬浠紝浠栦滑鏈夋槑鏄劇殑緙虹偣錛屼絾涔熸湁寰堝鍊煎緱嬈h祻鐨勫湴鏂廣傚ぇ瀹惰闃呴鑴氫竷鐨勫井淇★紝緇濆ぇ閮ㄥ垎浜轟笉浼氭湡鏈涳紝楝艱剼涓冩瘡澶╃殑鏂囩珷閮戒細絎﹀悎鑷繁鐨勫彛鍛熾傛湁浜轟笉鐪嬫枃绔狅紝鍙湅鐪嬨?鍝ラ棽璋堛戜篃浼氳寰楀緢鏈夋剰鎬濄備負浠涔堬紵鍥犱負澶у涓嶄細鏈熷緟楝艱剼涓冭繖涓處鍙鋒槸涓畬緹庣殑璐﹀彿錛屾妸楝艱剼涓冧綔涓轟竴涓湅鍙嬪湪鐪嬪緟銆傞鑴氫竷鏈夌己鐐癸紝涔熸湁浼樼偣銆?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">濡傛灉鑳借鐢ㄦ埛鎶婃垜浠殑浜у搧褰撴垚鍛ㄥ洿鐨勬湅鍙嬫潵鐪嬪緟鍛紵鎰熻浼氬畬鍏ㄤ笉涓鏍楓?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">娣樺疂鏈変釜鍋氳繍钀ョ殑鍚屼簨鏈変竴澶╄窡鎴戞劅鍙硅錛氭垜蹇界劧瑙夊緱鏀誨煄鐙滑紱繪垜濂借繎錛屾瘡涓敾鍩庣嫯鍐呭績閮戒綇鐫涓瘲浜猴紒鎴戦棶涓轟粈涔堜細蹇界劧鏈夎繖縐嶆劅瑙夛紵濂硅鏈変竴澶╂櫄涓婏紝鍙戠幇鍦ㄦ窐瀹濆唴閮ㄤ竴涓猅MS緋葷粺鐨勬爣棰樻爮涓婂拷鐒跺浜嗕竴鍙ヨ瘽錛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"><strong><span style="font-size:13.5pt;font-family:瀹嬩綋;color:#3E3E3E">姣忎釜浜虹殑鍘嬪姏錛屽皯閮ㄥ垎鏉ヨ嚜鐢熷瓨錛屽ぇ閮ㄥ垎鏉ヨ嚜鏀姣斻?/span></strong></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">灝辮繖涓鍙ヨ瘽錛岃鐢ㄦ埛鎰熻鍒頒簡浜у搧鑳屽悗鐨勯偅浣嶅伐紼嬪笀銆傝繕璁板緱寰俊鏈変釜鐗堟湰鐨勬榪庨〉闈笂鐨勬枃瀛楀悧錛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"><strong><span style="font-size:13.5pt;font-family:瀹嬩綋;color:#3E3E3E">灝戝彂寰俊錛屽鍜屾湅鍙嬭瑙侀潰錛?/span></strong></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">灝辮繖涓鍙ヨ瘽錛岃鎴戞劅瑙夊埌浜у搧鑳屽悗鐨勯偅緹や漢鐨勫績鐞嗘椿鍔ㄣ傚井淇$殑涓浜涘皬鐟曠柕錛屾垜涔熻兘瀹瑰繊銆?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">灝辨槸榪欏彞璇濓紝鎴戝枩嬈笂浜嗗井淇°?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">浜烘у寲錛屾槸涓嶆槸璁╀駭鍝佸紑濮嬪叿鏈変簡鐏甸瓊錛?/span></p> <p style="line-height:18.0pt;background:#F8F7F5"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">濡備綍璁╀駭鍝佹洿鍔犱漢鎬у寲錛熷浣曡娣樺疂鎼滅儲鏇村姞浜烘у寲錛熸槸鎴戞渶榪戜竴鐩村湪鎬濊冪殑闂銆傛垜瀹氫箟2013騫存悳绱㈢殑鍏抽敭璇嶏細涓撲笟鍜屾湁瓚c傚笇鏈?013騫磋兘璁╂洿澶氱殑浜烘妸娣樺疂鎼滅儲褰撴垚涓涓湅鍙嬶紝鑰屼笉鏄竴涓伐鍏楓?/span></p> <p style="margin: 0cm 0cm 0.0001pt; line-height: 18pt; background-color: #f8f7f5; min-height: 1.5em; orphans: 2; widows: 2; background-position: initial initial; background-repeat: initial initial;"> </p> <p style="line-height:18.0pt;background:#F8F7F5"><span style="font-size:13.5pt;color:#3E3E3E">鍐欎簡榪欎箞澶氾紝鍥炲ご鐪嬬湅鎴戣繖綃囨枃绔狅紝濂藉儚娌℃湁浠涔堜駭鍝佽璁℃柟娉曪紝鍙槸涓浜涙濊冿紝浠呮鑰屽凡銆?/span></p> <p> </p> <p style="line-height:18.0pt;background:#F8F7F5"><strong><span style="font-size:10.5pt;font-family:瀹嬩綋;color:#3E3E3E">浣滆呬粙緇嶏細</span></strong></p> <p style="line-height:18.0pt;background:#F8F7F5"><strong><span style="font-size:10.5pt;font-family:瀹嬩綋;color:#3E3E3E">楝艱剼涓冿紝涓涓畝鍗曠殑浜猴紝鍒嗕韓鐢靛晢璧勮銆佹悳绱㈠彉鍖栥佹窐瀹濆姩鎬併佷駭鍝佽璁°佺鐞嗗績寰椼佺敓媧繪劅鎮燂紱鍋跺皵鏂囪壓錛屽伓灝旀繁娌夈傚仛涓涓湁鎬濇兂鐨勪漢錛佸井淇¤處鍙?/span></strong><strong><span style="font-size:10.5pt;font-family:"Helvetica","sans-serif"; color:#3E3E3E">: taobaoguijiaoqi </span></strong><strong><span style="font-size:10.5pt;font-family:瀹嬩綋;color:#3E3E3E">鍔犱負濂藉弸鍚庡洖澶?/span></strong><strong><span style="font-size:10.5pt;font-family:"Helvetica","sans-serif"; color:#3E3E3E"> m </span></strong><strong><span style="font-size:10.5pt; font-family:瀹嬩綋;color:#3E3E3E">鍙互鐪嬪埌浣滆呬箣鍓嶇殑鎵鏈夋枃绔犮?/span></strong></p><img src ="http://www.tkk7.com/brock/aggbug/396844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-03-22 11:16 <a href="http://www.tkk7.com/brock/archive/2013/03/22/396844.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Servlet鐢熷懡鍛ㄦ湡http://www.tkk7.com/brock/archive/2013/03/05/396076.htmlbrockbrockTue, 05 Mar 2013 06:09:00 GMThttp://www.tkk7.com/brock/archive/2013/03/05/396076.htmlhttp://www.tkk7.com/brock/comments/396076.htmlhttp://www.tkk7.com/brock/archive/2013/03/05/396076.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/396076.htmlhttp://www.tkk7.com/brock/services/trackbacks/396076.html
http://sunnylocus.iteye.com/blog/342996
   澶у鏁扮▼搴忓憳閮界煡閬揝ervlet鐨勭敓鍛藉懆鏈燂紝綆鍗曠殑姒傛嫭榪欏氨鍒嗕負鍥涙錛歴ervlet綾誨姞杞?-->瀹炰緥鍖?-->鏈嶅姟--->閿姣併傚榪欎釜榪囩▼鍙槸鑲ゆ祬浜嗚В涓嬶紝瀵逛簬servlet浣曟椂琚攢姣侊紝榪樻槸涓嶅お鎯呮銆備笅闈㈡垜浠弿榪頒竴涓婽omcat涓嶴ervlet鏄浣曞伐浣滅殑,棣栧厛鐪嬩笅闈㈢殑鏃跺簭鍥?

1銆乄eb Client 鍚慡ervlet瀹瑰櫒錛圱omcat錛夊彂鍑篐ttp璇鋒眰

2銆丼ervlet瀹瑰櫒鎺ユ敹Web Client鐨勮姹?/span>

3銆丼ervlet瀹瑰櫒鍒涘緩涓涓狧ttpRequest瀵硅薄錛屽皢Web Client璇鋒眰鐨勪俊鎭皝瑁呭埌榪欎釜瀵硅薄涓?/span>

4銆丼ervlet瀹瑰櫒鍒涘緩涓涓狧ttpResponse瀵硅薄

5銆丼ervlet瀹瑰櫒璋冪敤HttpServlet瀵硅薄鐨剆ervice鏂規硶錛屾妸HttpRequest瀵硅薄涓嶩ttpResponse瀵硅薄浣滀負鍙傛暟

     浼犵粰 HttpServlet瀵硅薄

6銆丠ttpServlet璋冪敤HttpRequest瀵硅薄鐨勬湁鍏蟲柟娉曪紝鑾峰彇Http璇鋒眰淇℃伅

7銆丠ttpServlet璋冪敤HttpResponse瀵硅薄鐨勬湁鍏蟲柟娉曪紝鐢熸垚鍝嶅簲鏁版嵁

8銆丼ervlet瀹瑰櫒鎶奌ttpServlet鐨勫搷搴旂粨鏋滀紶緇橶eb Client

 

瀵逛簬Servlet瀹瑰櫒(Tomcat)涓嶩ttpServlet鏄庢牱榪涜浜や簰鐨勫憿錛岀湅涓嬬被鍥?/p>

Servlet鐨勬鏋舵槸鐢變袱涓狫ava鍖呯粍鎴愮殑錛歫avax.servlet涓巎avax.servlet.http銆傚湪javax.servlet鍖呬腑瀹氫箟浜嗘墍鏈夌殑Servlet綾婚兘蹇呴』瀹炵幇鎴栬呮墿灞曠殑閫氱敤鎺ュ彛鍜岀被銆傚湪javax.servlet.http鍖呬腑瀹氫箟浜嗛噰鐢℉ttp鍗忚閫氫俊鐨凥ttpServlet綾匯係ervlet鐨勬鏋剁殑鏍稿績鏄痡avax.servlet.Servlet鎺ュ彛錛屾墍鏈夌殑Servlet閮藉繀欏誨疄鐜拌繖涓帴鍙c?/p>

鍦⊿ervlet鎺ュ彛涓畾涔変簡5涓柟娉曪紝

鍏朵腑3涓柟娉曚唬琛ㄤ簡Servlet鐨勭敓鍛藉懆鏈燂細

1銆乮nit鏂規硶錛氳礋璐e垵濮嬪寲Servlet瀵硅薄銆?/span>

2銆乻ervice鏂規硶錛氳礋璐e搷搴斿鎴風殑璇鋒眰銆?/span>

3銆乨estroy鏂規硶錛氬綋Servlet瀵硅薄閫鍑虹敓鍛藉懆鏈熸椂錛岃礋璐i噴鏀懼崰鐢ㄧ殑璧勬簮銆?/span>

 

涓銆佸垱寤篠ervlet瀵硅薄鐨勬椂鏈?/strong>

1銆丼ervlet瀹瑰櫒鍚姩鏃訛細璇誨彇web.xml閰嶇疆鏂囦歡涓殑淇℃伅錛屾瀯閫犳寚瀹氱殑Servlet瀵硅薄錛屽垱寤篠ervletConfig瀵硅薄錛屽悓鏃跺皢ServletConfig瀵硅薄浣滀負鍙傛暟鏉ヨ皟鐢⊿ervlet瀵硅薄鐨刬nit鏂規硶銆?/p>

2銆佸湪Servlet瀹瑰櫒鍚姩鍚庯細瀹㈡埛棣栨鍚慡ervlet鍙戝嚭璇鋒眰錛孲ervlet瀹瑰櫒浼氬垽鏂唴瀛樹腑鏄惁瀛樺湪鎸囧畾鐨凷ervlet瀵硅薄錛屽鏋滄病鏈夊垯鍒涘緩瀹冿紝鐒跺悗鏍規嵁瀹㈡埛鐨勮姹傚垱寤篐ttpRequest銆?nbsp;      HttpResponse瀵硅薄錛屼粠鑰岃皟鐢⊿ervlet

     瀵硅薄鐨剆ervice鏂規硶銆?/p>

3銆丼ervlet鐨勭被鏂囦歡琚洿鏂板悗錛岄噸鏂板垱寤篠ervlet

      Servlet瀹瑰櫒鍦ㄥ惎鍔ㄦ椂鑷姩鍒涘緩Servlet錛岃繖鏄敱鍦╳eb.xml鏂囦歡涓負Servlet璁劇疆鐨?lt;load-on-startup>灞炴у喅瀹?/p>

      鐨勩備粠涓垜浠篃鑳界湅鍒板悓涓涓被鍨嬬殑Servlet瀵硅薄鍦⊿ervlet瀹瑰櫒涓互鍗曚緥鐨勫艦寮忓瓨鍦ㄣ?/p>

浜屻侀攢姣丼ervlet瀵硅薄鐨勬椂鏈?/strong>

1銆?span style="color: #ff0000;">Servlet瀹瑰櫒鍋滄鎴栬呴噸鏂板惎鍔?/span>錛歋ervlet瀹瑰櫒璋冪敤Servlet瀵硅薄鐨刣estroy鏂規硶鏉ラ噴鏀捐祫婧愩備互涓婃墍璁茬殑灝辨槸Servlet瀵硅薄鐨勭敓鍛藉懆鏈熴傞偅涔圫ervlet瀹瑰櫒濡備綍鐭ラ亾鍒涘緩鍝竴涓猄ervlet瀵硅薄錛?/p>

Servlet瀵硅薄濡備綍閰嶇疆錛熷疄闄呬笂榪欎簺淇℃伅鏄氳繃璇誨彇web.xml閰嶇疆鏂囦歡鏉ュ疄鐜扮殑銆?/p>

鎴戜滑鏉ョ湅涓涓媤eb.xml鏂囦歡涓殑Servlet瀵硅薄鐨勯厤緗妭淇℃伅

錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?/p>

<servlet>

    <servlet-name>action<servlet-name>

    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

    <init-param>

        <param-name>config</param-name>

        <param-value>/WEB-INF/struts-config.xml</param-value>

    </init-param>

    <init-param>

        <param-name>detail</param-name>

        <param-value>2</param-value>

    </init-param>

    <init-param>

        <param-name>debug</param-name>

        <param-value>2</param-value>

    </init-param>

    <load-on-startup>2</load-on-startup>

</servlet>

<servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

</servlet-mapping>

錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞

涓嬮潰瀵逛笂闈㈢殑閰嶇疆鑺備俊鎭繘琛岃В鏋?/p>

servlet-name錛歋ervlet瀵硅薄鐨勫悕縐?/p>

servlet-class錛氬垱寤篠ervlet瀵硅薄鎵瑕佽皟鐢ㄧ殑綾?/p>

param-name錛氬弬鏁板悕縐?/p>

param-value錛氬弬鏁板?/p>

load-on-startup錛歋ervlet瀹瑰櫒鍚姩鏃跺姞杞絊ervlet瀵硅薄鐨勯『搴?/p>

servlet-mapping/servlet-name錛氳涓巗ervlet涓殑servlet-name閰嶇疆鑺傚唴瀹瑰搴?/p>

url-pattern錛氬鎴瘋闂殑Servlet鐨勭浉瀵筓RL璺緞

 

       褰揝ervlet瀹瑰櫒鍚姩鐨勬椂鍊欒鍙?lt;servlet>閰嶇疆鑺備俊鎭紝鏍規嵁<servlet-class>閰嶇疆鑺備俊鎭垱寤篠ervlet瀵硅薄錛屽悓鏃舵牴鎹?lt;init-param>閰嶇疆鑺備俊鎭垱寤篐ttpServletConfig瀵硅薄錛岀劧鍚庢墽琛孲ervlet瀵硅薄鐨刬nit鏂規硶錛屽茍涓旀牴鎹?lt;load-on-startup>閰嶇疆鑺備俊鎭潵鍐沖畾鍒涘緩Servlet瀵硅薄鐨勯『搴忥紝濡傛灉姝ら厤緗妭淇℃伅涓鴻礋鏁版垨鑰呮病鏈夐厤緗紝閭d箞鍦⊿ervlet瀹瑰櫒鍚姩鏃訛紝灝嗕笉鍔犺澆姝ervlet瀵硅薄銆傚綋瀹㈡埛璁塊棶Servlet瀹瑰櫒鏃訛紝Servlet瀹瑰櫒鏍規嵁瀹㈡埛璁塊棶鐨刄RL鍦板潃錛岄氳繃<servlet-mapping>閰嶇疆鑺備腑鐨?lt;url-pattern>閰嶇疆鑺備俊鎭壘鍒版寚瀹氱殑Servlet瀵硅薄錛屽茍璋冪敤姝ervlet瀵硅薄鐨剆ervice鏂規硶銆?/p>

 

涓轟簡楠岃瘉涓嬶紝鎴戞柊寤轟簡涓涓獁eb app宸ョ▼錛屾柊寤轟竴涓猄ervlet錛屽涓?

Java浠g爜  鏀惰棌浠g爜
  1. package com.tdt.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. public class TestServlet extends HttpServlet {  
  11.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  12.             throws ServletException, IOException {  
  13.         this.doPost(request, response);  
  14.     }  
  15.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  16.             throws ServletException, IOException {  
  17.   
  18.         response.setContentType("text/html");  
  19.         PrintWriter out = response.getWriter();  
  20.         out.println("Hello,this is a test");  
  21.       
  22.         out.flush();  
  23.         out.close();  
  24.     }  
  25.   
  26.     public void destroy() {  
  27.         System.err.println(getServletName()+"鐢熷懡鍛ㄦ湡緇撴潫");;  
  28.     }  
  29.       
  30.     public void init() throws ServletException {  
  31.         System.out.println(getServletName()+"鎵ц鍒濆鍖?);  
  32.     }  
  33. }  

 褰搒ervlet琚攢姣佹椂浼氬湪鎺у埗鍙頒笂鎵撳嵃鎻愮ず璇彞錛屼笉榪囨垜鍙戠幇鍦╰omcat涓紝鍙涓嶅仠姝eb瀹瑰櫒錛宻ervlet鏄笉浼氳閿姣佺殑銆傛湁娌℃湁浠涔堟柟娉曪紝褰搒ervice鏂規硶鎵ц瀹屾瘯灝遍攢姣佽繖涓猻ervlet鍛紝鎴戦棶浜嗕笅鑰佸笀錛屼粬璇村啓涓涓洃鍚櫒錛屼笉榪囨垜涓嶇煡閬撴庝箞鍘誨疄鐜板畠錛屽鏋滄湁鏈嬪弸鐭ラ亾瀹炵幇鐨勮繃紼嬶紝榪樿璧愭暀銆?/p>

brock 2013-03-05 14:09 鍙戣〃璇勮
]]>
銆怱pring銆慖OC鏍稿績婧愮爜瀛︿範錛堜簩錛夛細瀹瑰櫒鍒濆鍖栬繃紼?/title><link>http://www.tkk7.com/brock/archive/2013/02/28/395832.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Thu, 28 Feb 2013 03:04:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/02/28/395832.html</guid><wfw:comment>http://www.tkk7.com/brock/comments/395832.html</wfw:comment><comments>http://www.tkk7.com/brock/archive/2013/02/28/395832.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/brock/comments/commentRss/395832.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/brock/services/trackbacks/395832.html</trackback:ping><description><![CDATA[     鎽樿: http://singleant.iteye.com/blog/1177358 鎺ヤ笂鏂?nbsp;鍟冨晝鑰佽彍錛?Spring IOC鏍稿績婧愮爜瀛︿範錛堜竴錛?nbsp;錛屾湰鏂囧皢浠?nbsp;ClassPathXmlApplicationContext 榪欎釜瀹瑰櫒鐨勫疄鐜頒綔涓哄熀紜錛屽涔犲鍣ㄧ殑鍒濆鍖栬繃紼嬨侰lassPathXmlApplicationContext 綾諱綋緋葷粨鏋勪互涓嬫槸&...  <a href='http://www.tkk7.com/brock/archive/2013/02/28/395832.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/brock/aggbug/395832.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-02-28 11:04 <a href="http://www.tkk7.com/brock/archive/2013/02/28/395832.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Spring IOC鏍稿績婧愮爜瀛︿範錛堜竴錛?/title><link>http://www.tkk7.com/brock/archive/2013/02/28/395830.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Thu, 28 Feb 2013 02:46:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/02/28/395830.html</guid><wfw:comment>http://www.tkk7.com/brock/comments/395830.html</wfw:comment><comments>http://www.tkk7.com/brock/archive/2013/02/28/395830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/brock/comments/commentRss/395830.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/brock/services/trackbacks/395830.html</trackback:ping><description><![CDATA[<p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鏈枃涓昏浠?span style="font-size: 11pt; font-family: 'Courier New';">spring ioc</span>瀹瑰櫒鍩烘湰浠g爜楠ㄦ灦涓哄垏鍏ョ偣錛岀悊瑙?span style="font-size: 11pt; font-family: 'Courier New';">ioc</span>瀹瑰櫒鐨勫熀鏈唬鐮佺粍浠剁粨鏋勶紝鍚勪唬鐮佺粍浠剁粏鑺傚墫鏋愬皢鏀懼湪鍚庨潰鐨勫涔犳枃绔犻噷銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> <span style="font-family: verdana, 'courier new'; line-height: 21px;">http://www.iteye.com/topic/1113459</span></p><h1><span style="font-size: 11pt; font-family: 'Courier New';"><span style="font-size: large;">鍏充簬IOC瀹瑰櫒</span></span></h1><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">IoC</span>瀹瑰櫒錛氭渶涓昏鏄畬鎴愪簡瀹屾垚瀵硅薄鐨勫垱寤哄拰渚濊禆鐨勭鐞嗘敞鍏ョ瓑絳夈?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong>鍏堜粠鎴戜滑鑷繁璁捐榪欐牱涓涓瑙掓潵鑰冭檻錛?/strong><strong></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鎵璋撴帶鍒跺弽杞紝灝辨槸鎶婂師鍏堟垜浠唬鐮侀噷闈㈤渶瑕佸疄鐜扮殑瀵硅薄鍒涘緩銆佷緷璧栫殑浠g爜錛屽弽杞粰瀹瑰櫒鏉ュ府蹇欏疄鐜般傞偅涔堝繀鐒剁殑鎴戜滑闇瑕佸垱寤轟竴涓鍣紝鍚屾椂闇瑕佷竴縐嶆弿榪版潵璁╁鍣ㄧ煡閬撻渶瑕佸垱寤虹殑瀵硅薄涓庡璞$殑鍏崇郴銆傝繖涓弿榪版渶鍏蜂綋琛ㄧ幇灝辨槸鎴戜滑鍙厤緗殑鏂囦歡銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><em>瀵硅薄鍜屽璞″叧緋繪庝箞琛ㄧず錛?/em><em></em></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><em>鍙互鐢?/em><em><span style="font-size: 11pt; font-family: 'Courier New';">xml</span></em><em>錛?/em><em><span style="font-size: 11pt; font-family: 'Courier New';">properties</span></em><em>鏂囦歡絳夎涔夊寲閰嶇疆鏂囦歡琛ㄧず銆?/em><em></em></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><em>鎻忚堪瀵硅薄鍏崇郴鐨勬枃浠跺瓨鏀懼湪鍝噷錛?/em><em></em></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><em>鍙兘鏄?/em><em><span style="font-size: 11pt; font-family: 'Courier New';">classpath</span></em><em>錛?/em><em><span style="font-size: 11pt; font-family: 'Courier New';">filesystem</span></em><em>錛屾垨鑰呮槸</em><em><span style="font-size: 11pt; font-family: 'Courier New';">URL</span></em><em>緗戠粶璧勬簮錛?/em><em><span style="font-size: 11pt; font-family: 'Courier New';">servletContext</span></em><em>絳夈?/em><em></em></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鍥炲埌姝i錛屾湁浜嗛厤緗枃浠訛紝榪橀渶瑕佸閰嶇疆鏂囦歡瑙f瀽銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><em>涓嶅悓鐨勯厤緗枃浠跺瀵硅薄鐨勬弿榪頒笉涓鏍鳳紝濡傛爣鍑嗙殑錛岃嚜瀹氫箟澹版槑寮忕殑錛屽浣曠粺涓錛?/em><em> </em><em>鍦ㄥ唴閮ㄩ渶瑕佹湁涓涓粺涓鐨勫叧浜庡璞$殑瀹氫箟錛屾墍鏈夊閮ㄧ殑鎻忚堪閮藉繀欏昏漿鍖栨垚緇熶竴鐨勬弿榪板畾涔夈?/em><em></em></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><em>濡備綍瀵逛笉鍚岀殑閰嶇疆鏂囦歡榪涜瑙f瀽錛熼渶瑕佸涓嶅悓鐨勯厤緗枃浠惰娉曪紝閲囩敤涓嶅悓鐨勮В鏋愬櫒銆?/em><em></em></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="color: #ff0000;"><strong>鍩轟簬浠ヤ笂闂錛屽搴旇繃鏉ワ紝鍒氬ソ鏄?nbsp;</strong><strong><span style="font-size: 11pt; font-family: 'Courier New';">spring ioc</span> </strong><strong>瀹瑰櫒鎶借薄鐨勭殑鍑犱釜涓昏鎺ュ彛錛?/strong></span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">Resource</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinition</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinitionReader</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">BeanFactory</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">ApplicationContext</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">浠ヤ笂浜斾釜閮芥槸鎺ュ彛錛岄兘鏈夊悇寮忓悇鏍風殑瀹炵幇錛屾鏄繖<span style="font-size: 11pt; font-family: 'Courier New'; color: red;">5</span>涓帴鍙e畾涔変簡<span style="font-size: 11pt; font-family: 'Courier New'; color: red;">spring ioc</span>瀹瑰櫒鐨勫熀鏈唬鐮佺粍浠剁粨鏋勩傝屽叾緇勪歡鍚勭瀹炵幇鐨勭粍鍚堝叧緋葷粍鎴愪簡涓涓繍琛屾椂鐨勫叿浣撳鍣ㄣ?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><h1><span style="font-size: 11pt; font-family: 'Courier New';"><strong><span style="font-size: large;">鍚勪唬鐮佺粍浠惰瑙?/span></strong></span></h1><h1><strong><span style="font-size: 11pt; font-family: 'Courier New';">1.Resource</span></strong></h1><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鏄璧勬簮鐨勬娊璞★紝姣忎竴涓帴鍙e疄鐜扮被閮戒唬琛ㄤ簡涓縐嶈祫婧愮被鍨嬶紝濡?span style="font-size: 11pt; font-family: 'Courier New';">ClasspathResource</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">URLResource</span>錛?span style="font-size: 11pt; font-family: 'Courier New';">FileSystemResource</span>絳夈傛瘡涓涓祫婧愮被鍨嬮兘灝佽浜嗗鏌愪竴縐嶇壒瀹氳祫婧愮殑璁塊棶絳栫暐銆傚畠鏄?span style="font-size: 11pt; font-family: 'Courier New';">spring</span>璧勬簮璁塊棶絳栫暐鐨勪竴涓熀紜瀹炵幇錛屽簲鐢ㄥ湪寰堝鍦烘櫙銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> <br /><img alt="" src="http://dl.iteye.com/upload/attachment/536177/ead09fcb-3c6c-3740-9e36-6de33fd65cca.jpg" style="border: 0px;" /></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鍏蜂綋鍙互鍙傝冩枃绔?span style="font-size: 11pt; font-family: 'Courier New';">:</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">Spring </span>璧勬簮璁塊棶鍓栨瀽鍜岀瓥鐣ユā寮忓簲鐢?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';"><a style="color: #006699;">http://www.ibm.com/developerworks/cn/java/j-lo-spring-resource/index.html</a></span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong><span style="font-size: 11pt; font-family: 'Courier New';">2.BeanDefinition</span></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鐢ㄦ潵鎶借薄鍜屾弿榪頒竴涓叿浣?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>瀵硅薄銆傛槸鎻忚堪涓涓?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>瀵硅薄鐨勫熀鏈暟鎹粨鏋勩?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong><span style="font-size: 11pt; font-family: 'Courier New';">3.BeanDefinitionReader</span></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinitionReader</span>灝嗗閮ㄨ祫婧愬璞℃弿榪扮殑<span style="font-size: 11pt; font-family: 'Courier New';">bean</span>瀹氫箟緇熶竴杞寲涓虹粺涓鐨勫唴閮ㄦ暟鎹粨鏋?span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinition</span>銆傚搴斾笉鍚岀殑鎻忚堪闇瑕佹湁涓嶅悓鐨?span style="font-size: 11pt; font-family: 'Courier New';">Reader</span>銆傚<span style="font-size: 11pt; font-family: 'Courier New';">XmlBeanDefinitionReader</span>鐢ㄦ潵璇誨彇<span style="font-size: 11pt; font-family: 'Courier New';">xml</span>鎻忚堪閰嶇疆鐨?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>瀵硅薄銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';"><br /><img alt="" src="http://dl.iteye.com/upload/attachment/536179/c4143d16-02e2-3d7b-9734-4d19a9a984dd.jpg" style="border: 0px;" /><br /> </span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong><span style="font-size: 11pt; font-family: 'Courier New';">4.BeanFactory</span></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">鐢ㄦ潵瀹氫箟涓涓緢綰補鐨?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>瀹瑰櫒銆傚畠鏄竴涓?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>瀹瑰櫒鐨勫繀澶囩粨鏋勩傚悓鏃跺拰澶栭儴搴旂敤鐜絳夐殧紱匯?span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinition</span>鏄畠鐨勫熀鏈暟鎹粨鏋勩傚畠緇存姢涓涓?span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinitions Map,</span>騫跺彲鏍規嵁<span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinition</span>鐨勬弿榪拌繘琛?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>鐨勫垱寤哄拰綆$悊銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';"><br /><img alt="" src="http://dl.iteye.com/upload/attachment/536181/24095923-75cd-363b-bc2f-9fbc603c341f.jpg" style="border: 0px;" /><br /> </span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong><span style="font-size: 11pt; font-family: 'Courier New';">5.ApplicationContext</span></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">浠庡悕瀛楁潵鐪嬪彨搴旂敤涓婁笅鏂囷紝鏄拰搴旂敤鐜鎭伅鐩稿叧鐨勩傛病閿欒繖涓氨鏄垜浠鉤鏃跺紑鍙戜腑緇忓父鐩存帴浣跨敤鎵撲氦閬撶殑涓涓被錛屽簲鐢ㄤ笂涓嬫枃錛屾垨鑰呬篃鍙仛<span style="font-size: 11pt; font-family: 'Courier New';">spring</span>瀹瑰櫒銆傚叾瀹炲畠鐨勫熀鏈疄鐜版槸浼氭寔鏈変竴涓?span style="font-size: 11pt; font-family: 'Courier New';">BeanFactory</span>瀵硅薄錛屽茍鍩轟簬姝ゆ彁渚涗竴浜涘寘瑁呭拰鍔熻兘鎵╁睍銆備負浠涔堣榪欎箞鍋氬憿錛熷洜涓?span style="font-size: 11pt; font-family: 'Courier New';">BeanFactory</span>瀹炵幇浜嗕竴涓鍣ㄥ熀鏈粨鏋勫拰鍔熻兘錛屼絾鏄笌澶栭儴鐜闅旂銆傞偅涔堣鍙栭厤緗枃浠訛紝騫跺皢閰嶇疆鏂囦歡瑙f瀽鎴?span style="font-size: 11pt; font-family: 'Courier New';">BeanDefinition</span>錛岀劧鍚庢敞鍐屽埌<span style="font-size: 11pt; font-family: 'Courier New';">BeanFactory</span>鐨勮繖涓涓繃紼嬬殑灝佽鑷劧灝遍渶瑕?span style="font-size: 11pt; font-family: 'Courier New';">ApplicationContext</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">ApplicationContext</span>鍜屽簲鐢ㄧ幆澧冪粏緇嗙浉鍏籌紝甯歌瀹炵幇鏈?span style="font-size: 11pt; font-family: 'Courier New';">ClasspathXmlApplicationContext,FileSystemXmlApplicationContext,WebApplicationContext</span>絳夈?span style="font-size: 11pt; font-family: 'Courier New';">Classpath</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">xml</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">FileSystem</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">Web</span>絳夎瘝閮戒唬琛ㄤ簡搴旂敤鍜岀幆澧冪浉鍏崇殑涓浜涙剰鎬濓紝浠庡瓧闈笂涓嶉毦鐞嗚В鍚勮嚜浠h〃鐨勫惈涔夈?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">褰撶劧<span style="font-size: 11pt; font-family: 'Courier New';">ApplicationContext</span>鍜?span style="font-size: 11pt; font-family: 'Courier New';">BeanFactory</span>鐨勫尯鍒繙涓嶆浜庢錛屾湁錛?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">1.<span style="font-family: 'Times New Roman';">  </span></span>璧勬簮璁塊棶鍔熻兘錛氬湪<span style="font-size: 11pt; font-family: 'Courier New';">Resource</span>鍜?span style="font-size: 11pt; font-family: 'Courier New';">ResourceLoader</span>鐨勫熀紜涓婂彲浠ョ伒媧葷殑璁塊棶涓嶅悓鐨勮祫婧愩?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">2.<span style="font-family: 'Times New Roman';">  </span></span>鏀寔涓嶅悓鐨勪俊鎭簮銆?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">3.<span style="font-family: 'Times New Roman';">  </span></span>鏀寔搴旂敤浜嬩歡錛氱戶鎵夸簡鎺ュ彛<span style="font-size: 11pt; font-family: 'Courier New';">ApplicationEventPublisher</span>錛岃繖鏍峰湪涓婁笅鏂囦腑涓?span style="font-size: 11pt; font-family: 'Courier New';">bean</span>涔嬮棿鎻愪緵浜嗕簨浠舵満鍒躲?/p><p style="margin: 0cm 0cm 0pt 18pt; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">……</span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';"><br /><img alt="" src="http://dl.iteye.com/upload/attachment/536183/c456f949-7b9c-34db-ad1a-ca3141219b6d.jpg" style="border: 0px;" /><br /> </span></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">浠ヤ笂<span style="font-size: 11pt; font-family: 'Courier New';">5</span>涓粍浠跺熀鏈唬琛ㄤ簡<span style="font-size: 11pt; font-family: 'Courier New';">ioc</span>瀹瑰櫒鐨勪竴涓渶鍩烘湰緇勬垚錛岃岀粍浠剁殑緇勫悎鏄斁鍦?span style="font-size: 11pt; font-family: 'Courier New';">ApplicationContext</span>鐨勫疄鐜拌繖涓灞傛潵瀹屾垚銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><strong><span style="color: #ff0000;">浠lasspathXmlApplicationContext 瀹瑰櫒瀹炵幇涓轟緥錛屽叾緇勫悎鍏崇郴濡備笅錛?/span></strong></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><br /><img alt="" src="http://dl.iteye.com/upload/attachment/536932/ae2612a4-5840-3b00-a585-037a5a4980ac.jpg" style="border: 0px;" /></p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">ClassPathXmlApplicationContext鐨剅efresh() 鏂規硶璐熻矗瀹屾垚浜嗘暣涓鍣ㄧ殑鍒濆鍖栥?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">涓轟粈涔堝彨refresh錛熶篃灝辨槸璇村叾瀹炴槸鍒鋒柊鐨勬剰鎬濓紝璇OC瀹瑰櫒閲岄潰緇存姢浜嗕竴涓崟渚嬬殑BeanFactory錛屽鏋渂ean鐨勯厤緗湁淇敼錛屼篃鍙互鐩存帴璋冪敤refresh鏂規硶錛屽畠灝嗛攢姣佷箣鍓嶇殑BeanFactory錛岄噸鏂板垱寤轟竴涓狟eanFactory銆傛墍浠ュ彨refresh涔熸槸鑳界悊瑙g殑銆?/p><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">浠ヤ笅鏄疪efresh鐨勫熀鏈楠わ細<br /><strong>1.鎶婇厤緗畑ml鏂囦歡杞崲鎴恟esource銆俽esource鐨勮漿鎹㈡槸鍏堥氳繃ResourcePatternResolver鏉ヨВ鏋愬彲璇嗗埆鏍煎紡鐨勯厤緗枃浠剁殑璺緞<br />(濡?classpath*:"絳?錛屽鏋滄病鏈夋寚瀹氭牸寮忥紝榛樿浼氭寜鐓х被璺緞鐨勮祫婧愭潵澶勭悊銆?nbsp;<br />2.鍒╃敤XmlBeanDefinitionReader瀹屾垚瀵箈ml鐨勮В鏋愶紝灝唜ml Resource閲屽畾涔夌殑bean瀵硅薄杞崲鎴愮粺涓鐨凚eanDefinition銆?br />3.灝咮eanDefinition娉ㄥ唽鍒癇eanFactory錛屽畬鎴愬BeanFactory鐨勫垵濮嬪寲銆侭eanFactory閲屽皢浼氱淮鎶や竴涓狟eanDefinition鐨凪ap銆?br /></strong><br />褰揼etBean鐨勬椂鍊欏氨浼氭牴鎹皟鐢˙eanFactory錛屾牴鎹産ean鐨凚eanDifinition鏉ュ疄渚嬪寲涓涓猙ean銆傚綋鐒舵牴鎹産ean鐨刲azy-init銆乸rotetype絳夊睘鎬ц緗笉鍚屼互涓婅繃紼嬬暐鏈夊樊鍒?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> </p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;">refresh()浠g爜濡備笅錛?/p><div class="bdbj3b9" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #efefef; width: 766.2847290039063px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.19097328186035px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%09public%20void%20refresh()%20throws%20BeansException%2C%20IllegalStateException%20%7B%0A%09%09synchronized%20(this.startupShutdownMonitor)%20%7B%0A%09%09%09%2F%2F%20Prepare%20this%20context%20for%20refreshing.%0A%09%09%09prepareRefresh()%3B%0A%0A%09%09%09%2F%2F%20Tell%20the%20subclass%20to%20refresh%20the%20internal%20bean%20factory.%0A%09%09%09ConfigurableListableBeanFactory%20beanFactory%20%3D%20obtainFreshBeanFactory()%3B%0A%0A%09%09%09%2F%2F%20Prepare%20the%20bean%20factory%20for%20use%20in%20this%20context.%0A%09%09%09prepareBeanFactory(beanFactory)%3B%0A%0A%09%09%09try%20%7B%0A%09%09%09%09%2F%2F%20Allows%20post-processing%20of%20the%20bean%20factory%20in%20context%20subclasses.%0A%09%09%09%09postProcessBeanFactory(beanFactory)%3B%0A%0A%09%09%09%09%2F%2F%20Invoke%20factory%20processors%20registered%20as%20beans%20in%20the%20context.%0A%09%09%09%09invokeBeanFactoryPostProcessors(beanFactory)%3B%0A%0A%09%09%09%09%2F%2F%20Register%20bean%20processors%20that%20intercept%20bean%20creation.%0A%09%09%09%09registerBeanPostProcessors(beanFactory)%3B%0A%0A%09%09%09%09%2F%2F%20Initialize%20message%20source%20for%20this%20context.%0A%09%09%09%09initMessageSource()%3B%0A%0A%09%09%09%09%2F%2F%20Initialize%20event%20multicaster%20for%20this%20context.%0A%09%09%09%09initApplicationEventMulticaster()%3B%0A%0A%09%09%09%09%2F%2F%20Initialize%20other%20special%20beans%20in%20specific%20context%20subclasses.%0A%09%09%09%09onRefresh()%3B%0A%0A%09%09%09%09%2F%2F%20Check%20for%20listener%20beans%20and%20register%20them.%0A%09%09%09%09registerListeners()%3B%0A%0A%09%09%09%09%2F%2F%20Instantiate%20all%20remaining%20(non-lazy-init)%20singletons.%0A%09%09%09%09finishBeanFactoryInitialization(beanFactory)%3B%0A%0A%09%09%09%09%2F%2F%20Last%20step%3A%20publish%20corresponding%20event.%0A%09%09%09%09finishRefresh()%3B%0A%09%09%09%7D%0A%0A%09%09%09catch%20(BeansException%20ex)%20%7B%0A%09%09%09%09%2F%2F%20Destroy%20already%20created%20singletons%20to%20avoid%20dangling%20resources.%0A%09%09%09%09beanFactory.destroySingletons()%3B%0A%0A%09%09%09%09%2F%2F%20Reset%20'active'%20flag.%0A%09%09%09%09cancelRefresh(ex)%3B%0A%0A%09%09%09%09%2F%2F%20Propagate%20exception%20to%20caller.%0A%09%09%09%09throw%20ex%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #006699;"><img src="http://www.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">void</span> refresh() <span style="color: #7f0055;">throws</span> BeansException, IllegalStateException {  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">synchronized</span> (<span style="color: #7f0055;">this</span>.startupShutdownMonitor) {  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="width: auto; border-width: 0px;">// Prepare this context for refreshing.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        prepareRefresh();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="width: auto; border-width: 0px;">// Tell the subclass to refresh the internal bean factory.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="width: auto; border-width: 0px;">// Prepare the bean factory for use in this context.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        prepareBeanFactory(beanFactory);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="color: #7f0055;">try</span> {  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Allows post-processing of the bean factory in context subclasses.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            postProcessBeanFactory(beanFactory);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Invoke factory processors registered as beans in the context.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            invokeBeanFactoryPostProcessors(beanFactory);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Register bean processors that intercept bean creation.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            registerBeanPostProcessors(beanFactory);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Initialize message source for this context.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            initMessageSource();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Initialize event multicaster for this context.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            initApplicationEventMulticaster();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Initialize other special beans in specific context subclasses.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            onRefresh();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Check for listener beans and register them.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            registerListeners();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Instantiate all remaining (non-lazy-init) singletons.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            finishBeanFactoryInitialization(beanFactory);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Last step: publish corresponding event.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            finishRefresh();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        }  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="color: #7f0055;">catch</span> (BeansException ex) {  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Destroy already created singletons to avoid dangling resources.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            beanFactory.destroySingletons();  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Reset 'active' flag.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            cancelRefresh(ex);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="width: auto; border-width: 0px;">// Propagate exception to caller.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">            <span style="color: #7f0055;">throw</span> ex;  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        }  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> 浠ヤ笂鐨刼btainFreshBeanFactory鏄緢鍏抽敭鐨勪竴涓柟娉曪紝閲岄潰浼氳皟鐢╨oadBeanDefinition鏂規硶錛屽涓嬶細</p><div class="pl3bbfl" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #efefef; width: 766.2847290039063px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.19097328186035px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%09protected%20void%20loadBeanDefinitions(DefaultListableBeanFactory%20beanFactory)%20throws%20IOException%20%7B%0A%09%09%2F%2F%20Create%20a%20new%20XmlBeanDefinitionReader%20for%20the%20given%20BeanFactory.%0A%09%09XmlBeanDefinitionReader%20beanDefinitionReader%20%3D%20new%20XmlBeanDefinitionReader(beanFactory)%3B%0A%0A%09%09%2F%2F%20Configure%20the%20bean%20definition%20reader%20with%20this%20context's%0A%09%09%2F%2F%20resource%20loading%20environment.%0A%09%09beanDefinitionReader.setResourceLoader(this)%3B%0A%09%09beanDefinitionReader.setEntityResolver(new%20ResourceEntityResolver(this))%3B%0A%0A%09%09%2F%2F%20Allow%20a%20subclass%20to%20provide%20custom%20initialization%20of%20the%20reader%2C%0A%09%09%2F%2F%20then%20proceed%20with%20actually%20loading%20the%20bean%20definitions.%0A%09%09initBeanDefinitionReader(beanDefinitionReader)%3B%0A%09%09loadBeanDefinitions(beanDefinitionReader)%3B%0A%09%7D" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #006699;"><img src="http://www.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">protected</span> <span style="color: #7f0055;">void</span> loadBeanDefinitions(DefaultListableBeanFactory beanFactory) <span style="color: #7f0055;">throws</span> IOException {  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">// Create a new XmlBeanDefinitionReader for the given BeanFactory.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    XmlBeanDefinitionReader beanDefinitionReader = <span style="color: #7f0055;">new</span> XmlBeanDefinitionReader(beanFactory);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">// Configure the bean definition reader with this context's</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">// resource loading environment.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    beanDefinitionReader.setResourceLoader(<span style="color: #7f0055;">this</span>);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    beanDefinitionReader.setEntityResolver(<span style="color: #7f0055;">new</span> ResourceEntityResolver(<span style="color: #7f0055;">this</span>));  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">// Allow a subclass to provide custom initialization of the reader,</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">// then proceed with actually loading the bean definitions.</span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    initBeanDefinitionReader(beanDefinitionReader);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    loadBeanDefinitions(beanDefinitionReader);  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> LoadBeanDifinition鏂規硶寰堝叧閿紝榪欓噷鐗瑰畾浜庢暣涓狪OC瀹瑰櫒錛屽疄渚嬪寲浜嗕竴涓猉mlBeanDefinitionReader鏉ヨВ鏋怰esource鏂囦歡銆傚叧浜嶳esource鏂囦歡濡備綍鍒濆鍖栧拰xml鏂囦歡濡備綍瑙f瀽閮藉湪</p><div class="tf9t3v9" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #efefef; width: 766.2847290039063px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.19097328186035px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://www.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=loadBeanDefinitions(beanDefinitionReader)%3B" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #006699;"><img src="http://www.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">loadBeanDefinitions(beanDefinitionReader);  </li></ol></div><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"> 閲岄潰鐨勫眰灞傝皟鐢ㄥ畬鎴愶紝榪欓噷涓嶅湪绱堪銆?/p><h1>灝忕粨 </h1><p style=" padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">Spring</span>鐨勬墿灞曟ф槸姣嬪焊緗枒鐨勶紝瀛︿範<span style="font-size: 11pt; font-family: 'Courier New';">spring</span>鐨勮璁℃槸涓涓緢濂界殑瀹炶返鐞嗚緇撳悎銆備富瑕佷釜浜鴻寰楁湁鍑犵偣錛?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">1.<span style="font-family: 'Times New Roman';">  </span></span>妗嗘灦欏跺眰鐨勮璁℃湁鐫寰堝ソ鐨勬娊璞★紝閬靛驚闈㈠悜鎺ュ彛緙栫▼鐨勮鑼冦?span style="font-size: 11pt; font-family: 'Courier New';">Resource</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">BeanFactory</span>銆?span style="font-size: 11pt; font-family: 'Courier New';">ApplicationContext</span>閮芥槸闈炲父濂界殑鎺ュ彛鎶借薄錛岄潪甯告槑紜殑瀹氫箟浜嗚緇勪歡鐨勪竴浜涘姛鑳姐?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">2.<span style="font-family: 'Times New Roman';">  </span></span>鍒╃敤緇勫悎妯″紡銆?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">3.<span style="font-family: 'Times New Roman';">  </span></span>涓粍浠剁殑瀹炵幇閲屽ぇ閲忎嬌鐢ㄤ簡妯℃澘鏂規硶妯″紡錛屾彁鍗囦簡鍚屼竴緇勪歡浠g爜鐨勫鐢ㄦс?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">4.<span style="font-family: 'Times New Roman';">  </span></span>鍚勭璁捐淇濈暀浜嗘墿灞曠殑鎺ュ彛錛屽緢澶氬熀浜?span style="font-size: 11pt; font-family: 'Courier New';">spring</span>鐨勬鏋墮兘鍙互寰堝鏄撶殑浠嬪叆瀹炵幇浜嗚嚜宸辯殑涓浜涙墿灞曘?/p><p style="margin: 0px; padding: 0px; font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14.44444465637207px; line-height: 25.19097328186035px; background-color: #efefef;"><span style="font-size: 11pt; font-family: 'Courier New';">5.<span style="font-family: 'Times New Roman';">  </span></span>妗嗘灦閲岄噰鐢ㄩ噷寰堝緇忓吀鐨勮璁℃ā寮忥紝濡備唬鐞嗐佽楗般佺瓥鐣ョ瓑絳夈?br /><br /></p><img src ="http://www.tkk7.com/brock/aggbug/395830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-02-28 10:46 <a href="http://www.tkk7.com/brock/archive/2013/02/28/395830.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Jvm 璋冧紭http://www.tkk7.com/brock/archive/2013/02/27/395796.htmlbrockbrockWed, 27 Feb 2013 06:25:00 GMThttp://www.tkk7.com/brock/archive/2013/02/27/395796.htmlhttp://www.tkk7.com/brock/comments/395796.htmlhttp://www.tkk7.com/brock/archive/2013/02/27/395796.html#Feedback0http://www.tkk7.com/brock/comments/commentRss/395796.htmlhttp://www.tkk7.com/brock/services/trackbacks/395796.html鍏堟潵鐪嬩笅涓X瀹?/span>緇忓吀閰嶇疆錛?/span>

 

/opt/taobao/java/bin/java -Dprogram.name=run.sh –server

 -Xms4g           //鎸囧畾 jvm 鐨勬渶灝?/span> heap 澶у皬 錛?Xms榛樿鏄墿鐞嗗唴瀛樼殑1/4)

 -Xmx4g           //鎸囧畾 jvm 鐨勬渶澶?/span> heap 澶у皬

 -Xmn2g

 -Xss1m

 -XX:PermSize=96m

 -XX:MaxPermSize=256m

 -XX:SurvivorRatio=10

 -XX:+HeapDumpOnOutOfMemoryError    //

 -XX:HeapDumpPath=/home/admin/logs/java.hprof -verbose:gc -Xloggc:/home/admin/logs/gc.log

 -XX:+PrintGCDetails

 -XX:+PrintGCDateStamps

 -XX:+UseConcMarkSweepGC

 -XX:+UseCMSCompactAtFullCollection

 -XX:CMSInitiatingOccupancyFraction=80

 -XX:+UseCompressedOops

 -XX:+DisableExplicitGC

 -Djava.awt.headless=true

 -Dsun.net.client.defaultConnectTimeout=10000

 -Dsun.net.client.defaultReadTimeout=30000

 -Djava.net.preferIPv4Stack=true

 -Djava.endorsed.dirs=/opt/taobao/jboss/lib/endorsed

 -classpath /opt/taobao/jboss/bin/run.jar:/opt/taobao/java/lib/tools.jar org.jboss.Main -b 0.0.0.0 -Djboss.server.home.dir=/home/admin/purdecision/.default -Djboss.server.home.url=file:/home/admin/purdecision/.default

 

 

榪欎簩騫存潵榪欎竴鍫嗕笢瑗挎垜浠庢潵娌℃湁鎬鐤戣繃錛?#8220;緇濆姝g‘瀹岀編”錛屾嵁璇存槸X瀹濈殑鏍囬厤銆備互鑷充簬浠庢潵娌℃湁鍘誨垎鏋愪簡瑙h繃錛堜竴鐭ュ崐瑙o級錛屽彲鑳界湡鐨勬槸鎯版т嬌鐒訛紝涔熷彲鑳?#8220;蹇?#8221;鍚с傛棤鎰忎腑鐪嬪埌鏈変漢鍦ㄥ崥瀹㈤噷鍐欏埌 “娓╂晠鐭ユ柊”錛屽氨鍍忔湁浜鴻璇?/span>think in java涓鏍鋒瘡涓鍥為兘鏈夋柊鐨勫彂鐜般備笅闈㈠氨鍒嗘瀽涓涓嬩負浠涔堣璁劇疆榪欎簺鍙傛暟錛屾湁浣曟剰涔夈?/span>

 

 

涓婇潰鍙傛暟璇存槑錛?/span>

-Xmx4g :

 鎸囧畾 jvm 鐨勬渶澶?/span> heap 澶у皬錛岄粯璁ゅ間負鐗╃悊鍐呭瓨鐨?/span>1/4錛屾渶浣寵鍊煎簲璇ヨ鐗╃悊鍐呭瓨澶у皬鍙婅綆楁満鍐呭叾浠栧唴瀛樺紑閿鑰屽畾

 

-Xms4g :

 鎸囧畾 jvm 鐨勬渶灝?/span> heap 澶у皬銆備簺鍊艱緗笌-Xmx鐩稿悓錛屼互閬垮厤姣忔鍨冨溇鍥炴敹瀹屾垚鍚?/span>JVM閲嶆柊鍒嗛厤鍐呭瓨

 

-Xmn2g :

璁劇疆騫磋交浠eぇ灝忎負2G銆傛暣涓爢澶у皬=騫磋交浠eぇ灝?/span> + 騫磋佷唬澶у皬 + 鎸佷箙浠eぇ灝忋傛寔涔呬唬涓鑸?/span>

鍥哄畾澶у皬涓?/span>64m錛屾墍浠ュ澶у勾杞諱唬鍚庯紝灝嗕細鍑忓皬騫磋佷唬澶у皬銆?span style="color:red">姝ゅ煎緋葷粺鎬ц兘褰卞搷杈冨ぇ錛?/span>Sun瀹樻柟鎺?/span>

鑽愰厤緗負鏁翠釜鍫嗙殑3/8銆?/span>(鎸夋璇村簲璁劇疆涓?/span>1.5G)

-Xss1m

姣忎釜綰跨▼鍫嗘爤澶у皬涓?/span>1M. 鏍規嵁搴旂敤鐨勭嚎紼嬫墍闇鍐呭瓨澶у皬榪涜璋冩暣銆傚湪鐩稿悓鐗╃悊鍐呭瓨涓?/span>,鍑忓皬榪欎釜鍊艱兘鐢熸垚鏇村鐨勭嚎紼嬨傦紙鏈満鐢變簬forest鐨勫師鍥?/span>-Xss2m錛屽師鍥?/span>1錛氱墿鐞嗗唴瀛樿繃灝?/span> 2錛?/span>window綰跨▼涓嶈兘澶 鐚滅殑錛?/span>

 

-XX:PermSize=96m

鐢ㄤ簬瀛樻斁闈欐佹枃浠訛紝濡備粖Java綾匯佹柟娉曠瓑銆傛寔涔呬唬瀵瑰瀮鍦懼洖鏀舵病鏈夋樉钁楀獎鍝嶏紝浣嗘槸鏈変簺搴旂敤鍙兘鍔ㄦ佺敓鎴愭垨

鑰呰皟鐢ㄤ竴浜?/span>class錛屼緥濡?/span>Hibernate絳夛紝鍦ㄨ繖縐嶆椂鍊欓渶瑕佽緗竴涓瘮杈冨ぇ鐨勬寔涔呬唬絀洪棿鏉ュ瓨鏀捐繖浜涜繍琛岃繃紼嬩腑鏂?/span>

澧炵殑綾匯傛寔涔呬唬澶у皬閫氳繃-XX:MaxPermSize=<N>榪涜璁劇疆

-XX:PermSize=64MB
鏈灝忓昂瀵革紝鍒濆鍒嗛厤
-XX:MaxPermSize=256MB
鏈澶у厑璁稿垎閰嶅昂瀵革紝鎸夐渶鍒嗛厤
榪囧皬浼氬鑷達細java.lang.OutOfMemoryError: PermGen space

MaxPermSize
緙虹渷鍊煎拰-server -client閫夐」鐩稿叧銆?/span>
-server
閫夐」涓嬮粯璁?/span>MaxPermSize涓?/span>64m
-client
閫夐」涓嬮粯璁?/span>MaxPermSize涓?/span>32m

 

錛堜負浠涔堜笉鏄?/span>64M 鍙兘鏄?/span>webx璁劇疆鐨勬寔涔呬唬絀洪棿姣旇緝澶氾級

 

 

-XX:SurvivorRatio=10

錛?/span>SurvivorRatio=4璁劇疆騫磋交浠d腑Eden鍖轟笌Survivor鍖虹殑澶у皬姣斿箋傝緗負4錛屽垯涓や釜Survivor

鍖轟笌涓涓?/span>Eden鍖虹殑姣斿間負2:4錛屼竴涓?/span>Survivor鍖哄崰鏁翠釜騫磋交浠g殑1/6錛?/span>

榪欓噷璁劇疆涓?/span>10涔熷氨鏄涓涓?/span>Survivor鍖哄崰鏁翠釜騫磋交浠g殑1/12錛岃繖涓弬鏁版槸鍚﹁兘灝忎竴鐐癸紝姣曠珶鎴戜滑鐨勫簲鐢ㄤ腑娌℃湁鍒涘緩寰堝ぇ鐨勫鍍忋?/span>

 

 

榪欎釜鍊艱浜嗘湁浠涔堢敤錛?/span>

涓婇潰閰嶇疆涓?/span>-Xmn2g 騫磋交浠eぇ灝忥紝SurvivorRatio涓?/span>10鏃?/span> 錛?/span>Eden瓚呰繃1.66G鏃惰Е鍙?/span>minor gc(young generation)

鎴戠殑搴旂敤gc 鏃ュ織涓鐩村湪young gc 灝辨槸濡傛錛岀湅鏉ユ垜鐨勫簲鐢?/span> eden鍖鴻繕鏄鐨勫緢澶х殑銆?/span>

 


 -XX:+HeapDumpOnOutOfMemoryError

鍙傛暟琛ㄧず褰?/span>JVM鍙戠敓OOM鏃訛紝鑷姩鐢熸垚DUMP鏂囦歡銆?/span> 

 

-XX:HeapDumpPath=${鐩綍}鍙傛暟琛ㄧず鐢熸垚DUMP鏂囦歡鐨勮礬寰勶紝涔熷彲浠ユ寚瀹氭枃浠跺悕縐幫紝渚嬪錛?/span>-XX:HeapDumpPath=${鐩綍}/java_heapdump.hprof銆傚鏋滀笉鎸囧畾鏂囦歡鍚嶏紝榛樿涓猴細java_<pid>_<date>_<time>_heapDump.hprof銆?/span>

 

-XX:+PrintGCDetails錛?/span>

杈撳嚭褰㈠紡錛?/span>[GC [DefNew: 8614K->781K(9088K), 0.0123035 secs] 118250K->113543K(130112K), 0.0124633 secs] [GC [DefNew: 8614K->8614K(9088K), 0.0000665 secs][Tenured:

112761K->10414K(121024K), 0.0433488 secs] 121376K->10414K(130112K), 0.0436268 secs]

 

-XX:+PrintGCTimeStamps -XX:+PrintGC錛?/span>PrintGCTimeStamps鍙笌涓婇潰涓や釜娣峰悎浣跨敤

杈撳嚭褰㈠紡錛?/span>11.851: [GC 98328K->93620K(130112K), 0.0082960 secs]

 

 

-XX:+UseConcMarkSweepGC  

璁劇疆騫跺彂鏀墮泦鍣?/span>

 

鍙互淇濊瘉澶ч儴鍒嗗伐浣滈兘騫跺彂榪涜錛堝簲鐢ㄤ笉鍋滄錛夛紝鍨冨溇鍥炴敹鍙殏鍋滃緢灝戠殑鏃墮棿錛屾鏀墮泦鍣ㄩ傚悎瀵瑰搷搴旀椂闂磋姹?/span>

姣旇緝楂樼殑涓佸ぇ瑙勬ā搴旂敤銆備嬌鐢?/span>-XX:+UseConcMarkSweepGC鎵撳紑銆?/span>

騫跺彂鏀墮泦鍣ㄤ富瑕佸噺灝戝勾鑰佷唬鐨勬殏鍋滄椂闂達紝浠栧湪搴旂敤涓嶅仠姝㈢殑鎯呭喌涓嬩嬌鐢ㄧ嫭绔嬬殑鍨冨溇鍥炴敹綰跨▼錛岃窡韙彲杈懼

璞°傚湪姣忎釜騫磋佷唬鍨冨溇鍥炴敹鍛ㄦ湡涓紝鍦ㄦ敹闆嗗垵鏈熷茍鍙戞敹闆嗗櫒 浼氬鏁翠釜搴旂敤榪涜綆鐭殑鏆傚仠錛屽湪鏀墮泦涓繕浼氬啀鏆?/span>

鍋滀竴嬈°傜浜屾鏆傚仠浼氭瘮絎竴嬈$◢闀匡紝鍦ㄦ榪囩▼涓涓嚎紼嬪悓鏃惰繘琛屽瀮鍦懼洖鏀跺伐浣溿?/span>

 

CMS閲囩敤鐨勫熀紜綆楁硶鏄細鏍囪—娓呴櫎 鎵鏈?/span>CMS涓嶄細鏁寸悊銆佸帇緙╁爢絀洪棿銆傝繖鏍峰氨浼氭湁涓涓棶棰橈細緇忚繃CMS鏀墮泦鐨勫爢浼氫駭鐢熺┖闂寸鐗?/span>

 

 

-XX:CMSInitiatingOccupancyFraction=80

 

鍚姩騫跺彂鏀墮泦鍣細鍥犱負騫跺彂鏀墮泦鍦ㄥ簲鐢ㄨ繍琛屾椂榪涜鏀墮泦錛屾墍浠ュ繀欏諱繚璇佹敹闆嗗畬鎴愪箣鍓嶆湁瓚沖鐨勫唴瀛樼┖闂翠緵紼?/span>

搴忎嬌鐢紝鍚﹀垯浼氬嚭鐜?#8220;Concurrent Mode Failure”銆傞氳繃璁劇疆-XX:CMSInitiatingOccupancyFraction=<N>

鎸囧畾榪樻湁澶氬皯鍓╀綑鍫嗘椂寮濮嬫墽琛屽茍鍙戞敹闆?/span>

 

-XX:+UseCMSCompactAtFullCollection錛?/span>

鎵撳紑瀵瑰勾鑰佷唬鐨勫帇緙┿傚彲鑳戒細褰卞搷鎬ц兘錛屼絾鏄彲浠ユ秷闄ょ鐗?/span>

 

XX:+UseCompressedOops

閫氬父64浣?/span>JVM娑堣楃殑鍐呭瓨浼氭瘮32浣嶇殑澶?/span>1.5鍊嶏紝榪欐槸鍥犱負瀵硅薄鎸囬拡鍦?/span>64浣嶆灦鏋勪笅錛岄暱搴︿細緲誨嶏紙鏇村鐨勫鍧錛夈?/span>
瀵逛簬閭d簺灝嗚浠?/span>32浣嶅鉤鍙扮Щ妞嶅埌64浣嶇殑搴旂敤鏉ヨ錛屽鉤鐧芥棤杈滃浜?/span>1/2鐨勫唴瀛樺崰鐢紝榪欐槸寮鍙戣呬笉鎰挎剰鐪嬪埌鐨勩?/span>
騫歌繍鐨勬槸錛屼粠JDK 1.6 update14寮濮嬶紝64 bit JVM姝e紡鏀寔浜?/span> -XX:+UseCompressedOops 榪欎釜鍙互鍘嬬緝鎸囬拡錛岃搗鍒拌妭綰﹀唴瀛樺崰鐢ㄧ殑鏂板弬鏁?/span>

 

-XX:-DisableExplicitGC

灝嗕細蹇界暐鎵嬪姩璋冪敤GC鐨勪唬鐮侊紝濡傦細System.gc()錛屽皢-DisableExplicitGC錛?/span> 鏀規垚+DisableExplicitGC鍗充負鍚敤錛岄粯璁や負鍚敤錛屼粈涔堜篃涓嶅啓錛岄粯璁ゆ槸鍔犲彿錛屼絾鏄郴緇熷唴閮ㄩ粯璁ょ殑騫朵笉鏄粈涔堥兘鍚敤

 

 

鑷蟲涓轟粈涔?/span>Xmx涓?/span>xms 涓鏍鳳紝涓轟粈涔堢敤CMS錛堝茍鍙戞敹闆嗗櫒錛夛紝涓轟粈涔堢敤浜?/span>cms 瑕佷嬌鐢?/span>-XX:+UseCMSCompactAtFullCollection錛屼負浠涔堢敤XX:+UseCompressedOops絳夌瓑錛岀浉淇″ぇ瀹跺拰鎴戜竴鏍鋒湁鎵浜嗚В銆備笉榪囧浜庢湁浜涜繕鏄笉娓呮鐞嗚В鏈夎錛屽彲鑳借繕瑕佹潵鏉ュ洖鍥炴崳鑵撅紝涓嶈凍涔嬪璇峰ぇ瀹惰ˉ鍏呫?/span>

 

 



brock 2013-02-27 14:25 鍙戣〃璇勮
]]>
Java 闈欐佷唬鐞嗗拰鍔ㄦ佷唬鐞?/title><link>http://www.tkk7.com/brock/archive/2013/02/21/395513.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Thu, 21 Feb 2013 04:01:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/02/21/395513.html</guid><description><![CDATA[<span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">1. 浠g悊妯″紡涓昏鏈変袱縐嶏細闈欐佷唬鐞嗗拰鍔ㄦ佷唬鐞?nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">2. 闈欐佷唬鐞嗭細 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">姣斿瑕佸湪杈撳嚭“HelloWorld”鍓嶆墦鍗頒竴涓瓧絎︿覆“Welcome” </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">A:鍏堝畾涔変竴涓帴鍙g被 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><div class="plrp9hb" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://kuangbaoxu.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=package%20ttitfly.proxy%3B%20%20%20%20%0A%20%20%20%0Apublic%20interface%20HelloWorld%20%7B%20%20%20%20%0A%20%20%20%20public%20void%20print()%3B%20%20%20%20%0A%2F%2F%20%20public%20void%20say()%3B%20%20%20%20%0A%7D%20" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #108ac6;"><img src="http://kuangbaoxu.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">package</span> ttitfly.proxy;      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">interface</span> HelloWorld {      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> <span style="color: #7f0055;">void</span> print();      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//  public void say();    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}   </li></ol></div><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">   </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">B: 瀹氫箟涓涓鎺ュ彛鐨勫疄鐜扮被 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">java 浠g爜 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><div class="ff9hp9n" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://kuangbaoxu.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=package%20ttitfly.proxy%3B%20%20%20%20%0A%20%20%20%0Apublic%20class%20HelloWorldImpl%20implements%20HelloWorld%7B%20%20%20%20%0A%20%20%20%0A%20%20%20%20public%20void%20print()%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20System.out.println(%22HelloWorld%22)%3B%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%0A%2F%2F%20%20public%20void%20say()%7B%20%20%20%20%0A%2F%2F%20%20%20%20%20%20System.out.println(%22Say%20Hello!%22)%3B%20%20%20%20%0A%2F%2F%20%20%7D%20%20%20%20%0A%7D%20%20%20%20" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #108ac6;"><img src="http://kuangbaoxu.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">package</span> ttitfly.proxy;      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> HelloWorldImpl <span style="color: #7f0055;">implements</span> HelloWorld{      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> <span style="color: #7f0055;">void</span> print(){      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        System.out.println("HelloWorld");      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//  public void say(){    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//      System.out.println("Say Hello!");    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//  }    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}      </li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">C:瀹氫箟涓涓潤鎬佷唬鐞嗙被 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><div class="3fnzlnt" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://kuangbaoxu.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=package%20ttitfly.proxy%3B%20%20%20%20%0A%20%20%20%0Apublic%20class%20StaticProxy%20implements%20HelloWorld%7B%20%20%20%20%0A%20%20%20%0A%20%20%20%20public%20HelloWorld%20helloWorld%20%3B%20%20%20%20%0A%20%20%20%20public%20StaticProxy(HelloWorld%20helloWorld)%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20this.helloWorld%20%3D%20helloWorld%3B%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20public%20void%20print()%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20System.out.println(%22Welcome%22)%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%E7%9B%B8%E5%BD%93%E4%BA%8E%E5%9B%9E%E8%B0%83%20%20%20%20%0A%20%20%20%20%20%20%20%20helloWorld.print()%3B%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%0A%20%20%20%20%20%20%20%20%0A%2F%2F%20%20public%20void%20say()%7B%20%20%20%20%0A%2F%2F%20%20%20%20%20%20%2F%2F%E7%9B%B8%E5%BD%93%E4%BA%8E%E5%9B%9E%E8%B0%83%20%20%20%20%0A%2F%2F%20%20%20%20%20%20helloWorld.say()%3B%20%20%20%20%0A%2F%2F%20%20%7D%20%20%20%20%0A%7D%20%20%20%20" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #108ac6;"><img src="http://kuangbaoxu.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">package</span> ttitfly.proxy;      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> StaticProxy <span style="color: #7f0055;">implements</span> HelloWorld{      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> HelloWorld helloWorld ;      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> StaticProxy(HelloWorld helloWorld){      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="color: #7f0055;">this</span>.helloWorld = helloWorld;      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> <span style="color: #7f0055;">void</span> print(){      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        System.out.println("Welcome");      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="width: auto; border-width: 0px;">//鐩稿綋浜庡洖璋?nbsp;   </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        helloWorld.print();      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//  public void say(){    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//      //鐩稿綋浜庡洖璋?nbsp;   </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//      helloWorld.say();    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//  }    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}      </li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">D: 涓涓祴璇曠被: </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><div class="lnb9999" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://kuangbaoxu.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=package%20ttitfly.proxy%3B%20%20%20%20%0A%20%20%20%0Apublic%20class%20TestStaticProxy%20%7B%20%20%20%20%0A%20%20%20%0A%20%20%20%20public%20static%20void%20main(String%5B%5D%20args)%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20HelloWorld%20helloWorld%20%3D%20new%20HelloWorldImpl()%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20StaticProxy%20staticProxy%20%3D%20new%20StaticProxy(helloWorld)%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20staticProxy.print()%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%2F%2F%20%20%20%20%20%20staticProxy.say()%3B%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%0A%7D%20%20%20%20" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #108ac6;"><img src="http://kuangbaoxu.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">package</span> ttitfly.proxy;      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> TestStaticProxy {      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">     </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> <span style="color: #7f0055;">static</span> <span style="color: #7f0055;">void</span> main(String[] args){      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        HelloWorld helloWorld = <span style="color: #7f0055;">new</span> HelloWorldImpl();      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        StaticProxy staticProxy = <span style="color: #7f0055;">new</span> StaticProxy(helloWorld);      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        staticProxy.print();      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">              </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//      staticProxy.say();    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}      </li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">鍙互鐪嬪嚭闈欐佷唬鐞嗙被鏈変竴涓緢涓嶇埥鐨勭己鐐癸細褰撳鏋滄帴鍙e姞涓涓柟娉曪紙鎶婁笂闈㈡墍鏈夌殑浠g爜鐨勬敞閲婄粰鍘繪帀錛夛紝鎵鏈夌殑瀹炵幇綾誨拰浠g悊綾婚噷閮介渶瑕佸仛涓疄鐜般傝繖灝卞鍔犱簡浠g爜鐨勫鏉傚害銆傚姩鎬佷唬鐞嗗氨鍙互閬垮厤榪欎釜緙虹偣銆?nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">3 銆傚姩鎬佷唬鐞?nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">鍔ㄦ佷唬鐞嗕笌鏅氱殑浠g悊鐩告瘮杈冿紝鏈澶х殑濂藉鏄帴鍙d腑澹版槑鐨勬墍鏈夋柟娉曢兘琚漿縐誨埌涓涓泦涓殑鏂規硶涓鐞嗭紙invoke錛夛紝榪欐牱錛屽湪鎺ュ彛鏂規硶鏁伴噺姣旇緝澶氱殑鏃跺欙紝鎴戜滑鍙互榪涜鐏墊椿澶勭悊錛岃屼笉闇瑕佸儚闈欐佷唬鐞嗛偅鏍鋒瘡涓涓柟娉曡繘琛屼腑杞?nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">鍔ㄦ佷唬鐞嗙被鍙兘浠g悊鎺ュ彛錛屼唬鐞嗙被閮介渶瑕佸疄鐜癐nvocationHandler綾伙紝瀹炵幇invoke鏂規硶銆傝invoke鏂規硶灝辨槸璋冪敤琚唬鐞嗘帴鍙g殑鎵鏈夋柟娉曟椂闇瑕佽皟鐢ㄧ殑錛岃invoke鏂規硶榪斿洖鐨勫兼槸琚唬鐞嗘帴鍙g殑涓涓疄鐜扮被 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">浠g悊綾伙細 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><div class="df33939" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://kuangbaoxu.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=package%20ttitfly.proxy%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%0Aimport%20java.lang.reflect.InvocationHandler%3B%20%20%20%20%20%20%20%20%0Aimport%20java.lang.reflect.Method%3B%20%20%20%20%20%20%20%20%0Aimport%20java.lang.reflect.Proxy%3B%20%20%20%20%20%20%20%20%0A%2F%2F%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86%E7%B1%BB%E5%8F%AA%E8%83%BD%E4%BB%A3%E7%90%86%E6%8E%A5%E5%8F%A3%EF%BC%8C%E4%BB%A3%E7%90%86%E7%B1%BB%E9%83%BD%E9%9C%80%E8%A6%81%E5%AE%9E%E7%8E%B0InvocationHandler%E7%B1%BB%EF%BC%8C%E5%AE%9E%E7%8E%B0invoke%E6%96%B9%E6%B3%95%E3%80%82%E8%AF%A5invoke%E6%96%B9%E6%B3%95%E5%B0%B1%E6%98%AF%E8%B0%83%E7%94%A8%E8%A2%AB%E4%BB%A3%E7%90%86%E6%8E%A5%E5%8F%A3%E7%9A%84%E6%89%80%E6%9C%89%E6%96%B9%E6%B3%95%E6%97%B6%E9%9C%80%E8%A6%81%E8%B0%83%E7%94%A8%E7%9A%84%EF%BC%8C%E8%AF%A5invoke%E6%96%B9%E6%B3%95%E8%BF%94%E5%9B%9E%E7%9A%84%E5%80%BC%E6%98%AF%E8%A2%AB%E4%BB%A3%E7%90%86%E6%8E%A5%E5%8F%A3%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AE%9E%E7%8E%B0%E7%B1%BB%20%20%20%20%20%20%20%20%0Apublic%20class%20DynamicProxy%20implements%20InvocationHandler%7B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20private%20Object%20object%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%2F%2F%E7%BB%91%E5%AE%9A%E5%85%B3%E7%B3%BB%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E5%85%B3%E8%81%94%E5%88%B0%E5%93%AA%E4%B8%AA%E6%8E%A5%E5%8F%A3%EF%BC%88%E4%B8%8E%E5%85%B7%E4%BD%93%E7%9A%84%E5%AE%9E%E7%8E%B0%E7%B1%BB%E7%BB%91%E5%AE%9A%EF%BC%89%E7%9A%84%E5%93%AA%E4%BA%9B%E6%96%B9%E6%B3%95%E5%B0%86%E8%A2%AB%E8%B0%83%E7%94%A8%E6%97%B6%EF%BC%8C%E6%89%A7%E8%A1%8Cinvoke%E6%96%B9%E6%B3%95%E3%80%82%20%20%20%20%0A%20%20%20%20%2F%2FProxy.newProxyInstance%E7%9A%84%E7%AC%AC%E4%B8%89%E4%B8%AA%E5%8F%82%E6%95%B0%E6%98%AF%E8%A1%A8%E6%98%8E%E8%BF%99%E4%BA%9B%E8%A2%AB%E6%8B%A6%E6%88%AA%E7%9A%84%E6%96%B9%E6%B3%95%E6%89%A7%E8%A1%8C%E6%97%B6%E9%9C%80%E8%A6%81%E6%89%A7%E8%A1%8C%E5%93%AA%E4%B8%AAInvocationHandler%E7%9A%84invoke%E6%96%B9%E6%B3%95%20%20%20%20%0A%20%20%20%20public%20Object%20bindRelation(Object%20object)%7B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20this.object%20%3D%20object%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20return%20Proxy.newProxyInstance(object.getClass().getClassLoader()%2C%20object.getClass().getInterfaces()%2Cthis)%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%2F%2F%E6%8B%A6%E6%88%AA%E5%85%B3%E8%81%94%E7%9A%84%E8%BF%99%E4%B8%AA%E5%AE%9E%E7%8E%B0%E7%B1%BB%E7%9A%84%E6%96%B9%E6%B3%95%E8%A2%AB%E8%B0%83%E7%94%A8%E6%97%B6%E5%B0%86%E8%A2%AB%E6%89%A7%E8%A1%8C%20%20%20%20%20%20%20%20%0A%20%20%20%20public%20Object%20invoke(Object%20proxy%2C%20Method%20method%2C%20Object%5B%5D%20args)%20throws%20Throwable%20%7B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20System.out.println(%22Welcome%22)%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20Object%20result%20%3D%20method.invoke(object%2C%20args)%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20return%20result%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%0A%7D%20%20%20%20%20%20%20%20" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #108ac6;"><img src="http://kuangbaoxu.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">package</span> ttitfly.proxy;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">         </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">import</span> java.lang.reflect.InvocationHandler;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">import</span> java.lang.reflect.Method;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">import</span> java.lang.reflect.Proxy;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="width: auto; border-width: 0px;">//鍔ㄦ佷唬鐞嗙被鍙兘浠g悊鎺ュ彛錛屼唬鐞嗙被閮介渶瑕佸疄鐜癐nvocationHandler綾伙紝瀹炵幇invoke鏂規硶銆傝invoke鏂規硶灝辨槸璋冪敤琚唬鐞嗘帴鍙g殑鎵鏈夋柟娉曟椂闇瑕佽皟鐢ㄧ殑錛岃invoke鏂規硶榪斿洖鐨勫兼槸琚唬鐞嗘帴鍙g殑涓涓疄鐜扮被        </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> DynamicProxy <span style="color: #7f0055;">implements</span> InvocationHandler{          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">              </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">private</span> Object object;           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">//緇戝畾鍏崇郴錛屼篃灝辨槸鍏寵仈鍒板摢涓帴鍙o紙涓庡叿浣撶殑瀹炵幇綾葷粦瀹氾級鐨勫摢浜涙柟娉曞皢琚皟鐢ㄦ椂錛屾墽琛宨nvoke鏂規硶銆?nbsp;   </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">//Proxy.newProxyInstance鐨勭涓変釜鍙傛暟鏄〃鏄庤繖浜涜鎷︽埅鐨勬柟娉曟墽琛屾椂闇瑕佹墽琛屽摢涓狪nvocationHandler鐨刬nvoke鏂規硶    </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> Object bindRelation(Object object){           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="color: #7f0055;">this</span>.object = object;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="color: #7f0055;">return</span> Proxy.newProxyInstance(object.getClass().getClassLoader(), object.getClass().getInterfaces(),<span style="color: #7f0055;">this</span>);           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="width: auto; border-width: 0px;">//鎷︽埅鍏寵仈鐨勮繖涓疄鐜扮被鐨勬柟娉曡璋冪敤鏃跺皢琚墽琛?nbsp;       </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> Object invoke(Object proxy, Method method, Object[] args) <span style="color: #7f0055;">throws</span> Throwable {           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        System.out.println("Welcome");          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        Object result = method.invoke(object, args);           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="color: #7f0055;">return</span> result;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">         </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}          </li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">嫻嬭瘯綾伙細 </span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><div class="9jv9t99" id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px;"><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold;">Java浠g爜 <embed wmode="transparent" src="http://kuangbaoxu.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=package%20ttitfly.proxy%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%0Apublic%20class%20TestDynamicProxy%20%7B%20%20%20%20%20%20%20%20%0A%20%20%20%20public%20static%20void%20main(String%5B%5D%20args)%7B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20HelloWorld%20helloWorld%20%3D%20new%20HelloWorldImpl()%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20DynamicProxy%20dp%20%3D%20new%20DynamicProxy()%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%E5%9C%A8%E8%BF%99%E9%87%8C%E7%BB%91%E5%AE%9A%E7%9A%84%E6%98%AFHelloWorld%2C%E4%B9%9F%E5%B0%B1%E6%98%AFHelloWorld%E6%98%AF%E8%A2%AB%E4%BB%A3%E7%90%86%E6%8E%A5%E5%8F%A3%E3%80%82%E6%89%80%E4%BB%A5%E7%BB%91%E5%AE%9A%E5%85%B3%E7%B3%BB%E6%97%B6%EF%BC%8C%E9%9C%80%E8%A6%81%E4%BC%A0%E9%80%92%E4%B8%80%E4%B8%AAHelloWorld%E7%9A%84%E5%AE%9E%E7%8E%B0%E7%B1%BB%E7%9A%84%E5%AE%9E%E4%BE%8B%E5%8C%96%E5%AF%B9%E8%B1%A1%E3%80%82%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20HelloWorld%20helloWorld1%20%3D%20(HelloWorld)dp.bindRelation(helloWorld)%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20helloWorld1.print()%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20helloWorld1.say()%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2FhelloWorld2%E5%B0%86%E4%B8%8D%E8%A2%AB%E6%8B%A6%E6%88%AA%20%20%20%20%0A%20%20%20%20%20%20%20%20HelloWorld%20helloWorld2%20%3D%20new%20HelloWorldImpl()%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20helloWorld2.print()%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20helloWorld2.say()%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%7D%20%20%20%20%20%20%20%20%0A%7D%20%20%20%20%20%20%20%20" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> <a href="" title="鏀惰棌榪欐浠g爜" style="color: #108ac6;"><img src="http://kuangbaoxu.iteye.com/images/icon_star.png" alt="鏀惰棌浠g爜" style="border: 0px;" /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af;"><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">package</span> ttitfly.proxy;          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">         </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;"><span style="color: #7f0055;">public</span> <span style="color: #7f0055;">class</span> TestDynamicProxy {          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    <span style="color: #7f0055;">public</span> <span style="color: #7f0055;">static</span> <span style="color: #7f0055;">void</span> main(String[] args){          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        HelloWorld helloWorld = <span style="color: #7f0055;">new</span> HelloWorldImpl();          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        DynamicProxy dp = <span style="color: #7f0055;">new</span> DynamicProxy();          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="width: auto; border-width: 0px;">//鍦ㄨ繖閲岀粦瀹氱殑鏄疕elloWorld,涔熷氨鏄疕elloWorld鏄浠g悊鎺ュ彛銆傛墍浠ョ粦瀹氬叧緋繪椂錛岄渶瑕佷紶閫掍竴涓狧elloWorld鐨勫疄鐜扮被鐨勫疄渚嬪寲瀵硅薄銆?nbsp;       </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        HelloWorld helloWorld1 = (HelloWorld)dp.bindRelation(helloWorld);           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        helloWorld1.print();           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        helloWorld1.say();          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">              </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        <span style="width: auto; border-width: 0px;">//helloWorld2灝嗕笉琚嫤鎴?nbsp;   </span>  </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        HelloWorld helloWorld2 = <span style="color: #7f0055;">new</span> HelloWorldImpl();      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        helloWorld2.print();           </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">        helloWorld2.say();      </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">              </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">    }          </li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px;">}          </li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;" /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff;">鍦ㄦ祴璇曠被閲岃皟鐢ㄥ疄鐜扮被鐨刾rint鍜宻ay鏂規硶錛屽洜涓轟唬鐞嗙被閲屼唬鐞嗕簡HelloWorld鐨勬墍鏈夋柟娉曘傛墍浠ュ氨涓嶉渶瑕佸儚闈欐佷唬鐞嗙被閭f牱涓涓瀹炵幇浜嗐?nbsp;</span><img src ="http://www.tkk7.com/brock/aggbug/395513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-02-21 12:01 <a href="http://www.tkk7.com/brock/archive/2013/02/21/395513.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐞嗚ВJava瀵硅薄搴忓垪鍖?鍘?http://www.tkk7.com/brock/archive/2013/02/21/395512.htmlbrockbrockThu, 21 Feb 2013 03:41:00 GMThttp://www.tkk7.com/brock/archive/2013/02/21/395512.html闃呰鍏ㄦ枃

brock 2013-02-21 11:41 鍙戣〃璇勮
]]>
Java娉涘瀷綆鏄庢暀紼?/title><link>http://www.tkk7.com/brock/archive/2013/02/21/395509.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Thu, 21 Feb 2013 03:31:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/02/21/395509.html</guid><description><![CDATA[     鎽樿: 娉涘瀷鏄疛ava SE 5.0涓紩鍏ョ殑涓欏圭壒寰侊紝鑷粠榪欓」璇█鐗瑰緛鍑虹幇澶氬勾鏉ワ紝鎴戠浉淇★紝鍑犱箮鎵鏈夌殑Java紼嬪簭鍛樹笉浠呭惉璇磋繃錛岃屼笖浣跨敤榪囧畠銆傚叧浜嶫ava娉涘瀷鐨勬暀紼嬶紝鍏嶈垂鐨勶紝涓嶅厤璐圭殑錛屾湁寰堝銆傛垜閬囧埌鐨勬渶濂界殑鏁欐潗鏈夛細The Java TutorialJava Generics and Collections, by Maurice Naftalin and Philip WadlerEffective Jav...  <a href='http://www.tkk7.com/brock/archive/2013/02/21/395509.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/brock/aggbug/395509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-02-21 11:31 <a href="http://www.tkk7.com/brock/archive/2013/02/21/395509.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>嫻呮嫹璐濆拰娣辨嫹璐?/title><link>http://www.tkk7.com/brock/archive/2013/02/21/395508.html</link><dc:creator>brock</dc:creator><author>brock</author><pubDate>Thu, 21 Feb 2013 03:03:00 GMT</pubDate><guid>http://www.tkk7.com/brock/archive/2013/02/21/395508.html</guid><description><![CDATA[     鎽樿: 嫻呮嫹璐濆氨姣斿鍍忓紩鐢ㄧ被鍨嬶紝鑰屾繁鎷瘋礉灝辨瘮濡傚肩被鍨嬨?nbsp; 嫻呮嫹璐濇槸鎸囨簮瀵硅薄涓庢嫹璐濆璞″叡鐢ㄤ竴浠藉疄浣擄紝浠呬粎鏄紩鐢ㄧ殑鍙橀噺涓嶅悓錛堝悕縐頒笉鍚岋級銆傚鍏朵腑浠諱綍涓涓璞$殑鏀瑰姩閮戒細褰卞搷鍙﹀涓涓璞°備婦涓緥瀛愶紝涓涓漢涓寮濮嬪彨寮犱笁錛屽悗鏉ユ敼鍚嶅彨鏉庡洓浜嗭紝鍙槸榪樻槸鍚屼竴涓漢錛屼笉綆℃槸寮犱笁緙鴻兂鑶婂皯鑵胯繕鏄潕鍥涚己鑳寵唺灝戣吙錛岄兘鏄繖涓漢鍊掗湁銆傛繁鎷瘋礉鏄寚婧愬璞′笌鎷瘋礉瀵硅薄浜掔浉鐙珛錛屽叾涓換浣曚竴涓璞$殑鏀瑰姩閮戒笉浼氬鍙﹀涓涓璞¢犳垚褰卞搷銆?..  <a href='http://www.tkk7.com/brock/archive/2013/02/21/395508.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/brock/aggbug/395508.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/brock/" target="_blank">brock</a> 2013-02-21 11:03 <a href="http://www.tkk7.com/brock/archive/2013/02/21/395508.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://avxyz.com" target="_blank">亚洲国产国产综合一区首页</a>| <a href="http://hkschooltv.com" target="_blank">成人毛片视频免费网站观看</a>| <a href="http://xf002.com" target="_blank">丁香花在线视频观看免费</a>| <a href="http://5ggy.com" target="_blank">日本精品久久久久久久久免费</a>| <a href="http://abbobo.com" target="_blank">亚洲精品久久久久无码AV片软件</a>| <a href="http://05942688.com" target="_blank">亚洲AV无码国产精品色</a>| <a href="http://micehunan.com" target="_blank">亚洲毛片一级带毛片基地</a>| <a href="http://5ggy.com" target="_blank">亚洲国产精品久久久久秋霞影院</a>| <a href="http://www91v.com" target="_blank">久久亚洲AV成人无码软件</a>| <a href="http://zjhydouyaji.com" target="_blank">亚洲黄色网址大全</a>| <a href="http://dgyxcsb.com" target="_blank">亚洲福利视频网址</a>| <a href="http://4001120002.com" target="_blank">亚洲国产成人精品激情</a>| <a href="http://400209.com" target="_blank">亚洲色偷偷综合亚洲AV伊人蜜桃</a>| <a href="http://zgdhuibao.com" target="_blank">中文字幕无码精品亚洲资源网久久 </a>| <a href="http://jiezinet.com" target="_blank">亚洲偷自精品三十六区</a>| <a href="http://66qiqi.com" target="_blank">亚洲av无码片在线观看</a>| <a href="http://600c20.com" target="_blank">在线观看亚洲AV每日更新无码</a>| <a href="http://jinmenonline.com" target="_blank">77777亚洲午夜久久多喷</a>| <a href="http://kppp4.com" target="_blank">亚洲6080yy久久无码产自国产</a>| <a href="http://556228.com" target="_blank">美女啪啪网站又黄又免费</a>| <a href="http://222941.com" target="_blank">国产成人无码免费看片软件</a>| <a href="http://tiantiantegou.com" target="_blank">成在线人免费无码高潮喷水</a>| <a href="http://51comcomcom.com" target="_blank">免费久久人人爽人人爽av</a>| <a href="http://yijiazhiwei.com" target="_blank">亚洲一级免费视频</a>| <a href="http://5aa6.com" target="_blank">老司机永久免费网站在线观看</a>| <a href="http://adcaes.com" target="_blank">免费看小12萝裸体视频国产</a>| <a href="http://89895cc.com" target="_blank">91麻豆精品国产自产在线观看亚洲</a>| <a href="http://www-887234.com" target="_blank">情人伊人久久综合亚洲</a>| <a href="http://bdykdq.com" target="_blank">亚洲精品网站在线观看你懂的</a>| <a href="http://yutuzb.com" target="_blank">国产精品亚洲一区二区麻豆</a>| <a href="http://9qwx.com" target="_blank">黄页免费视频播放在线播放</a>| <a href="http://wwwy66y6.com" target="_blank">四虎影视无码永久免费</a>| <a href="http://kdp44.com" target="_blank">嫖丰满老熟妇AAAA片免费看</a>| <a href="http://ittenyear.com" target="_blank">日本高清免费不卡在线</a>| <a href="http://fkg675.com" target="_blank">国产亚洲人成A在线V网站</a>| <a href="http://181xx.com" target="_blank">综合自拍亚洲综合图不卡区</a>| <a href="http://zuahowan.com" target="_blank">亚洲爆乳少妇无码激情</a>| <a href="http://fns92.com" target="_blank">99久久99这里只有免费的精品 </a>| <a href="http://3838dydy.com" target="_blank">亚洲国产精品嫩草影院 </a>| <a href="http://wwwabxx.com" target="_blank">亚洲AV无码成人专区</a>| <a href="http://922eee.com" target="_blank">美女18一级毛片免费看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>