天天看點

corejava輔導(1--1)

一、Java簡介

Java語言是編譯後再解釋執行,Java源碼是通過編譯生成一種特殊的.class的中間位元組碼檔案,然後再有JVM進行解釋執行,JVM(Java虛拟機)是運作在作業系統中,用來屏蔽的系統間的差異。Java虛拟機處理編譯後的位元組碼,并根據不同的系統來申請相應的資源,這樣就可以保證程式的運作正常,在Java虛拟機的基礎之上,由解釋器來解釋執行位元組碼檔案。

.class

運作時解釋器                        J RE

                                                            jdk

平台無關

平台相關JVM

OS                         類庫工具

Java虛拟機+解釋器=JRE(Java RunTime Environment)Java運作環境

JRE+Java系統類庫=JDK(Java Deveple Kit)JAVA開發工具包

Java簡單特性:

① JVM本身是不能垮平台的。

② java語言對指針進行了上層的封裝,它保證能夠通過這個指針(引用),來通路有效的記憶體單元。

③ java語言不允許多繼承,使繼承關系成樹狀圖,每個類都隻能由一個父類。

④ java語言的開發效率高,但執行效率低。(相當于c++的55%)

⑤ java的垃圾回收機制,在java中new的對象不需要向c++一樣進行delete操作,JVM會根據情況回收垃圾對象(懶漢機制,等待資源沒有的時候才回收)。我們隻能夠建議JVM進行垃圾回收,例如(System.gc() RunTime.gc()這兩個方法就是建議JVM進行垃圾回收的方法)。

JDK —— java開發工具包(類庫和運作指令)

JRE —— java運作環境

JVM —— java虛拟機(解釋執行的核心,對位元組碼進行翻譯成運作環境的機器碼,它可以屏蔽平台差異。但JVM是不跨平台的。)

二、使用Java是需要進行配置的環境變量

JAVA_HOME,  指明JDK安裝的位置;

CLASSPATH, 指明類檔案的位置;

PATH, 指明指令的可執行檔案的位置。

例:

Unix/Linux中JAVA環境變量的配置

在(.profile(Unix) /.bash_profile(Linux) /.bashrc(Linnx))這些檔案中作以下配置

JAVA_HOME=xxx/xxxx (指定JDK的安裝目錄)

CLASSPATH=. (指定類檔案的所在位置,類路徑)

PATH=…:$JAVA_HOME/bin:. (指明JAVA需要使用的指令的位置)

Java的一些特點:

① Java是一種純面向對象的語言,在Java中所有的方法必須寫在class(類)中,包括main方法。Java源檔案都是以“.java”為字尾的。

② java源檔案的檔案名必須和Java源檔案中定義的public class(公開類)的類名相同。在Java源檔案中隻能寫一個public class(公開類),一個Java源檔案中可以寫多個class(類),也可以在一個類中寫另一個類,這是内部類的寫法,在以後的課程中會講到,一般我們在源檔案中的類是并列的,也就是:

public class Test1{} class Test2{} 
           

③ Java中的(package)包,是一種特殊的目錄結構,他會要求編譯好的檔案在指定的目錄結構中,要使用包時需要使用package關鍵字。

注意:package關鍵字必須出現在代碼的第一行,下面的代碼中寫了包,編譯之後的.class檔案需要在/test/java下,并且包在一個Java源檔案中隻能定義一個

例:第一個Java程式

package test.java; //java中的一種用以區分同名類的設定——包

public class HelloWorld{

public static void main(String[] args){ //主方法,JVM主線程

System.out.println("Hello world");

}

}

相應的在寫完源代碼儲存的檔案名必須和原碼中寫的 public class後寫的類名一緻,也就是HelloWorld.java

java源代碼中的main方法的定義寫法。

方法是程式的入口。

public static void main(String[] args){

         System.out.println("Hello world");

     }
           

java源檔案也要先編譯,使用javac xxx.java格式的指令得來編譯,要運作一個java程式時,需要使用java指令,java 類名,運作編譯後的位元組碼(.class)檔案。

定義包結構要放在有效代碼的第一行,package xxx.xxx,包的定義在一個程式中隻能由一個,在加上包定義之後編譯可以使用javac -d 路徑 xxxx.java,這個-d這個指令行的參數可以指定包結構的位置“.”代表目前目錄。在運作時要使用類的全限定名。

java xxx.xxx.xxxx用包名以點分隔。運作時要在包結構的上一層目錄來運作。

package xxx.xxx; 定義包名

public class Xxx{}

xxx.xxx.Xxx,包名加類名,就是類的全限定名

例:

我們以上面的第一個java檔案為例,那個檔案中定義的類的全限定名就是test.java.HelloWorld