仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 524|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA网站制作之Java划定规矩引擎与其API使用详解

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开详解  本文对Java划定规矩引擎与其API(JSR-94)及相干完成做了较具体的先容,对其系统布局和API使用有较细致的形貌,并指出Java划定规矩引擎,划定规矩言语,JSR-94的互相干系,和JSR-94的不敷的地方和瞻望

  本文对Java划定规矩引擎与其API(JSR-94)及相干完成做了较具体的先容,对其系统布局和API使用有较细致的形貌,并指出Java划定规矩引擎,划定规矩言语,JSR-94的互相干系,和JSR-94的不敷的地方和瞻望

  庞大企业级项目标开辟和个中随内部前提不休变更的营业划定规矩(businesslogic),急切必要分别贸易决议者的贸易决议逻辑和使用开辟者的手艺决议,并把这些贸易决议放在中央数据库或其他一致的中央,让它们能在运转时(即商务工夫)能够静态地办理和修正从而供应软件体系的柔性和顺应性。划定规矩引擎恰是使用于上述静态情况中的一种办理办法。

  本文第一部分扼要先容了划定规矩引擎的发生背景和基于划定规矩的专家体系,第二部分先容了甚么是划定规矩引擎及其架构和算法,第三部分先容了贸易产物和开源项目完成等各类Java划定规矩引擎,第四部分对Java划定规矩引擎API(JSR-94)作了具体先容,解说了其系统布局,办理API和运转时API及相干平安成绩,第五部分则对划定规矩言语及其尺度化作了切磋,第六部分给出了一个利用Java划定规矩引擎API的复杂示例,第七部分赐与小结和瞻望。

  1、先容

  1.1划定规矩引擎发生背景

  企业办理者对企业级IT体系的开辟有着以下的请求:(1)为进步效力,办理流程必需主动化,即便古代贸易划定规矩非常庞大(2)市场请求营业划定规矩常常变更,IT体系必需根据营业划定规矩的变更疾速、低本钱的更新(3)为了疾速、低本钱的更新,营业职员应能间接办理IT体系中的划定规矩,不必要程序开辟职员介入。

  而项目开辟职员则碰着了以下成绩:(1)程序=算法+数据布局,有些庞大的贸易划定规矩很难推导出算法和笼统出数据模子(2)软件工程请求从需求->计划->编码,但是营业划定规矩经常在需求阶段大概还没有明白,在计划和编码后还在变更,营业划定规矩常常嵌在体系遍地代码中(3)对程序员来讲,体系已保护、更新坚苦,更不成能让营业职员来办理。

  基于划定规矩的专家体系的呈现给开辟职员以办理成绩的契机。划定规矩引擎由基于划定规矩的专家体系中的推理引擎开展而来。上面扼要先容一下基于划定规矩的专家体系。

  1.2基于划定规矩的专家体系(RBES)

  专家体系是野生智能的一个分支,它仿照人类的推理体例,利用探索性的办法举行推理,并利用人类能了解的术语注释和证实它的推理结论。专家体系有良多分类:神经收集、基于案例推理和基于划定规矩体系等。

  RBES包含三部分:RuleBase(knowledgebase)、WorkingMemory(factbase)和InferenceEngine(推理引擎)。它们的布局以下所示:

.基于划定规矩的专家体系构成




  如上图所示,推理引擎包含三部分:PatternMatcher、Agenda和ExecutionEngine。PatternMatcher什么时候实行哪一个划定规矩;Agenda办理PatternMatcher选择出来的划定规矩的实行序次;ExecutionEngine卖力实行划定规矩和其他举措。

  推理引擎经由过程决意哪些划定规矩满意现实或方针,并授与划定规矩优先级,满意现实或方针的划定规矩被到场议程。存在二者推理体例:归纳法(Forward-Chaining正向链)和归结法(Backward-Chaining反向链)。归纳法从一个初始的现实动身,不休地使用划定规矩得出结论(或实行指定的举措)。而归结法例是从假定动身,不休地寻觅切合假定的现实。
  2、划定规矩引擎

  2.1营业划定规矩
 
  一个营业划定规矩包括一组前提和在此前提下实行的操纵,它们暗示营业划定规矩使用程序的一段营业逻辑。营业划定规矩一般应当由营业剖析职员和战略办理者开辟和修正,但有些庞大的营业划定规矩也能够由手艺职员利用面向对象的手艺言语或剧本来定制。营业划定规矩的实际基本是:设置一个或多个前提,当满意这些前提时会触发一个或多个操纵。

  2.2划定规矩引擎

  甚么是划定规矩引擎?划定规矩引擎是怎样实行划定规矩的?这能够称之为"甚么"与"怎样"的成绩。究竟划定规矩引擎是甚么仍是今朝业界一个对照有争议的成绩,在JSR-94种也几近没有界说。能够如许以为充实界说息争决了"怎样"的成绩,"甚么"成绩实质上也水到渠成。大概这又是一种"先有蛋仍是先有鸡"哲学争辩。从此尺度划定规矩言语的界说和推出及相干尺度的制订应当能够给如许的成绩和争辩划上一个句号。本文中,临时如许陈述甚么是划定规矩引擎:划定规矩引擎由推理引擎开展而来,是一种嵌进在使用程序中的组件,完成了将营业决议从使用程序代码平分离出来,并利用预界说的语义模块编写营业决议。承受数据输出,注释营业划定规矩,并依据划定规矩做出营业决议。

  2.3划定规矩引擎的利用体例

  因为划定规矩引擎是软件组件,以是只要开辟职员才干够经由过程程序接口的体例来利用和把持它,划定规矩引擎的程序接口最少包括以下几种API:加载和卸载划定规矩集的API;数据操纵的API;引擎实行的API。开辟职员在程序中利用划定规矩引擎基础遵守以下5个典范的步骤:创立划定规矩引擎对象;向引擎中加载划定规矩集或改换划定规矩集;向引擎提交必要被划定规矩集处置的数据对象汇合;命令引擎实行;导出引擎实行了局,从引擎中撤出处置过的数据。利用了划定规矩引擎以后,很多触及营业逻辑的程序代码基础被这五个典范步骤所代替。

  一个开放的营业划定规矩引擎应当能够"嵌进"在使用程序的任何地位,分歧地位的划定规矩引擎可使用分歧的划定规矩集,用于处置分歧的数据对象。别的,对利用引擎的数目没无限制。

  2.4划定规矩引擎架构与推理

  划定规矩引擎的架构以下图所示:

.营业划定规矩引擎架构




  划定规矩引擎的推理步骤以下:a.将初始数据(fact)输出至事情内存(WorkingMemory)。b.利用PatternMatcher将划定规矩库(Rulesrepository)中的划定规矩(rule)和数据(fact)对照。c.假如实行划定规矩存在抵触(conflict),即同时激活了多个划定规矩,将抵触的划定规矩放进抵触汇合。d.办理抵触,将激活的划定规矩按按次放进Agenda。e.实行Agenda中的划定规矩。反复步骤b至e,直到实行终了Agenda中的一切划定规矩。

  任何一个划定规矩引擎都必要很好地办理划定规矩的推理机制和划定规矩前提婚配的效力成绩。

  当引擎实行时,会依据划定规矩实行行列中的优先按次逐条实行划定规矩实行实例,因为划定规矩的实行部分大概会改动事情区的数据对象,从而会使行列中的某些划定规矩实行实例由于前提改动而生效,必需从行列中打消,也大概会激活本来不满意前提的划定规矩,天生新的划定规矩实行实例进进行列。因而就发生了一种"静态"的划定规矩实行链,构成划定规矩的推理机制。这类划定规矩的"链式"反响完整是由事情区中的数据驱动的。

  划定规矩前提婚配的效力决意了引擎的功能,引擎必要敏捷测试事情区中的数据对象,从加载的划定规矩会合发明切合前提的划定规矩,天生划定规矩实行实例。1982年美国卡耐基・梅隆年夜学的CharlesL.Forgy创造了一种叫Rete算法,很好地办理了这方面的成绩。今朝天下顶尖的商用营业划定规矩引擎产物基础上都利用Rete算法。

  2.5划定规矩引擎的算法
 
  年夜部分划定规矩引擎产物的算法,基础上都来自于Dr.CharlesForgy在1979年提出的RETE算法及其变体,Rete算法是今朝效力最高的一个Forward-Chaining推理算法,Drools项目是Rete算法的一个面向对象的Java完成,Rete算法其中心头脑是将分别的婚配项依据内容静态机关婚配树,以到达明显下降盘算量的效果。

  3、Java划定规矩引擎
 
  今朝支流的划定规矩引擎组件多是基于Java和C++程序言语情况,已有多种Java划定规矩引擎贸易产物与开源项目标完成,个中有的已撑持JSR94,有的正朝这个偏向做出勉力,列出以下:

  3.1Java划定规矩引擎贸易产物

  Java划定规矩引擎贸易产物次要有(Jess不是开源项目,它能够收费用于学术研讨,但用于贸易用处则要免费):





  3.2Java划定规矩引擎开源项目

  开源项目标完成次要包含:

  Drools-Drools划定规矩引擎使用Rete算法的改善情势Rete-II算法。从外部机制上讲,它利用了和Forgy的算法不异的观点和办法,可是增添了可与面向对象言语无缝毗连的节点范例。

  Mandarax基于反向推理(归结法)。可以较简单地完成多个数据源的集成。比方,数据库纪录能便利地集成为现实集(factssets),reflection用来集成对象模子中的功效。今朝不撑持JSR94

  OFBizRuleEngine-撑持归结法(Backwardchaining).最后代码基于StevenJohnMetsker的"BuildingParsersinJava",不撑持JSR94

  JLisa-JLisa是用来构建营业划定规矩的壮大框架,它有着扩大了LISP优异特征的长处,比Clips还要壮大.这些特征关于多典范软件的开辟是相当主要的.撑持JSR94

  别的的开源项目完成有诸如Algernon,TyRuBa,JTP,JEOPS,InfoSapient,RDFExpert,Jena2,Euler,JLog,PelletOWLReasoner,Prova,OpenRules,SweetRules,JShop2等等。
<P>  4、Java划定规矩引擎API(JSR-94)

  4.1简介

  已往年夜部分的划定规矩引擎开辟并没有标准化,有其自有的API,这使得其与内部程序交互集成不敷天真。转而利用别的一种产物时常常意味必要重写使用程序逻辑和API挪用,价值较年夜。划定规矩引擎产业中尺度的缺少成为使人存眷的主要方面。2003年11月定稿并于2004年8月终极公布的JSR94(Java划定规矩引擎API)使得Java划定规矩引擎的完成得以尺度化。

  Java划定规矩引擎API由javax.rules包界说,是会见划定规矩引擎的尺度企业级API。Java划定规矩引擎API同意客户程序利用一致的体例和分歧厂商的划定规矩引擎产物交互,就像利用JDBC编写自力于厂商会见分歧的数据库产物一样。Java划定规矩引擎API包含创立和办理划定规矩汇合的机制,在WorkingMemory中增加,删除和修正对象的机制,和初始化,重置和实行划定规矩引擎的机制。

  4.2简介Java划定规矩引擎API系统布局

  Java划定规矩引擎API分为两个次要部分:运转时客户API(theRuntimeclientAPI)和划定规矩办理API(therulesadministrationAPI)。

  4.2.1划定规矩办理API

  划定规矩办理API在javax.rules.admin中界说,包含装载划定规矩和与划定规矩对应的举措(实行集executionsets)和实例化划定规矩引擎。划定规矩能够从内部资本中装载,好比说URI,Inputstreams,XMLstreams和readers等等.同时办理API供应了注册和作废注册实行集和对实行集举行保护的机制。利用admin包界说划定规矩有助于对客户会见运转划定规矩举行把持办理,它经由过程在实行集上界说允许权使得未经受权的用户没法会见受控划定规矩。

  办理API利用类RuleServiceProvider来取得划定规矩办理(RuleAdministrator)接口的实例.划定规矩办理接口供应办法注册和作废注册实行集.划定规矩办理器(RuleAdministrator)供应了当地和远程的RuleExecutionSetProvider.在后面已说起,RuleExecutionSetProvider卖力创立划定规矩实行集.划定规矩实行集能够从如XMLstreams,inputstreams等来历中创立.这些数据来历及其内容经搜集和序列化后传送到远程的运转划定规矩引擎的服务器上.年夜多半使用程序中,远程划定规矩引擎或远程划定规矩数据来历的情形其实不多见.为了不这些情形中的收集开支,API划定了能够从运转在统一JVM中划定规矩库中读取数据的当地RuleExecutionSetProvider.

  划定规矩实行集接口除具有可以取得有关划定规矩实行集的办法,另有可以检索在划定规矩实行会合界说的一切划定规矩对象.这使得客户可以晓得划定规矩会合的划定规矩对象而且依照本人必要来利用它们。

  4.2.2运转时API

  运转时API界说在javax.rules包中,为划定规矩引擎用户运转划定规矩取得了局供应了类和办法。运转时客户只能会见那些利用划定规矩办理API注册过的划定规矩,运转时API匡助用户取得划定规矩对话而且在这个对话中实行划定规矩。

  运转时API供应了对厂商划定规矩引擎API完成的相似于JDBC的会见办法.划定规矩引擎厂商经由过程类RuleServiceProvider(类RuleServiceProvider供应了对详细划定规矩引擎完成的运转时和办理API的会见)将其划定规矩引擎完成供应给客户,并取得RuleServiceProvider独一标识划定规矩引擎的URL.

  URL保举尺度用法是利用相似"com.mycompany.myrulesengine.rules.RuleServiceProvider"如许的Internet域名空间,这将有助于会见URL的独一性.类RuleServiceProvider外部完成了划定规矩办理和运转时会见所需的接口.一切的RuleServiceProvider要想被客户所会见都必需用RuleServiceProviderManager举行注册。注册体例相似于JDBCAPI的DriverManager和Driver。

  运转时接口是运转时API的关头部分.运转时接口供应了用于创立划定规矩会话(RuleSession)的办法,划定规矩会话如前所述是用来运转划定规矩的.运转时API同时也供应了会见在serviceprovider注册过的一切划定规矩实行集(RuleExecutionSets).划定规矩会话接口界说了客户利用的会话的范例,客户依据本人运转划定规矩的体例能够选择利用有形态会话大概无形态会话。

  无形态会话的事情体例就像一个无形态会话bean.客户能够发送单个输出对象或一列对象来取得输入对象.当客户必要一个与划定规矩引擎间的公用会话时,有形态会话就很有效.输出的对象经由过程addObject()办法能够到场到会话傍边.统一个会话傍边能够到场多个对象.对话中已有对象能够经由过程利用updateObject()办法失掉更新.只需客户与划定规矩引擎间的会话仍然存在,会话中的对象就不会丧失。

  RuleExecutionSetMetaData接口供应给客户让其查找划定规矩实行集的元数据(metadata).元数据经由过程划定规矩会话接口(RuleSessionInterface)供应给用户。

  利用运转时RuntimeAPI的代码片段以下所示:
  1. RuleServiceProviderruleProvider=RuleServiceProviderManager.getRuleServiceProvider
  2.    ("com.mycompany.myrulesengine.rules.RuleServiceProvider");
  3. RuleRuntimeruleRuntime=ruleProvider.getRuleRuntime();
  4. StatelessRuleSessionruleSession=(StatelessRuleSession)ruleRuntime.createRuleSession(ruleURL,
  5.    null,RuleRuntime.STTELESS_SESSION_TYPE);
  6. ListinputRules=newArrayList();
  7. inputRules.add(newString("Rule1"));
  8. inputRules.add(newInteger(1));
  9. ListresultRules=ruleSession.executeRules(inputRules);
复制代码
  4.3Java划定规矩引擎API平安成绩
  
  划定规矩引擎API将办理API和运转时API加以分隔,从而为这些包供应了较好粒度的平安把持.划定规矩引擎API并没有供应分明的平安机制,它能够和J2EE标准中界说的尺度平安API团结利用.平安能够由以下机制供应,如Javaauthenticationandauthorizationservice(JAAS),theJavacryptographyextension(JCE),JavasecureSocketExtension(JSSE),大概别的定制的平安API.JAAS能被用来界说划定规矩实行集的允许权限,从而只要受权用户才干会见。

  4.4非常与日记

  划定规矩引擎API界说了javax.rules.RuleException作为划定规矩引擎非常条理的根类.一切别的非常都承继于这个根类.划定规矩引擎中界说的非常都是受把持的非常(checkedexceptions),以是捕捉非常的义务就交给了划定规矩引擎。划定规矩引擎API没有供应明白的日记机制,可是它倡议将JavaLoggingAPI用于划定规矩引擎API。

  4.5JSR94小结

  JSR94为划定规矩引擎供应了公用尺度API,仅仅为完成划定规矩办理API和运转时API供应了引导标准,并没有供应划定规矩和举措该怎样界说和该用甚么言语界说划定规矩,也没无为划定规矩引擎怎样读和评价划定规矩供应手艺性引导.JSR94标准将上述成绩留给了划定规矩引擎的厂商.鄙人一节我将扼要先容一下划定规矩言语。
  5、划定规矩言语

  JSR94中没有触及用来创立划定规矩和举措的言语.划定规矩言语是划定规矩引擎使用程序的主要构成部分,一切的营业划定规矩都必需用某种言语界说而且存储于划定规矩实行会合,从而划定规矩引擎能够装载和处置他们。

  因为没有关于划定规矩怎样界说的公用标准,市场上年夜多半盛行的划定规矩引擎都有其本人的划定规矩言语,今朝便有很多种划定规矩言语正在使用,因而,当必要将使用移植到其他的Java划定规矩引擎完成时,大概必要变更划定规矩界说,如将Drools公有的DRL划定规矩言语转换成尺度的ruleML,Jess划定规矩言语转换成ruleML等。这个事情一样平常由XSLT转换器来完成。

  划定规矩言语的概况这里不作具体先容,称号及其网址列出以下:
  1.   RuleMarkuplanguage(RuleML)
  2.   http://www.ruleml.org/SimpleRuleMarkupLanguage(SRML)
  3.   http://xml.coverpages.org/srml.htmlBusinessRulesMarkupLanguage(BRML)
  4.   http://xml.coverpages.org/brml.htmlSWRL:ASemanticWebRuleLanguageCombiningOWLandRuleML
  5.   http://www.daml.org/2003/11/swrl/
复制代码
<P>  多种划定规矩言语的利用使得分歧划定规矩引擎完成之间的兼容性成为成绩.通用的划定规矩引擎API也许能够加重分歧厂家API之间的成绩,但公用划定规矩言语的缺少将仍旧拦阻分歧划定规矩引擎完成之间的互操纵性.只管业界在提出公用划定规矩言语上做出了一些勉力,好比说RuleML,SRML的呈现,但间隔取得尽年夜部分划定规矩引擎厂商批准的公用尺度另有很长的路要走。

  6、Java划定规矩引擎API利用示例

  6.1设置划定规矩引擎

  Java划定规矩引擎的办理举动阶段入手下手于查找一个符合的javax.rules.RuleServiceProvider对象,这个对象是使用程序会见划定规矩引擎的出口。在J2EE情况中,你大概能够经由过程JNDI取得RuleServiceProvider。不然,你可使用javax.rules.RuleServiceProviderManager类:
  1. javax.rules.RuleServiceProviderManagerclass:
  2. StringimplName="org.jcp.jsr94.ri.RuleServiceProvider";
  3. Class.forName(implName);
  4. RuleServiceProviderserviceProvider=RuleServiceProviderManager.getRuleServiceProvider(implName);
复制代码
  具有了RuleServiceProvider对象,你就能够取得一个javax.rules.admin.RuleAdministrator类。从RuleAdministrator类中,你能够失掉一个RuleExecutionSetProvider,从类名能够晓得,它用于创立javax.rules.RuleExecutionSets对象。RuleExecutionSet基础上是一个装进内存的,筹办好实行的划定规矩汇合。

  包javax.rules.admin包含两个分歧的RuleExecutionSetProvider类。RuleExecutionSetProvider类自己包含了从Serializable对象创立RuleExecutionSets的办法,因而在划定规矩引擎位于远程服务器的情形下,仍旧可使用RuleExecutionSetProvider类,机关器的参数能够经由过程RMI来传送。另外一个类是LocalRuleExecutionSetProvider,包括了其他办法,用于从非Serializable资本(如java.io.Reader-当地文件)创立RuleExectionSets。假定具有了一个RuleServiceProvider对象,你能够从当地文件rules.xml文件创立一个RuleExectionSet对象。如以下的代码所示:
  1. RuleAdministratoradmin=serviceProvider.getRuleAdministrator();
  2. HashMapproperties=newHashMap();
  3. properties.put("name","MyRules");
  4. properties.put("description","Atrivialrulebase");
  5. FileReaderreader=newFileReader("rules.xml");
  6. RuleExecutionSetruleSet=null;
  7. try{
  8. LocalRuleExecutionSetProviderlresp=admin.getLocalRuleExecutionSetProvider(properties);
  9. ruleSet=lresp.createRuleExecutionSet(reader,properties);
  10. }finally{
  11. reader.close();
  12. }
复制代码
  接上去,你可使用RuleAdministrator注册取得的RuleExecutionSet,并给它分派一个称号。在运转时,你能够用统一个称号创立一个RuleSession;该RuleSession利用了这个定名的RuleExecutionSet。拜见上面的用法:admin.registerRuleExecutionSet("rules",ruleSet,properties);

  6.2实行划定规矩引擎

  在运转时阶段,你能够拜见一个RuleSession对象。RuleSession对象基础上是一个装载了特定例则汇合的划定规矩引擎实例。你从RuleServiceProvider失掉一个RuleRuntime对象,接上去,从javax.rules.RuleRuntime失掉RuleSession对象。

  RuleSession分为两类:stateful和stateless。它们具有分歧的功效。StatefulRuleSession的WorkingMemory可以在多个办法挪用时代保留形态。你能够在多个办法挪用时代在WorkingMemory中到场多个对象,然后实行引擎,接上去还能够到场更多的对象并再次实行引擎。相反,StatelessRuleSession类是不保留形态的,为了实行它的executeRules办法,你必需为WorkingMemory供应一切的初始数据,实行划定规矩引擎,失掉一个内容列表作为前往值。

  上面的例子中,我们创立一个StatefulRuleSession实例,增加两个对象(一个Integer和一个String)到WorkingMemory,实行划定规矩,然后失掉WorkingMemory中一切的内容,作为java.util.List对象前往。最初,我们挪用release办法清算RuleSession:
  1. RuleRuntimeruntime=rsp.getRuleRuntime();
  2.  StatefulRuleSessionsession=(StatefulRuleSession)runtime.createRuleSession("rules",
  3. properties,RuleRuntime.STATEFUL_SESSION_TYPE);
  4.  session.addObject(newInteger(1));
  5. session.addObject("Astring");
  6. session.executeRules();
  7. Listresults=session.getObjects();
  8. session.release();
复制代码
  7、停止语

  Java划定规矩引擎API(JSR-94)同意客户程序利用一致的体例和分歧厂商的划定规矩引擎产物交互,必定水平上给划定规矩引擎厂商供应了尺度化标准。但其几近没有界说甚么是划定规矩引擎,固然也没有深切到划定规矩是怎样构建和利用的,划定规矩挪用的功效,划定规矩与Java言语的绑定等方面。而且JSR-94在对J2EE的撑持上也不敷。划定规矩言语的尺度化,JSR-94的进一步的充分深化都有待研讨。
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
乐观 该用户已被删除
沙发
发表于 2015-1-20 17:36:14 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-21 07:50:56 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-30 12:27:58 来自手机 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
小妖女 该用户已被删除
5#
发表于 2015-1-30 16:10:38 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
因胸联盟 该用户已被删除
6#
发表于 2015-2-6 11:56:24 | 只看该作者
是一种突破用户端机器环境和CPU
admin 该用户已被删除
7#
发表于 2015-2-16 02:48:28 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
精灵巫婆 该用户已被删除
8#
发表于 2015-2-25 06:58:26 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
不帅 该用户已被删除
9#
发表于 2015-3-7 17:03:02 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
小女巫 该用户已被删除
10#
发表于 2015-3-13 08:49:35 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
第二个灵魂 该用户已被删除
11#
发表于 2015-3-20 17:31:20 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 11:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表