java運
❶ java是如何運行的
然後使用java虛擬機(JVM)來運行這個中間代碼,就可以得到想要的結果。運行JVM使用的命令是java <your_class>。 在JVM中有JIT(just-in-time) compiler, 是JIT把byte code轉換成native machine code。 The JIT compiler translates the Java bytecode into native processor instructions at run-time and caches the native code in memory ring execution.[3] Java雖然是platform independent,但是JVM卻不是。對於不同的操作系統和不同的CPU架構,有不同的JVM與之對應。JVM就是這樣屏蔽底層硬體差異,使得Java program可以在任何平台上無差別的運行。[3] 2、Java依賴於JVM來運行它的程序。同時Java也依賴於Java Platform。Java Platform是由很多類(classes)構成的,這些類又被組織成為packages,每個package完成一項比較龐大的功能,比如networking, graphics, input/output, user-interface creation, 以及security。[1] 3、由於Java是在JVM上運行的,這並不是一個真實的硬體環境(寄存器啦、內存啦、指令操作啦等等),而僅僅是一個在內存中存在的虛擬的環境。所以,JVM這個軟體如果編的不好,就會使得代碼運行出錯。不同機器上的JVM如果有差異,代碼運行時也有可能會出現不同。[1] 4、JRE中包含JVM。JDK又包含JRE。JRE和操作系統進行交互。操作系統會提供各種system calls,通過這些system calls,就可以對硬體進行操作(讓硬體來執行指令).[2] 5、Java的語法結構借鑒的是C和C++的。Java的面向對象的特性借鑒的是Smalltalk和Object-C的。
❷ java中的運算
表達式:1-2/5+12 %5的結果是:3
首先計算的是2/5,這個意思是2除以5,取整數部分,這個值是0,然後計算12%5,這個意思是12除以5,取余數部分,這個值是2,最後再計算1-0+2,所以表達式的值是3
❸ java如何運行
public class B{
public static void main(String args[]){
for(String s:args){
System.out.println(s);
}
A x=new A(5);
System.out.println("改變前:x.a="+x.a );
f(x);
System.out.println("改變後:x.a="+x.a );
}
static void f(A y){
y.a=100;
}
}
class A{
int a;
A(int a){
this.a=a;
}
void g(){
a=a+10;
}
}
對於上面的程序,首先在命令提示符中進入源代碼所在的文件夾,然後輸入javac B.java,再輸入java B hello world,那麼程序會顯示:
hello
world
改變前:x.a=5
改變後:x.a=100
需要注意的是,java 後面跟的是已經編譯好的位元組碼文件的名字,即類名;若要輸入參數,則輸入的是main()函數的參數。類裡面的方法的參數是不能通過外界輸入的,而是通過設計程序來輸入的
❹ java運行
我把你的程序考下來,運行了一次沒有錯誤.
很有可能是你的環境變數設得有問題.
import java.io.*;
class SuperClass
{
int x;
SuperClass( )
{
x=3;
System.out.println(\"in SuperClass : x=\" +x);
}
void doSomething( )
{
System.out.println(\"in SuperClass.doSomething()\");
}
}
class SubClass extends SuperClass
{
int x;
SubClass( )
{
super( ); //調用父類的構造方法
x=5; //super( ) 要放在方法中的第一句
System.out.println(\"in SubClass :x=\"+x);
}
void doSomething( )
{
super.doSomething( ); //調用父類的方法
System.out.println(\"in SubClass.doSomething()\");
System.out.println(\"super.x=\"+super.x+\" sub.x=\"+x);
}
}
public class Inheritance
{
public static void main(String args[])
{
SubClass subC=new SubClass();
subC.doSomething();
}
}
運行方法:javac Inheritance.java
java Inheritance
❺ Java程序怎麼運行
安裝jdk,配置環境變數後編譯運行。
1,下載jdk,進oracle官網下載jdk安裝包,運行安裝。
2,配置環境變數:在系統變數里點擊新建,變數名填寫JAVA_HOME,變數值填寫JDK的安裝路徑,在這里就填寫「C:\Program Files\Java\jdk1.8」了;在系統變數里點擊新建變數名填寫CLASSPATH,變數值寫「.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar」。注意不要忘記前面的點和中間的分號;在系統變數里找到Path變數,這是系統自帶的,不用新建。雙擊Path,由於原來的變數值已經存在,故應在已有的變數後加上「;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin」。注意前面的分號。
打開cmd輸入java和javac測試是否成功。
3,編寫java代碼:
public class Test{
public static void main(String[] args) {
System.out.println("hello");
}
}
另存為Test.java。存放在D盤根目錄。
3,編譯,打開cmd,輸入命令:
D:
切換目錄到D盤目錄,編譯java,輸入javac Test.java,編譯完成後生成Test.class文件。
4,運行,cmd輸入命令:java Test。可以看到運行結果:hello。
❻ 怎麼運行java程序
比如說保存為"D:\java\test.java",然後轉換目錄到那裡"cd
D:\java",編譯這個.java文件"javac
test.java"這個javac的命令一定要記住,這是jdk裡面最為常用的之一,是個java的編譯器,具體參數你自己研究吧,很多,配合使用會得到意想不到的結果。這時候應該在"D:\java\"目錄下面生成了一個test.class文件,這個就是一個二進制文件,就像windows下面常見的exe文件一樣,只不過這個二進制文件是java虛擬機的(具體java的運行機制書上都會講,自己研究吧)。這樣就可以運行了,"java
test",java是jdk的另一個最為常用的命令,啟動java虛擬機,後面的參數書你的程序編譯出來的.class文件,但是千萬別再後面加上".class",java命令也還是有很多的參數,還是自己看吧
❼ JAVA可運用於哪些方面 強的後台 測試,運維會用到
其實現實生活中有很多地方應用到了Java,從電子商務網站到Android應用,從科學應用到金融應用比如電子交易系統,從游戲(Minecraft)到桌面應用好比Eclipse,NetBeans以及IntelliJ,從開源的文檔到J2ME應用。下面來詳細的介紹這些。
1、安卓應用
如果你想弄清楚Java用在什麼地方,你離這個目標不是太遠。打開你的安卓手機和任何一款App,它們是使用Java語言,基於GoogleAPI(和JDK類似)開發的。數年的安卓支持已經有了很大的提高,並且很多Java程序員已經成為了安卓App開發者。安卓使用不同的Java虛擬機、不同的包,但是代碼仍是用Java寫的。
2、金融業伺服器的應用
在金融服務中Java有很重要的作用。很多銀行像建行、中行等很多銀行使用Java來開發前台和後台電子交易系統,提供解決方案和確認系統以及數據處理項目等等。
Java大多數用在開發伺服器端的應用,幾乎不用來開發前端,前端是從一個伺服器接收數據,然後處理它並把它發送給其他進程。
3、Java Web應用
Java在電子商務和Web應用領域也是有很多的應用。現在有很多使用Spring MVC、Structs2.0和類似框架開發的RESTful風格的服務。甚至建一個簡單的依賴Servlet、JSP和Structs開發的Web應用在各種各樣的政府項目中很受歡迎。政府的很多部門如衛生局、保險部門、國防部等部門都有他們使用Java開發的Web應用。
4、軟體工具
很多有用的軟體和開發工具是用Java開發的,例如Eclipse、interllij、Netbeans IDE。我認為大多數使用的桌面應用也是用Java開發的。所以有一段時間,Swing在開發客戶端方面非常流行,尤其是在金融行業和投資銀行。現在,Java FX正在逐漸受到歡迎,但是仍不能成為Swing的替代品,而C#在金融領域內已經幾乎代替了Swing。
5、交易應用
第三方用用交易應用,作為更大的金融服務業的一部分也是用Java開發。
流行的交易應用像Murex也是用Java開發的,很多銀行都使用它們來連接前後端。
6、J2ME應用
雖然iOS和Android的出現幾乎抹殺了J2ME的三星手機方面還是有很大的市場,但是在低端Nokia和使用J2ME的三星手機方面還是有很大的市場。有一段時間,安卓上可用的游戲、軟體幾乎全部是用MIDP、CLDC,他們是J2ME平台的一部分。J2ME在一些產品如藍光光碟、機頂盒等等。
WhatsApp很瘦歡迎的一個原因是因為對所有Nokia手機的J2ME平台來說是可用的。
7、嵌入式領域
在嵌入式領域,Java也是有很大應用的。他展示了平台是多麼的強大,你僅需130kb就能使用Java技術(在智能卡或者感測器上)。起初,Java是為嵌入式設備而設計的。實際上,這是Java最初「一次編寫,到處運行」初衷的一個部分,現在看來獲得了成功。
8、大數據技術
Hadoop和其他大數據技術以這樣的或那樣的方式使用者Java,例如Apache依賴Java的HBse和Accumulo(開源)以及ElasticSearch。但是Java在該領域並不佔統治地位,因為有其他技術如MongoDB是用C++開發的。
如果Hadoop或者ElasticSearch發展壯大的話,Java在這個發展的領域有可能獲得主要的佔有率。
9、高頻率的交易領域
Java平台在現在JIT技術的幫助下,他的性能特性已經有了很大的提升,傳送性能已經到了C++水平。由於這個原因,Java在開發高性能系統方面還是很受歡迎的,性能與機器語言相比稍差一些,但是你可以安全的折中--輕便。可維護帶來更快的速度。對一個缺乏經驗的C++程序員來說,只能使應用變得更慢和不可靠。
10、科學應用
現在,對於科學應用來說Java經常作為一個默認的選擇,包括自然語言處理。這種現象的主要原因是Java更安全、輕便、已維護,並且與C++和其他語言相比有更好的高級並發工具。
❽ java 的運行機制是什麼
簡單來說Java程序的運行機制
編寫、編譯、運行三個步驟。
運行機制 主要是指
編譯、運行的過程
1、編譯
Java編譯器對源文件進行錯誤排查的過程,編譯後將生成後綴名為.class的位元組碼文件。好讓JVM(java虛擬機)里的解釋器可以正常讀取。
2、運行
三步代碼的裝入、代碼的校驗和代碼的執行
2.1 、代碼的裝入
JVM控制解釋器中的「類裝載器」去讀取和裝載程序所需的類(class的位元組碼)。然後解釋器開始建立類與類之間的關系。
2.2、代碼的校驗
位元組碼校驗器進行檢查:校驗器可發現操作數棧溢出,非法數據類型轉化等多種錯誤。
2.3、代碼的執行
執行也分兩種情況
即時編譯方式:解釋器先將位元組碼編譯成機器碼,然後再執行該機器碼。
解釋執行方式:解釋器通過每次解釋並執行一小段代碼來完成Java位元組碼程 序的所有操作。
通常採用的是第二種方法。由於JVM規格描述具有足夠的靈活性,這使得將位元組碼翻譯為機器代碼的工作
❾ java的運行環境是什麼
Java的平台由兩個部分組成:一個是Java Virtual Machine即Java虛擬機,另一部分是Java Application Programming Interface (Java API) 即Java應用程序設計介面,這兩部份軟體就構成了Java運行的基本的環境。Java API 是一個大的已經做好的軟體集合,這個集合里有許多開發時所需要的控制項,用來輔助開發。Java API和JVM整合在一起處於機器硬體之上。也就是說,Java平台把一個Java應用程序從硬體系統分離開從而很好的保證了程序的獨立性。為了更好的適應開發的需要,Java的設計者們為我們提供了三種Java平台:Java 2 Micro Edition (J2ME ), Java 2 Standard Edition (J2SE)和 Java 2 Enterprise Edition (J2EE). 每一個版本都提供了豐富的開發工具箱以適應不同的開發需要。
讓我們來具體看看Java平台的核心JVM的具體結構。
為了讓編譯產生的位元組碼可以更好的解釋與執行,一共把JVM分成了主要的6塊:JVM解釋器,指令系統,寄存器,棧,存儲區,碎片回收區。
JVM解釋器就是這個虛擬機的處理欄位碼的CPU。
JVM指令系統同硬體計算機很相似。一條指令分成操作碼和操作數兩部分組成。操作碼為8位二進制數,操作數可以根據需要而定。操作碼是為了說明一條指令的功能,所以JVM可以有多達256種不同的操作指令。
JVM有自己的虛擬寄存器,這樣就可以快速的和JVM的解釋器進行數據交換。為了功能的需要,JVM設置了常用的4個32位寄存器:pc(程序計數器),optop(操作數棧頂指針),frame(當前執行環境指針),vars(指向當前執行環境中第一個局部變數的指針)。
JVM棧是指令執行的時候數據和信息存儲的場所和控制中心,它提供給JVM解釋器運算所需要的信息。
JVM存儲區就是為了把編譯過後的位元組碼等信息存儲起來。
JVM碎片回收是指將那些使用過後的Java類的具體的實例從內存進行回收,這就使得開發人員免去了自己編程控制內存的麻煩和危險。隨著JVM的不斷升級其碎片回收的技術和演算法也更加合理。比較經典的演算法有引用計數、復制、標記-清除和標記-整理。在JVM1.4.1版以後產生了一種叫分代收集技術,簡單的來說就是利用對象在程序中生存的時間劃分成代,以這個為標准進行碎片回收。關於碎片回收將在以後的文章中專門講解。
❿ 如何運行JAVA
第一步:下載並安裝JDK 6.0,安裝路勁為: C:\java\jdk1.6 .
第二步:對「我的電腦」按右鍵,選「屬性」,在「系統屬性」窗口中選「高級」標簽,再按「環境變數」按鈕,彈出一個「環境變數」的窗口,在系統變數中新建一個變數,變數名為「JAVA_HOME「,變數值為"C:\java\jdk1.6";如果存在"PATH"變數名,按編輯,在變數值最前面輸入"C:\java\jdk1.6\bin;".(注意以分號結尾,沒有引號.如果沒有"PATH",點擊新建一個"PATH"變數名,變數值一樣).
第三步:單擊Windows xp的「開始」->「運行」,在彈出的運行窗口中輸入cmd,按回車,打開一個命令行窗口,輸入javac,將會看見一系列javac常用參數選項. 恭喜你java環境安裝成功了.
第四步:開始編程(注意先雙擊打開"我的電腦",在"工具" ->"文件夾選項" -> 點擊"查看"選項 ->在"高級設置"中找到"隱藏已知文件類型的擴展名"前面的小勾去掉)。在C盤的根目錄中新建一個子目錄,名為"JavaTest」,以作為存放 Java源代碼的地方。在JavaTest文件夾中,新建文本文檔, 把「新建 文本文檔.txt」改為"HelloWorld.java"。用記事本打開"HelloWorld.java", 輸入:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
System.out.println("恭喜你成功運行了第一個java應用程序!");
}
}
注意源文件名必須與類名相同,且類修飾符為public,文件名後綴為".java".保存文件.
第五步:在命令行窗口中輸入 cd C:\JavaTest,將當前路徑轉入JavaTest目錄中。然後,輸入 javac HelloWorld.java,JDK就在JavaTest文件夾中編譯生成一個HelloWorld.class的類文件。
第六步:在命令行窗口中輸入 java HelloWorld,(注意沒有.class後綴)屏幕出現了
Hello world!
恭喜你成功運行了第一個java應用程序!
表示成功了,也就順利地編譯及運行了第一個Java應用程序。