??xml version="1.0" encoding="utf-8" standalone="yes"?>99国产精品国产精品毛片,欧美日韩国产精品一区二区三区四区 ,国产中文在线播放http://www.aygfsteel.com/zhenxuanpan/category/48420.htmlzh-cnThu, 09 Feb 2012 03:37:04 GMTThu, 09 Feb 2012 03:37:04 GMT60Liquibase+spring 初步使用http://www.aygfsteel.com/zhenxuanpan/archive/2012/02/09/369631.html潘潘.eagle潘潘.eagleWed, 08 Feb 2012 16:09:00 GMThttp://www.aygfsteel.com/zhenxuanpan/archive/2012/02/09/369631.htmlhttp://www.aygfsteel.com/zhenxuanpan/comments/369631.htmlhttp://www.aygfsteel.com/zhenxuanpan/archive/2012/02/09/369631.html#Feedback0http://www.aygfsteel.com/zhenxuanpan/comments/commentRss/369631.htmlhttp://www.aygfsteel.com/zhenxuanpan/services/trackbacks/369631.html

现在的工作的目中用了liquibaseQ感觉挺爽的Q可以跟t、管理数据库的重构。这对于很多需求变更较大的目是非怸错的Q特别是互联|的目。(虽然互联|Nosql已经非常行Q不q俺觉得传统关系型数据库q是有存在的必要的)

好了Q废话不多说Q说说这几天的学习心得和实战ȝ?/span>

关于liquibase的优点就不多说了Q可以去官网看简介?/span>

基本上我是从quickStart开始看的。Liquibase的原理很单,是通过记录数据库的l构斚w的所有重构都攑֜一个Changelog中的xml中,通过xml的changeSet去跟t数据库的变更?/span>

在最q的工作中很好奇Qؓ什么liquibase可以做到识别哪一个ChangeSet需要去Ҏ据库重构Q哪一个不重构Q已l执行了数据库结构的修改操作Q。通过试以后发现QliquibaseW一ơ运行的时候会在DB建立两张表,分别是databasechangelog和databasechagneloglockQ?br />


q样很好理解了Q通过DBȝlƈ匚w旧的操作和新的操作?/span>

l箋看databasechange表结构,发现表l构的主键是ID,AUTHOR,FILENAME.

即通过每一个ChangeSet的ID+修改ChangeSet的作者标C?包含ChangeSet的文件名

来,也这避免了多人协同开发的冲突。(关于ID和AUTHOR可以再后面配|文件中看到Q?/span>

关于databasechangelogQ我的理解则是当q是否有操作占有数据库变更的?br />

PsQ开始认个ID和databasechange的ID应该是同一个|后来才发C同,因ؓ属性g同,q里的ID应该是databasechange表中的ORDEREXECUTED。这个值应该是数据库根据执行顺序确定的序列可不是用户在xml中配|的ID受?/span>

看完q些Q就来看看liquibase怎么在项目中使用Q?/span>

吐槽一下,官方的quickStart写的有点烂,只列了如下几U:

一看,我就觉得有点晕,command line我觉得好囧,Ant我不会应该也快被maven淘汰了吧QGrails我google了一下才有所了解。那我知道的maven和servlet listener。Servlet listener 非web目咋办呢?好吧Q只有maven一条出路了。在官网找了半天Q才发现q东西还支持spring,刚好手头的项目是架在spring上面的?br />

所以,在spring上面捣鼓了一下,把官方的配置copy一份到自己的xml中就行了Q?/span>http://www.liquibase.org/manual/spring Q?br />

bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase">
      
<property name="dataSource" ref="myDataSource" />
      
<property name="changeLog" value="classpath:db-changelog.xml" />
 
      
<!--
      contexts specifies the runtime contexts to use.
      
-->
      
<property name="contexts" value="test, production" />
 
</bean>

 q行了一下,一切OK?/span>

不过q是要吐槽一下,如果不是web目Q不用maven,不用spring.那这东西是不是就不能用了呢?

为啥不能支持一下通过代码去load执行呢?

 -------------------------------------------------------------------------------------
初步使用了一下,值得挖掘的东西应该还是很多的?br />记录一下liquibase的源代码地址Q?a >https://github.com/liquibase/liquibase?/p>

 

 

 

 

 



潘潘.eagle 2012-02-09 00:09 发表评论
]]>
java Annotation初用http://www.aygfsteel.com/zhenxuanpan/archive/2012/01/21/368799.html潘潘.eagle潘潘.eagleFri, 20 Jan 2012 17:19:00 GMThttp://www.aygfsteel.com/zhenxuanpan/archive/2012/01/21/368799.htmlhttp://www.aygfsteel.com/zhenxuanpan/comments/368799.htmlhttp://www.aygfsteel.com/zhenxuanpan/archive/2012/01/21/368799.html#Feedback1http://www.aygfsteel.com/zhenxuanpan/comments/commentRss/368799.htmlhttp://www.aygfsteel.com/zhenxuanpan/services/trackbacks/368799.html

?/span>java的Annotation不是太熟悉,不过最q又要用Q所以就找了相关的文档看了下Qƈ写了一个Demo

基本的需求如下:

ServerҎҎ传递的cd码找到具体的某个cȝ具体Ҏq运行。个得用AnnotationL释代码比较好Q也减少配置文gQ所以就体验了一把?br />

具体代码如下Q?/span>

1?/span>先定义一个自qAnnotation

@Retention(RetentionPolicy.RUNTIME)
public @interface CodeAnnotation {
    String code();
}

     q里一定要自qAnnotation定义行时的,默认好像是编译时的,所以无法动态的Ҏserver接收到的coded配函?br />    2?/span>@Override定义父类basicHandler通过攑ְ去获取执行子cȝҎ

    public Message execute(Message message) {
        String code 
= message.getCode();
        String className 
= this.getClass().getName();
        Message msg 
= null;
        
try {
            
for (Method m : Class.forName(className).getMethods()) {
                
if (m.getAnnotation(CodeAnnotation.class!= null) {
                    
if (code.equals(m.getAnnotation(CodeAnnotation.class).code())) {
                        
try {
                            msg 
= (Message)m.invoke(this, message);
                        } 
catch (IllegalArgumentException e) {
                            e.printStackTrace();
                        } 
catch (IllegalAccessException e) {
                            e.printStackTrace();
                        } 
catch (InvocationTargetException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        } 
catch (SecurityException e) {
            e.printStackTrace();
        } 
catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        
return msg;
    }
      q是基类中的ҎQ基cdC接口中的executeҎQ子cȝ承父c,q添加具体的业务Ҏ和代?br />   3?/span>一个具体的handlercȝ?br />
@CodeAnnotation(code = "10000001")
    
public Message method(Message message) {
        System.out.println(message.getUserId());
        
//TODO:
        return null;
    }
    
上面的代码,基本上手工的完成了命令码和方法的映射Q个人对Springq不是很_N,不知道Spring有没有完成现成的功能Q不想重复早轮子。希望大侠们可以留言告之?/span>

潘潘.eagle 2012-01-21 01:19 发表评论
]]>
full stack framework解释http://www.aygfsteel.com/zhenxuanpan/archive/2011/12/14/366372.html潘潘.eagle潘潘.eagleWed, 14 Dec 2011 12:26:00 GMThttp://www.aygfsteel.com/zhenxuanpan/archive/2011/12/14/366372.htmlhttp://www.aygfsteel.com/zhenxuanpan/comments/366372.htmlhttp://www.aygfsteel.com/zhenxuanpan/archive/2011/12/14/366372.html#Feedback0http://www.aygfsteel.com/zhenxuanpan/comments/commentRss/366372.htmlhttp://www.aygfsteel.com/zhenxuanpan/services/trackbacks/366372.html   1、from wiki

   基本意思是_full stack framework是将有用的多个web开发库整合Z个单内聚的Y件栈框架Q栈应该是一个Ş象的比喻吧)lweb 开发者用?br />   个h的理解应该就是一整套的解x案,而不是像strutsq样只是MVC或者像mybatisq样的ORM框架?br />   2、oschina上面刚好也有人问q个问题Q看的一个不错的解答Q就copyq来
    

     full-stack 的设计,意味着各层能够无缝的集成在一P遵@的DRY原则Qdon't repeat     yourself)Q将各层q的东西,抽取出来Qƈ通过自顶向下的设计,无缝的集成在一P_合在一P辑ֈ更高层次、更_粒度的重用Q同时ؓ了保证灵zȝ可扩展性,在更高、更_的_度上遵守开?闭的原则,在各层的各个关键点,要提供诸多的钩子Q回调的接口Q供使用者扩展。full-stack的设计,在层与层之间Qƈ不一味的q求松散的机Ӟ而是相反Q在层与层之间增Z定的内聚性,_合力,以此来达到粗_度的封装与重用?/p>

可以说full-stack 的设计,其爆发出的威力是巨大的,相对普通的单一层面的设计,在开发效率上不是一个层ơ上的,Z28原理的设计,可以满80的调用者直接开发,19%的调用者,通过扩展点进行扩展来满需求,对于1%钻角的需求,自己去造轮子?/p>

spring, ruby on rails, Zend都是q样的工业强度的full-stack的设计,我们的设计如果以他们Z心,生力得C极大的提高?br />     
  




潘潘.eagle 2011-12-14 20:26 发表评论
]]>
java模拟试代码Q思\Q?011-11-17http://www.aygfsteel.com/zhenxuanpan/archive/2011/11/17/364024.html潘潘.eagle潘潘.eagleWed, 16 Nov 2011 17:15:00 GMThttp://www.aygfsteel.com/zhenxuanpan/archive/2011/11/17/364024.htmlhttp://www.aygfsteel.com/zhenxuanpan/comments/364024.htmlhttp://www.aygfsteel.com/zhenxuanpan/archive/2011/11/17/364024.html#Feedback1http://www.aygfsteel.com/zhenxuanpan/comments/commentRss/364024.htmlhttp://www.aygfsteel.com/zhenxuanpan/services/trackbacks/364024.html    基本思\如下Q?1、首先httpGeth登陆面Q因为httpGet会自动蟩转(httpPost是不可以自动跌{Q的SSO的登陆页?
                         2、解析SSO的登陆页面,以前做垂直搜索的时候对|页分解有过一些了解。这ơ没有用W三方的包,因ؓ解析单所以用一些正则表辑ּ可以提?  到form的actionQ以及一些input的key,特别要注意的是hidden的一些key,value。(实验室的目中一个hidden的参数的value是动态改变的Q?br />                         3、通过httpPost去请求actionQƈd对应的参数列表。如果验证成功,应该q回一个StatusCode?02Q通过header?location"key可以得到属性对应的value。这个value中一般ؓ跌{的页面,里面包含sessionId和ticket。通过httpClient的属性可以得到cookie|q个cookie可以׃n多个client模拟同一个用L录测试)?br />                         4、通过得到的location的value,用httpGet去请求得到mainPage(注意每次h后httpGet or httpPost都要执行abort(),否则会抛异常)Q解析mainPage,提取链接的网c将所有page link存在一个list中?br />                         5、遍历page link,解析所有的page,提取每个page的js和css的链接存入另外的一个list中。(因ؓ实验室项目的所有网늚链接均可以再mainPage中提取到Q如果不是这P可以一边解析每个页面,一边加入pageListQ这样就是一个不停止的小爬虫了)
                         6、merge两个listZ个统一的list,采用多线E每ơ随机的取一个link发送gethQ可以打印出q回的statusCode。ƈ且统计每个页面的p|情况
    后箋要改q的地方Q?br />                         1、提取每个页面的参数Qƈ通过某种形式展现出来Qswing or webQ,q样来模拟posth?br />                         2、模拟注册,q个当然有些ȝ。特别是囄验证码。不q自ql绕q这个点?br />                         3、。。。etc,其实改进的点可以很多Q偶只想到这么多。?                                                                                                                OK,代码在linux下面Q跑到windows下面看论文。。好吧。改天上代码。看见某度的一个ITer挂了。。压力有点大。早睡早起吧。有什么好的意见,希望告诉偶。?img src ="http://www.aygfsteel.com/zhenxuanpan/aggbug/364024.html" width = "1" height = "1" />

潘潘.eagle 2011-11-17 01:15 发表评论
]]>
Java多线E一http://www.aygfsteel.com/zhenxuanpan/archive/2011/09/01/357769.html潘潘.eagle潘潘.eagleThu, 01 Sep 2011 15:17:00 GMThttp://www.aygfsteel.com/zhenxuanpan/archive/2011/09/01/357769.htmlhttp://www.aygfsteel.com/zhenxuanpan/comments/357769.htmlhttp://www.aygfsteel.com/zhenxuanpan/archive/2011/09/01/357769.html#Feedback0http://www.aygfsteel.com/zhenxuanpan/comments/commentRss/357769.htmlhttp://www.aygfsteel.com/zhenxuanpan/services/trackbacks/357769.html

首先看一下,java中线E状态{换简图,因ؓ以上的线E操作都是调度线E从某一个状态到另外一U状态的切换?br />   

  1. Sleep()Ҏ

在java中SleepҎ主要用于让当前处于运行态的U程变ؓ休眠态。这Ll在调度可运行的U程q入q行态时׃考虑此线E。同时休眠时间结束,该线E也不是直接q入q行态,而是q入可运行的队列Q等待系l的调度?/p>

U程从运行态进入休眠态ƈ不释攑֯象锁Q因为线E休眠的旉是可以由E序定的Q而进入可q行态却是由操作pȝ定的?/p>

  1. wait()Ҏ

在java中waitҎQ在Java中Object对象有waitҎQ所以每个对象承拥有了waitҎ?/p>

WaitҎ的作用是拥有对象a的锁的线E释放该锁给别的U程。因为处于锁定同步方法或同步代码块内的代码失去锁则无法l执行。调用wait()Ҏ也会让线E从q行态切换到不可q行?即等待,dQ睡?,所以等待其他线E调用notify()或者notifyall()Ҏ才有可能让该U程从不可运行态变到可q行态?/p>

  1. notify()Ҏ

notify()Ҏ和wait()ҎcMQ都是Object对象所拥有的方法,每个对象都默认有notify()Ҏ。调?specialObject.notify()Ҏ是当前U程释放对象锁,让其他等待该U程锁的某一个线E获得该对象锁,从而从d态变为可q行态。等待系l调度该U程q入q行态。Notifyall()的区别则是将所有等待该对象锁的waitU程全部退出wait状态去竞争对象锁?/p>

注意Q?/p>

notify()是选择一个线Eƈ获得对象锁?/p>

Notifyall()是让所有方法退出wait状态,最后只会有一个对象获得对象锁?br />pdf下蝲Q?a href="/Files/zhenxuanpan/java多线E一.pdf">/Files/zhenxuanpan/java多线E一.pdf



潘潘.eagle 2011-09-01 23:17 发表评论
]]>
乱扯一下《effective java?/title><link>http://www.aygfsteel.com/zhenxuanpan/archive/2011/04/30/349308.html</link><dc:creator>潘潘.eagle</dc:creator><author>潘潘.eagle</author><pubDate>Sat, 30 Apr 2011 01:56:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhenxuanpan/archive/2011/04/30/349308.html</guid><wfw:comment>http://www.aygfsteel.com/zhenxuanpan/comments/349308.html</wfw:comment><comments>http://www.aygfsteel.com/zhenxuanpan/archive/2011/04/30/349308.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhenxuanpan/comments/commentRss/349308.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhenxuanpan/services/trackbacks/349308.html</trackback:ping><description><![CDATA[<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 ?/w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>ZH-CN</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="--" /> <m:smallFrac m:val="off" /> <m:dispDef/> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:LsdException locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal" /> <w:LsdException locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 2" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 3" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 4" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 5" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 6" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 7" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 8" /> <w:LsdException locked="false" priority="9" qformat="true" name="heading 9" /> <w:LsdException locked="false" priority="39" name="toc 1" /> <w:LsdException locked="false" priority="39" name="toc 2" /> <w:LsdException locked="false" priority="39" name="toc 3" /> <w:LsdException locked="false" priority="39" name="toc 4" /> <w:LsdException locked="false" priority="39" name="toc 5" /> <w:LsdException locked="false" priority="39" name="toc 6" /> <w:LsdException locked="false" priority="39" name="toc 7" /> <w:LsdException locked="false" priority="39" name="toc 8" /> <w:LsdException locked="false" priority="39" name="toc 9" /> <w:LsdException locked="false" priority="35" qformat="true" name="caption" /> <w:LsdException locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title" /> <w:LsdException locked="false" priority="1" name="Default Paragraph Font" /> <w:LsdException locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle" /> <w:LsdException locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong" /> <w:LsdException locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis" /> <w:LsdException locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid" /> <w:LsdException locked="false" unhidewhenused="false" name="Placeholder Text" /> <w:LsdException locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1" /> <w:LsdException locked="false" unhidewhenused="false" name="Revision" /> <w:LsdException locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph" /> <w:LsdException locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote" /> <w:LsdException locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5" /> <w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6" /> <w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6" /> <w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6" /> <w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6" /> <w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6" /> <w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6" /> <w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6" /> <w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6" /> <w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6" /> <w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6" /> <w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6" /> <w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6" /> <w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6" /> <w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6" /> <w:LsdException locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis" /> <w:LsdException locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis" /> <w:LsdException locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference" /> <w:LsdException locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference" /> <w:LsdException locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title" /> <w:LsdException locked="false" priority="37" name="Bibliography" /> <w:LsdException locked="false" priority="39" qformat="true" name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表? mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.5pt; mso-bidi-font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt;} </style> <![endif]--><!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="2049" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1" /> </o:shapelayout></xml><![endif]--> <p class="MsoNormal"><span style="font-family: 宋体;">    以前qL的看了大半?/span><span lang="EN-US">effective java</span><span style="font-family: 宋体;">?/span><span lang="EN-US">,</span><span style="font-family: 宋体;">有些看的云里NQ有些则看的非常开心。这ơ决定沉下心来好好从头读一遍,像当初看?/span><span lang="EN-US">think in java</span><span style="font-family: 宋体;">》一栗个人感觉?/span><span lang="EN-US">effective java</span><span style="font-family: 宋体;">》非怸适合新手阅读Q因本书更多的是讲的是一?/span><span lang="EN-US">skill</span><span style="font-family: 宋体;">Q而不?/span><span lang="EN-US">knowledge</span><span style="font-family: 宋体;">。所以在没有在好好掌握好</span><span lang="EN-US">knowledge</span><span style="font-family: 宋体;">之前看是不明智的Q也打击自信心的?/span></p> <p class="MsoNormal"><span style="font-family: 宋体;">    在看的同Ӟ我一直在思考一个问题,书中提到的这?/span><span lang="EN-US">skills</span><span style="font-family: 宋体;">实非常好,可是我们在实?/span><span lang="EN-US">design</span><span style="font-family: 宋体;">或?/span><span lang="EN-US">coding</span><span style="font-family: 宋体;">中如何用上去呢?像软g工程的一些东西,好吗Q非常好Q可是作Z个新手,或者还没到能够把这?/span><span lang="EN-US">skills</span><span style="font-family: 宋体;">用到实际目中的人,如何ȝQ?/span></p> <p class="MsoNormal"><span style="font-family: 宋体;">    q是一个蛮苦恼的问题,想了半天Q也许我的解{就是犯错。给你失败的ZQ当你用一些不好的东西带来痛苦的时候,你就开始寻找新的\。然后这?/span><span lang="EN-US">skill</span><span style="font-family: 宋体;">׃帮你?/span><span lang="EN-US">happy</span><span style="font-family: 宋体;">的解册些问题。就像最q看</span><span lang="EN-US">Nosql</span><span style="font-family: 宋体;">Q每一U技术的兴vQ绝Ҏ它特定的需求。也?/span><span lang="EN-US">IT</span><span style="font-family: 宋体;">q个领域永远都要跟着需求走才是对的?/span></p> <p class="MsoNormal"><span style="font-family: 宋体;">    那是不是Q现在不需要去看?/span><span lang="EN-US">effective java</span><span style="font-family: 宋体;">》这U书呢?我还是觉?/span><span lang="EN-US">no,</span><span style="font-family: 宋体;">因ؓ知识是一个积累的q程Q就?/span><span lang="EN-US">Design pattern</span><span style="font-family: 宋体;">Q当初学习的时候,感觉非常好的东西Q学完就忘记了,可是真的到项目中Q老大说去按照某个模式d现的时候,你会豁然开朗,实q样会好很多Q慢慢的在U篏属于自己的经验。先U篏知识Q后U篏l验?/span><span lang="EN-US">No forever,</span><span style="font-family: 宋体;">q个领域永远都有很多新的东西。。呵c?/span></p> <p class="MsoNormal"><span style="font-family: 宋体;">    好了Qؕ扯了q么多,大囧。。还是l看书,l箋记录自己学习中的点点滴滴吧。哈哈。?/span></p> <p class="MsoNormal"><span style="font-family: 宋体;">    ---------------学习W记的链接(持箋dingQ?</span><span style="font-family: 宋体;">--------------</span></p> <p class="MsoNormal"><span style="font-family: 宋体;">    1?a href="http://www.aygfsteel.com/zhenxuanpan/articles/349309.html">《Effective java》学习笔?</a><br /> </span></p> <img src ="http://www.aygfsteel.com/zhenxuanpan/aggbug/349308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhenxuanpan/" target="_blank">潘潘.eagle</a> 2011-04-30 09:56 <a href="http://www.aygfsteel.com/zhenxuanpan/archive/2011/04/30/349308.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">ɽ</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>