首頁 >後端開發 >PHP問題 >java和php是啥

java和php是啥

青灯夜游
青灯夜游原創
2021-11-18 10:18:253056瀏覽

java是一種通用的物件導向程式語言,旨在產生可在任何地方使用相同程式碼的程式碼;它支援伺服器端和用戶端。 PHP即“超文本預處理器”,是一種通用開源的、物件導向的、解釋型的、獨立於架構的、可移植的、動態的腳本語言,主要適用於Web開發領域。

java和php是啥

本教學操作環境:windows7系統、PHP7.1&&java8版、DELL G3電腦

java是什麼?

Java是一種通用的物件導向程式語言,旨在產生可在任何地方使用相同程式碼的程式碼。這種程式語言是基於類別的,物件導向的和人類可讀的。它支援伺服器端和客戶端。

Java既可以編譯也可以解釋。 Java編譯器將原始程式碼轉換為字節碼,然後java解釋器產生機器碼,該機器碼由執行java程式的機器直接執行。它可靠,分佈式,便攜。它可用於開發獨立應用程式或基於Web的應用程式。

Java具有簡單性、物件導向、分散式、健全性、安全性、平台獨立與可移植性、多執行緒、動態性等特點 。 Java可以編寫桌面應用程式、網路應用程式、分散式系統和嵌入式系統應用程式等 。

php是什麼?

PHP(外文名稱:PHP: Hypertext Preprocessor,中文名稱:「超文本預處理器」)是一種通用開源的、簡單的,物件導向的,解釋型的,健壯的,安全的,性能非常之高的,獨立於架構的,可移植的,動態的腳本語言。

PHP是在伺服器端執行的腳本語言,與C語言類似,是常用的網站程式語言。 PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利於學習,使用廣泛,主要適用於Web開發領域。

PHP受到了不同程式語言的影響,如Perl,C ,C,Tcl和Java。它主要是使用C程式語言和C 程式語言的一些特性開發和實現的。 PHP支援不同的跨平台作業系統,如Windows和UNIX類系統。

大多數流行的內容管理系統都使用PHP,它目前被認為是伺服器上最根深蒂固的運行時環境;可以為託管服務提供者提供更好的搜尋引擎評級和可訪問性。

java和php的比較

#1、運行機制:

  Java程式碼被編譯成字節碼後,會在虛擬機器裡由JIT進行二次編譯成為本地碼,據傳言其執行速度可以和C 相媲美,經過我自己測試,用Java實現一個簡單的Memcache協議的緩存伺服器,在Java 1.6下運行,和memcache本身相比,同樣資料量的存取時間比大概是3:2,雖然有差距,但是比想像的好很多。 Java 1.7在JIT方面做了大量的改進,效能比Java 1.6還要好。

  PHP是直接對文字程式碼進行解釋執行,即使有opcode快取技術,仍然有不可逾越的效能鴻溝。 PHP的opcode類似java的class字節碼,仍是解釋執行。

2、處理並發:

  Java在並發處理上採取單進程多執行緒的方式,web應用程式會隨著web server的啟動而啟動,而來自web 瀏覽器的請求將被分配給線程池內的閒置線程處理,也就是說當有請求到達的時候,進程是準備好的,線程是準備好的,Java要做的只是業務邏輯處理了。

  PHP在並發處理上時採取多進程的方式,在web server裡沒有物理的web應用概念,每個請求都相當於一個獨立的應用,而進程也隨著請求的到達才啟動,而隨著請求的結束而消亡。在Fast CGI環境下,有類似執行緒池的進程池技術,對效能提升有很大的幫助。然而一方面web server和Fast cgi通訊仍需要通過socket,多出了一定的IO損耗,另一方面進程池內的進程間也很難進行通訊,所以在並發處理上仍然無法和Java相比。

3、資料庫應用:

  Java可以採用資料庫連線池技術,節省下資料庫連線過程所帶來的時間損失。

  PHP沒有這個好處,原因來自上面的第二條。

在資料庫介面上java有JDBC,PHP有PDO,這兩個很類似。然而Java有非常多的ORM技術框架(如Hibernate)使資料庫操作變得異常簡單,而PHP的運作方式決定了它是ORM的禁區(當然也可以做ORM,只是做到什麼程度是由你對ORM所帶來的性能損耗的忍受程度決定的)。

原因說的具體點,就是php無法保存全域變量,php類別中雖然有static變量,但是這個變數在一次http請求結束後就會被從記憶體中刪除掉,但是java的static變數是可以一直存在內存中。這樣php就無法使用「池」這種技術,因為無法將池中的資料保存下來

4、快取技術

  Java是單一進程,很多緩存可以直接在Java的heap中做,而無需借助外在的工具,當然也有很好的快取框架,例如Ehcache,因為沒有網路IO,所以效能非常高。

  PHP多進程單執行緒決定了它只能藉助外來的快取伺服器,例如Memcache.

5、熱部署

##  Java的熱部署能力很弱,如果希望修BUG而不停服是很難做到的。

  PHP天然熱部署。

6、開發成本

  一個好Java程式設計師所需的知識儲備更多,開發、調試所需的周期較長,好點的web server也都是收費的。

  PHP免費、web server也免費。

7、安全性

  這個要看你怎麼來定義安全性,如果是程式碼安全,java class反編譯很容易,這點上來說兩者差不多。

  Java有安全配置機制可確保一些「非法操作」無法執行,這一點上來說PHP較弱。

  然而Java很容易因為一個BUG導致整個應用宕掉,PHP就安全的多。

其實要說起來Java的好處多多,然而僅僅最後三條就可以讓決策者取PHP而棄Java.

推薦學習:《

PHP影片教學

以上是java和php是啥的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn