亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

計(jì)算機(jī)等級(jí) 百分網(wǎng)手機(jī)站

Java編程開(kāi)發(fā)簡(jiǎn)介

時(shí)間:2017-06-12 12:07:52 計(jì)算機(jī)等級(jí) 我要投稿

Java編程開(kāi)發(fā)簡(jiǎn)介

  Java由規(guī)范確定,包含編程語(yǔ)言、編譯器、核心庫(kù)和JVM (運(yùn)行時(shí)Java virtual machine)。下面是小編整理的關(guān)于Java編程開(kāi)發(fā)簡(jiǎn)介,希望大家認(rèn)真閱讀!

  Java簡(jiǎn)介

  歷史

  Java 編程語(yǔ)言由Sun微電子公司的James Gosling于1991年創(chuàng)建。1995年發(fā)布第一個(gè)版本(Java 1.0)。2010年 Sun 微電子公司被 Oracle 公司收購(gòu),現(xiàn)在 Java 語(yǔ)言由 Oracle公司控制和管理。2006年Sun宣布Java遵循GNU General Public License (GPL), Oracle繼續(xù)該項(xiàng)目,即OpenJDK。隨著時(shí)間的推移,新的增強(qiáng)版本的 Java 已經(jīng)發(fā)布,最新的版本是 Java 1.8 即 Java 8。

  Java由規(guī)范確定,包含編程語(yǔ)言、編譯器、核心庫(kù)和JVM (運(yùn)行時(shí)Java virtual machine)。Java運(yùn)行時(shí)允許軟件開(kāi)發(fā)者用其他語(yǔ)言編碼,仍然運(yùn)行在Java虛擬機(jī)上。 Java平臺(tái)通常與Java虛擬機(jī)和Java核心庫(kù)相關(guān)聯(lián)。

  Java 虛擬機(jī)

  Java 虛擬機(jī)(JVM)可以理解為是由軟件實(shí)現(xiàn)的虛擬計(jì)算機(jī),可以像物理計(jì)算機(jī)一樣執(zhí)行程序代碼。Java 虛擬機(jī)在不同操作系統(tǒng)下有特定的版本,比如:針對(duì) Linux 操作系統(tǒng)的版本與針對(duì) Windows 操作系統(tǒng)的版本是不一樣的。

  Java程序由 Java 編譯器編譯成字節(jié)碼(bytecode),編譯后的字節(jié)碼由 Java 虛擬機(jī)解釋執(zhí)行。

  JRE 和 JDK

  Java 的發(fā)布版本有兩種,Java Runtime Environment(JRE)以及 Java Development Kit(JDK)。

  Java Runtime Environment(JRE)包含運(yùn)行 Java 程序需要的必要組件:Java 虛擬機(jī)以及 Java 類(lèi)庫(kù)。

  Java Development Kit(JDK)包含用來(lái)創(chuàng)建 Java 應(yīng)用程序的必要工具,比如,Java 編譯器、Java 虛擬機(jī)以及 Java 類(lèi)庫(kù)。

  Java 語(yǔ)言的特點(diǎn)

  Java 語(yǔ)言的設(shè)計(jì)目標(biāo)是:一次編寫(xiě)到處運(yùn)行。

  Java 語(yǔ)言有以下特點(diǎn):

  平 臺(tái)無(wú)關(guān)性:Java 使用 Java 虛擬機(jī)運(yùn)行 Java 程序,Java 虛擬機(jī)相當(dāng)于應(yīng)用程序和操作系統(tǒng)間的抽象層,應(yīng)用程序不會(huì)直接訪問(wèn)操作系統(tǒng)。這使得 Java 應(yīng)用程序具備高度的可移植性。一個(gè)兼容標(biāo)準(zhǔn)和遵循規(guī)則的 Java 應(yīng)用程序可以無(wú)需修改的在所有已支持的平臺(tái)上工作,例如: Windows 和 Linux。

  面向?qū)ο蟮木幊陶Z(yǔ)言:除了原生數(shù)據(jù)類(lèi)型,Java 語(yǔ)言中一切皆對(duì)象。

  強(qiáng)類(lèi)型編程語(yǔ)言:Java 語(yǔ)言是強(qiáng)類(lèi)型編程語(yǔ)言。比如:變量類(lèi)型需要預(yù)先定義,嚴(yán)格的類(lèi)型轉(zhuǎn)換檢查(大多數(shù)情況下有程序猿完成)。

  解 釋性和編譯型語(yǔ)言: Java 源代碼被編譯成字節(jié)碼(bytecode)這樣使得 Java 語(yǔ)言具備平臺(tái)性。這些字節(jié)碼(bytecode)指令由 Java虛擬機(jī)(JVM)解釋執(zhí)行。JVM 使用 Hotspot 編譯技術(shù)會(huì)將性能相關(guān)的字節(jié)碼指令轉(zhuǎn)換為對(duì)用操作系統(tǒng)的二進(jìn)制代碼執(zhí)行。

  自動(dòng)內(nèi)存管理: Java 。管理新創(chuàng)建對(duì)象的內(nèi)存分配和回收工作應(yīng)用程序代碼不直接訪問(wèn)內(nèi)存。由稱(chēng)之為垃圾回收(garbage collector)的機(jī)制自動(dòng)刪除沒(méi)有無(wú)引用的對(duì)象。

  Java 語(yǔ)言的語(yǔ)法與 C++ 語(yǔ)言的語(yǔ)法非常接近,Java 語(yǔ)言是大小寫(xiě)敏感的,比如: myValue 變量與 myvalue 變量是兩個(gè)不同的變量。

  Java語(yǔ)言的開(kāi)發(fā)過(guò)程

  Java 源代碼文件是一個(gè)純文本文檔,Java 程序員通常在 Integrated Development Evvironment(IDE)中編寫(xiě) Java 程序。IDE是幫助程序員完成編碼工作的工具,它具備自動(dòng)格式化代碼、語(yǔ)法高亮等功能。

  Java 程序員(或 IDE)調(diào)用 Java 編譯工具(javac)編譯源代碼,Java 編譯工具會(huì)將源代碼編譯成字節(jié)碼(bytecode)指令。這些指令保存在 .class 文件中由 Java 虛擬機(jī)(JVM)來(lái)運(yùn)行。

  垃圾回收(Garbage collector)

  JVM 自動(dòng)回收沒(méi)有被引用的內(nèi)存空間,它會(huì)檢查所有對(duì)象的'引用并查找那些對(duì)象可以被自動(dòng)回收。垃圾回收機(jī)制使程序員無(wú)需手工管理內(nèi)存,但是程序員還是需要保證程 序中沒(méi)有不需要的對(duì)象引用,否則垃圾回收機(jī)制就無(wú)法自動(dòng)釋放對(duì)象內(nèi)存。我們通常把不需要的對(duì)象引用通常被稱(chēng)為“內(nèi)存泄漏”。

  Classpath

  Java 編譯器以及 Java 運(yùn)行時(shí)通過(guò)類(lèi)路徑(classpath)來(lái)查找和裝載 .class文件。比如,如果你打算在應(yīng)用程序中使用第三方 Java 類(lèi)庫(kù)那么你需要把類(lèi)庫(kù)的路徑添加到你的類(lèi)路徑中,否則你的應(yīng)用程序無(wú)法編譯或者運(yùn)行。

  安裝 Java

  檢查安裝

  你的計(jì)算機(jī)可能已經(jīng)安裝了 Java,你可以在控制臺(tái)中使用下面命令來(lái)測(cè)試 Java 是否已安裝(如果你使用 Windows 操作系統(tǒng),可以按下 Win+R,輸入 cmd 后回車(chē)即可打開(kāi)控制臺(tái)):

  java -version

  如果你的計(jì)算機(jī)已經(jīng)安裝了 Java,你應(yīng)該會(huì)看到輸出已安裝的 Java 版本信息。如果命令行返回應(yīng)用程序沒(méi)有找到,那么你就需要安裝 Java 了。

  安裝 Java

  在 Ubuntu 操作系統(tǒng)中,你可以使用下面的命令安裝 Java:

  sudo apt-get install openjdk-7-jdk

  對(duì)于 Microsoft Windows 操作系統(tǒng),可以到 Oracle 網(wǎng)站 下載對(duì)應(yīng)的安裝包,網(wǎng)站也有相應(yīng)的文檔來(lái)指導(dǎo)你如何在其他操作系統(tǒng)上安裝 Java。

  如 果在安裝過(guò)程中出現(xiàn)了問(wèn)題,可以使用“how to install JDK on your_os"關(guān)鍵詞在谷歌搜索(對(duì)于國(guó)內(nèi)用戶(hù)則使用”如何在your_os安裝JDK“關(guān)鍵詞在百度搜索)記住把 "your_os" 替換為你的操作系統(tǒng)名稱(chēng)哦,比如:Windows、Ubuntu、Mac OS X 等等。

  2.3 驗(yàn)證安裝

  回到剛才的命令行(不知道那個(gè)?參考2.3節(jié))執(zhí)行下面的命令:

  java -version

  你會(huì)得到下面的輸出內(nèi)容:

  java version "1.7.0_25"

  OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)

  OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

  2.4 如何查看當(dāng)前使用的是32位或64位版本的 Java

  在64位操作系統(tǒng)上你可以使用32位或64位版本的Java,如果 java -version 命令的輸出中包含 64-bit 這樣的字符串說(shuō)明你正在使用的 Java 版本是64位的,否則你正在使用的 Java 版本是32位的。下面的是64位版本的輸出:

  java version "1.7.0_25"

  OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.13.04.2)

  OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

  編寫(xiě)源代碼

  下面的 Java 代碼是在 Linux 操作系統(tǒng)命令行上使用文本編輯器(vim、emacs等)編寫(xiě)的。其他操作系統(tǒng)上也類(lèi)似,這里就不再做介紹了。

  首先需要新建一個(gè)目錄來(lái)保存源代碼,這里我們使用目錄 homevogellajavastarter 。如果你使用 Windows 目錄可能是 c: empjavastarter ,后面我們會(huì)使用 "javadir" 來(lái)代表這個(gè)路徑。

  打開(kāi)一個(gè)文本編輯器,不如:Linux操作系統(tǒng)下的 gedit、vim、emacs等,Windows下的 Notepad等,然后輸入以下代碼:

  HelloWorld.java:

  // a small Java program

  public class HelloWorld {

  public static void main(String[] args) {

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

  }

  }

  注意:不要使用富文本編輯器,如:Microsoft Word 或者 LibreOffice 來(lái)編寫(xiě)源代碼。

  將源代碼保存到 “javadir” 目錄下的 HelloWorld.java 文件中。Java 源文件名稱(chēng)始終要與源代碼中得類(lèi)名一致,并且以 .java 作為后綴。這個(gè)例子中源文件名為 HelloWorld.java 因?yàn)槲覀兌x的類(lèi)名是 HelloWorld 。

  編譯、運(yùn)行

  打開(kāi)一個(gè)Shell(Linux以及Unix-like)或者命令行(Windows),使用 cd javadir 進(jìn)入 "javadir" 目錄,在我們的例子中命令是 cd homevogellajavastarter 。使用 ls (Window中是 dir )來(lái)驗(yàn)證源文件是否存在。

  使用下面命令編譯源文件:

  javac HelloWorld.java

  命令完成后,重新使用 ls (或者 dir )命令查看目錄內(nèi)容,可以看到目錄中多出一個(gè) HelloWorld.class 文件,說(shuō)明你已經(jīng)成功的將源代碼編譯成字節(jié)碼了。

  提示:默認(rèn)情況下 編譯器 會(huì)將每個(gè)類(lèi)文件放在和源文件下共同的目錄中。你可以在編譯時(shí)使用 -d 參數(shù)來(lái)指定不同的目錄。

  現(xiàn)在可以運(yùn)行你的第一個(gè) Java 應(yīng)用程序了。確保你還在 "javadir" 目錄,然后執(zhí)行下面命令來(lái)運(yùn)行程序:

  java HelloWorld

  程序會(huì)在終端輸出 "Hello World" 字符串,參考下圖

  使用類(lèi)路徑(classpath)

  你可以通過(guò)指定類(lèi)路徑從其他位置運(yùn)行應(yīng)用程序。還是打開(kāi)Shell或者控制臺(tái),然后隨便進(jìn)入一個(gè)目錄,輸入以下命令:

  java HelloWorld

  如果你當(dāng)前不在編譯后類(lèi)文件所在的目錄,那么 Java 虛擬機(jī) 會(huì)提示錯(cuò)誤:"Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld"。

  要正確運(yùn)行程序,輸入下面的命令(將mydirectory替換為你的” java dir"):

  java -classpath "mydirectory" HelloWorld

  這樣你又可以看到 "HelloWorld" 字符串輸出了。

  Java 語(yǔ)言結(jié)構(gòu)

  基礎(chǔ):包(Package)、類(lèi)(Class)和對(duì)象(Object)

  了解 Java 的包(Package)、類(lèi)(Class)和對(duì)象(Object)這些基礎(chǔ)術(shù)語(yǔ)是非常重要的,這部分內(nèi)容將概要的介紹這些術(shù)語(yǔ)。

  包(Package)

  Java 使用包來(lái)組織類(lèi),通常按照業(yè)務(wù)邏輯將類(lèi)分組到不同的包中。比如:應(yīng)用程序的所有圖形界面可能被分組到 com.vogella.webapplication.views 包中。

  通常的做法是使用公司域名的倒序作為頂層包,比如:公司的域名是 "4byte.cn" 那么這個(gè)公司 Java 應(yīng)用的頂層包名可能是 cn.4byte 。

  包的另一個(gè)重要用途是避免類(lèi)命名沖突,類(lèi)命名沖突是指兩個(gè)開(kāi)發(fā)人員為他們編寫(xiě)的類(lèi)使用了同樣的全限定名。Java 中類(lèi)的全限定名是 報(bào)名+‘.'+類(lèi)名,比如: cn.4byte.HelloWorld 。

  如果沒(méi)有包,當(dāng)兩個(gè)程序猿同時(shí)給他編寫(xiě)的類(lèi)起名為 Test 時(shí)就會(huì)產(chǎn)生命名沖突(而且操作系統(tǒng)也無(wú)法創(chuàng)建文件)。結(jié)合 Java 包機(jī)制,我們可以明確的告訴 虛擬機(jī) 我們將使用哪個(gè) Test 類(lèi),比如:第一個(gè)程序員將 Test 類(lèi)放到 report 包中,另一個(gè) 程序員 將他寫(xiě)得 Test 類(lèi)放到 xmlreader 包中,那么他們就可以通過(guò)全限定名來(lái)明確區(qū)分兩個(gè)類(lèi) 以及 。

  類(lèi)(class)

  定義:類(lèi)是一個(gè)模板,用來(lái)定義對(duì)象的數(shù)據(jù)以及行為,可以理解類(lèi)為對(duì)象的藍(lán)圖。

  在 Java 中使用 class 關(guān)鍵字來(lái)定義類(lèi),類(lèi)名的第一個(gè)字母必須大寫(xiě)。類(lèi)體需要在'{..}'中定義。如:

  MyClass.java:

  package test;

  class MyClass {

  }

  類(lèi)的數(shù)據(jù)保存在屬性中,類(lèi)行為由方法實(shí)現(xiàn)。Java 源文件需要以 "類(lèi)名“ + ". java " 的形式保存。