「java架构缺陷」java底层架构
今天给各位分享java架构缺陷的知识,其中也会对java底层架构进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、php 架构和java架构的区别
- 2、采用java开发大型网站或B/S架构的企业管理软件用什么框架合适?各种框架的优缺点是什么?
- 3、昭通java培训学校告诉你开发主流框架有哪些优缺点?
- 4、既然在语言层面上 Java 要落后于 C#,那为何国内 Java 架构到处都...
- 5、JAVA SSH和JFinal框架 有什么区别?(优缺点)
- 6、北大青鸟java培训:分层架构的优缺点有哪些?
php 架构和java架构的区别
PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。
通过对两种语言写的OA系统的比较,对这两种语言的差异进行了一个全面的比较.
现在市场上的oa基本上可归结为两大阵营,即php阵营和java阵营。但对接触oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实, PHP + MYSQL 不值钱不仅仅局限于oa软件,而是整体上PHP + MYSQL开发的软件都不如java开发的软件值钱。为什么PHP + MYSQL 的OA为什么不值钱呢?首先得明白php和java之间的差异才行。
1、系统的技术架构比较
分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使oa系统具有更加高效、合理的系统架构。技术架构的落后,使运用php编写的oa软件系统先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA编写的oa软件系统的差距越来越大。架构的差距,注定了php做的oa充其量是个小家碧玉,始终无法和java这种大家闺秀同台竞技。
2、数据库访问比较
PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。
而Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比较统一。如果同样是将开发的web应用从MYSQL数据数转到ORACLE数据,PHP需要做大量的修改工作,而且比较繁琐。但JAVA开发的便只需要很少的更改便能实现。
数据库访问方式的差异,奠定了php开发出的oa和java开发出来的oa是马车和火车的差距,前者只能亦步亦趋而且额度有限,后者却是工业化的结晶,不仅能够包容万物而且速度上稳步提升。
3、安全性对比
在同是开源和跨平台的java面前,php丢掉了很多的优势。在代码的安全性上尤为突出。php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php和java是相去甚远。
如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。而光顾java的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。
4、前瞻性和拓展性
从整体来说,php适用于中小型系统,而java适用于大型系统。Php能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说php适合中小型系统而不适合做大系统呢?
首先, php缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而php恰恰缺乏这种支持。
其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。而JAVA则没有这种缺陷,可通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere,是通过CGI来提供支持的。
如果将Php比作将才,具备独挡一方的能力。那么java便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。
5、开发成本比较
既然php在诸多方面都不如java优异,那么php开发出的oa产品何以与java产品竞争呢?在于Php阵营普遍走的是低端路线,而java阵营走的是中高端路线。两者之间交*的区域较小。
软件价格的高低很大程度上和自身成本和功能相挂钩。php的入门门槛较低,绝大多数学过c的程序员都很容易转型为php程序员,这使得php程序员的泛滥成灾的同时,低成本的php软件产品也层出不穷。以PHP最经典的组合PHP + MySQL + Apache为例,由于所有软件都是开源免费的,所以投入并不高。
而java开发需要特定的环境,成长为一个合格的java程序员需要一定的时间,java程序员的成本也是php成本的几倍。Java的web应用服务器免费的有Tomcat、JBoss等,而要想具有很好的商业化服务便必须选用Web Sphere和 Web logic。这其中投入的成本无形中便超是php成本的N倍。所以,java开发oa的成本要远远高于php开发出来的同类软件产品。但也正由于java开发的成本较高,很难实现抄袭和短期内逾越的可能,也使得java用开发出的产品门槛更高。
采用java开发大型网站或B/S架构的企业管理软件用什么框架合适?各种框架的优缺点是什么?
struts2/spring mvc, hibernate/mybatis, spring
框架都不是关键,各种主流框架都适合,架构比框架更重要
框架的选择,要看开发者的水平,用得好的人,这几个无论用哪个都是高质量,但是用了自己不熟悉的框架,出错风险就会高很多,所谓优缺点,都只是针对学习难度来说罢了,struts2比spring mvc稍难学,hibernate比mybatis难学
昭通java培训学校告诉你开发主流框架有哪些优缺点?
在进行软件开发的过程中,了解软件开发的主流框架是非常重要的,主流框架主要有哪些呢?Hibernate、Struts和Spring是现在使用最主流的三种框架,很多人对软件开发框架的了解非常少,在开发过程中不知道应该选择哪种框架进行使用,这三种框架有哪些优缺点呢?下面电脑培训为大家介绍这三种主流框架的优缺点。
一、Hibernate
Hibernate书属于一种开放源代码的对象关系映射框架,在使用过程中,它能够对JDBC进行对象封装,让程序员在开发过程中进行随心所欲的使用对象编程。
优点:Hibernate使用能够起到Java的反射机制,并不是使用字节码程序进行使用的。在使用过程中具有很好的性能,并且还是一个轻量级的框架程序,有很好的灵活性。Hibernate能支持很多种关系数据库,能够处理一对一和多对多的各种关系。
缺点:Hibernate在使用过程中受限于所使用的对象模型,它所独有的界面和市场范围是非常不稳定的,并且在使用过程中,IT培训认为它所具有的强大发展动力能够减少这些风险。一般情况下,它所具有的开源持久性框架只有一些,市场冲击力并不大。
二、Struts
Struts框架具有很好的组件模块性,在使用过程中有很好的灵活性和重用性,在使用过程中主要基于MVC的web程序开发。
优点:像许多Apache项目一样,如Tomcat和Turbine,Struts是一个开源软件,这是一个很大的优势。很多开发人员能够更深入地了解其内部实现机制。如果是考虑页面导航,那么昭通北大青鸟认为这是一种以后的发展方向,这样的方法对于后期的维护有着非常大的好处。
缺点:在进行学习的过程中,很多人都知道Taglib是Struts使用中的一大优势,对于初学者来说,这并不是最好的选择,因为在学习开发的时候,这是一个持续学习的过程。如果是没有经验的初学者,在使用过程中会被打乱自己编写代码的习惯,要是能够熟悉这种编程方法,对后续的学习有很大的帮助。
三、Spring
这是一个很好的开源项目,在使用过程中非常的活跃,能够和IoC、AOP的框架结构结合使用,这种框架不需要在每一层进行使用,它的模块化是非常好的,使用的时候可以选择任何一个模块进行使用,并且能够实现MVC,对于数据能够提供统一的接口。
优点:无论您是否选择使用EJB,Spring都可以有效地组织您的中间层对象。Spring消除了在许多项目中常见的Singleton的过度使用。北大青鸟昭通计算机学院认为这是一个非常严重的问题,会降低系统的可测试性和面向对象的程度。
缺点:这种框架的使用并不是很多,很多人不会选择,在使用在JSP中需要写很多的代码,并且控制器过于灵活,在使用过程中缺少公用控制器。
既然在语言层面上 Java 要落后于 C#,那为何国内 Java 架构到处都...
因为语言层面的差距从来都不是最重要的差距呀。
简单点说,Java是最早实现跨平台的高级开发语言,C#虽然这两年开始在Xamarin上发力,但已经在市场占有率上大大落后Java了,难以追赶。
同时,Java的分布式框架较多,且早已成型,这让企业在招聘和产品扩容方面都比较放心。
还有最重要的一点,Java+Linux+MySql完全免费,但Windows Server+SqlServer却贵的不行,微软时不时抽查大企业盗版软件,企业管理者从成本考虑,一定偏向于Java系。
JAVA SSH和JFinal框架 有什么区别?(优缺点)
1.SSHIntroduction
SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。如下图1所示为SSH的架构图.
Web层,就是MVC模式里面的“C”(controller)与“V”(View),负责控制业务逻辑层与页面的交互与展现,在SSH架构中,Struts充当controller,JSP充当View。
Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。
DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。
1.1 Struts的优劣势
1.2 Spring的优劣势
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
1.3 Hibernate的优劣势
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
优点:
1)
Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。
2)
Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和AppServer 没有任何关系,也不存在兼容性问题。
3)
Hibernate不能用来直接和EntityBean 做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是EntityBean 的替代者出现的,
4)
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
5)
Hibernate可以应用在任何使用JDBC的场合。
6)
Hibernate使用Java反射机制而不是字节码增强程序来实现透明性。
7)
Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。
8)
它支持各种关系数据库,从一对一到多对多的各种复杂关系。
缺点:
1)
它限制所使用的对象模型。(例如,一个持久性类不能映射到多个表)。
2)
较JDBC,Hibernate更消耗内存。
3)
对于小型项目,Hibernate开发效率低。
2.jFinal Introduction
jFinal的相关介绍,请参阅
3.TheComparison
不可否认,SSH与jFinal都是非常优秀的架构,两者都有各自的优点,如何进行取舍取决于项目与项目组成员的实际情况!
注:*表示所在项具有相对优势
原文地址:
北大青鸟java培训:分层架构的优缺点有哪些?
在进行软件开发过程中,为了能够更有效的执行系统架构,一般情况下需要进行分层结构的形式来构成。
那么在使用分层架构的过程中有哪些优缺点呢?下面电脑培训为大家具体介绍。
一、什么是分层架构分层体系结构主要是根据水平分割将软件模块划分为多个层次。
系统由多层组成,每一层由多个模块组成。
那么多少层才是合适的呢?IT培训认为,根据不同的复杂性分为不同的层次,基本的层次结构是三个层次,即表示层、域层和数据持久层。
二、分层架构的好处1、单一职责:每层只负责一个角色,责任边界清晰。
如果持久层只负责数据查询和存储,则字段级别仅负责处理业务逻辑。
2、高内聚:分层是在相同的层中放置相同的责任,并且所有业务逻辑在领域层中都是一致的。
做这个的好处是什么?山东北大青鸟设想如果业务逻辑分散在每层上,则修改功能需要修改为各层,测试业务逻辑需要测试所有层的代码,从而增加了整个软件的复杂度和测试难度。
3、易维护将面对变更且容易修正的所有对外界面放入对外界面层中,如果外部依存的界面被修改的话,只要变更该层的代码即可。
三、分层架构的缺点1、开发成本高由于多层承担着各自的任务,因此需要在多个级别上追加代码,以添加功能。
这样,开发成本就会增加。
但是,北大青鸟认为合理的能力抽象化可以提高多重性,降低开发成本。
2、可扩展性低:由于在上下层之间存在结合度,所以所有的功能变化都有可能参与多层的修正。
关于java架构缺陷和java底层架构的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。