<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_ZXSOFT's Blog - 张旋.NET</title><subtitle type="text">All things are difficult before they are easy.以学习技术为方法，以提高职业素质为目的。 http://www.zhangxuan.net</subtitle><id>http://feed.cnblogs.com/blog/u/6876/rss</id><updated>2010-04-30T01:52:15Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/6876/rss"/><entry><id>http://www.cnblogs.com/zxsoft/archive/2010/04/30/1724682.html</id><title type="text">Java 动态编译</title><summary type="text">http://www.java2s.com/Tutorial/Java/0120__Development/CompileString.htm importjava.lang.reflect.Method;importjava.net.URI;importjava.util.Iterator;importjava.util.NoSuchElementException;importjavax.to...</summary><published>2010-04-30T01:45:00Z</published><updated>2010-04-30T01:45:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2010/04/30/1724682.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2010/04/30/1724682.html"/><content type="html">&lt;p&gt;&lt;a href="http://www.java2s.com/Tutorial/Java/0120__Development/CompileString.htm" target="_blank"&gt;http://www.java2s.com/Tutorial/Java/0120__Development/CompileString.htm&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&lt;code&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;java.lang.reflect.Method;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;java.net.URI;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;java.util.Iterator;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;java.util.NoSuchElementException;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.JavaCompiler;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.JavaFileObject;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.SimpleJavaFileObject;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.ToolProvider;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;class&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;CompileString&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;static&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;void&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[]&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;args&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;throws&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Exception&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;JavaCompiler&amp;nbsp;compiler&amp;nbsp;=&amp;nbsp;ToolProvider.getSystemJavaCompiler&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;String&amp;nbsp;program&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#2a00ff"&gt;"class&amp;nbsp;Test{"&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="#2a00ff"&gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;main&amp;nbsp;(String&amp;nbsp;[]&amp;nbsp;args){"&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="#2a00ff"&gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println&amp;nbsp;(\"Hello,&amp;nbsp;World\");"&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="#2a00ff"&gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println&amp;nbsp;(args.length);"&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="#2a00ff"&gt;"&amp;nbsp;&amp;nbsp;&amp;nbsp;}"&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;&lt;/font&gt;&lt;font color="#2a00ff"&gt;"}"&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;Iterable&amp;lt;?&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;extends&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;JavaFileObject&amp;gt;&amp;nbsp;fileObjects;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;fileObjects&amp;nbsp;=&amp;nbsp;getJavaSourceFromString&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;program&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;compiler.getTask&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;null,&amp;nbsp;null,&amp;nbsp;null,&amp;nbsp;null,&amp;nbsp;null,&amp;nbsp;fileObjects&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;.call&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;Class&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&amp;lt;?&amp;gt;&amp;nbsp;clazz&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;Class&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;.forName&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;"Test"&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;Method&amp;nbsp;m&amp;nbsp;=&amp;nbsp;clazz.getMethod&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;"main"&lt;/font&gt;&lt;font color="#000000"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;new&amp;nbsp;Class&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;[]&amp;nbsp;{&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[]&lt;/font&gt;&lt;font color="#000000"&gt;.&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;class&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;})&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;Object&lt;/font&gt;&lt;font color="#000000"&gt;[]&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;_args&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Object&lt;/font&gt;&lt;font color="#000000"&gt;[]&amp;nbsp;{&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#990000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;]&amp;nbsp;}&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;m.invoke&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;null,&amp;nbsp;_args&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;static&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Iterable&amp;lt;JavaSourceFromString&amp;gt;&amp;nbsp;getJavaSourceFromString&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&amp;nbsp;code&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;final&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;JavaSourceFromString&amp;nbsp;jsfs;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;jsfs&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;JavaSourceFromString&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;"code"&lt;/font&gt;&lt;font color="#000000"&gt;,&amp;nbsp;code&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;return&amp;nbsp;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Iterable&amp;lt;JavaSourceFromString&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;()&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Iterator&amp;lt;JavaSourceFromString&amp;gt;&amp;nbsp;iterator&lt;/font&gt;&lt;font color="#000000"&gt;()&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;return&amp;nbsp;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;Iterator&amp;lt;JavaSourceFromString&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;()&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;boolean&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;isNext&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;true&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;boolean&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;hasNext&lt;/font&gt;&lt;font color="#000000"&gt;()&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;return&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;isNext;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;JavaSourceFromString&amp;nbsp;next&lt;/font&gt;&lt;font color="#000000"&gt;()&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;if&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;!isNext&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;NoSuchElementException&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;isNext&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;false&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;return&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;jsfs;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;void&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;remove&lt;/font&gt;&lt;font color="#000000"&gt;()&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;throw&amp;nbsp;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;UnsupportedOperationException&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;class&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;JavaSourceFromString&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;extends&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;SimpleJavaFileObject&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;final&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;String&amp;nbsp;code;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;JavaSourceFromString&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&amp;nbsp;name,&amp;nbsp;String&amp;nbsp;code&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;super&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;URI.&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;create&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;"string:///"&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;name.replace&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#990000"&gt;'.'&lt;/font&gt;&lt;font color="#000000"&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color="#990000"&gt;'/'&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;+&amp;nbsp;Kind.SOURCE.extension&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;,&amp;nbsp;Kind.SOURCE&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;this&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;.code&amp;nbsp;=&amp;nbsp;code;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;CharSequence&amp;nbsp;getCharContent&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;boolean&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ignoreEncodingErrors&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;return&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;code;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/code&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.java2s.com/Tutorial/Java/0120__Development/CompileJavafile.htm" target="_blank"&gt;http://www.java2s.com/Tutorial/Java/0120__Development/CompileJavafile.htm&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&lt;code&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.Diagnostic;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.DiagnosticCollector;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.JavaCompiler;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.JavaFileObject;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.StandardJavaFileManager;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;import&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;javax.tools.ToolProvider;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;class&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;CompileFiles2&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;public&amp;nbsp;static&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;void&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;main&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;String&lt;/font&gt;&lt;font color="#000000"&gt;[]&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;args&lt;/font&gt;&lt;font color="#000000"&gt;)&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;JavaCompiler&amp;nbsp;compiler&amp;nbsp;=&amp;nbsp;ToolProvider.getSystemJavaCompiler&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;DiagnosticCollector&amp;lt;JavaFileObject&amp;gt;&amp;nbsp;dc;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;dc&amp;nbsp;=&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;new&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;DiagnosticCollector&amp;lt;JavaFileObject&amp;gt;&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;StandardJavaFileManager&amp;nbsp;sjfm;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;sjfm&amp;nbsp;=&amp;nbsp;compiler.getStandardFileManager&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;dc,&amp;nbsp;null,&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;null&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;Iterable&amp;lt;?&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;extends&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;JavaFileObject&amp;gt;&amp;nbsp;fileObjects;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;fileObjects&amp;nbsp;=&amp;nbsp;sjfm.getJavaFileObjects&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;args&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;compiler.getTask&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;null,&amp;nbsp;sjfm,&amp;nbsp;dc,&amp;nbsp;null,&amp;nbsp;null,&amp;nbsp;fileObjects&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#000000"&gt;.call&lt;/font&gt;&lt;font color="#000000"&gt;()&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;for&amp;nbsp;&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;Diagnostic&amp;nbsp;d&amp;nbsp;:&amp;nbsp;dc.getDiagnostics&lt;/font&gt;&lt;font color="#000000"&gt;())&amp;nbsp;{&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;System.out.println&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#000000"&gt;d.getMessage&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#7f0055"&gt;&lt;strong&gt;null&lt;/strong&gt;&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;System.out.printf&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;"Line&amp;nbsp;number&amp;nbsp;=&amp;nbsp;%d\n"&lt;/font&gt;&lt;font color="#000000"&gt;,&amp;nbsp;d.getLineNumber&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;System.out.printf&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2a00ff"&gt;"File&amp;nbsp;=&amp;nbsp;%s\n"&lt;/font&gt;&lt;font color="#000000"&gt;,&amp;nbsp;d.getSource&lt;/font&gt;&lt;font color="#000000"&gt;())&lt;/font&gt;&lt;font color="#000000"&gt;;&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;br /&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;/code&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/zxsoft/aggbug/1724682.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/zxsoft/archive/2010/04/30/1724682.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2010/01/24/1655216.html</id><title type="text">Play! Framework —— 颠覆“企业级”=“复杂”的观念</title><summary type="text">Play! Framework 是07年的一个项目，08年开源，09年11月25日发布了1.0版。发布后我就一直在学习这个框架。现在正式发布版本已经是1.01版，而且1.1版本也在每日更新。可以在http://download.playframework.org下载已发布版本，和每日的最新版。学习Play!的过程中，最经常的感受就是&amp;#8212;&amp;#8212;简直太简单了！并不是说Play!是一个...</summary><published>2010-01-24T07:48:00Z</published><updated>2010-01-24T07:48:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2010/01/24/1655216.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2010/01/24/1655216.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2010/01/20/1652810.html</id><title type="text">JDK 7出人意料将增加“简单”闭包，发布时间推迟至明年底</title><summary type="text">作者Dionysios G. Synodinos译者张龙发布于 2009年11月25日 上午12时29分社区Java主题语言设计,语言,变更标签语言特性,闭包（Closures）近日Mark Reinhold在Devoxx的演讲中宣布JDK 7将增加闭包特性。由于添加了这个饱受争议的特性，JDK 7的发布时间将推迟至明年9月左右。Project Coin（旨在对Java 7进行小幅度的语言改进）的...</summary><published>2010-01-20T15:10:00Z</published><updated>2010-01-20T15:10:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2010/01/20/1652810.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2010/01/20/1652810.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2010/01/14/1647276.html</id><title type="text">冷观PDM</title><summary type="text">冷观PDM孟繁晶0、引言产品数据管理（ProductDataManagement，PDM）是二十世纪八十年代出现的一门信息管理技术，它主要解决了企业中大量产品数据存储与管理的问题。然而，随着IT技术与管理理念的不断发展，PDM的内涵与外延又不断得到拓展，并得到了各大企业的关注与支持。我国对PDM技术的广泛关注始于九十年代中期，一方面国内许多企业开始认同并实施PDM，另一方面国内各大高校及软件公司开...</summary><published>2010-01-13T16:49:00Z</published><updated>2010-01-13T16:49:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2010/01/14/1647276.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2010/01/14/1647276.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2010/01/13/1646906.html</id><title type="text">PDM在中国为什么比ERP更难成功实施？</title><summary type="text">从理论上讲，PDM相对于ERP应该是比较容易成功的，因为它至少有三方面优势：　　首先，PDM服务于专业设计人员，只要能让设计人员的潜力得以发挥，PDM的价值就体现了，不会导致企业内权力再分配，引发的矛盾自然就少得多；　　其次，PDM实施在业务上主要是企业的研发管理部门。和ERP不一样，少了很多业务部门之间协同的管理改造复杂难度。而且尽管不同企业的研发业务流程差异很大，但实际上这种流程的模块性很强，...</summary><published>2010-01-13T14:23:00Z</published><updated>2010-01-13T14:23:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2010/01/13/1646906.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2010/01/13/1646906.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2010/01/13/1646867.html</id><title type="text">什么是PDM</title><summary type="text">PDM的中文名称为产品数据管理（ProductDataManagement）。PDM是一门用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程(包括过程定义和管理)的技术。PDM产生的背景在20世纪的60、70年代，企业在其设计和生产过程中开始使用CAD、CAM等技术，新技术的应用在促进生产力发展的同时也带来了新的挑战。对于制造企业而言，虽然各单...</summary><published>2010-01-13T13:48:00Z</published><updated>2010-01-13T13:48:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2010/01/13/1646867.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2010/01/13/1646867.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2009/11/21/1607317.html</id><title type="text">Hibernate查询快速入门</title><summary type="text">转自：http://www.router.net.cn/Article/26665.html如果不知道所要寻找的对象的持久化标识，那么你需要使用Hibernate查询。在这里拿出来和大家分享一下我的经验，希望对大家有用。Hibernate支持强大且易于使用的面向对象查询语言(HQL)。 如果希望通过编程的方式创建查询，Hibernate提供了完善的按条件(Query By Criteria, QB...</summary><published>2009-11-20T18:46:00Z</published><updated>2009-11-20T18:46:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2009/11/21/1607317.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2009/11/21/1607317.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2009/09/17/1568822.html</id><title type="text">策略→需求→建模→规划→执行</title><summary type="text">当二十一世纪进入知识经济时代后，企业所面临的挑战也越来越严格。而善用信息技术于经营策略，绝对是企业赢的关键因素之一。企业信息化所需的 IT 技术越来越多、越来越复杂，而更重要的是 A 公司必要的 IT 需求，却不见得 B 公司也需要。因此，在这种趋势演变下，事先规划与确认符合企业经营策略的 IT 需求，是新一代的企业信息部门所必须负责的关键任务之一。 图一所示，以建模为导向的企业 IT 建设参考流...</summary><published>2009-09-17T14:12:00Z</published><updated>2009-09-17T14:12:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2009/09/17/1568822.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2009/09/17/1568822.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2009/09/05/1560984.html</id><title type="text">什么是BNF范式,什么又是EBNF范式?</title><summary type="text">巴科斯范式及其扩展BNF &amp;amp; Augmented BNF 什么是巴科斯范式？  　　巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集。　　现在，几乎每一位新编程语言书籍的作者都使用巴科斯范式来定义编程语言的语法规则。 巴科斯范式的内容 在双引号中的字("word")代表着这些字符...</summary><published>2009-09-05T11:56:00Z</published><updated>2009-09-05T11:56:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2009/09/05/1560984.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2009/09/05/1560984.html"/></entry><entry><id>http://www.cnblogs.com/zxsoft/archive/2009/09/03/1559927.html</id><title type="text">又是好久不写日志</title><summary type="text">好久没有写日志了。最近在忙什么呢？忙的很高兴，呵呵~校内网的玫瑰收获了有人可以送，人生变的有意义多了。。速度慢没关系，但不能等于0，买了书就要看完，To-do list里面写了老长的要做的事，该抽出时间来做了。加油！觉得累的时候，就想想写在沙滩上字吧~</summary><published>2009-09-03T15:06:00Z</published><updated>2009-09-03T15:06:00Z</updated><author><name>张旋</name><uri>http://www.cnblogs.com/zxsoft/</uri></author><link rel="alternate" href="http://www.cnblogs.com/zxsoft/archive/2009/09/03/1559927.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/zxsoft/archive/2009/09/03/1559927.html"/></entry></feed>
