热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

主流WEB服务器软件比较

一、Apache1.3.19Apache仍然是最伟大的全能选手,也许它有些过于庞大、历史悠久,但是其优秀的性能和大量用户群,它应该会有更好

一、Apache 1.3.19

  Apache仍然是最伟大的全能选手,也许它有些过于庞大、历史悠久,但是其优秀的性能和大量用户群,它应该会有更好的发展。就它灵活性和丰富的特性功能而言,Apache相对于这里测试的其他Web服务器来说可以说是Web服务器的标准。除非你的在过去的四年里与这个世界相隔离,否则一定会看到大量的新闻文章欢呼Apache的成功,并将其作为开放源码成功的典范。Apache并不是采用GPL版权声明,而是采用自己的Apache Server版权声明,其强调自由地使用源代码。Apache同样以"补丁服务器"而闻名,主要是因为早期Apache的开发是通过对NCSA的httpd代码添加补丁程序来进行的。Apache被看做是"补丁服务器"还因为它具有模块化特性,该特性实现了Apache的灵活性和可扩展性,而且开发者可以利用该特性很容易地添加第三方功能模块,通过模块开发人员可以添加任何功能,模块是很多内容管理系统的功能基础,如Midgard,Zope等。

  几乎所有的Linux发布都安装Apache作为默认配置。SuSE 7.1甚至预安装有包括各种高级模块选项的Apache,如PHP3,mod_perl和LDAP等等。用户会惊奇地发现系统安装成功就会有一个功能强大的Web服务器可供选择。虽然安装Apache并不是非常简单,但是如果有具有新的特性或安全补丁的Apache发布,则下载源代码包并编译新的Apache是值得的。Apache不但具有庞大的用户群基础,并且有丰富的配置使用文档。

  Apache的主配置文件为纯文本格式的httpd.conf,随着Apache版本的发展,其他一些配置文件则逐渐消亡,趋向于使用单一的配置文件httpd.conf来存放所有的配置指令,如客户访问信息、记录认证信息和虚拟服务器等等。Apache配置选项采用的是指令模式,配置指令设定各种参数的值,例如:DocumentRoot设置服务器Web页面的根目录。你也可以灵活地设置多个基于IP或基于域名的虚拟Web服务器,这些Web虚拟服务器可以各自定义独立的DocumentRoot配置指令。而LoadModule指令则用来指定加载不同的模块来实现对Apache服务器功能的扩充。这些新功能大多是提供服务器端对脚本技术的支持,比如Perl、PHP等。Apache结合使用ApacheJServ可以实现对Java servlets及JSP的支持。

  Apache的很多模块实现安全方面的防护:如mod_auth提供对对服务器上数据进行适当的保护,而SSL模块则用来保护服务器和客户端之间的通信安全。

  对于大多数用户来说,手工编辑冗长的httpd.conf文件显得枯燥且易出错。幸运的是Redhat中的Linuxconf和Webmin都提供了非常完善的Apache配置模版。Aapche的GUI项目同样提供了Comanche和Mohawk来实现对Apache图形方式配置和管理。这些工具都大大减少了管理和配置Apache的难度,但是对httpd.conf一定理解对于配置高性能服务器来说是非常重要的。

  很多地方都声明Apache并不是最快的Web服务器,Apache的开发者的确是没有过多地考虑其开发一个超快的Web服务器。而功能和稳定性则是考虑更多的因素。然而Apache在很多负载很大的站点中运行非常正常,并没有得到过多的关于性能的抱怨。在我们使用Webstone进行性能测试中,发现Apache的吞吐量位居第一,并且出错最少。在测试中虽然Apache的可扩展性不知最强,但是仍然是提供了如此多特性的服务器中速度最快的。

二、Zeus Webserver3.3.8 服务器

  Zeus是一个商业化的Web服务器产品,最近它成为很多业界媒体中的头条新闻,因为有消息宣称Zeus服务器的性能在2.4内核+SMP环境下相对于2.2.x内核环境下性能提升了85%之多。速度永远是Zeus服务器的卖点。常常有评论说如果希望对Linux进行其作为服务器操作系统的性能测试,那么就运行Zeus进行测试。

  Zeus服务器在SMP环境下有优秀的可伸缩性,并实现了常见的特性集合,如访问控制、动态内容产生和安全等。它具有健壮、集成有集群支持的容错和负载平衡等特色,是高端应用的很好的选择。

  Zeus服务器的安装和管理相对比较简单。软件是以tar.gz格式的包格式,安装软件只需要解压软件包并运行一个安装脚本,在性能适当的机器上安装过程只需要几分钟。而且Zeus服务器安装以后提供Web方式的远程管理功能。

  对Zeus的管理分为两个部分:管理配置部分包含对管理服务器本身的配置和访问;而Web配置部分则包含对Web服务器的各方面特性的设置,从虚拟服务器设置到集群系统的管理及监控等等方面。默认情况下即使Zeus仅仅运行一个服务器,其也被看做是一个虚拟服务器。和Apache一样,多个虚拟服务器可以运行在同一台服务器上,同样虚拟服务器可以是"硬"(基于IP)或"软"(基于域名)虚拟服务器。

  管理服务器的GUI界面非常易于使用,可以轻易生成复杂的多虚拟服务器的配置。使用GUI,不同虚拟服务器的设置可以相互克隆,可以建立集群系统,可以实现类似.htaccess的模块化配置。监控工具非常不错,具有对每个虚拟服务器和独立的集群节点的动态监控。

  其功能可以与Apache匹敌,包含易于实现的SSL安全特性和其他有用的特性,如带宽控制等等。Zeus宣称支持PHP和Java Servlets。虽然易于使用的管理界面在某种程度上模糊了这些高级的配置特性。PHP4可以通过Zeus支持的API方式(NSAPI)来运行,也可以通过CGI发给你是来运行。但是很多用户报告这种API方式存在稳定性问题。

  高端应用服务器的性能总是难以精确的测试,在负载相对较小情况下进行的测试,尽管很难给出在超负荷情况下服务器的运行情况,仍然具有一定的实用价值。在我们的测试中,Zeus在服务器的吞吐量和响应时间上性能卓越,和Apache一样它出错的概率也很少。Zeus具有其它服务器所不具有的漂亮简洁的GUI配置界面。据报道,Zeus在四个处理器的Linux系统下运行性能良好。要建立高性能的Zeus服务器,相对其它服务器Zeus显得略为有点繁琐。


三、iPlanet Enterprise Edition 4.1

  Netscape公司为不同操作系统平台开发了多种WEB服务器,但到最近它才发布了自己在Linux下的产品。曾经非常流行的Netscape Enterprise Server现今被运行在Linux下的同类产品iPlanet Enterprise Edition所替代。iPlanet是SUN、Netscape和AOL公司联合生产的WEB产品,它被力图设计成高性能、跨平台的e-commerce产品。iPlanet和其它Netscape产品一样具有很高的性能,而且iPlanet具有SUN公司Java的特性。

  iPlanet可以自由下载评估版使用,也可以购买正式版本。因为在压缩包中包含Java的运行环境JRE,所以iPlanet的压缩包相对较大。压缩包被解压后,一个基于shell的简单安装工具可以帮助用户完成Administration服务器和Web服务器的安装。所有关于安装的信息都在这个时候输入,当然你也可以选择安装的选项,如选择安装Java组件或者LDAP目录,以便以后利用LDAP管理用户和组。

  就像现今流行的那样,iPlanet也允许以浏览器方式管理和配置。Administration服务器提供了全面的管理和监测功能,利用它可以重新配置Administration服务器和Web服务器。在集群节点iPlanet服务器环境中,可以在一个Administration服务器中利用群集数据库管理它们。

  iPlanet的多层菜单结构体现了iPlanet丰富的功能,利用菜单选项可以实现WEB服务器的所有管理。iPlanet具有非常有用的在线帮助文档和完整的SSL加密机制,这些特性保证用户登陆和现场检测的安全性。iPlanet允许配置基于IP和名字的虚拟服务器。

  现在WEB服务器和WEB应用程序服务器之间的界限变得越来越模糊,iPlanet象其它专业WEB服务器一样也支持JAVA API,以便提高自己的性能。Enterprise Edition 4.1本身内置JRE,可以和大多数的数据库互联,它也支持JSP 1.1的API、Serverlets 2.2的API和Livewire。它拥有功能强大的软件包,其功能远远超过了动态脚本语言。Enterprise Edition 4.1同时也支持传统的脚本方式,如CGI、NSAPI,因而可以没有任何问题、方便的从其它产品迁移到iPlanet。

  iPlanet具有现今高性能WEB服务器的特性,相对其它WEB服务器iPlanet还提供更多的JAVA功能。在WebStone环境中测试,iPlanet的性能非常良好。虽然iPlanet有时会因服务器端未能响应客户端的请求而在客户端产生许多错误,但是它的吞吐量和响应时间性能卓越。作为一个昂贵的WEB服务器产品,希望能看到以WebStone作为测试基准的更多的测试结果。如果你在寻找能够运行标准Java API,并且在Java API环境下运行速度良好的WEB服务器产品,iPlanet当是你的首选


四、AOLserver 3.3.1

  AOLserver是一个多线程、可升级和扩展的WEB服务器。AOLserver服务器使用简单而且功能强大的Tcl作为其内嵌式的脚本语言和服务器端的API。就像名字所表明的那样,AOLserver在AOL公司的在线服务中得到了广泛应用,随着AOL公司本身的发展,AOLserver也增添了更多的特性,其速度也得到了显著提高。和其它大公司一样,AOL公司也公布了AOLserver的所有源代码。该源代码遵循AOL公司自己的AOLserver版权声明,同时AOL公司也从此种开放式开发模型中获益。

  AOLserver的研究始于1994年,当时它作为完整的WEB发布系统的一部分进行开发。在该WEB发布系统中内嵌了WEB服务器的WYSIWYG网页编辑器,该网页编辑器强调内容变化的便利性和内容更新的快捷性。恰如早期的HTML和WWW网一样,WEB发布系统被设计成一个完整的网页编辑系统。随着时间的推移,AOL公司的网页编辑器已经不复存在,但是由于Tcl脚本语言的出现和它对动态网页的支持,AOLserver却生存了下来。

  和Apache相比,AOLserver也支持源代码公开、性能也非常优异,它们都可以通过模块方式添加新的功能,但是AOLserver却支持Tcl语言,而且以不同的方式和数据库互连。AOLserver可以连接和使用后台的关系型数据库(RDBMS),例如Oracle,PostgreSQL等。AOLserver在UNIX系统中作为单个进程运行,从而使得Web服务器可以共享数据库连接,进而使得运行在AOLserver中的脚本语言拥有更高的速度。AOLserver的脚本语言也可以通过一个抽象层同时访问许多数据库管理系统。

  AOLserver可以免费从AOL的官方网址或者它的开发站点Sourceforge下载。只要把AOLserver的压缩包解压,就可以非常简单的使用gmake编译和安装AOLserver服务器、可选模块、Tcl库、工具软件及其响应文档。用户可以使用config.tcl配置AOLserver的环境。用户也可以如Apache那样,安装和管理权限控制、CGI、SSL和数据库连接等模块。刚开始的时候,用户可能无法完全清楚、正确的安装和设置"软"(基于域名)虚拟服务器。AOLserver的文档非常完整详细,但是有点略微繁琐。它包括了安装、配置的方方面面和Tcl API的详细说明。但是AOLserver并不支持基于HTTP 1.1的软虚拟服务器。

  用户可以在远程利用类似Tclsh的模块管理AOLserver,该模块运行在系统的指定端口。一旦运行该模块,通过Telnet方式连接、管理AOLserver或者利用监控模块执行Tcl命令都是很简单的事情了。

  在许多测试环境下,AOLserver的表现并不能令人满意。在WebStone环境测试AOLserver,会出现许多错误,还有相当多的客户无法连接到AOLserver服务器。虽然以上的问题会使人认为AOLserver的性能很差,但是在负载相对较小情况下进行的测试结果并不能完全令人信服。

  我们不能据此就认为AOLserver不值得一用,因为利用WebStone无法测试数据库的连接速度等其它参数,因而以上的测试结果仅供参考。尽管AOLserver没有简洁的安装和配置工具,但是对那些需要较快数据库响应速度的客户,还是推荐使用该类产品。


五、Roxen WebServer 2.1.31

  当说到适应动态网页内容这个问题时,我们又使用了模块k化这个名词。Roxen服务器使用了一个服务器端的语言Pike,利用Pike既可以为Roxen开发全新的模块,也可以嵌入到Roxen系统中。Pike是解释性语言,语法和C语言非常相似。因为Pike是在以前写MUD游戏的语言的基础上发展起来的,因而它在安全认证方面非常出色。Pike无论从编程风格还是语法特点上都和C语言很接近,所以一个标准的C语言程序在很短的时间就可以改写成Pike程序。作为一个解释语言,Pike当然比编译性语言C的速度要慢,但是它的调试相对简单而且开发周期也很短。在Roxen服务器环境下,使用Pike语言生成动态网页内容,速度会有所提高。

  在Roxen中可以使用RXML语言生成动态网页内容。RXML是函数形式的服务器端XML脚本语言,它由Roxen服务器解析并执行。Roxen使用HTML方式的标签生成动态网页,标签可以由JAVA或者Pike生成。其实在Roxen服务器环境中,几乎所有的工作都可以使用Pike完成。

  安装Roxen非常的简单,只要使用下载的shell脚本就可以方便的解压所有必需的文件,并且设置管理接口和Roxen服务器本身。在安装完Java2,Orcle和Sysbase特制的脚本语言和推荐使用的内置升级系统后,Roxen的所有特点就会渐渐显露出来,同时Roxen也会安装Pike的解释器和其它工具。

  就象其它的WEB服务器一样,Roxen也允许使用基于浏览器方式完成服务器配置工作。这种配置方式拥有流行的、简单的菜单系统,使用这些菜单可以设置系统的所有选项。Roxen中也有丰富的帮助文件,这些文件涵括了Roxen和Pike的方方面面。通过模板或不使用模板生成一个新的站点都可以配置"硬"(基于IP)虚拟服务器。模板就是Pike模块的基本列表,利用这些模板就可以设置Roxen的不同功能。任何站点或者服务器必须设置和运行特定的模块,并使用它们管理站点的内容。一个站点必须包括文件系统模块和目录模块。利用文件系统模块可以设置文件的根目录,目录模块则管理索引文件和目录列表。在Roxen系统中,用户可以根据需要检查每个模块的配置内容和安全性信息。

  在任何Roxen站点中都可以添加带宽控制、代理、中转服务等外来模块及兼容性、数据库连接、Java、PHP4和Perl语言的支持模块。

  Roxen管理服务器允许同时登陆管理和WEB服务,并对其进行全面监控。Roxen还提供SSL安全机制。对于那些习惯Apache系统的用户来说,安装Roxen可能得费些功夫。但是一旦习惯了使用Roxen-Pike,你就会觉得Roxen强大的功能也是颇令人喜欢的。

  因为Roxen允许使用外置模块,所以它的性能受这些模块的影响较大。在一个运行Roxen的高端Supermicro服务器中连接700个客户端,CPU的资源会全被占用,这样其它任务的性能就会降低。虽然在WebStone环境的测试表明Roxen的大多数参数指标比Apache和Zeus的要低,但是Roxen的总体性能还是令人满意。那些希望把Roxen作为高负载服务器使用的用户,建议再进行相关的测试,或者选取其它的测试工具。虽然Roxen总体看起来很稳定,而且具有非常出色的Pike和令人心动的外置模块功能,但是我们仍然建议用户把Roxen看作一种有益的尝试。
六、Jigsaw

  你不可能再找到象Jigsaw那样适应未来需要的WEB服务器了。它由WWW组织(W3C)开发,W3C组织负责研究和规定网络协议的标准(如HTTP)。Jigsaw 刚开始被设想成HTTP 1.1的运行环境。它使用JAVA语言开发,是成功的面向对象、功能全面的服务器。因为Jigsaw不受测试平台的限制,所以Jigsaw是一个具有活力的、拥有无限潜能的优秀WEB服务器。

  Jigsaw使用JAVA作为开发语言,因而它可以方便地在所有支持JAVA的平台上运行。通过使用模块化的方法,Jigsaw具有更高的灵活度和可扩展性,可以动态的把模块加入服务中。Jigsaw利用面向对象的方法设计和开发,因而所有资源包括CGI脚本和文件都被视为对象,从此不难看出Jigsaw在未来的前景。

  但是对那些具有传统知识背景的人来说,这种新型体系结构可能会使人感到迷惑。安装和运行基于JAVA的软件总是需要一定的技巧,而且运行这种便携式语言的性能仍值得怀疑。

  一旦下载了必需的JDK(或者SDK)和最新的Jigsaw版本,安装Jigsaw将会非常的简单。在Jigsaw服务器中,帮助用户设置Jigsaw环境、运行服务和编译特性文件的帮助文件非常有限。但是以上的系统设置并不是很难,用户可以在几分钟完成这项工作。本地或者远程用户都可以通过浏览网页获取设置Jigsaw管理服务器的详细信息。

  JigAdmin拥有友好的图形控制界面,利用它可以控制本地的Jigsaw管理服务器。JigAdmin有许多命令选项,其可控制的功能相当的复杂,用户可以利用它管理Jigsaw管理服务器和http服务器。JigAdmin使用不同的树型结构代表doc space,indexers,properties和realm等的相关内容。doc space很明显是关于JigAdmin的目录和文件结构。properties指代的是servlet和loggind等的服务特性。realm和indexers则对用户不透明。直观的理解这些资源的意义是很不现实的。即使你对面向对象结构不太熟悉,仍很有必要全面的阅读JigAdmin的文档,因为JigAdmin中的很多概念难以掌握。

  JigAdmin的文档服务强调两个不同的处理阶段:索引阶段和服务阶段。索引阶段为所使用的文档生成资源,以便减轻服务阶段的压力。资源是理解Jigsaw的关键,通过资源编辑器管理资源是体现JigAdmin强大功能的关键。Jigsaw把资源作为对象和外界进行交互。这些资源可以是原始对象,例如文本或者图形文件,或者生成的对象如servelet、CGI脚本和过滤的资源等。一旦你熟悉了Jigsaw的这些核心概念后,你就感受到Jigsaw的强大功能。Jigsaw的这些特性使得它在动态脚本处理方面比其它同类产品更为出色,但其的学习过程也略为艰难。Jigsaw所有的特性和概念都来源于把万维网看作一个整体环境,而这就使得Jigsaw体现了最新的技术和标准。和Apache和NCSA HTTPd相比,在某些情况下Jigsaw具有很好的性能。但不幸的是我们无法用WebStone去测试和评估Jigsaw的性能。即使和很少的Client机连接,运行Jigsaw的服务器就会因为过载而无法再返回测试结果。

  很少有用户会把Jigsaw作为成熟的产品使用,但是通过安装和使用Jigsaw可以使我们了解HTTP-NG(下一代)的WEB服务器产品。安装Jigsaw在备用的服务器上,体验未来产品在协作环境中运行情况仍不失为一个好的方法。
七、总结

  虽然本篇文章的目的不是动摇Apache在WEB服务器市场的统治地位,但是这种改变的趋势是无法阻挡的。不幸的是Apache仍然占据了市场的大部份额,多数Linux厂商和媒介机构都推荐使用Apache产品。Apache的GUI管理工具外观看起来非常美观,但是如果使用它去管理结构复杂的站点,这对眼睛和大脑来说都是项复杂的工作。使用这些工具也意味着你不得不运行那些管理服务器中并不需要的服务。
 
  WebStone环境的测试数据表明,在吞吐量、客户连接数和出错率方面,Apache比其它产品性能优异。

  Apache和Zenus在服务器的响应时间上都非常出色,而且都为客户提供了成熟的高端解决方案,但是不可否认Zenus在SMP方面的优势。

  选择WEB服务器时,服务器对动态脚本语言、API的支持和数据库连接的性能都是非常重要而且值得考虑的内容。如果你对服务器性能要求不是很严格的话,选择AOLserver的Tcl或者RoXen的Pike和RXML也不失为一个好的办法。对那些寻求可扩展框架WEB服务器的用户来说,Roxen服务器值得一试。

 

转:https://www.cnblogs.com/shaoming1980/archive/2006/05/06/392583.html



推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
author-avatar
欣欣然人人宇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有