搜尋
首頁Javajava教程Java概述+環境搭建
Java概述+環境搭建Jun 23, 2017 pm 04:27 PM
java概述環境

寫在前面的話:

  Java基礎的東西看過好幾遍,但是過一段都就忘記了,所以這次我決定花一些時間整理一個系列部落格供以後方便查閱。此系列根據Java程式設計想法+Java核心技術兩本書整理而來,這兩本書也是我極力推薦大家看的兩本,因為每次看都有不同的收穫,兩本橫向看相輔相成定會讓你受益匪淺,好了敬請期待吧!

第一節:Java簡介

#  Java是由Sun公司在1995年5月推出的一種物件導向的程式語言,極佳的實現了物件導向理論,更重視物件的本身不用太關注事件的過程。

  Java透過Java程式語言+Java類別格式檔案+Java虛擬機器+Java應用程式介面四部分組成,我們透過IDE定義不同的類別文件,透過呼叫類別的方法(Java API)來存取資源系統,把原始檔案編譯成.class的文件,透過Java虛擬機器執行該文件。

  Java白皮書:

  • 簡單:文法簡單易懂,剔除C++中難以理解的頭文件指標等,類別庫小,但隨著類別庫的增加和線程的支援大小增加面向對象:更關注對象的本身,而不需要太關注實現的過程。

  • 網路技能:Java的網路能力簡單且易於使用,用於處理像http或ftp之類的TCP/IP協議,允許透過URL開啟或存取網路上的物件。

  • 健壯性:Java的強型別機制、異常處理、垃圾的自動收集等是Java程式健壯性的重要保證。 Java採用指標模型可以消除重寫記憶體和損壞資料的可能性,Java不需要使用指標建構字串陣列等機構,但如果必要Java也具有指標能力如:鍊錶。

  • 安全性:Java沒有指針,所以程式設計師不能得到隱藏的內幕和偽造指針去指向記憶體。更重要的是,Java編譯程式不處理儲存安排決策,所以程式設計師不能透過查看聲明去猜測類別的實際儲存安排。編譯的Java程式碼中的儲存引用在執行時由Java解釋程式決定實際儲存位址。

  • 可移植性:Java使得語言宣告不依賴實作的面向。例如,Java明確說明每個基本資料類型的大小和它的運算行為(這些資料類型由Java語法描述)。 Java環境本身對新的硬體平台和作業系統是可移植的。 Java編譯程式也用Java寫,而Java運行系統用ANSIC語言寫。

  • 解釋性:Java程式在Java平台上被編譯為字節碼格式,然後可以在實作這個Java平台的任何系統中執行。在執行時,Java平台中的Java解釋器會對這些字節碼進行解釋執行,執行過程中所需的類別在聯接階段被載入到運行環境中。

  • 高效能:Java程式可以在任何實作了Java解釋程式和執行系統(run-time system)的系統上運作。

  • 多執行緒:多執行緒可以帶來更好的互動回應和使用者行為。

  • 動態:Java語言設計成適應變化的環境,它是一個動態的語言。例如,Java中的類別是根據需要載入的,甚至有些是透過網路取得的。

第二節:Java發展史

  1. 1991年Sun公司準備開發一種類似有線電視轉換盒的設備,專案命名為:Green。程式碼短小緊湊且與平台無關,根據Pascal語言設計出一種虛擬的機器生成中間代碼的可移植性語言,即Java虛擬機

    #
  2. 1994年Green專案(First Pascal公司)解散

  3. 1995年5月23日Java在SunWorld上得到演示,偉大的Java語言誕生

  4. 1996年初Sun公司發布Java第一個版本,Java1.0版本卻不能實際在開發中應用

  5. 1998年12月發布Java1.2版本(標準版-J2SE-JavaSE),此版本更接近Java的一次編寫隨處運行理念,三天后發布(微型版-J2ME-JavaME)和(企業版-J2EE-JavaEE)

  6. #2000年發布Java1.3

  7. #2002年發布Java1.4

  8. #2004年Java對語言做出了重大的改進,可以描述是另一個重大里程碑,並正式命名為Java5.0版本,並增加泛型、foreach循環、枚舉等概念

  9. #2006年發布Java 6 版本

  10. 2009年Sun公司曾經一度輝煌的日不落帝國終於淪陷,被Oracle收購之後Java進入一段停滯期

  11. #2011年發布Java 7 版本

  12. #2014年發布Java 8 版本

#第三節:Java開發環境建構

  • #JDK(Java Development Kit):撰寫Java程式的程式設計師使用的軟體

  • JRE:執行Java程式所使用的軟體

  • IDE:整合開發環境如:eclipse、idea等

#  JDK下載位址:。注意:安裝預設路徑是Program Files下面,最好把路徑換掉或把空格換掉,以避免不必要的麻煩。

  目錄結構:


    • bin:編譯器與工具

    • db:Java開發的關係型資料庫檔案

    • include:用於編譯本機方法的檔案

    • javafx-src:JavaFX腳本是一種宣告式、靜態類型程式語言

    • jre:Java執行環境檔案

    • #lib:類別庫檔案

    • #src:類別庫來源檔案

#  環境變數設定:

###################################### ###  JAVA_HOME:D:\Java\jdk1.8.0_31 它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟體就是透過搜尋JAVA_HOME變數來找到並使用安裝好的jdk。 ############  PATH:%JAVA_HOME%\bin;  作用是指定命令搜尋路徑,在命令列下面執行指令如javac編譯java程式時,它會到PATH變數所指定的路徑中尋找是否能找到對應的命令程式。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變數中,bin目錄包含經常要用到的可執行檔如javac/java/javadoc等待,設定PATH變數後,就可以在任何目錄下執行javac/java等工具了。 ############  CLASSPATH:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar 作用是指定類別搜尋路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是透過CLASSPATH來尋找類別的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設定到CLASSPATH中,當然,目前目錄「.」也必須加入到這個變數中。 ############  環境變數驗證:######

  CMD驗證:輸入Java -version 然後回車控制台輸出jdk版本號說明安裝成功。

  新HelloWorld.java文件,進入對應目錄輸入javac HelloWorld.java 然後回車,然後輸入java HelloWorld 然後回車控制台輸出Hello World 說明環境變數配置成功。

  註:javac程式是Java的編譯器,它會將HelloWorld.Java編譯成HelloWorld.class檔案並傳送到Java虛擬機,虛擬機執行編譯器放在class檔案中的字節碼。

  註:編譯時需要提供待編譯的檔案需要字尾名即:HelloWorld.java,而執行時只需要製定類別名稱就可以了,不需要帶後綴即:HelloWorld 。

以上是Java概述+環境搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
带你搞懂Java结构化数据处理开源库SPL带你搞懂Java结构化数据处理开源库SPLMay 24, 2022 pm 01:34 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

Java集合框架之PriorityQueue优先级队列Java集合框架之PriorityQueue优先级队列Jun 09, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

完全掌握Java锁(图文解析)完全掌握Java锁(图文解析)Jun 14, 2022 am 11:47 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

一起聊聊Java多线程之线程安全问题一起聊聊Java多线程之线程安全问题Apr 21, 2022 pm 06:17 PM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

Java基础归纳之枚举Java基础归纳之枚举May 26, 2022 am 11:50 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

详细解析Java的this和super关键字详细解析Java的this和super关键字Apr 30, 2022 am 09:00 AM

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

Java数据结构之AVL树详解Java数据结构之AVL树详解Jun 01, 2022 am 11:39 AM

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

java中封装是什么java中封装是什么May 16, 2019 pm 06:08 PM

封装是一种信息隐藏技术,是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法;封装可以被认为是一个保护屏障,防止指定类的代码和数据被外部类定义的代码随机访问。封装可以通过关键字private,protected和public实现。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。