導航:首頁 > 萬維百科 > 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演算法相關的知識