小议:Metadata Service is not available的解决方案

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ShelleyLiu0415/article/details/49076771

近期好多新人部署ManagedService的环境时,遇到下面的提示:

 

TheManaged Metadata Service or Connection is currently not available. TheApplication Pool or Managed Metadata Web Service may not have been started.Please Contact your Administrator.

 

如下图所示:

 


 

问题原因:

  1. Metadata Service没有Start,可以到Central AdministrationManager Services on Server里验证以下:Managed Metadata Web Service 是否开启状态,如下图所示:

 


 

  1. IIS中找到Metadata ServiceApplication Pool(点击某个Pool右键View Applications的方式查看是否是Metadata ServicePool),查看其Pool的状态是否是开启状态,如下图所示:

 


 

解决方案:

 

  1. 点击Managed Metadata Web ServiceStart按钮,保证其开启状态,然后到Manager Service Application页面,新创建的Metadata Service就可以正常使用了,问题得到解决,如下图所示:

 


 

  1. 开启Application Pool,然后到Manager Service Application页面,访问Metadata Service,问题得到解决,如下所示:


 

注意:Managerservices on server页面的Managed Metadata Web Service这个服务控制的是所有Metadata Service是否可用,而ApplicationPool中的某个Pool控制的是某个Service是否可用,所以发现Managed Service不可用的时候,可以优先看下IIS中的Application Pool的状态,如果问题没有得到解决再看CA中的Service

展开阅读全文

java.io.IOException: Service not Available

05-27

[code=Java]rntry rn List addresses = geoCoderrn .getFromLocation(p.getLatitudeE6() / 1E6, prn .getLongitudeE6() / 1E6, 1);rnrn String add = "";rn if (addresses.size() > 0) rn for (int i = 0; i < addresses.get(0)rn .getMaxAddressLineIndex(); i++)rn add += addresses.get(0).getAddressLine(i) + "\n";rn rnrn Toast.makeText(getBaseContext(), add, Toast.LENGTH_SHORT)rn .show();rn catch (IOException e) rn e.printStackTrace();rn rnrnrnrn[/code]rnrn[code=Java]rn05-27 06:26:28.935: WARN/System.err(1542): java.io.IOException: Service not Availablern05-27 06:26:28.935: WARN/System.err(1542): at android.location.Geocoder.getFromLocation(Geocoder.java:117)rn05-27 06:26:28.935: WARN/System.err(1542): at com.fh.map.MyMap$MapOverlay.onTouchEvent(MyMap.java:147)rn05-27 06:26:28.945: WARN/System.err(1542): at com.google.android.maps.OverlayBundle.onTouchEvent(OverlayBundle.java:63)rn05-27 06:26:28.945: WARN/System.err(1542): at com.google.android.maps.MapView.onTouchEvent(MapView.java:643)rn05-27 06:26:28.955: WARN/System.err(1542): at android.view.View.dispatchTouchEvent(View.java:3766)rn05-27 06:26:28.955: WARN/System.err(1542): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:897)rn05-27 06:26:28.955: WARN/System.err(1542): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)rn05-27 06:26:28.965: WARN/System.err(1542): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)rn05-27 06:26:28.965: WARN/System.err(1542): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)rn05-27 06:26:28.965: WARN/System.err(1542): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)rn05-27 06:26:28.965: WARN/System.err(1542): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671)rn05-27 06:26:28.965: WARN/System.err(1542): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)rn05-27 06:26:28.984: WARN/System.err(1542): at android.app.Activity.dispatchTouchEvent(Activity.java:2086)rn05-27 06:26:28.984: WARN/System.err(1542): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655)rn05-27 06:26:28.984: WARN/System.err(1542): at android.view.ViewRoot.handleMessage(ViewRoot.java:1785)rn05-27 06:26:28.984: WARN/System.err(1542): at android.os.Handler.dispatchMessage(Handler.java:99)rn05-27 06:26:28.984: WARN/System.err(1542): at android.os.Looper.loop(Looper.java:123)rn05-27 06:26:28.984: WARN/System.err(1542): at android.app.ActivityThread.main(ActivityThread.java:4627)rn05-27 06:26:28.984: WARN/System.err(1542): at java.lang.reflect.Method.invokeNative(Native Method)rn05-27 06:26:28.984: WARN/System.err(1542): at java.lang.reflect.Method.invoke(Method.java:521)rn05-27 06:26:28.984: WARN/System.err(1542): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)rn05-27 06:26:28.984: WARN/System.err(1542): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)rn05-27 06:26:28.984: WARN/System.err(1542): at dalvik.system.NativeStart.main(Native Method)rnrnrnrn[/code] 论坛

No provider available for the service

03-22

zookeeper注册成功,订阅成功,但是却说服务没有提供者。nException in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'SayHelloTo': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.huatai.usercenter.api.test.SayHelloToClient. No provider available for the service com.huatai.usercenter.api.test.SayHelloToClient from the url zookeeper://localhost:2181/com.alibaba.dubbo.registry.RegistryService?application=hehe_consumer&dubbo=2.8.4&interface=com.huatai.usercenter.api.test.SayHelloToClient&methods=sayHello&pid=4572&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1490171679141 to the consumer 160.6.70.215 use dubbo version 2.8.4n at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:151)n at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)n at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1514)n at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:252)n at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)n at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)n at com.test.Consumer.main(Consumer.java:81)nCaused by: java.lang.IllegalStateException: Failed to check the status of the service com.huatai.usercenter.api.test.SayHelloToClient. No provider available for the service com.huatai.usercenter.api.test.SayHelloToClient from the url zookeeper://localhost:2181/com.alibaba.dubbo.registry.RegistryService?application=hehe_consumer&dubbo=2.8.4&interface=com.huatai.usercenter.api.test.SayHelloToClient&methods=sayHello&pid=4572&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1490171679141 to the consumer 160.6.70.215 use dubbo version 2.8.4n at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:420)n at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)n at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138)n at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)n at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:144)n ... 6 moren 问答

dubbo no provider available for the service

07-14

java.lang.IllegalStateException: Failed to check the status of the service com.haier.mobilemall.service.user.IUserService. No provider available for the service com.haier.mobilemall.service.user.IUserService from the url zookeeper://192.168.1.17:2181/com.alibaba.dubbo.registry.RegistryService?application=myHaier-web&dubbo=2.5.3&interface=com.haier.mobilemall.service.user.IUserService&methods=getUserByUserName,getUserByTelphone&pid=8784&revision=0.0.1-SNAPSHOT&side=consumer&timeout=30000&timestamp=1436855500866 to the consumer 192.168.253.1 use dubbo version 2.5.3rn at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:420)rn at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)rn at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138)rn at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)rn at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:168)rn at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)rn at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1523)rn at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:251)rn at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1240)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1190)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)rn at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)rn at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)rn at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)rn at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)rn at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)rn at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)rn at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)rn at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:664)rn at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:630)rn at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:678)rn at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:549)rn at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:490)rn at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)rn at javax.servlet.GenericServlet.init(GenericServlet.java:242)rn at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:444)rn at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:272)rn at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)rn at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:770)rn at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:250)rn at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1179)rn at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:598)rn at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:496)rn at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:175)rn at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)rn at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:226)rn at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:164)rn at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)rn at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:226)rn at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)rn at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93)rn at org.eclipse.jetty.server.Server.doStart(Server.java:244)rn at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:67)rn at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)rn at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:447)rn at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:387)rn at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:555)rn at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)rn at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)rn at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)rn at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)rn at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)rn at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)rn at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)rn at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)rn at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)rn at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)rn at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)rn at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)rn at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)rn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rn at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rn at java.lang.reflect.Method.invoke(Method.java:597)rn at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)rn at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)rn at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)rn at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)rn2015-07-14 14:31:50.449:INFO::Started SelectChannelConnector@0.0.0.0:8080rn[INFO] Started Jetty Serverrn 论坛

小议面向对象编程

10-05

何为面向对象编程?rnrn貌似是一种很高深的思想,对,它是一种思想,那么又怎么来理解这个思想呢?rnrn不急,先来从字面上看rnrn什么是对象:rnrn 类的实例叫对象rnrn什么是类:rnrn 对象共性的归纳称为类rnrn这又是一个永远也解释不清的问题。先看一个列子,你就明白了rnrn汽车包括:公共汽车,小汽车,大卡车rnrn如果说把笼统的汽车称为一个类的话,那么后面那些小汽车,打开车之类的就是这个汽车类的对象rnrn是不是有点明白了,反过来说,如果一群物体,它们有共同的特征、行为,它们就是一类rnrn比如:小猫会喵喵叫;小狗会旺旺叫,它们都一个共性:都会叫,对它们就属于一个类,给这类起个名字叫:动物类,如此说来,那么共性的东西实在太多了,人会跑,卡车也会跑,小狗也会跑,那么他们也可以归为一个类吗? 这个问题后面会解释rnrn好了,第一个问题解决了,下面我们来看到底何为面向对象编程(Object-Oriented Programming,下面简称OOP技术)?rnrn前面说过,它是一种思想,一种编程思想,这种思想是根据它的特征而命名的,它的特征就是面向对象(这个特征是相对于传统编程的特征,它自己的特征后面会详细介绍)。也就是说这种思想相对于传统编程思想它的最大特点就是面向对象,过去的面向过程编程常常会导致所有的代码都包含在几个模块中(通常是一个模块),使程序难以阅读和维护。在做一些修改时常常牵一动百,使以后的开发和维护难以为继,而使用OOP技术,它的最大特点在于面向对象,有非常清晰的层次结构,它需要使用多个代码模块,并且这些模块又都是孤立的,虽然多了一些代码模块,但是,每个模块都有自己特定的功能,这就给编程提供了非常大的多样性,大大增加了代码重用的几率,而且还提高了程序的拓展性和维护性,项目越大,这种优势就越明显rnrn举个实例:比如说一个高性能的应用程序时一辆一流的赛车,如果是使用传统编程的话,这辆赛车就是一个单元(即模块),如果要改进该车,就必须替换整个单元,把它送回厂家,由专家升级它,或者购买一辆新车,但如果使用OOP技术,则无需如此,只需购买一个新的引擎,自己按照说明替换它即可rnrn在传统编程中,执行的流程往往是单线程的,就是把应用程序加载到内存中,从A点执行,B点结束,然后卸载,在这个过程中可能调用了各种各样的实体,但处理的主体总是位于同一个地方,而OOP技术虽然达到了效果一样,但是过程却完全不同,它有着多个代码模块,并且是相互独立,所以它达成效果的途径主要是在个个模块的数据与数据交互之间,而对象的重要性在此刻也尤为关键。rnrn我们以典型的三层实例来解释一下rnrn表示层、业务逻辑层(BLL)、数据访问层(DAL),实体层(Model)里面只包含有对象,工厂与接口暂不做论述rnrn三层之间相互独立又存在依赖,BLL引用DAL,表示层又引用BLL,三层都引用实体层。rnrn我们先从实体层说起,实体层里面只包含有对象,我们前面说过,对象是类的实例,类是一群对象共性的归纳,比如他们有共同的特征与行为,只不过在编程里我们给它叫做属性与方法,一个意思,那么我们就给它们归好类,一般在项目中,每个实体都要给它们建一个类,放在实体类里面,我们给它叫做实体类,那么根据类的定义,我们可以把具有一些相同属性与方法的类归为一个类,那么只需要把他们相同的属性、方法写在这个类中,其他的类就可以直接引用了,这就是面向对象编程的三大特征之一——继承rnrn这里有必要提一下,前面所说的,所有的东西都有一定的共性,那么是否所有的类都可以归纳称为一个父类呢?是的,至少在编程里是的。一切一切的类都归于一个总父类——Object,它的汉语意思是物体,似乎不能够完美描述,但也找不到更适合的词语了rnrn这里我们用一个富翁的例子来理解OOP的三大特征,就好比一个富翁死了,他的儿子继承了他的遗产,那么他就不必像我们一样,为了生存下去而不断的努力,那么富翁把他的钱财存放在一个箱子里,他的儿子用的时候就直接从箱子里面取就可以了,那么富翁把钱财放在箱子里就叫做——封装。rnrn当然这个箱子里面的钱不是谁都可以取的,它需要一把钥匙,这个钥匙就是访问器,单论封装而言,还有一点就是外键的问题,就好比是富翁不但给儿子留下了钱,而且还有许多的别人给他的欠条,那么他的儿子就可以拿着这些欠条去要钱,也就是说在封装的时候有时候有的特征需要其他类的引用,那么我们就把这个属性的类型设为要引用的这个类的类名,这样就可以直接使用这个类的属性与方法了,当然只能是共有的项,就好比人家虽然只欠你钱,你不能把人家老婆也抢了去,那是私有的东西,不能共享rnrn这个富翁在生前定赚钱的方法主要是靠种庄稼,到了他儿子呢。他不喜欢种庄稼,他喜欢做生意,他把土地卖了,用钱去做生意,父一辈的方法到了子一辈的时候有了变化,这种变化用专业的编程语言叫做——多态。rnrn说的再明白点:就比如动物园里所有的动物都是一个类,并且都继承与同一个动物总类,我们假设这个总类是一个有形之体(比如动物园管理员),然后这个管理员对所有的动物说:“吼叫”,顿时,动物园内,吼声大作,狮子拍着大地,散发着王霸之气,“吼….“rnrn而山羊只会可怜兮兮的叫“绵…绵…“,通俗的理解,这就是一个多态rnrn 那么再举个列子:富翁死前希望把村东头老王家的地盘过来,可是没有能够实现,那么到了他儿子的时候,他儿子做生意,诚字待人,赚了不少钱,就把地盘了过来,这个过程叫什么呢?多态?继承?它其实是一种多态与继承的结合,叫做虚方法rnrn 关于这点,还有很多很多的事情可以论述,比如静态类,抽象类,方法的重载,方法的重写… 很多很多… 这里就不一 一 论述了。rnrn 好了,让我们回到三层中去,当然OOP的这三大特征,不单实体层,它适合于任何层,rnrn但我认为一切都是以实体层为根本,有了这个实体层,BLL 与 DAL 就很能够很清晰的写出来,就好像是一个 “映射“ 一样,一个实体类对应一个DAL类和一个BLL类,而BLL 又引用 DAL,所以这一切 就都开朗起来。rnrn 如此说来,这一切都是由一个一个类组成,那么我们就把类作为一个最小的基量,当然类里面还有属性与方法,在使用的时候,既然是类,那么就可以实例化,也就是对象,那么再使用的时候,这就是一个个的对象之间的相互操作,更小的说,就是一个个对象的里面的属性与方法的交互。rnrn 这就又回到OOP的特点上来了,面向对象,关键还是对象,对象是基础,又是特点,那么此时此刻,对象又是什么呢?rnrn对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。rnrn关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。rnrn面向对象编程被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。rnrn我们似乎已经可以列出一个等式了: rnrn对象 = (属性+方法);rnrn程序 = 对象 * 对象 ;rnrn rnrn万物皆对象,很有哲理性的一句话,宏观的说,如果万物皆对象,那么面向对象编程就像是一个现实世界的缩影,人与人之间的交往就仿佛是一个超级复杂的应用程序,人与人之间,对象与对象之间,层与层之间,阶级与阶级之间,万物皆对象… 奇妙之处,只可意会,不可言传…rnrnrn本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/laochan2008/archive/2009/09/24/4590337.aspx 论坛

没有更多推荐了,返回首页