java和C#和PHP和各种数据库优缺点.doc

上传人:cl****1 文档编号:543626004 上传时间:2022-09-01 格式:DOC 页数:20 大小:33.35KB
返回 下载 相关 举报
java和C#和PHP和各种数据库优缺点.doc_第1页
第1页 / 共20页
java和C#和PHP和各种数据库优缺点.doc_第2页
第2页 / 共20页
java和C#和PHP和各种数据库优缺点.doc_第3页
第3页 / 共20页
java和C#和PHP和各种数据库优缺点.doc_第4页
第4页 / 共20页
java和C#和PHP和各种数据库优缺点.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《java和C#和PHP和各种数据库优缺点.doc》由会员分享,可在线阅读,更多相关《java和C#和PHP和各种数据库优缺点.doc(20页珍藏版)》请在金锄头文库上搜索。

1、Java优点:Java是一种跨平台,适合于分布式计算环境的面向对象编程语言下面我们将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。 1面向对象 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 2平台无关性 Java是平台无关的语言是指用Java写的应

2、用程序不用修改就可在不同的软硬件平台上运行。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。 3分布式 分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。 4可靠性和安全性 首先,Java是强类型的

3、语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。上述几种机制结合起来,使得Java成为安全的编程语言。 5多线程 Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程

4、控制,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。6.垃圾自动回收在Java中,编程人员不必为内存管理操心。Java系统有一个叫做“无用单元收集器”的内置程序,它扫描内存,并自动释放那些不再使用的内存块。Java缺点:1.缺少闭包:闭包的缺失,使得在Java中做任何真正的函数式编程都是不可能的。2缺少一等函数:在Java里,要达到类似效果的唯一方式,是使用匿名内部类的方法

5、,这是一个拙劣的方法。3原生类型:在Java中不是一切皆对象。它造成了传值与传引用上的困扰,原生类型数据是通过值传给方法的,而不是通过对象传递的。4受检查异常:在代码里充斥大量的try.catch语句,这样做只是将捕的获异常,包装成运行时异常,然后再重新抛出,让接口缺少灵活性和可扩展性。PHP优点:1良好的安全性PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。开源造就了强大,稳定,成熟的系统。2跨平台特性 PHP几乎支持所有的操作系统平台及数据库系统,并广为流行

6、。3执行速度快,效率高 PHP是一种强大的CGI脚本语言,语法混合了C、Java、Perl和PHP式的新语法,执行网页速度比CGI、Perl和ASP更快,而且内嵌Zend加速引擎,性能稳定快速,占用系统资源少,代码执行速度快。PHP消耗相当少的系统资源。4很好的移植性和扩展性强 PHP具有很好的开放性和可扩展性,PHP可以运行在任何服务器上(不管是windows还是Linux)属于自由软件,其源代码完全公开,任何程序员为PHP扩展附加功能都非常容易。在很多网站上都可以下载到最新版本的PHP。目前,PHP主要是基于Web服务器运行的,支持PHP脚本运行的服务器有多种,其中最有代表性的为Apach

7、e和IIS。5支持面向对象 面向对象编程是当前的软件开发趋势,PHP对OOP提供了良好的支持。可以使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都非常有意义。PHP缺点:1.对多线程不太支持:对多线程支持不太好,大多数时候只能简单的模拟去实现的。2.对面向对象不太支持:对面向对象的支持不太好,相对于现在来说面向对象有了不少的提升。3.编码规范不太统一:编码规范不统一,有的人直接拼接,有的人用下划线分开,有的人驼峰式,因为每个人都有自己的编码习惯。4.语法不太严谨:变量不需要定义就可以使用,在java中变量是必须先定义以后才可以使用。C#优点:1效率与安全性

8、:C#可以提高开发效率,因为开发者在不断缩短开发周期,不断推出应用程序的新版本。C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。2支持现有的网络编程新标准:新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般无法很好地支持最新的网络技术。3消除大量程序错误:C#消除了大量的程序错误。有些小错误会带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可

9、能要付出极其昂贵的代价。4对版本的更新提供内在的支持降低了开发成本更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。为协助开发者进行这项工作,C#为版本的更新提供内在的支持。例如,方法重载必须显式声明。这样可以防止编码错误,保证版本更新的灵活性。还有一个相关的特性就是对接口和接口继承的内在支持。这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。5扩展交互性:作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。但实际的经验表明有些应用程序仍然需要一些底层的代码,要么是因为基于性能的考虑,要么是因为要与现有的应用程序接口兼容。这些情况可能会迫

10、使开发者使用C+, 即使他们本身宁愿使用更高效的开发环境。C#缺点:1. 底层和高性能不合适:不合适做时间性能很高(高速算法)或空间性能很灵活(内存立即释放)的程序,因为中间语言和编译过程,比C/C+Native类型的语言会慢一些,内存自动回收难以立即释放不需要的内存,不采用内联函数和析构函数。2Windows平台以外支持有限: mono不够成熟好用,window以外Java,Python等是很强大和同样优秀的。MySQL优点:1.MySQL是一个快速、多线程、多用户的SQL数据库服务器,支持正规的SQL查询语言和采用多种数 据类型,能对数据进行各种详细的查询等。2.MySql的核心程序采用完

11、全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务, 而不过多的系统资源。用多线程和C语言实现的MySQL能很容易充分利用CPU。3.MySql可运行在不同的操作系统下。简单地说,MySQL可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多种操作系统平台。这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。4.MySQL有一个非常灵活而且安全的权限和口令系统,当客户与MySQL服务器连接时,他们之间所有的口令传送被加密,而且MySQL支持主机认证。5.MySQL支持所有的ODBC 2.5函数和其他许多函数,这样就可以用Acc

12、ess连接MySQL服务器,从而使得MySQL的应用被大大扩展。6.MySql支持大型的数据库, MySQL可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySQL可以针对不同的应用进行相应的修改。7.MySql拥有一个非常地快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。事实上,MySQL的稳定性足以应付一个超大规模的数据库。8.MySQL具有强大的查询功能,MySQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。MySQL的缺点:1. MySQL最大的缺点是其安全系统

13、,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。2. MySQL的另一个主要的缺陷之一是缺乏标准的RI(Referential Integrity-RI)机制;Rl限制的缺乏(在给定字段域上的一种固定的范围限制)可以通过大量的数据类型来补偿。3. MySQL没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。4. MySQL不支持热备份。SQLServer优点:1. SQLServer是一个真正的客户/服务器体系结构,在这种体系结构中,包括多台计算机,其中处理应用程序,请求服务的计算机称为客户机,处理数据库的

14、计算机称为服务器。2. SQLServer具有图形化用户界面,使系统管理和数据库管理更加直观、简单,提供了表、视图和查询定义的图形界面,在Query Analyze的图形界面中使用SQL语言,服务器和数据库的用户配置的图形化界面。3. SQLServer具有丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地,SQLServer提供了丰富的应用程序接口来访问服务器的数据,主要的访问方法有:ODBC API、OLE DB、Transact-SQL和DB-Library,客户机可以通过这些API作为动态连接库来使用,并通过客户端的网络库与SQLServer服务器通信。4.SQL Server

15、与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,与NT的安全性系统集成,利用NT的安全机制为服务器服务,利用NT的性能监测器和使用MS Index Server;与MS BackOffice产品集成,如MS IIS、MS Exchange Server等结合。SQLServer可以设置为用Exchange接收和发送电子邮件,用户可以通过邮件信息向SQLServer发送查询请求,查询结果能够通过电子邮件返回给用户。5. SQLServer对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上,在Web Assistant中可以将数据库表中的数据引出来,还可以将HTML中的数据引入到数据库中。SQLServer的数据可以自动发行到Web页上;用户可以通过一个普通的浏览器来查询存储在SQLServer中的信息,因此可以用存储在SQLServer中的信息创建动态Web页。6.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。SQL Server2000中包括吸取和分析汇总数据以进行联机分析处理(OLAP)的工具,还包括一些工具可用于直观

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号