Java基礎-java開發入門

(創作不易,感謝有你,你的支持,就是我前行的最大動力,如果看完對你有幫助,請留下您的足跡)

目錄

一、什么是Java

二、Java語言的特點?

三、什么是JDK

四、第一個Java程序?


一、什么是Java

Java是由Sun Microsystems公司于1995年5月推出的Java面向對象程序設計語言和Java平臺的總稱。由James Gosling和同事們共同研發,并在1995年正式推出。

Java分為三個體系:

  • JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標準版)

  • JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業版)

  • JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)

2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名以取消其中的數字"2":J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。

二、Java語言的特點?

  • Java語言是簡單的:

    Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。并提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。

  • Java語言是面向對象的:

    Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。

  • Java語言是分布式的:

    Java語言支持Internet應用的開發,在基本的Java應用編程接口中有一個網絡應用編程接口(java net),它提供了用于網絡應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。

  • Java語言是健壯的:

    Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。

  • Java語言是安全的:

    Java通常被用在網絡環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網絡下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。

  • Java語言是體系結構中立的:

    Java程序(后綴為java的文件)在Java平臺上被編譯為體系結構中立的字節碼格式(后綴為class的文件),然后可以在實現這個Java平臺的任何系統中運行。這種途徑適合于異構的網絡環境和軟件的分發。

  • Java語言是可移植的:

    這種可移植性來源于體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。

  • Java語言是解釋型的:

    如前所述,Java程序在Java平臺上被編譯為字節碼格式,然后可以在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些字節碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。

  • Java是高性能的:

    與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術的發展越來越接近于C++。

  • Java語言是多線程的:

    在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable)的構造子將一個實現了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,并提供多線程之間的同步機制(關鍵字為synchronized)。

  • Java語言是動態的:

    Java語言的設計目標之一是適應于動態變化的環境。Java程序需要的類能夠動態地被載入到運行環境,也可以通過網絡來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。

三、什么是JDK

定義:JDK(Java Development Kit),是SUN公司提供的一套Java開發環境。


說明:JDK是整個Java的核心,其中包括Java編譯器、Java運行工具、Java文
檔生成工具、Java打包工具等。

定義:JRE(Java Runtime Environment)是Sun公司提供的Java運行環境,用來提供給普通用戶使用的。


說明:由于普通用戶只需要運行事先編寫好的Java程序,不需要自己動手編寫,因此JRE工具中只包含Java運行工具,不包含Java編譯工具。


注意:為了方便使用,Sun公司在其JDK工具中自帶了一個JRE工具,也就是說開發環境中包含運行環境,這樣一來,開發人員只需要在計算機上安裝JDK即可。

JDK、JRE與JVM之間的主要關系和區別:?

JDK中包含了開發工具和JRE,而JRE中又包含了Java基礎類庫和JVM。其中JVM是運行Java程序的核心虛擬機,而運行Java程序不僅需要核心虛擬機,還需要類加載器、字節碼校驗器以及Java的基礎類庫等。

四、第一個Java程序?

public class HelloWorld {public static void main(String[] args) {System.out.println("這是第一個Java程序!");}
}

class是一個關鍵字,它用于定義一個類。在Java中,類就是一個程序的基本單元,所有的代碼都需要在類中書寫。


HelloWorld是類的名稱,簡稱類名。class關鍵字與類名之間需要用空格、制表符、換行符等任意的空白字符進行分隔。類名之后要寫一對大括號,它定義了當前這個類的管轄范圍。

“public static void main(String[] args){}”定義了一個main()方法,該方法是Java程序的執行入口,程序將從main()方法所屬大括號內的代碼開始執行。

在main()方法中編寫了一條執行語句“System.out.println("這是第一個Java程序!");”,它的作用是打印一段文本信息,執行完這條語句會在命令行窗口中打印“這是第一個Java程序!”。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713952.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

electron nsis 安裝包 window下任務欄無法正常固定與取消固定

問題 win10系統下,程序任務欄在固定后取消固定,展示的程序內容異常。 排查 1.通過論壇查詢,應該是與app的api setAppUserModelId 相關 https://github.com/electron/electron/issues/3303 2.electron-builder腳本 electron-builder…

二月打戲最燃的國漫推薦,斗羅大陸2上榜,吞噬星空堪稱第一

2024年開年,國漫就給我們帶來了很大的驚喜,在剛剛過去的2月,有幾部中出現了超燃的打戲,看得人熱血沸騰。尤其是科幻番《吞噬星空》中的一場1V1對決,特效和設計都堪稱第一。還有哪些國漫上榜呢?下面就一起來…

TCP為什么要三次握手?

TCP三次握手協議是為了在不可靠的互聯網環境中可靠地建立起一個連接,三次握手可以確保兩端的發送和接收能力都是正常的。 那么,為什么是三次而不是二次或四次握手呢? 為什么不是二次握手? 如果是二次握手,即客戶端發…

網絡編程 io_uring

io_uring 1、概述 io_uring是Linux(內核版本在5.1以后)在2019年加入到內核中的一種新型的異步I/O模型; io_uring使用共享內存,解決高IOPS場景中的用戶態和內核態的切換過程,減少系統調用;用戶可以直接向…

vue + cesium初始化地圖 + 鼠標經過地圖(點、線等其他實體)樣式

vue cesium初始化地圖 鼠標經過地圖(點、線等其他實體)樣式 export function initMap(mapViewer) {Cesium.Ion.defaultAccessToken "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0OTUzOGJhMy1iNzVjLTQwZjItYWYyNy03YjA4MjM0YWE2MWMiLCJpZ…

Unity(第二十二部)官方的反向動力學一般使用商城的IK插件,這個用的不多

反向動力學(Inverse Kinematic,簡稱IK)是一種通過子節點帶動父節點運動的方法。 正向動力學 在骨骼動畫中,大多數動畫是通過將骨架中的關節角度旋轉到預定值來生成的,子關節的位置根據父關節的旋轉而改變,這…

編寫腳本一鍵安裝rsyslog

腳本分解 環境檢測部分 檢查操作系統 #!/bin/bash# 檢查是否為 Debian 類型 if [ -f /etc/debian_version ]; thenecho "當前操作系統是 Debian 類型"SYSLOG_SERVICE"rsyslog"INSTALL_COMMAND"apt-get install -y"CONFIG_FILE"/etc/rsys…

Vmware esxi虛擬主機狀態無效,無法注銷重啟等操作修復解決

問題 裝有ESXI系統的服務器在強制關機啟動后,顯示虛擬機狀態是無效的,并且無法進行任何操作。 解決辦法 對出問題的虛擬機重新注冊 1、開啟esxi系統的ssh功能 2、取消注冊出問題的虛擬機 找到問題的虛擬機 [rootlocalhost:~] vim-cmd vmsvc/getal…

燒腦問題解決辦法:如何選擇一款合適自己的手機流量卡

現在社會人們越來越離不開手機了,手機給我們生活帶來了翻天覆地的變化,手機需要最多的就是流量了,所以選擇一款合適自己的手機流量卡就顯得尤為重要了,今天小編就給大家來分享一下我的經驗,希望對大家能有幫助&#xf…

python基礎-基本數據類型深入-2.1

目錄 元組 什么是元組(tuple) 元組練習-1 元組的基本操作 元組常用內建函數 列表和元組的區別與總結 元組練習-2 元組練習-3 元組 什么是元組(tuple) 與列表(list)一樣,元組&#xff0…

【Web安全靶場】sqli-labs-master 54-65 Challenges 與62關二分法和like模糊搜索

sqli-labs-master 54-65 Challenges 其他關卡和靶場見專欄… 文章目錄 sqli-labs-master 54-65 Challenges第五十四關-聯合注入第五十五關-聯合注入第五十六關-聯合注入第五十七關-聯合注入第五十八關-報錯注入第五十九關-報錯注入第六十關-報錯注入第六十一關-報錯注入第六十…

grid的刪除

/u01/11.2.0/grid 為 grid 用戶的安裝主目錄 1、刪除 crs 配置信息 root: cd /u01/11.2.0/grid/crs/install perl rootcrs.pl -deconfig -force 2、刪除 crs 配置信息,并卸載軟件 cd /u01/11.2.0/grid/deinstall ./deinstall grid user: ./deinstall -home /…

Mysql與StarRocks語法上的不同

🐓 序言 StarRocks 是新一代極速全場景 MPP (Massively Parallel Processing) 數據庫。StarRocks 的愿景是能夠讓用戶的數據分析變得更加簡單和敏捷。用戶無需經過復雜的預處理,可以用StarRocks 來支持多種數據分析場景的極速分析。 🐓 語法…

嵌入式驅動學習第一周——linux的休眠與喚醒

前言 本文介紹進程的休眠與喚醒。 嵌入式驅動學習專欄將詳細記錄博主學習驅動的詳細過程,未來預計四個月將高強度更新本專欄,喜歡的可以關注本博主并訂閱本專欄,一起討論一起學習。現在關注就是老粉啦! 行文目錄 前言1. 阻塞和非阻…

第二節 數學知識補充

一、線性代數 向量的 L 2 L_2 L2?范數(Euclidean范數/Frobenius范數)&矩陣的元素形式范數 向量的 L 2 L_2 L2?范數: ∣ ∣ x ∣ ∣ 2 ( ∣ x 1 ∣ 2 ? ∣ x m ∣ 2 ) 1 2 ||x||_2(|x_1|^2\cdots|x_m|^2)^{\frac12} ∣∣x∣∣2?(∣…

Verilog參數、Verilog參數和屬性沖突、整數處理

Verilog參數 Verilog參數執行以下操作: ?允許您創建易于重用和擴展的參數化代碼。 ?使代碼更可讀、更緊湊、更易于維護。 ?將此類功能描述為: ○ 總線尺寸 ○ 建模設計單元中某些重復元素的數量 ?是常數。對于參數化模塊的每個實例化&#xf…

電腦桌面便簽哪個好,好用的電腦桌面便簽推薦

在如今信息爆炸的時代,人們的工作和生活節奏越來越快,記事和備忘變得尤為重要。而電腦桌面便簽作為一種方便快捷的記錄工具,備受廣大用戶青睞。那么,電腦桌面便簽哪個好,哪個更加出色呢? 作為一名人事專員…

CryoEM - 使用 cryoSPARC 基于單顆粒圖像從頭重構蛋白質三維結構

歡迎關注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/136384544 基于冷凍電鏡單顆粒圖像重構蛋白質三維結構,利用冷凍電鏡技術測定生物大分子結構的方法。原理是從冷凍電鏡獲得大量同一種蛋白質分子的二維投影圖…

【數據結構】實現隊列

大家好,我是蘇貝,本篇博客帶大家了解隊列,如果你覺得我寫的還不錯的話,可以給我一個贊👍嗎,感謝?? 目錄 一. 隊列的概念及結構二. 隊列的實現隊列的結構體初始化銷毀隊尾插入隊頭刪除顯示第一個節點的值…

【Java程序員面試專欄 算法思維】六 高頻面試算法題:動態規劃

一輪的算法訓練完成后,對相關的題目有了一個初步理解了,接下來進行專題訓練,以下這些題目就是匯總的高頻題目,本篇主要聊聊回溯算法,主要就是排列組合問題,所以放到一篇Blog中集中練習 題目關鍵字解題思路時間空間零錢兌換動態規劃+雙重循環dp[i]表示兌換金額為i元的最少…