??xml version="1.0" encoding="utf-8" standalone="yes"?>日本一区二区久久精品,日韩亚洲欧美在线,一级二级在线观看http://www.aygfsteel.com/morgan/zh-cnFri, 20 Jun 2025 01:03:48 GMTFri, 20 Jun 2025 01:03:48 GMT60bat 脚本学习(fn)http://www.aygfsteel.com/morgan/articles/bat.htmlmorganmorganMon, 17 Sep 2012 15:18:00 GMThttp://www.aygfsteel.com/morgan/articles/bat.htmlhttp://www.aygfsteel.com/morgan/comments/387946.htmlhttp://www.aygfsteel.com/morgan/articles/bat.html#Feedback0http://www.aygfsteel.com/morgan/comments/commentRss/387946.htmlhttp://www.aygfsteel.com/morgan/services/trackbacks/387946.html
        @echo off
            不回昑֑令?br />        echo 
            昄后面的字W串
        if 
            if 1==1 echo helloworld  判断1==1是否成立Q如果成立,则显Chelloworld?br />        for
           1  for %%i in (t*.*) do echo %%i                昄当前文g夹下以t开头的文g?br />           2  for /d %%i in (c*.*) do echo %%i            昄当前文g夹下以c开头的文g夏V?br />           3  for /r d:\ %%i in (c*.*) do echo %%i       昄D盘(sh)以及(qing)子文件夹下所有以C开头的文g?br />           4  for /r /d %%i in (c*.*) do echo %%i         昄D盘(sh)以及(qing)子文件夹下面所有以C开头的文g夏V?br />           5  for /L %%i in (1,1,5) do echo %%i           昄?开始,5l束Qstep?的序列?br />           6  for /f %%i in (a.txt) do echo %%i            昄a.txt文g中的所有内? 
           6  for /f "tokens=4,* delims=\" %%i in (a.txt) do echo %%i\%%j >> b.txt
                    d当前目录下a.txt文g中的内容Qƈ且每行以\分割Q最后返回第四列以及(qing)以后每一列的内容Q全部写入到b.txt文g中?br />           7  for /r d:\project\src %%i in (*.java) do javac %%i 2>>temp.log
                    ~译d:\project\src目录下面所有的java文gQƈ且编译信息输出到temp.log目录?br />                
        del 
            del a.txt     删除当前目录下的a.txt文g?br />            del %0       删除当前的批处理文g?br />        > >>
            > 内容输出到后面的文件。覆盖之前的内容?br />            >> 前面命令的内容写到后面的文Ӟ但是写入的方式是q加写入。不覆盖之前的内宏V?nbsp;
        |
            前一个命令的输出内容作ؓ(f)后一个命令的输入?nbsp;     

        以上都是基础内容Q但是掌握好以后Q写一个病毒程序出来已l完全没问题?sh)(jin)。更深入的用请研究Bat.Worm.Muma 病毒代码Q此代码构思精巧,
 不得不佩服此病毒的作者。在此致敬?br />            

morgan 2012-09-17 23:18 发表评论
]]>
windchill 10.0 性能优化http://www.aygfsteel.com/morgan/articles/387673.htmlmorganmorganThu, 13 Sep 2012 11:23:00 GMThttp://www.aygfsteel.com/morgan/articles/387673.htmlhttp://www.aygfsteel.com/morgan/comments/387673.htmlhttp://www.aygfsteel.com/morgan/articles/387673.html#Feedback0http://www.aygfsteel.com/morgan/comments/commentRss/387673.htmlhttp://www.aygfsteel.com/morgan/services/trackbacks/387673.html        一 在site.xconf文g中添加如下内容:(x)
            1 <Property name="wt.org.services.userPasswordChangeEnabled" overridable="true" targetFile="codebase/wt.properties"                 value="true"/>
                允许用户修改密码的功?br />            2  <Property name="wt.manager.monitor.services" overridable="true" targetFile="codebase/wt.properties" value="MethodServer                 BackgroundMethodServer"/>
                <Property name="wt.queue.executeQueues" overridable="true" targetFile="codebase/wt.properties" value="false"/>
                <Property name="wt.manager.monitor.start.MethodServer" overridable="true" targetFile="codebase/wt.properties" value="3"/>
                <Property name="wt.manager.monitor.start.BackgroundMethodServer" overridable="true" targetFile="codebase/wt.properties"                     value="2"/>
                定义后台Ҏ(gu)服务器,q将队列的执行{Ud后台Ҏ(gu)服务器上。同时定义了(jin)Ҏ(gu)服务器和后台Ҏ(gu)服务器的个数?br />            3  <Property name="wt.method.maxHeap" overridable="true" targetFile="codebase/wt.properties" value="3072"/>
                <Property name="wt.method.minHeap" overridable="true" targetFile="codebase/wt.properties" value="3072"/>
                <Property name="wt.manager.maxHeap" overridable="true" targetFile="codebase/wt.properties" value="512"/>
                <Property name="wt.manager.minHeap" overridable="true" targetFile="codebase/wt.properties" value="512"/>
                定义?jin)后台方法服务器最大堆大小Q最堆大小Q服务器理器最大堆大小和最堆大小?br />            4  保存site.xconf文gQ在windchill shell中执?xconfmanager -p 命o(h)?br />        ? tomcat内存?sh)?br />            1 使用~辑器打开<WT_HOME>\tomcat\bin\wttomcat_start.bat文g。修?Xms?Xmx参数gؓ(f)-Xms4096M -Xmx4096M
        ? 重新启动windchill服务器,在windchill shell中输入windchill stop & windchill start?br />



morgan 2012-09-13 19:23 发表评论
]]>
软g开发的基本Ҏ(gu)---读Y件工E思想(林锐)有感http://www.aygfsteel.com/morgan/articles/method.htmlmorganmorganThu, 13 Sep 2012 11:04:00 GMThttp://www.aygfsteel.com/morgan/articles/method.htmlhttp://www.aygfsteel.com/morgan/comments/387671.htmlhttp://www.aygfsteel.com/morgan/articles/method.html#Feedback0http://www.aygfsteel.com/morgan/comments/commentRss/387671.htmlhttp://www.aygfsteel.com/morgan/services/trackbacks/387671.html        今天无意间读到林锐博士写的一本书--<<软g工程思想>>Q随便翻?jin)一下,看到其中有一D关于Y件开发的基本{略Q现记录如下?br />        软g开发的基本{略有三U,复用Q分而治之,优化-折(sh)?br />        复用Q就是我们可以利用前人开发的成熟功能或模块进行组装调用,来实现我们在开发工作中需要的功能Q但是仅仅这么复用下ȝ话,那么我们也不?x)有q步Q也不会(x)有创斎ͼ个h价g何体玎ͼ所以我们需要在复用的同ӞҎ(gu)熟模块进行优化,理解它的工作原理Q从而达到更好的使用Q以?qing)站在更高的层面来实现成熟模块的功能Q还有对现有pȝ也要q行优化。此外,复用q需要注意的是,复用是我们拿别h的东西,同样Q我们做的东西,也要方便别h来拿着用才可以。这h能实现最大h(hun)倹{?br />        分而治之,好像很多地方都有提到q个名词Q我在算法书上也有见q类似的思想。将一个复杂的功能分解成很多个单的功能Q然后逐一ȝQ最后将每个单功能的实现l合hQ就是这个复杂功能的实现?jin)。但是分解问题的q程需要注意的是,分解q不是简单的拆卸Q要保分解后的功能Q最后归qӞq是原来的复杂问题才可以?br />        优化-折(sh)Q优化工作ƈ不是可有可无的工作,而是我们必须要做的事情,当优化工作中遇到困难Ӟ我们可以选择折(sh)Ҏ(gu)Q但是该Ҏ(gu)的前提是不能损失其他功能?img src ="http://www.aygfsteel.com/morgan/aggbug/387671.html" width = "1" height = "1" />

morgan 2012-09-13 19:04 发表评论
]]>
java反射调用mainҎ(gu)QprivateҎ(gu)实现http://www.aygfsteel.com/morgan/articles/reflection.htmlmorganmorganWed, 12 Sep 2012 12:55:00 GMThttp://www.aygfsteel.com/morgan/articles/reflection.htmlhttp://www.aygfsteel.com/morgan/comments/387590.htmlhttp://www.aygfsteel.com/morgan/articles/reflection.html#Feedback0http://www.aygfsteel.com/morgan/comments/commentRss/387590.htmlhttp://www.aygfsteel.com/morgan/services/trackbacks/387590.html   
public class HelloWorld { 
    public static void main(String[] args) {
        System.out.println("HelloWorld");
    }
    private void prt(String msg){
        System.out.println(msg);
    }
}
  
     调用mainҎ(gu)如下Q?br />        
public class HelloWorldRefection { 
    public static void main(String[] args) throws InstantiationException, IllegalAccessException, 
        SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
        Method method = HelloWorld.class.getMethod("main",String[].class);
        method.invoke(null,(Object)new String[]{});
    }
}
     调用privateҎ(gu)如下:
    
 public class HelloWorldRefection { 
    public static void main(String[] args) throws InstantiationException, IllegalAccessException, 
    SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
        Class clazz = HelloWorld.class;
        HelloWorld helloworld = HelloWorld.class.newInstance();
        Method[] methods = clazz.getDeclaredMethods();
        for (Method method : methods) {
            System.out.println(method.getName());
            if(method.getName().equals("prt")){
                method.setAccessible(true);
                method.invoke(helloworld, "hello");
            }
        }
    }
}
     ȝ:
            1 调用mainҎ(gu)需要注意,mainҎ(gu)的参Cؓ(f)String[]Q但是在method.invokeӞ需要将String[]强制转换为ObjectQ至于原因,|上很多说这个,?      要是说jdk执行mainҎ(gu)时要String[]分成多个参数{等。后l我分析?jin)源代码后,会(x)将q个问题?sh)门写个文章出来?br />            2 调用privateҎ(gu)需要注意,在调用此Ҏ(gu)之前Q需要将此执行的Ҏ(gu)讄以下Q而不是随便找个地方运行下method.setAccessible(true)完事了(jin)?br />            3 使用反射动态调用方法时Q主要是用method.invoke()Ҏ(gu)Q如果是?rn)态方法,则invoke的第一个参数设|nullQ如果不是静(rn)态方法,则将W一个参数设      |ؓ(f)该类生成的对象即可?img src ="http://www.aygfsteel.com/morgan/aggbug/387590.html" width = "1" height = "1" />

morgan 2012-09-12 20:55 发表评论
]]>
Windchill 中实现获取带有层U记录的BOM功能http://www.aygfsteel.com/morgan/articles/BOM.htmlmorganmorganWed, 12 Sep 2012 08:14:00 GMThttp://www.aygfsteel.com/morgan/articles/BOM.htmlhttp://www.aygfsteel.com/morgan/comments/387558.htmlhttp://www.aygfsteel.com/morgan/articles/BOM.html#Feedback0http://www.aygfsteel.com/morgan/comments/commentRss/387558.htmlhttp://www.aygfsteel.com/morgan/services/trackbacks/387558.html
      1 先定义一个类Q记录部Ӟ部g的用关p,部g层。定义如下:(x)
public class BOMElement {

    //index 部g在BOM中的层数
    private int index;
    //part BOM中的部g
    private WTPart part;
    //link 部g的link(link 描述当前部g)
    private WTPartUsageLink link;
    
    //根节点元素的初始?/span>
    public BOMElement(WTPart part){
        this.index = 0;
        this.part = part;
        this.link = null;
    }
    //所有子节点元素的初始化
    public BOMElement(int index,WTPart part,WTPartUsageLink link){
        this.index = index;
        this.part = part;
        this.link = link;
    }
    
    public int getIndex() {
        return index;
    }
    public void setIndex(int index) {
        this.index = index;
    }
    public WTPart getPart() {
        return part;
    }
    public void setPart(WTPart part) {
        this.part = part;
    }
    public WTPartUsageLink getLink() {
        return link;
    }
    public void setLink(WTPartUsageLink link) {
        this.link = link;
    }
}

      2 传入层部gQ实现递归查询子部Ӟq定义变量,记录递归深度Q?br />
    public List<BOMElement> queryBOM(WTPart part) throws WTException{
        BOMElement root = new BOMElement(part);
        List<BOMElement> list = new ArrayList<BOMElement>();
        ConfigSpec configSpec = WTPartHelper.service.findWTPartConfigSpec();
        int index = 0;
        list = querySubBOMList(root,configSpec,list,index);
        return list;
    }
    
    private List<BOMElement> querySubBOMList(BOMElement element,ConfigSpec configSpec,List<BOMElement> list,int index) throws WTException{
        list.add(element);
        QueryResult qr = WTPartHelper.service.getUsesWTParts(element.getPart(),configSpec);
        Vector<Object> vector = qr.getObjectVectorIfc().getVector();
        for(int i=0;i<vector.size();i++){
            Persistable[] persist = (Persistable[]) vector.get(i);
            index++;
            BOMElement subElement = new BOMElement(index,(WTPart)persist[1],(WTPartUsageLink)persist[0]);
            querySubBOMList(subElement,configSpec,list,index);
            index--;
        }
        return list;
    }
     
     3 上面定义中,index变量记录递归深度Q在递归调用之前Q该变量自增1Q表C递归调用一ơ,递归调用后,该变量自?Q表C递归调用减少一ơ。以此来记录递归调用的次数。ƈ在构造BOMElement中,以此来记录零件的层?nbsp;

 

morgan 2012-09-12 16:14 发表评论
]]>
博客开?/title><link>http://www.aygfsteel.com/morgan/articles/387543.html</link><dc:creator>morgan</dc:creator><author>morgan</author><pubDate>Wed, 12 Sep 2012 06:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/morgan/articles/387543.html</guid><wfw:comment>http://www.aygfsteel.com/morgan/comments/387543.html</wfw:comment><comments>http://www.aygfsteel.com/morgan/articles/387543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/morgan/comments/commentRss/387543.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/morgan/services/trackbacks/387543.html</trackback:ping><description><![CDATA[     q期回顾?jin)两文章?lt;<<a >银弹和我们的职业</a>>>?lt;<<a >无剑胜有?软g大师之\的探?/a>>>?br />     通过银弹的介l,?jin)解到编E的本质困难不在哪种语言可以实现什么样的功能,也不是哪U的语言的什么语法等{,而是在于抽象l构的规范,设计l构{。文中的例子很脓(chung)切,如果拿摄影来比编E的话,摄媄(jing)的本质困隑֜于艺术感觉,而不是用何U相机?br />     对于W二的描述Q主要讲qC(jin)~程和武侠中的剑术是盔R的Q最L(fng)理念一致。我们往往使用?jin)很好很强大的工P但是因ؓ(f)没有深入?jin)解工具Q最后落成?jin)工L(fng)工具Q不得不_(d)q是一个技术h员的(zhn)哀。所以这文章强调了(jin)基础知识Q基理论的掌握,做到厚积薄发Q才能更有效的用工P对于我们~程Q有一个更高层ơ的把控?br /><br />      所以通过q两文章的回顾Q算是温故知斎ͼ对几q工作的ȝQ发现如果再不?zhn)崖勒马,最后的l果是自己变成工具的工具了(jin)。这也是q个博客出现的缘׃(jin)。这个博客更新应该比较慢Q但是每一都是经q深思熟虑才?x)分享出来?br /><br />      工作比较忙,先写到这里。算是一个开的记录。希望能坚持下来Q写一个比较好的博客,分n自己的成长,不要做虎头蛇事情?img src ="http://www.aygfsteel.com/morgan/aggbug/387543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/morgan/" target="_blank">morgan</a> 2012-09-12 14:13 <a href="http://www.aygfsteel.com/morgan/articles/387543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">IJ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ٳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ع</a>| <a href="http://" target="_blank">绯</a>| <a href="http://" target="_blank">ʷ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʯ</a>| <a href="http://" target="_blank">÷</a>| <a href="http://" target="_blank">ٺ</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ӫ</a>| <a href="http://" target="_blank">«Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</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>