虛擬主機java
① 西部數碼java虛擬主機怎麼樣
西部數碼Java虛擬主機採用CentOs5.1/APACHE2.0/ TOMCAT6架構,有如下特點: 1.獨享jvm和tomcat服務,並可自主重新啟動,互不影響,更安全穩定 . 2.提供tomcat訪問日誌 3.支持部署多個應用程序,贈送Mysql5.0資料庫。 4.支持tomcat自帶的應用程序管理程序,tomcat7/tomcat6.0.18,jdk 1.6.0_12,mod_jk 1.2.27 5.支持Servlet2.4,jsp2.0,Struts1,Struts2,Spring,Hibernate,proxool,javamail
② 什麼是JAVA虛擬主機
Java虛擬機
一、什麼是Java虛擬機
Java虛擬機是一個想像中的機器,在實際的計算機上通過軟體模擬來實現。Java虛擬機有自己想像中的硬體,如處理器、堆棧、寄存器等,還具有相應的指令系統。
1.為什麼要使用Java虛擬機
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用模式Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。
2.誰需要了解Java虛擬機
Java虛擬機是Java語言底層實現的基礎,對Java語言感興趣的人都應對Java虛擬機有個大概的了解。這有助於理解Java語言的一些性質,也有助於使用Java語言。對於要在特定平台上實現Java虛擬機的軟體人員,Java語言的編譯器作者以及要用硬體晶元實現Java虛擬機的人來說,則必須深刻理解Java虛擬機的規范。另外,如果你想擴展Java語言,或是把其它語言編譯成Java語言的位元組碼,你也需要深入地了解Java虛擬機。
3.Java虛擬機支持的數據類型
Java虛擬機支持Java語言的基本數據類型如下:
byte://1位元組有符號整數的補碼
short://2位元組有符號整數的補碼
int://4位元組有符號整數的補碼
long://8位元組有符號整數的補碼
float://4位元組IEEE754單精度浮點數
double://8位元組IEEE754雙精度浮點數
char://2位元組無符號Unicode字元
幾乎所有的Java類型檢查都是在編譯時完成的。上面列出的原始數據類型的數據在Java執行時不需要用硬體標記。操作這些原始數據類型數據的位元組碼(指令)本身就已經指出了操作數的數據類型,例如iadd、ladd、fadd和dadd指令都是把兩個數相加,其操作數類型別是int、long、float和double。虛擬機沒有給boolean(布爾)類型設置單獨的指令。boolean型的數據是由integer指令,包括integer返回來處理的。boolean型的數組則是用byte數組來處理的。虛擬機使用IEEE754格式的浮點數。不支持IEEE格式的較舊的計算機,在運行Java數值計算程序時,可能會非常慢。
虛擬機支持的其它數據類型包括:
object//對一個Javaobject(對象)的4位元組引用
returnAddress//4位元組,用於jsr/ret/jsr-w/ret-w指令
注:Java數組被當作object處理。
虛擬機的規范對於object內部的結構沒有任何特殊的要求。在Sun公司的實現中,對object的引用是一個句柄,其中包含一對指針:一個指針指向該object的方法表,另一個指向該object的數據。用Java虛擬機的位元組碼表示的程序應該遵守類型規定。Java虛擬機的實現應拒絕執行違反了類型規定的位元組碼程序。Java虛擬機由於位元組碼定義的限制似乎只能運行於32位地址空間的機器上。但是可以創建一個Java虛擬機,它自動地把位元組碼轉換成64位的形式。從Java虛擬機支持的數據類型可以看出,Java對數據類型的內部格式進行了嚴格規定,這樣使得各種Java虛擬機的實現對數據的解釋是相同的,從而保證了Java的與平台無關性和可
移植性。
二、Java虛擬機體系結構
Java虛擬機由五個部分組成:一組指令集、一組寄存器、一個棧、一個無用單元收集堆(Garbage-collected-heap)、一個方法區域。這五部分是Java虛擬機的邏輯成份,不依賴任何實現技術或組織方式,但它們的功能必須在真實機器上以某種方式實現。
1.Java指令集
Java虛擬機支持大約248個位元組碼。每個位元組碼執行一種基本的CPU運算,例如,把一個整數加到寄存器,子程序轉移等。Java指令集相當於Java程序的匯編語言。
Java指令集中的指令包含一個單位元組的操作符,用於指定要執行的操作,還有0個或多個操作數,提供操作所需的參數或數據。許多指令沒有操作數,僅由一個單位元組的操作符構成。
虛擬機的內層循環的執行過程如下:
do{
取一個操作符位元組;
根據操作符的值執行一個動作;
}while(程序未結束)
由於指令系統的簡單性,使得虛擬機執行的過程十分簡單,從而有利於提高執行的效率。指令中操作數的數量和大小是由操作符決定的。如果操作數比一個位元組大,那麼它存儲的順序是高位位元組優先。例如,一個16位的參數存放時佔用兩個位元組,其值為:
第一個位元組*256+第二個位元組位元組碼指令流一般只是位元組對齊的。指令tableswitch和lookup是例外,在這兩條指令內部要求強制的4位元組邊界對齊。
2.寄存器
Java虛擬機的寄存器用於保存機器的運行狀態,與微處理器中的某些專用寄存器類似。
Java虛擬機的寄存器有四種:
pc:Java程序計數器。
optop:指向操作數棧頂端的指針。
frame:指向當前執行方法的執行環境的指針。
vars:指向當前執行方法的局部變數區第一個變數的指針。
Java虛擬機
Java虛擬機是棧式的,它不定義或使用寄存器來傳遞或接受參數,其目的是為了保證指令集的簡潔性和實現時的高效性(特別是對於寄存器數目不多的處理器)。
所有寄存器都是32位的。
3.棧
Java虛擬機的棧有三個區域:局部變數區、運行環境區、操作數區。
(1)局部變數區 每個Java方法使用一個固定大小的局部變數集。它們按照與vars寄存器的字偏移量來定址。局部變數都是32位的。長整數和雙精度浮點數占據了兩個局部變數的空間,卻按照第一個局部變數的索引來定址。(例如,一個具有索引n的局部變數,如果是一個雙精度浮點數,那麼它實際占據了索引n和n+1所代表的存儲空間。)虛擬機規范並不要求在局部變數中的64位的值是64位對齊的。虛擬機提供了把局部變數中的值裝載到操作數棧的指令,也提供了把操作數棧中的值寫入局部變數的指令。
(2)運行環境區 在運行環境中包含的信息用於動態鏈接,正常的方法返回以及異常傳播。
·動態鏈接
運行環境包括對指向當前類和當前方法的解釋器符號表的指針,用於支持方法代碼的動態鏈接。方法的class文件代碼在引用要調用的方法和要訪問的變數時使用符號。動態鏈接把符號形式的方法調用翻譯成實際方法調用,裝載必要的類以解釋還沒有定義的符號,並把變數訪問翻譯成與這些變數運行時的存儲結構相應的偏移地址。動態鏈接方法和變數使得方法中使用的其它類的變化不會影響到本程序的代碼。
·正常的方法返回
如果當前方法正常地結束了,在執行了一條具有正確類型的返回指令時,調用的方法會得到一個返回值。執行環境在%
③ 虛擬主機,什麼是java虛擬主機
JVM是Java Virtual Machine(Java虛擬機)的縮寫,JVM是一種用於計算設備的規范,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。
Java語言的一個非常重要的特點就是與平台的無關性。而使用Java虛擬機是實現這一特點的關鍵。一般的高級語言如果要在不同的平台上運行,至少需要編譯成不同的目標代碼。而引入Java語言虛擬機後,Java語言在不同平台上運行時不需要重新編譯。Java語言使用Java虛擬機屏蔽了與具體平台相關的信息,使得Java語言編譯程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。Java虛擬機在執行位元組碼時,把位元組碼解釋成具體平台上的機器指令執行。這就是Java的能夠「一次編譯,到處運行」的原因。
④ "Java虛擬主機怎樣使用 "
雙擊,如果是.class文件那你在命令提示符里輸入cd javac 後面是虛擬主機的名字,然後回車鍵,就會出現注冊號。要不你吧郵箱給我,我給你傳過去一個雙擊就能打開的,很方便。
⑤ 什麼是Java虛擬主機
說的是jvm吧?一個軟體,模擬了一台虛擬機器,java程序跑在這個虛擬機上面
⑥ 如何選擇Java虛擬主機
但選擇虛擬主機是一件讓人頭痛的事情,在這里分享一下我購買虛擬主機的一些經驗,希望可以讓計劃購買java虛擬主機的朋友少走一些彎路。 在購買虛擬主機之前其實我心中有三個方案: 第一個方案:購買伺服器或者租用伺服器 第二個方案:普通PC+花生殼 第三個方案:購買虛擬主機 毫無疑問,第一個方案對於個人建站來說,成本較高,可以待網站有一定的流量和知名度,或者有一定的收入後再作考慮;如果已有PC,則第二方案是一個不錯的既可以節約成本又可以解決問題的方案,但由於本人只有一台手提,平常工作要用,如果只是為了部署這一個網站而花幾K去買PC,感覺成本也高了,所以放棄了;最後決定採用第三個方案,也就是購買虛擬主機。但問題隨之而來,到底要怎麼選擇虛擬主機呢?哪一個虛擬主機供應商有優勢呢?是否支持網站用到的框架和技術的呢?性能又如何呢?售後服務呢?本人在選擇虛擬主機的標準是下面的幾點: 第一:完全兼容支持我網站用到的框架和技術。這一點很重要,因為之前曾有朋友購買過jsp虛擬主機,結果把網站上傳後根本不起作用,原來網站用到的一些技術虛擬主機不支持。 第二:可以免費試用一段時間。需要確保網站上傳後能正常訪問,也就是說需要驗證一下第一點。 第三:性價比高。就是滿足基本要求後,價格不能高。 第四:管理功能齊全,操作友好方便。包括tomcat可單獨管理、資料庫可單獨管理,其他如壓縮/解壓等。 第五:穩定。不要三五天就出現訪問不了,或者數據丟失,又或者文件丟失等現象。 第六:售後服務好。這一點也是非常重要的,售後服務質量可以反映一間公司的生命力,可以決定其能走多遠。 本人的選擇過程如下: 首先,通過搜索引擎搜索虛擬主機供應商進行對比,以便篩選。選好供應商後找一些虛擬主機評測網瀏覽一下選中的虛擬主機的評價,雖然評價不一定是真的,但在你毫不知情的情況下還是有一定的作用的,至於該信多少,則需要運用你自己的智慧去分析和判斷。 然後對比一下各項指標,例如操作系統、web空間大小、月流量大小、可綁定域名數量、是否能自助重啟tomcat等,當然還有價格。另外還有一點很重要的就是要查看服務提供商經營了多長時間了,年份越多則說明實力越強,技術越成熟,經得起考驗。 接著下來是看其是否提供免費試用,因為提供免費試用可以驗證其是否支持開發網站時用的框架和技術,如果買下了卻不支持開發的網站,那所有的付出就是竹籃打水一場空,還令到自己十分不開心,賠了夫人又折兵。 經過一番的捉對廝殺後,本人最後選擇了西部數碼,因為在提供免費試用的虛擬主機服務商中,它是最優的。選定目標後,本人開始發起進攻,當然是馬上開始試用。因為它只有七天的試用期,結果我試用一次後,又進行了第二次和第三次的試用,本人是按我設定的標准進行試用的,而且特別留意的是它的服務。經過幾次的試用,我覺它的除了滿足我想要的功能外,服務特別好,讓我覺得很貼心,除提供在線服務,還有免費咨詢電話。有一次我程序上傳後出問題了,查詢不到數據,我以為我資料庫的數據被莫名其妙刪除了,於是有點煩躁,和售後服務人員說話時語氣有點重,但他們還是十分耐心地幫我查因,結果後來我查了一下表,原來數據在,我承認了錯誤,他們也很有禮貌說沒關系。於是我終於下定決心付款購買了虛擬主機。
⑦ 什麼是java虛擬主機
所謂虛擬主機,也叫「網站空間」就是把一台運行在互聯網上的伺服器劃分成多個「虛擬」的伺服器,每一個虛擬主機都具有獨立的域名和完整的Internet伺服器(支持WWW、FTP、E-mail等)功能。一台伺服器上的不同虛擬主機是各自獨立的,並由用戶自行管理。但一台伺服器主機只能夠支持一定數量的虛擬主機,當超過這個數量時,用戶將會感到性能急劇下降。
JAVA虛擬主機是虛擬主機的一種,是用於建立Web網站的一種服務形式,支持常用的JAVA技術,JAVA虛擬主機是運行JAVA程序的一個環境。JAVA虛擬主機是JAVA Hosting,JAVA虛擬機是JVM。
⑧ 虛擬主機能不能運行java程序
傳統的主機應該是不支持的,jsp要求的運行環境比較高,想要支持的話最好可以自己配置,穩網的vps有你想用的jsp的程序的環境配置的