资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
好的系统框架不应该在业务逻辑流程中出现new关键字现在不理解也无所谓,将来有一天会明白的SOA面向服务的构架不说太多,这个属于上上层建筑不过不妨记住我的一句话,可以帮助理解这个概念面向什么就是对什么做封装面向对象就是对对象做封装面向服务类似,剩下的靠悟性反射1.4新增功能,非常强大通过反射,程序可以解析出类本身的属性也就是变量(注意这里说的属性不是.net里面的属性,我不喜欢微软造的新名词,乱)还Ant98年,有一位程序员在从欧洲飞回美国的飞机上想到了这么一个东西从而改变了整个世界,他的名字叫JamesDuncanDavidson组织管理工具,可以这么描述它比如你想在编译之后自动再次生成JavaDoc那么你只需要编辑Ant脚本(对,就像Windows脚本那样)然后批处理就可以了,不过现在Ant已经广泛集成到IDE中去不需要自己手动编写,不过如果想要炫炫,据说此招百试不爽JUnit测试工具,Java,写给初学者(九)完结篇最后介绍几个常见的概念设计模式这可不仅是java独有我看的书就是c和smalltalk例子的先说说什么是设计模式模式是什么模式是经验的总结,潜规则的抽象什么意思呢比如说我们坐飞机,上飞机前需要经过几个步骤什么安检领取登机牌之类的,这一套流程能不能改呢可以,但为什么几乎全世界的航空公司登机前都是这一套流程呢因为航空公司经过长期实践之后得出了一堆结论和经验并这里不得不说的是,该框架由于做得太好,以至于被J2ee招安,成为EJB3.0的一部分替代原有EJB2.X里面关于EntityBean而成为EJBORM的工具这里解释一下ORM(OR-Mapping)中文名对象关系映射什么意思呢我们知道传统的数据库都是关系型的一条条记录以表格的形式储存,而表与表之间充斥着是关系(关联)比如说一个人,名字zhaoce,性别男,年龄23那么数据库中是这么储存的姓名性别Spring大名鼎鼎的Spring框架有人曾说2005年一片叫春之声,指的就是该框架Spring起源于RodJohnson的ExpertOne-on-OneJ2EEDesignandDevelopment一书RodJohnson认为,J2ee里面的那一套(尤其是ejb)太重了,对于单机的系统来说,没有必要使用那么复杂的东西于是就开始设计并引导Spring小组开发出这样一个构架不能不说他是个天才本文中将要提到的框架如无特别说明,就是指的是非官方标准的框架规范是规范,而框架是建立在规范之上的一种东西可以说是标准的延续,或者说是民间的尝试,总之是这么一个非官方的东西说到这里顺便提一下JCP组织也就是JavaCommunityProcess/Java社区当初Sun公司在java发布之初,为了提倡开源和共享同时也出于一个提出合理的标准的目的,而让广大的开发者参与标准的制定而成立了这样一个社区,现恭喜,在看完这篇文章之后,你就基本处于知道自己不知道的那种阶段离拽起来还有那么一段距离,因为你们毕竟还没有学习和积累一定的基础知识但是骗骗外行,蒙蒙国企那些吃闲饭的管理人员问题不大Java,写给初学者(八)java高级应用之框架篇之所以不再声称是企业级应用而称之为高级应用是因为下面要讲的东西属于纯民间性质是java具体应用的上层建筑,可用可不用,没有人强迫你用首先给框架(framework)下一管理内存中活跃的对象恩,必须强调的一点是,由于使用的不成熟我们经常把规范以及具体的应用两个名词混用举个简单例子,我们说Servlet,极有可能说的是Servlet规范也有可能说的是一个具体的Servlet,这个就要看情况而定了EJB,JSP也是如此JDBC和数据库的连接这个严格说来是数据库产商需要关心的事关于AppServer如何与数据库的连接但是也需要开发人员做一点事,因为AppServer不知Servletweb容器组件Servlet确切地说,就是web容器运行的java组件与普通javabean不同的是,Servlet定义了一系列方法比如init和destroy供容器调用,调用的主要目的是为了管理当一个request请求被web容器截获之后,容器分析该请求地址然后通过一个配置文件中的映射表(web.xml)调用相应的Servlet组件处理后将结果返还给客户端JSP(JavaJava的诞生Java之父JamesGosling早年从cmu毕业之后从事了一段时间的开发工作,后来意外碰到一个项目这个项目要求他用C开发,但可爱的JG是天才,凡是天才在某方面特别突出的同时必然有一些天生的缺陷,恩,或说共性,比如说懒,急躁和傲慢JG既然是天才,那就必然具备这些共性,JG懒,以至于他学不好C不仅他学不好,当年开发出Java的那个团队也都学不好C他们急噪,以至于他们中有人微软所有的东西都是围绕着windows来做的.net其实已经可以实现跨平台了,但是微软出于自身商业考虑在其应用服务器跨平台的实现上设置了种种障碍而且针对windows,微软做了大量的优化,可以这么看.net就是与windows捆绑的一套产品所以有些人说,微软的产品离开了windows,就是渣而且.net开源选择也少,安全性方面考虑,windows本身就有一堆补丁要打了sqlserver也不安全,至嗯,这是java阵营最大的特色,免费免费,还有在开发工具这一栏Eclipse也是免费的但后面要说,算了,换个有代表性的开源产品来tomcat仅有web容器而没有ejb容器,而jboss已经集成了tomcat也就是说下载了jboss之后,启动的同时也就启动了tomcatjboss在tomcat基础之上多加了一个ejb容器,使得jbosstomcat成为和weblogicwebsphere之外又一个那么各大公司关于这两套规范各有什么产品以及周边呢j2ee黄金组合操作系统Solaris应用服务器Weblogic数据库Oracle开发工具JBuilider/IntelliJIDEA优点性能一级棒,大企业大公司做系统的首选,世界五百强几乎都是这套组合缺点极贵超级组合,也是最安全最酷的黄金组合,硬件采用SUN公司的机器但是SUN的服务器很贵,同等价格不如去买IBM的机器SUN的服务器嗯,那么话题再回到中间件上去,什么是中间件appserver就是所谓的中间件,但是中间件不仅有appserver,还有其他的东西换句话说,appserver只是中间件的一种而关于中间件有诸多规范以及遵循这些规范的模型最流行的规范无非两种,一个是j2ee还有一个是.net但是.net几乎只有微软在用,所以很多人把.net这个规范就当成是微软的中间件产品也不为过,毕竟没几个公司喜欢跟着微软屁股后面跑图上可以看出虚拟机负责处理中间件与操作系统之间的交互appserver则负责组件的管理以及与其他两层的业务交互1附图要说明的是上图中还包含有应用程序客户端容器Applicationclientcontainer管理应用程序客户端组件的运行,应用程序客户端和它的容器运行在客户机这种情况比较复杂一般说的是两个server之间的通讯比如jsp/servlet容器在一个服务器上,而ejb容器在另外就算不是每一个项目都需要,至少也是绝大多数项目需要的吧哪个项目能够脱离网络,数据库和操作系统不可能,在这个时代已经很少很少了好,那既然每个项目都需要,我们是不是可以用一个产品来取代这三组的工程师呢我们的业务工程师只需要遵循这个产品所提供的接口,进行相应的开发就行了人们提出了一种叫做appserver也就是应用服务器的东西应用服务器是干什么的按官方的说法,应用服务器是包括有多个容器的软件服务那么如果黑客通过java程序进行攻击的话,那么死的将会是虚拟机而不是操作系统大不了虚拟机崩溃,而操作系统正常运行不受任何影响举个简单例子,比如说最常见的是将数据库DB与中间件放在同一台服务器上那么此时如果没有虚拟机,黑客病毒攻击中间件系统,就有可能造成操作系统的死亡那此时数据库也有可能跟着一起玩完,那损失可就大咯那如果此时有虚拟机,那么一旦被攻击,死的是虚拟机,操作系统与数据库不受任何影响嗯,什么是中间件,中间件是业务逻辑层的应用软件是处理业务数据与客户端之间业务逻辑的一种应用软件一种提供网络服务的服务器端应用软件举个非常简单的例子,网上银行,某个人想用IE进入工行的账户,然后转帐在这个例子中,客户端表示层显然是IE,数据持久层显然是银行的核心数据库那么中间件是什么中间件就是提供这种服务的系统这三层的划分如下------------------------------|表示幂|业务逻下面放着这些概念不谈,我们来说说未来的趋势趋势一瘦客户端,很早很早以前,当时C/S模式也就是client/server客户端软件大行其道的年代,一个pc用户,是采用一个傻终端连接到服务器上然后进行相应的操作,最典型的就是我们上bbs经常用的c-term这就是那个时代的产物,同样还有我国现行的机票定座用的e-term后来呢,浏览器变得非常流行,人们发现,浏览器也能传递一些数据虽然这些数据并不像那些程序被人们称作应用软件如下图-------------------------------------------|应用软件falshgat/IE/realplayer/winamp..|-------------------------------------------|操作绻统UNIX/Windows/Linux/Solaris...|-------------------------然后是网络,也就是路由器和交换机这块市场嘛,Cisco思科Brocade博科还有McDATA三足鼎立内核CPUPC内核主要是AMD和Intel,前者与Sun公司合作,Sun也有一部分单双核服务器用的是AMD的服务器与工作站内核这一块与硬件厂商绑定还是Sun,IBM,HP三家自己生产题外在一些大型主机应用市场,比如卖飞机票德国的汉莎,中国的中航信,香港的国泰用的都是尤利(美国的公司,英文//个人感觉这样分纯是扯淡,还以为是小孩子玩球,分为大球,中球和小球但是不管怎样,计算机不再是千篇一律一个样子了按照性能的不同,在不同领域,出现了满足符合不同要求的计算机几乎在同时,人们也开始考虑计算机之间通讯问题人们开始考虑把不同的计算机连接起来,于是网线出现了,网络出现了又随着网络的发展,出现了一种专门为了寻址而存在的机器这就是路由器和交换机,然后又出现了一些公益性的组织或团体他们制定了一系列这本书自然很经典,说得比较细,只是我觉得不太适合初学者,其实也不难初学者直接看也不成问题,但个人感觉还是找本教材也就是前面推荐的两款来看比较好基本概念的理解还是用教材的,毕竟thinkinginjava有的版本翻译得很烂而且个人建议还是看原版比较好,当然这几本都看最好了,但如果没时间至少读其中一本,然后再看其他两本就可以,其实三本书内容也差不多但看问题的角度方式以及面向的读者也都不同,嗯,怎么说呢要使用J2SE就必须安装JDK(javadevelopmentkit)JDK在sun公司的主页上可以免费下载,下载后需要安装,具体安装流程看教材JDK包含有五个部分核心API,集成API,用户界面API,发布技术还有java虚拟机(JVM)先说运行环境,运行环境最主要要说的帱是java虚拟机(JVM)前面我们说过java是跨平台的语言,那么如何做到跨平台呢毕竟每种操作系统都是不同的java的设而且越大型的应用,这种慢的劣势体现得越模糊因为当系统项目越做越大,任何一个环节做不好都可能影响全局的情况下安全极其重要,而且就像goto语句一样这种过分追求速度的主张会给系统开发和纠错以及维护带来无可挽回甚至不可避免的损失把内存交给计算机去管理吧,这种代价值得我们做的不是pc游戏,没必要把内存的那一点点消耗当亲爹2、难看又是一个误区,很多人甚至拿出javaswing控件画出的界面来说呵呵,其实ja所有人都知道windows,但是不是所有人都知道unix和java一样,很多人都不知道unix这种操作系统干什么用我不想多说unix的应用,这不重要,但是我要说,大部分小型机、工作站,都跑在unix一族的操作系统上,比如linux/solarisunix比起windows有一个最显著的特点,稳定,这就好比思科和华为思科的机器慢但稳定,华为的机器快但不稳定,作为服务器这一端来说要的就是安全和稳定UJava,写给初学者(一)由于我国高等教育制度教材陈旧,加上java自身发展不过十几年的时间还有一个很重要的原因是java这门语言更多的是应用于商业所以高校里大部分博士老师们对java的了解甚至不比本科生多,上课的习惯性动作只能是照着书本练习朗读在这种环境下,很多人对java感到茫然,不知所措,不懂java能做什么即便知道了java很有用,也不清楚该从哪里入手所以就有了“java入门难”这一说法o
点击显示更多内容>>
收藏 下载该资源
网站客服QQ:738408904
技术文库版权所有
经营许可证编号:粤ICP备16048919号-1