导航:首页 > 万维百科 > cms算法

cms算法

发布时间:2020-08-18 03:39:27

1、cms和Discuz有什么区别?

CMS是可以自由设定版面的PHP程序。就是说利用辅助工具(网页设计软件)修改页面排版等等。后台可以调用自己设定的子页面及调用。

discuz就是一种论坛程序。PHP语言的。目前在我们国内做论坛使用最多的一种程序。功能强大。

CMS功能也是很强大的。不过需要一点技术。而dz就不需要了。简单的学习一下。就可以做一个功能强大的论坛。
有点啰嗦了。希望可以帮到你。

2、cmst问题的启发式算法求解比较分析

最小来生成树问题(Capacitated Minimum Spanning Tree, CMST)
数据自结构基础中常见的一种 算是基本算法

楼主可以写针对网络优化设计中一类基本的、具有重要研究价值的问题——具有流量约束的最小生成树(CMST)问题进行了研究,然后再提出一种联合启发式搜索和分支定界方法的混合优化算法与之比较 关于这方面的论文

3、JDK1.8版本对于CMS算法有哪些改进

JDK7.0和JDK6.0有什么区别?

jdk7是模块化程序,模块间的依赖性变小了.jdk的好多功能间有相互依赖性,导致一个配置不对,好多不能用.举例来说:假设你正使用Logging API(java.util.logging)),Logging需要NIO和JMX,JMX需要JavaBeans, JNDI, RMI和CORBA,JNDI需要java.applet.Applet而且JavaBeans依赖AWT.

JDK7 新特性:

JSR203:JDK中会更多的IO API(“NIO.2”)访问文件系统与之前的JDK中通过java.io.File访问文件的方式不同,JDK7将通过java.nio.file包中的类完成。JDK7会使用java.nio.file.Path类来操作任何文件系统中的文件。(这里说的任何文件系统指的是可以使用任何文件存储方式的文件系统)

示例:

Java7之前

File file = new File(“some_file”);

使用Java7

Path path = Paths.get(“some_file”);

在File类中加入了新的方法toPath(),可以方便的转换File到Path

Path path = new File(“some_file”).toPath();
Socket通道绑定和配置在JDK7中面向通道的网络编程也得以更新!JDK7中可以直接绑定通道的socket和直接操作socket属性。JDK7提供了平台socket属性和指定实现的socket属性。
JDK7加入了一个新的字节通道类,SeekableByteChannel
NetworkChannel是面向网络通道编程模块中的又一个新的超接口。利用它可以方便的绑定通道socket,并且方便设置和获取socket的属性。
MulticastChannel接口方便创建IP协议多播。多播实现直接绑定到本地的多播设备。
灵活的异步I/O可以通过真正的异步I/O,在不同的线程中运行数以万计的流操作!JKD7提供了对文件和socket的异步操作。一些JDK7中的新通道:
AsynchronousFileChannel:异步文件通道可以完成对文件的异步读写操作。
AsynchronouseSocketChannel:Socket中的一个简单异步通道,方法是异步的并且支持超时。
:异步的ServerSocket
AsynchronousDatagramChannel:基于数据包的异步socket
JSR292:Java平台中的动态编程语言Da Vinci Machine项目(JSR292)的主旨是扩展JVM支持除Java以外的其它编程语言,尤其是对动态编程语言的支持。所支持的语言必须和Java一样不收到歧视并共同存在。JSR334:Java语言的一些改进OpenJDK项目的创造(JSR334)的主旨是对Java语言进行一些小的改进来提高每天的Java开发人员的工作。这些改进包括:
Switch语句允许使用String类型
支持二进制常量和数字常量中可以使用下划线
使用一个catch语言来处理多种异常类型
对通用类型实例的创建提供类型推理
Try-with-resources语句来自动关闭资源
JSR119:Java编译器APIJSR199是在JDK6中加入的,主要用来提供调用Java编译器的API。除了提供javac的命令行工具,JSR199提供Java编译器到程序交互的能力。Java编译器API要达到三个目标:
对编译器和其它工具的调用
对结构化的编译信息进行访问
对文件输入输出定制化处理的能力
JSR206:Java XML处理的API (JAXP)JSR206即Java API for XML Processing(JAXP),是Java处理XML文档的一个与实现无关,灵活的API。

JAXP1.3的主要特性包括:
DOM3
内建通过XML Schema进行文档校验的处理器
对XML Schema中的数据类型的实现,在javax.xml.datatype包中。
XSLTC,最快的转换器,也是XSLT处理中的默认引擎。
提供对XInclude的实现。这将会方便我们使用文本和其它已有的XML来创建新的文档,这样可以对文档片段进行重用。
JDK7中会包含JAXP1.3,这个是JAXP的最新实现。
绑定技术(JAXB)JSR222即Java Architecture for XML Binding(JAXB)。JAXB的目的是便于Java程序进行Java类到XML文档的映射。

JAXB2的主要特性:
支持全部的W3C XML Schema特性。(JAXB1.0说明了对于W3C XML Schema中某些特性的不支持)
支持绑定Java到XML文档,通过添加javax.xml.bind.annotation包来控制绑定。
大量减少了对于schema衍生出来的类。
通过JAXP1.3的校验API来提供额外的校验能力。
JDK7中将包括JAXB2.2
JSR224:基于XML的Web服务API(JAX-WS)JSR224即Java API for XML-based Web Services(JAX-WS),是一个基于Annotation标注的编程模型,主要针对Web Service应用和客户端开发。

JAX-WS2的主要特性包括:
对JAXB2.1 API的支持(JSR222)
对Web Services Addressing 1.0的支持
EndpointReference(EPR)的API:创建(BindingProvider.getEndpointReference(),Endpoint.getEndpointReference(),MessageContext.getEndpointReference())

事务处理(使用JAXB2.1绑定W3C EPR到W3CEndpointReference类,使用JAXB Marshall/Unmarshall W3CendpointReference类)
提供友好的API来启用和停止某些特性,例如MTOM特性和Addressing特性
JDK7将包含JAX-WS2.2
可插拔的Annotation处理APIJSR269即Pluggable Annotation-Processing API
从JDK5开始,Annotation标注就成了强大的机制用来标注我们的类、属性和方法。通常Annotation标注是在创建阶段或者运行阶段进行处理的,并获取语义结果。JSR269主要用来定义一套API,允许通过可插拔的API来进行标注处理器的创建。
规范包括一部分的API用来对Java编程语言进行构建,还有就对标注处理器声明和控制运行的部分。
有了程序中的Annotation标注,就需要有标注处理器框架来反射程序的结构。
Annotation处理器会指定他们处理的标注并且更多的处理器可以合作运行。
标注处理器和程序结构的API可以在构建阶段访问。
小的改进java.util.Objects提供了一套9个静态方法。其中两个方法用来检测当前对象是null还是非null。两个方法用来提供生成toString()字符串同时支持null对象。两个用来处理hash的方法。两个方法用来处理equals。最后一个compare方法用来进行比较。Swing JLayer组件JXLayer是一个组件装饰器,提供了用来装饰多个组合组件的方式,并且可以捕获所有鼠标、键盘和FocusEvent的事件,并针对所有的XLayer子组件。这个组件只会对public swing的api起作用,对全局设置没有作用,例如对EventQueue或者RepaintManager。(除了这些,Swing还将在JDK7中提供JXDatePicker和CSS方式样式)并发和集合APIJSR166,并发和集合API提供了灵活的异步处理,并发HashMap,传输队列和轻量级的fork/join框架以及本地线程方式的伪随机数生成器。类加载器体系结构类加载器已经升级到了可以在无等级类加载器拓扑中避免死锁。JDK7中包含了一个对于多线程自定义类加载器的增强实现,名字为具有并行能力的类加载器。使用平行能力的类加载器加载class,会同步到类加载器和类名。Locale类的改进Java Locale避免由于小的变化导致数据丢失。除此,Locale应该提供更多的特性,例如IETF BCP 47和UTR 35(CLDR/LDML)。分离用户Locale和用户接口LocaleJDK7分离了UI语言的locale和格式化locale,这个已经在Vista之后的windows系统中实现了。严格的类文件检测通过JavaSE6的规范,version51(SE7)的类文件和之后的版本必须通过类型检测来检验。对于老的推理验证VM不可以宕掉Elliptic-Curve

Cryptography (ECC)椭圆曲线加密
从JDK7开始,Java提供对标准的ECC算法的灵活实现(基于椭圆曲线的公钥加密算法)Swing中的Nimbus外观Nimbus是JDS(Java Desktop System)中的新外观。这个也是Solaris11的GTK主题Java2D中的XRender PipelineJDK7中加入了基于X11 XRender扩展的Java2D图形管道。这将提供更多的对于当前先进的GPUs访问的功能。TLS1.2TLS (Transport Layer Security)是一个用在Internet上的数据传输安全协议,用来避免监听、引诱和消息伪造。TLS的主要目的是提供两个应用间通信的隐私和数据完整。TLS是RFC5246标准,在JDK7中提供1.2JDBC4.0/4.1JDBC4.1特性只在JDK7或者更高版本中存在。JDBC4.1只是对JDBC4.0进行较小的改动。关于一些JDBC4.0/4.1的特性:
数据源—Derby包括了对于javax.sql.DataSource的新的实现
JDBC驱动自动加载—应用不必在通过Class.forName()方法来加载数据库驱动了。取而代之的是DriverManager会根据应用请求连接的情况,自动查找到合适的JDBC驱动。
包装—这是JDBC4.0中的新的概念,主要是通过这种机制可以让应用获取的厂商提供的标准JDBC对象实现,例如Connections,Statements和ResultSets。
Statement事件—连接池可以监听Statement的关闭和错误时间。addStatementEventListener和removeStatementEventListener被加入到了javax.sql.PooledConnection
JDK7提供了JDBC4.1全部的支持
透明窗体和异形窗体为了6u10版本的图形处理,JDK提供了透明效果的支持(简单透明和像素透明)并且提供了对于异形窗体的支持(可以将窗体设置成任意形状),轻重混合并且增强了AWT安全警告。透明效果和异形窗体是通过com.sun.awt.AWTUtilities类实现的。Unicode6.0Unicode6.0提供了诸如2.088字符集、对已经存在字符集的属性改进、格式化改进以及新的属性和数据文件。

JDK7已经更新到对Unicode6.0的支持。
要来关闭URLClassLoader的方法

对JMX代理和MBeans的改进
通过URLClassLoader,应用可以通过URL搜索路径来加载类和资源。JKD7提供了close()新方法来帮助URLClassLoader清理资源。

这个改进来至于JRockit,可以方便连接平台。MBean服务器可以通过防火墙提供一套MBeans,这些暴露了VM中的一些内部操作的信息
新的垃圾回收器JDK7提供了新的垃圾回收器,针对目前的CMS垃圾回收器,这将会让垃圾回收器有更少的停顿时间和更高的语言效果。改进的JSRJSR901:Java Language Specification(JLS)Java语言计划
JSR901包括了从第一版Java规范到现在为止的所有的变化、说明和补充。Java语言通过JLS规范。
对于JLS的改变通过JSR901进行管理
JDK7将会包括最新的JSR901
JSR924:JVM平台规范
JSR924目的是维护Java虚拟机规范的变化,其中第二版是为了J2SE1.5的。
Java SE API
JavaSE APIs保持着对例行维护和小范围改进的加入计划的记录
延期到JDK8或者之后的规范
JSR294:Java语言和虚拟机对模块编程技术的支持—当前JSR主要的目的是提供在编译期和运行期的模块编程支持
JSR308:对于Java类型的Annotation注释—这将是对于当前注释符号系统的扩展,将允许我们在类型中出现注释符号。
JSR296:Swing应用框架—主旨是消除Swing编程中的模板代码并且提供Swing程序更加简单的结构。
模块化—提供一个明确的、简单的、低级别的模块系统,主要目的是将JDK模块化。
JSR TBD:Lambda项目—Lambda表达式(通俗的也称为“闭包“)和对Java编程语言的保护方法
JSR TBD:对于集合支持的语言—常量表达式对于lists、sets和maps的迭代以及通过索引符号对lists和maps的访问。
Swing JDatePicker组件—添加SwingLabs JXDatePicker组件到平台。

4、cms垃圾回收算法在gc过程中哪几个阶段会暂停应用县城

中间调整过几次,先搞了几台机器做了验证,后来逐步推广的。
1、调大heap区,由原来的4g,调整到5g,young区的大小不变,还是2g,这时候old区就由2g变为3g了(这样保证old区有足够的空间);
2、设置-XX:UseCMSInitiatingOccupancyOnly,其实这个不关这个问题,只是发现半夜CMS进行的有点频繁,就禁止掉了悲观策略;
3、设置CMS区回收的比例,从80%调整到75%,让old区尽早的进行,有足够的空间剩余;

为什么要有GC(垃圾回收)?

JVM通过GC来回收堆和方法区中的内存,GC的基本原理就是找到程序中不再被使用的对象,然后回收掉这些对象占用的内存。

主要的收集器有哪些?
引用计数器和跟踪计数器两种。
引用计数器记录对象是否被引用,当计数器为零时,说明对象已经不再被使用,可以进行回收。java中的对象有复杂的引用关系,不是很适合引用计数器,所以sun jdk中并没有实现这种GC方式。
跟踪收集器,全局记录数据的引用状态,基于一定的条件触发。执行的时候,从根集合开始扫描对象的引用关系,主要有复制(copying)、标记-清除(Mark-Sweep)、标记-压缩(Mark-Compact)那种算法。

5、请问PHP中的CMS是什么意思?

CMS(Content Management System),中文叫作整站系统、文章系统,大概2004以前,如果想进行网站内容管理,基本上都是靠手工维护,但千变万化的信息流,但没有好的程序支持,还继续靠手工完成是不可能的事,如果有一个好的系统来支撑你的网站,那将节省大量的人力物力,开发者就可能给客户一个软件包,可以用它定期人工修改网站。只要你配置安装好,你的编辑,在线记者,更新员只要定期更新数据,剩下的事就交给CMS去处理。

=== Asp ===
动易CMS管理系统,官方网站:http://www.asp163.net/
这套是国产AspCMS中非常强大的系统,从3.0的简单的一个文章系统到现在的2005的版本,一路走来,动易不断完善,而且也不断加强功能,包括个人版,学校版,政府版,企业版,后台包括的功能,信息发布,类别管理,权限控制,信息采集,而且跟第三方的程序,比如论坛,商城(2005的已经自带了), blog可以完美结合,基本上可以满足一个中大型网站的要求,但Asp和Access的的局限性,还有本身功能Dll的限制,使得免费版差不多成鸡肋,

风讯 官方网站:http://www.foosun.cn/
风讯的系统功能强大,自由度高,是现在人气比较高的系统之一,可以根据自己的想法做出一个网页从而建立一个有自我风格的网站,更新速度快,一直有新的版本出现,现在又开放采集、下载、投稿、图片整站管理系统,第三方整合等功能,开源是它最大特点,希望保持。然后缺点就是后台人性化差了一点,上手有点难度,而且连一套默认的模板都没有,因为自由度太高了,让一些新手更难上手,还有就是免费版的生成静态发布的效率不高。3.1已经出来一段时间了,愿各方面都更上一层楼。

新云网站管理系统 官方http://www.newasp.cn/
一款Asp的CMS后起之秀,发现有不少的网站都在使用。由文章、下载、商城、留言、用户管理五大功能模块和广告、公告、连接、统计、采集、模板管理、数据库管理等多个通用模块组成,而且功能确实有一些值得称道的地方,不过又是DLL的,免费版有不少的限制,但对一个简单基本的网站来说,功能够用了。

乔客(asp) 官方网站:http://www.joekoe.com/
这个系统已经很久了,但好像一直存活在动易和风讯两者之间,现在3.0的Joekoe CMS出来了,但另我比较失望,相比免费版的1.2,功能是增强了,但也Dll,这个可能也是国产程序的一个特色罢了。它本身已经是一个融合度非常高的系统,有商城,新闻,下载,论坛,留言,影视,博客圈等,感觉有那么点WEB2.0 的味道,,不想怎么修改的朋友直接拿去就可以用了。

NB文章系统(asp) 官方:http://forum.nbarticle.com/default.asp
现在最新的是v2.1 RC1 ,上手挺容易,后台很简洁,安全性能不错,发布效率比较高,当然想到同类型的,RSS不错,它也是将模板写入数据库,但修改还是蛮方便。不过这样相对来说功能是少了一些,而且官方就一个论坛技术支持,论坛的人气差了一点。

渐飞新闻出版系统(asp) 官方网站: http://www.xunt.net/
这个系统也有一段时日了,不过到现在还是1.1的版本,以前名头特别响,
不过主要针对的是商业客户,看客户演示,个个都像门户,但因为没免费版的支撑,市场也一直没做大。

大世纪(Asp) 官方网站:http://www.bigcn.net/
很老的系统,差不多就算是个文章,新闻系统,
现在连官方都打不开了,这样的估计也没多少前景。

tsys信息发布系统 官方:http://www.tsyschina.com
非常遗憾 2.0刚刚出测试版,作者就好像人间蒸发一样消失了!不过对于一个免费开源,没有版权的CMS来说我们也没有什么可要求的!抛开强大,但可能不成熟(我没用过)的2.0不谈!单说1.1版!从 1.1就可以说他是ASP CMS中的老大了!在TSYS的各个版本中均没有出现过重大的安全漏洞而且对于目前1.1来说已经是很完善成熟的了!tsys和一般的Asp 的CMS不一样!他的功能并非由本身而定!而是根据使用者的能力而定!使用者越厉害 TSYS本身也可以变的更厉害!因为TSYS可以说是一个核心!而其他的东西和功能均需要使用者自己搞定!从这点来说!TSYS的功能可以说是无限的!但这也决定了TSYS不会流行起来!说白了只有高手使用TSYS才能把TSYS的优点发挥的淋漓尽致!可惜啊....

说到php的CMS,也跟Asp差不多,可以算是百花齐放。

PhpArtile 官方:http://www.21ds.net/
这个算是国内phpCms的祖宗了,PA由 PHP 语言开发, 使用 MySQL 数据库保存数据 ,
为中小型网站发表文章, 存放资料, 新闻发布提供一个完美的解决方案。
做了好几年了,3.0迟迟还在开发中,今年出了2.1火了一阵,又熄灭了,以前用的人挺多的,
现在基本上没落了

phpcms 官方:http://www.phpcms.cn/
好像以前是9466Article的官方,本来9466做得挺好的,不知为什么突然zend加密了,
继承了9466的优点,上手,结构,提供插件接口,可自主开发插件,自主制作语言包,
自主设计模板风格,免费版可永久使用,功能还可以。

OKphp http://cn.okphp.com
同样加密的,免费版也不见怎么有人用,系统倒是开发了好久了,整合了论坛,blog,新闻,
分有企业版,门户版,还有免费的,看起来像老外的Nuke,个人感觉没多少特别之处。

美丽心雨 官方:http://www.xydw.com/
美丽心雨CMS是心雨动网独立开发制作的网站管理系统,基本上网站管理的功能有了,
从1.01到现在的1.4,官方的开发人员也一直在努力中。

DedeCMS 官方:http://dedecms.com/
这是一套令人爱憎分明的系统,首先它是国内一款开源的系统,2.x的时候功能都已经另它的fans为之疯狂,
非常灵活的定制,强大的功能,简洁的操作,但2.x的瓶颈问题:大数据处理,到3.0的时候可能会解决,
但3.0的一直跳票,迟迟不见发布,另很多人都非常失望,希望能在3.0的时候看到一个全新的Dedecms,
当然也支持开源产品。

Ss-cms 官方:http://www.ss-cms.com/
作者我见过,一个非常有活力的家伙,程序跟他一样,国产的开源系统,
生成静态,信息采集,文章和下载集成,
但作者都是出于兴趣爱好开发,1.0出来后就不见踪影了,好像现在在搞书库

随意Cmsez CMS 官方:http://www.cmsez.com/
程序的作者和Ss-cms的作者是好朋友,他也是出于个人爱好做这个,而且主要面向企业用户,
Cmsez集成了丰富的功能模块,http://www.colorbird.com/(七色?...??型客户,
看七色鸟,你或许可以知道他的作品如何了。

CMSware 官方:http://www.cmsware.com/
一个非常不错的CMS系统,比较看好的他的后台操作简介,一些新技术,比如Ajax的应用,Wap的功能,
还有它的PSN的发布,节点和模块的定制,,自定义模型,数据库字段,
率先引进的工作流的概念,更多的发布自由度,非常强大的模板体系,
确实处处体现了自由的思想,让您体验自由管理的非凡感受.

Ecms 帝国网站管理系统 官方:http://www.phome.net/
可以说这个是最让我值得写的东西,作者wm_chief是个超人,偶像啊
官方的title里面是 在这里只有原创,那家伙也是疯子,
比如数据库管理,论坛,新闻,下载,flash,域名交易系统等,
还包括JSP的版本,都是自己一个人写,还有一个人搞定后期服务,客户支持,产品宣传。
还要每天抽时间灌水AD,ECMS的功能非常多,包括下载,flash,商城,图片,新闻,友情链接,广告管理等,
比如一些远程发布,刷新效率,类别管理,权限细分,万能的论坛接口,信息采集,附件管理等这些都是Ecms特别的亮点,
而且免费版也不错,作者WC也非常虚心接受客户的建议,
基本上任何一个小的功能,都力求做到最好,
他明白用户的需求,一切能从用户本身出发的系统才是好的系统,
3.6已经出来了,而且下一个版本可能会结合EXE软件发布,刷新的功能,让我们拭目以待。
ecms的典型客户 www.chinahtml.com

.Net
动网新闻(asp.net)
最新的4.X也出来了,也是DLL的,不过系统是.NET的,不过我个人不趋向使用DLL的系统,
运行速度快,效率高,安全做足。
不过以前3.X的没有Dll,感觉也蛮好的,
缺点就是风格改起来不容易。
现在加密了,反而能更快上手,不过这样可以定制的地方就少了。

还有一个倒奶CMS,也是.net的,不见什么特别之处,一笔带过

JSP
大概有这些:
Netark CMS
方正翔宇CMS
开源的Magnolia
Magnolia CMS
不过JSP的应用门槛对我们个人用户来说,有点高,也不想多提

当然还有一些系统比如说,Asp的国产FeitecCMS ,WpsCms等,国外的FullXML,php的国产有MePhp,天下站长php等,
都没见多少特色,不用也罢。
TurboCMS 这样只面向企业用户,几十万的系统,我们也不用考虑。
Struts中文版,Spring 开源系统,Gpower CMS,还有Java的 Ion,opencms,Jboss Nuke等老外做的,
国外的php的比如phpnuke,phppost,还有非常昂贵的phpcow,Bitrix Site Manager-CMS(99),
比较廉价的Subdreamer,koobi CMS,ActiveKB团队的ArticleLive NX,newsphp
还有免费的Xoops,功能繁多的玩意,Mambo这样的开源系统,还有Mambo的变种LimboCMS,Mamhoo 。
不符合国情的,在国内也没见流行
还有国外CMS的大全:http://bbs.chinahtml.com/t602.html 自己有空去翻翻
如果要比较老外CMS的也可以进去看看:http://bbs.chinahtml.com/t5429.html 直接选择2-10项,,有详细的列表说。

现在每个CMS功能介绍上都会说自己的产品如何强大,比如说什么模板体系如何好,
缓存技术如何高明,刷新效率,负载容量如何强,操作如何如何简单,容易上手,跟第三方无缝结合,还有功能模块的如何丰富,生成静态发布,信息采集……
吹牛谁都会,大家都会写,关键是客户如何认为,反正一句话,适合自己的就是最好的。

很长时间以来,我一直在寻找一个优秀的CMS(Content Management System 内容管理系统)作为自己网站的核心系统。为此我专门研究过postnuke、Xoops等一些基于LAMP架构的CMS,还研究过基于Java的OpenCMS和基于J2EE架构的JBoss的Nukes。OpenCMS是一个非常不错的系统,只可惜架构与自己的方向不符,而且需要大量的二次开发工作,只好放弃。这些CMS系统或多或少都有让自己很不满意的地方,我也并不想耗费太多的精力自己来开发一套,网站的计划甚至一度搁置了下来,直到我看到了eZ publish。

找到eZ publish还是偶然看到www.php.net上左侧的eZ Systems的链接,ez的网址是www.ez.no,一个挪威的公司开发的系统,试用后我得出了结论,它就是我一直在寻找的东西。
在CMS选型的过程中我经常的问自己,什么才是好的CMS?
现在要我回答这个问题的话,我会说适合自己需要的就是好的系统。因为这期间经历了太多的考虑或者说犹豫,有时候甚至是痛苦的。

首先是语言的选择,是基于Java的还是PHP的呢?因为我本人以前是从事Java的开发工作,钟情于Java优美的语言风格和架构,所以一度考虑采用OpenCMS,而且OpenCMS号称可以承受很大强度的访问量,这听起来似乎很诱人。然而我在研究它的过程中发现OpenCMS复杂且庞大,文档过时,需要花费大量的精力进行二次开发,作为业余时间搞网站的我们来说的确没有这个精力,于是只好放弃。现在要我回头看这个问题,我认为我的选择是正确的,选择CMS要考虑到自身的二次开发和日后维护的能力与精力耗费以及网站的业务需要,选择开发维护快速方便和自己也比较熟悉的的LAMP架构已经能适应我网站的需要。

其次,在基于LAMP架构的CMS系统中进行横向比较时,优劣比较明显。postnuke与Xoops这类CMS应该说十分的简单易用,基本上不需要做什么二次开发,基础功能就可以满足一般的需要。
而eZ publish相比起来要专业和庞大的多,它有自己专有的核心库和模版语言,面向对象的思想在eZ里体现的十分明显,甚至在它的配置文件中都有体现,内容与形式的分离做得相当好,扩展方便。而且它本身自带有article、gallery、webshop和forum等这些我所需要的功能,不需要再二次开发,十分的方便。而且在www.ez.no上有关于eZ publish的详细开发和使用文档可供参考。

eZ publish是eZ System公司发布的,专业的公司保证了系统以后的升级与维护的持续性,这一切都是我选择eZ的理由。

在整个CMS选型直到确定下eZ publish后,我发现这个过程持续时间是漫长而又痛苦的。经历了许多的波折,但也的确是值得的,毕竟CMS是整个网站的核心,很庆幸有eZ publish的存在而且我也发现了它。

一个好消息,eZ publish3.5近两天就会推出最终版了,而我的两个网站www.cnwebservices.com与www.o2.cn也将陆续推出。首先在12月初推出的将是关于LAMP与网站建设的技术性网站www.cnwebservices.com,是基于eZ publish CMS的网站,届时会有更多关于LAMP与开源项目的技术文章,敬请大家留意。

随着BLOG程序的普及,越来越多的普通用户开始了解或者接触到CMS(网站内容管理系统)这一概念。BLOG做为一种相对简单的内容管理系统,实 际上向更多的普通网民普及了网站后面的基本动态技术。我相信将来会有越来越多的人会不满足于只用BLOG来书写和表达,会有更多的人将会应用到较为复杂的 多人参与型CMS系统,这会与网络发展的去中心化趋势有关,一个中小型的,以一个或者几个人创造为主,大量读者松散参与的网站,会比中心化垄断型的网站更 具有活力。同时,它也使创造者的利益得到更加合理的体现。现在一个好的,内容专一又专业的小网站,很容易会得到足够的流量,仅仅通过GOOGLE类似的广 告就可以维持。
这个过程中一个决定性的因素就是网站构建技术和网站本身的服务内容之间的分离。几年前,在BLOGGER之 前,要想在网络上顺利的发表,还真的需要知道一点技术,而现在,大多数天天书写着BLOG的人,都是没有任何技术背景的普通用户。随着开源CMS项目如火 如茶的发展趋势,加上未来主机托管或者虚拟主机租用费用的不断降低,一个不具备专业网络技术知识的人,都可以轻易的建立自己的网站,如果说这几年BLOG 的发展解放了普通民众的发言权,这种功能更为复杂的CMS系统的发展,将会促使那些更加会创造,会关心别的用户的需求的人的创造得到利益上的回报。知识有 价,但会是更合理的方式。
甚至,可以预言,这可能会是一轮新的去中心化的开始,即中小型网站对大型内容门户的蚕食的开始。内容是互联网的生命,内容管理系统将那些深藏在用户 内心深处的想法流畅的表达出来,从而使整个网络充满活力。其实你稍稍想一想就可以发现,这本身并不是什么“蚕食”,因为这些内容门户才是内容事实上的掠夺 者,越来越多的报纸对新浪等的“海量”转载产生不满只是这个事实的冰山一角。
将来转载型的网站的重要性一定会不断降低,除非它在这个过程中创造了新的对用户有利的价值,随着GOOGLE算法的改进,将来出现在搜索结果首页的东西一定是那些用户最想需要的东西,而且是一定是那些创造者的网页。
所以现在很关注CMS系统的情况,正好,OPENSOURCE CMS进行了一个最佳网站内容管理系统的投票评选,不如就从这里入手去探寻CMS系统的情况。
现在排在前5名,也就是最终入围项目的名单是:
Drupal
e107
Joomla!
Plone
Xoops
接下来就准备把这几个东西一一试用一下。显然这些最受欢迎的东西并不一定能够代表最有创造性的想法,一定有更多的想法隐藏在那些不为人关注的项目中,不过,这应该是能够代表潮流的东西。

6、JVM的垃圾算法有哪几种

一、垃圾收集器概述

如上图所示,垃圾回收算法一共有7个,3个属于年轻代、三个属于年老代,G1属于横跨年轻代和年老代的算法。

JVM会从年轻代和年老代各选出一个算法进行组合,连线表示哪些算法可以组合使用

二、各个垃圾收集器说明

1、Serial(年轻代)

年轻代收集器,可以和Serial Old、CMS组合使用

采用复制算法

使用单线程进行垃圾回收,回收时会导致Stop The World,用户进程停止

client模式年轻代默认算法

GC日志关键字:DefNew(Default New Generation)

图示(Serial+Serial Old)

2、ParNew(年轻代)

新生代收集器,可以和Serial Old、CMS组合使用

采用复制算法

使用多线程进行垃圾回收,回收时会导致Stop The World,其它策略和Serial一样

server模式年轻代默认算法

使用-XX:ParallelGCthreads参数来限制垃圾回收的线程数

GC日志关键字:ParNew(Parallel New Generation)

图示(ParNew + Serail Old)

3、Paralle Scavenge(年轻代)

新生代收集器,可以和Serial Old、Parallel组合使用,不能和CMS组合使用

采用复制算法

使用多线程进行垃圾回收,回收时会导致Stop The World

关注系统吞吐量

-XX:MaxGCPauseMillis:设置大于0的毫秒数,收集器尽可能在该时间内完成垃圾回收

-XX:GCTimeRatio:大于0小于100的整数,即垃圾回收时间占总时间的比率,设置越小则希望垃圾回收所占时间越小,CPU能花更多的时间进行系统操作,提高吞吐量

-XX:UseAdaptiveSizePolicy:参数开关,启动后系统动态自适应调节各参数,如-Xmn、-XX:SurvivorRatio等参数,这是和ParNew收集器重要的区别

GC日志关键字:PSYoungGen

4、Serial Old(年老代)

年老代收集器,可以和所有的年轻代收集器组合使用(Serial收集器的年老代版本)

采用 ”标记-整理“算法,会对垃圾回收导致的内存碎片进行整理

使用单线程进行垃圾回收,回收时会导致Stop The World,用户进程停止

GC日志关键字:Tenured

图示(Serial+Serial Old)

5、Parallel Old(年老代)

年老代收集器,只能和Parallel Scavenge组合使用(Parallel Scavenge收集器的年老代版本)

采用 ”标记-整理“算法,会对垃圾回收导致的内存碎片进行整理

关注吞吐量的系统可以将Parallel Scavenge+Parallel Old组合使用

GC日志关键字:ParOldGen

图示(Parallel Scavenge+Parallel Old)

6、CMS(Concurrent Mark Sweep年老代)

年老代收集器,可以和Serial、ParNew组合使用

采用 ”标记-清除“算法,可以通过设置参数在垃圾回收时进行内存碎片的整理
1、:默认开启,FullGC时进行内存碎片整理,整理时用户进程需停止,即发生Stop The World
2、CMSFullGCsBeforeCompaction:设置执行多少次不压缩的Full GC后,执行一个带压缩的(默认为0,表示每次进入Full GC时都进行碎片整理)

CMS是并发算法,表示垃圾回收和用户进行同时进行,但是不是所有阶段都同时进行,在初始标记、重新标记阶段还是需要Stop the World。CMS垃圾回收分这四个阶段
1、初始标记(CMS Initial mark)  Stop the World 仅仅标记一下GC Roots能直接关联到的对象,速度快
2、并发标记(CMS concurrent mark) 进行GC Roots Tracing,时间长,不发生用户进程停顿
3、重新标记(CMS remark)  Stop the World 修正并发标记期间因用户程序继续运行导致标记变动的那一部分对象的标记记录,停顿时间较长,但远比并发标记时间短
4、并发清除(CMS concurrent sweep) 清除的同时用户进程会导致新的垃圾,时间长,不发生用户进程停顿

适合于对响应时间要求高的系统

GC日志关键字:CMS-initial-mark、CMS-concurrent-mark-start、CMS-concurrent-mark、CMS-concurrent-preclean-start、CMS-concurrent-preclean、CMS-concurrent-sweep、CMS-concurrent-reset等等

缺点
1、对CPU资源非常敏感
2、CMS收集器无法处理浮动垃圾,即清除时用户进程同时产生的垃圾,只能等到下次GC时回收
3、因为是使用“标记-清除”算法,所以会产生大量碎片

图示

7、G1

G1收集器由于没有使用过,所以从网上找了一些教程供大家了解

并行与并发

分代收集

空间整合

可预测的停顿

7、运用恒定市场份额模型CMS计算的结果,是用软件计算出来的吗?

当然是了 肯定是你用的cms里面集成了相关的软件 不然是不可能凭空出一个结果的

8、为什么要开发自己的CMS

其实一个成熟的CMS系统,远比自己想象的要复杂困难的多,在开发过程中,遇到过各种各样的问题:用户的操作习惯、功能上的需求、系统的安全性、系统的可维护性等等一系列问题。
有付出总会有收获,从开发这套系统中,也学到很多知识,并加深了自己对PHP的理解,也加强了逻辑算法等各方面的能力。

与cms算法相关的知识