1_Java语言概述
1_Java語言概述
Java基礎是學習JavaEE、大數據、Android開發 的基石!
Java基礎知識圖解
軟件開發介紹
軟件開發
軟件,即一系列按照特定順序組織的計算機數據和指令的集合。有系統軟 件和應用軟件之分。
- 常用的操作系統:Windows,Linux,iOS,安卓,蘋果mac等等。
人機交互方式
-
圖形化界面(Graphical User Interface GUI)這種方式簡單直觀,使用 者易于接受,容易上手操作。
- 使用圖形化界面的先后:施樂——>蘋果——>微軟
-
命令行方式(Command Line Interface CLI):需要有一個控制臺,輸 入特定的指令,讓計算機完成一些操作。較為麻煩,需要記錄住一些 命令。
常用的DOS命令(需要掌握)
-
dir : 列出當前目錄下的文件以及文件夾
-
某盤符: :進入指定盤符下
-
md 目錄名字: 創建指定目錄名字的文件夾
-
rd : 刪除目錄
- 當使用rd刪除有文件的目錄時,不能刪除成功,可以先把內部的文件給刪除,再來刪除文件夾;或者直接使用del來刪除此目錄。
-
cd : 進入指定目錄
-
cd… : 退回到上一級目錄
-
cd: 退回到根目錄
-
del + 文件名/*.文件后綴名 : 刪除指定文件
-
exit : 退出 dos 命令行
? 補充:echo javase>1.doc 使用dos命令生成文件輸出到當前所在文件夾
常用快捷鍵
- ← →:移動光標
- ↑ ↓:調閱歷史操作命令
- Delete和Backspace:刪除字符
-
Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”
- 上述這個公式對計算機科學的影響程度足以類似物理學中愛因斯坦的“E = MC^2”,一個公式展示出了程序的本質。
計算機編程語言介紹
什么是計算機語言
-
語言:是人與人之間用于溝通的一種方式。例如:中國人與中國人用普通話溝通。而 中國人要和英國人交流,就要學習英語。
-
計算機語言:人與計算機交流的方式。 如果人要與計算機交流,那么就要學習計算機語言。 計算機語言有很多種。如:C ,C++ ,Java ,PHP , Kotlin,Python,Scala等。
tiobe是一個流行編程語言的排行,每月更新,排名權重基于世界范圍內工程師數量,課程數量,第三方供應商數量
網址:https://ww.tiobe.com/tiobe-index/
java語言概述
-
是SUN(Stanford University Network,斯坦福大學網絡公司 ) 1995年推出的一 門高級編程語言。
-
是一種面向Internet的編程語言。Java一開始富有吸引力是因為Java程序可以 在Web瀏覽器中運行。這些Java程序被稱為Java小程序(applet)。applet使 用現代的圖形用戶界面與Web用戶進行交互。 applet內嵌在HTML代碼中。
-
隨著Java技術在web方面的不斷成熟,已經成為Web應用程序的首選開發語言。
現如今后臺開發所用的比較多的語言:Java、PHP、Python、Go、Node.js
Java語言概述:Java簡史
? 1991年 Green項目,開發語言最初命名為Oak (橡樹)
? 1994年,開發組意識到Oak 非常適合于互聯網
? 1996年,發布JDK 1.0,約8.3萬個網頁應用Java技術來制作
? 1997年,發布JDK 1.1,JavaOne會議召開,創當時全球同類會議規模之最
? 1998年,發布JDK 1.2,同年發布企業平臺J2EE
? 1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技術誕生
? 2004年,發布里程碑式版本:JDK 1.5,為突出此版本的重要性,更名為JDK 5.0
? 2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
? 2009年,Oracle公司收購SUN,交易價格74億美元
? 2011年,發布JDK 7.0
? 2014年,發布JDK 8.0,是繼JDK 5.0以來變化最大的版本
? 2017年,發布JDK 9.0,最大限度實現模塊化
? 2018年3月,發布JDK 10.0,版本號也稱為18.3
? 2018年9月,發布JDK 11.0,版本號也稱為18.9
Java原屬于sun公司,后被Oracle(甲骨文)給收購
Java技術體系平臺
Java在各領域的應用
? 從Java的應用領域來分,Java語言的應用方向主要表現在以下幾個方面:
? 企業級應用:主要指復雜的大企業的軟件系統、各種類型的網站。Java的安全機制以及 它的跨平臺的優勢,使它在分布式系統領域開發中有廣泛應用。應用領域包括金融、電 信、交通、電子商務等。
? Android平臺應用:Android應用程序使用Java語言編寫。Android開發水平的高低 很大程度上取決于Java語言核心能力是否扎實。
? 大數據平臺開發:各類框架有Hadoop,spark,storm,flink等,就這類技術生態 圈來講,還有各種中間件如flume,kafka,sqoop等等 ,這些框架以及工具大多數 是用Java編寫而成,但提供諸如Java,scala,Python,R等各種語言API供編程。
? 移動領域應用:主要表現在消費和嵌入式領域,是指在各種小型設備上的應用,包括手 機、PDA、機頂盒、汽車通信設備等。
Java語言的誕生
java之父James Gosling(詹姆斯·高斯林)團隊在開發”Green”項目時,發現C缺少垃圾回收系統,還有可移植的安 全性、分布程序設計和多線程功能。最后,他們想要一種易于移植到各種設備上的平臺。
Java確實是從C語言和C++語言繼承了許多成份,甚至可以將Java看 成是類C語言發展和衍生的產物。比如Java語言的變量聲明,操作符 形式,參數傳遞,流程控制等方面和C語言、C++語言完全相同。但同 時,Java是一個純粹的面向對象的程序設計語言,它繼承了C++語言 面向對象技術的核心。Java舍棄了C語言中容易引起錯誤的指針(以 引用取代)、運算符重載(operator overloading)、多重繼承 (以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用 的對象所占據的內存空間。JDK1.5又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數和自動裝/拆箱
主要特性
? Java語言是易學的。Java語言的語法與C語言和C++語言很接近,使得大多數程序員 很容易學習和使用Java。
? Java語言是強制面向對象的。Java語言提供類、接口和繼承等原語,為了簡單起見, 只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制 (關鍵字為implements)。
?Java語言是分布式的。Java語言支持Internet應用的開發,在基本的Java應用編 程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類 庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程 方法激活)機制也是開發分布式應用的重要手段。
? Java語言是健壯的。Java的強類型機制、異常處理、垃圾的自動收集等是Java程序 健壯性的重要保證。對指針的丟棄是Java的明智選擇。
? ==Java語言是安全的。==Java通常被用在網絡環境中,為此,Java提供了一個安全機 制以防惡意代碼的攻擊。如:安全防范機制(類ClassLoader),如分配不同的 名字空間以防替代本地的同名類、字節代碼檢查。
? Java語言是體系結構中立的。Java程序(后綴為java的文件)在Java平臺上被 編譯為體系結構中立的字節碼格式(后綴為class的文件),然后可以在實現這個 Java平臺的任何系統中運行。
? Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節碼格式, 然后可以在實現這個Java平臺的任何系統的解釋器中運行。
? Java是性能略高的。與那些解釋型的高級腳本語言相比,Java的性能還是較優的。
?Java語言是原生支持多線程的。在Java語言中,線程是一種特殊的對象,它必須 由Thread類或其子(孫)類來創建。
Java語言運行機制及運行過程
Java語言的特點
特點一:面向對象
? 兩個基本概念:類、對象
? 三大特性:封裝、繼承、多態
特點二:健壯性
? 吸收了C/C++語言的優點,但去掉了其影響程序健壯性的部分(如指針、內存的申請與 釋放等),提供了一個相對安全的內存管理和訪問機制
特點三:跨平臺性
跨平臺性:通過Java語言編寫的應用程序在不同的系統平臺上都可以運行。“Write once , Run Anywhere” 原理:只要在需要運行 java 應用程序的操作系統上,先安裝一個Java虛擬機 (JVM Java Virtual Machine) 即可。由JVM來負責Java程序在該系統中的運行。Java兩種核心機制
- Java虛擬機 (Java Virtal Machine) 可以實現一次編譯,到處運行
- 垃圾收集機制 (Garbage Collection)
Java虛擬機
垃圾回收
- 不再使用的內存空間應回收—— 垃圾回收。
- 在C/C++等語言中,由程序員負責回收無用內存。
- Java 語言消除了程序員回收無用內存空間的責任:它提供一種系統級線程跟蹤存儲空 間的分配情況。并在JVM空閑時,檢查并釋放那些可被釋放的存儲空間。
- 垃圾回收在Java程序運行過程中自動進行,程序員無法精確控制和干預。
- Java程序還會出現內存泄漏和內存溢出問題嗎?Yes,還是會出現!
- 原因是自己所編寫的程序,導致使垃圾處理器不能自動識別,不能自動回收,就會導致溢出。
Java語言的環境搭建
?明確什么是JDK, JRE
?下載 JDK
?安裝 JDK
?配置環境變量
?path:windows系統執行命令時要搜尋的路徑。
?驗證是否成功:javac java
?選擇合適的文本編輯器或 IDE 開發
什么是JDK,JRE
JDK、JRE、JVM三者的關系
三者關系用圖示如下:
下載并安裝JDK
詳細情況可看下載的尚硅谷配套資料中的文檔教程
-
官方網址:
- www.oracle.com
- java.sun.com
-
安裝JDK
- 傻瓜式安裝,下一步即可。
- 建議:安裝路徑不要有中文或者空格等特殊符號。
- 如果操作系統是64位的,軟件盡量選擇支持64位的(除非軟件本身不區分)。
- 當提示安裝 JRE 時,正常在JDK安裝時已經裝過了,但是為了后續使用Eclipse等開發 工具不報錯,建議也根據提示安裝JRE。
配置環境變量 path
每次執行 java 的工具都要進入到bin目錄下,是非常麻煩的。可不可以在任何目 錄下都可以執行java的工具呢?
?根據windows系統在查找可執行程序的原理,可以將java工具所在路徑定義到 path 環境變量中,讓系統幫我們去找運行執行的程序。
?配置方法:
? ?我的電腦–屬性–高級系統設置–環境變量
? ?編輯 path 環境變量,在變量值開始處加上java工具所在目錄,后面用 “ ; ”和其他值分隔 開即可。
? ?打開DOS命令行,任意目錄下敲入javac。如果出現javac 的參數信息,配置成功。
注: 具體操作流程,參看JDK8下載_安裝_配置.doc
-
可以將jdk的bin目錄的上級目錄前的地址配置在一個變量中,在配置時直接引用變量
-
配置完path環境變量以后的驗證,輸入下列指令,可以正確輸出,則配置成功
運行裝多個版本的jdk,但是具體使用的是哪個版本就看環境變量配置的是哪個版本
注 釋(comment)
-
用于注解說明解釋程序的文字就是注釋。
-
Java中的注釋類型:
-
單行注釋 格式:// 注釋內容
-
多行注釋 格式:/* 注釋內容 */
-
文檔注釋 (java特有) 格式:/** 注釋內容 */
-
提高了代碼的閱讀性;
-
調試程序的重要方法。
-
注釋是一個程序員必須要具有的良好編程習慣。
-
將自己的思想通過注釋先整理出來,再用代碼去體現。
注: ?對于單行和多行注釋,被注釋的文字,不會被JVM(java虛擬機)解釋執行。
? ?多行注釋里面不允許有多行注釋嵌套。
文檔注釋(Java特有)
- 格式:/**
? @author 指定java程序的作者
? @version 指定源文件的版本 …
? */
- 注釋內容可以被JDK提供的工具 javadoc 所解析,生成一套以網頁文件形 式體現的該程序的說明文檔。
- 操作方式
- D:\blog\Notes\尚硅谷\code\day01>javadoc -d mydoc -author -version HelloWorld.java
- 需要注意編碼格式以及路徑中不可以有中文(所以我上述在dos窗口運行不成功)
Java API的文檔
?API (Application Programming Interface,應用程序編程接口)是 Java 提供 的基本編程接口。
?Java語言提供了大量的基礎類,因此 Oracle 也為這些基礎類提供了相應的 API文檔,用于告訴開發者如何使用這些類,以及這些類里包含的方法。
?下載API: http://www.oracle.com/technetwork/java/javase/downloads/index.html
?Additional Resources-Java SE 8 Documentation下載。
?詳見:JDK8的下載-安裝-配置.doc
第一個程序小結
java程序編寫-編譯-運行的過程
編寫:我們將編寫的java代碼保存在以".java"結尾的源文件中
編譯:使用javac.exe命令編譯我們的java源文件。格式:javac 源文件名.java
運行:使用java.exe命令解釋運行我們的字節碼文件。 格式:java 類名
在一個java源文件中可以聲明多個class。但是,只能最多有一個類聲明為public的。
而且要求聲明為public的類的類名必須與源文件名相同。
程序的入口是main()方法。格式是固定的。
輸出語句:
System.out.println():先輸出數據,然后換行
System.out.print():只輸出數據
5.每一行執行語句都以";"結束。
6.編譯的過程:編譯以后,會生成一個或多個字節碼文件。字節碼文件的文件名與java源文件中的類名相同。
Java源文件以“java”為擴展名。源文件的基本組成部分是類(class),如 本例中的HelloWorld類。
?Java應用程序的執行入口是main()方法。它有固定的書寫格式: public static void main(String[] args) {…}
?Java語言嚴格區分大小寫。
?Java方法由一條條語句構成,每個語句以“;”結束。
?大括號都是成對出現的,缺一不可。
程序的入口是main()方法。格式是固定的。
輸出語句:
System.out.println():先輸出數據,然后換行
System.out.print():只輸出數據
5.每一行執行語句都以";"結束。
6.編譯的過程:編譯以后,會生成一個或多個字節碼文件。字節碼文件的文件名與java源文件中的類名相同。
Java源文件以“java”為擴展名。源文件的基本組成部分是類(class),如 本例中的HelloWorld類。
?Java應用程序的執行入口是main()方法。它有固定的書寫格式: public static void main(String[] args) {…}
?Java語言嚴格區分大小寫。
?Java方法由一條條語句構成,每個語句以“;”結束。
?大括號都是成對出現的,缺一不可。
?一個源文件中最多只能有一個public類。其它類的個數不限,如果源文件包含 一個public類,則文件名必須按該類名命名。
總結
以上是生活随笔為你收集整理的1_Java语言概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DRQN论文解读
- 下一篇: linuxC消息队列 mq_open()