day01_編程語言介紹丶Java語言概述丶開發環境搭建丶常用DOS命令

編程語言介紹

  • ?編程語言是一種用于人與計算機之間通信的語言,允許程序員編寫代碼,這些代碼告訴計算機要執行哪些操作?。編程語言可以被視為計算機可以理解并執行的指令集合,它是一種標準化的交流技巧,用于向計算機發出指令。?

編程語言的發展

  • 第一代:機器語言由數字組成所有指令。機器語言通常由數字串組成(最終被簡化成01),對于人類來說,機器語言過于繁瑣。使用機器語言,人類無法編出復雜的程序。
  • 第二代:匯編語言使用英文縮寫的助記符來表示基本的計算機操作。現在仍然應用于工業電子編程領域、軟件的加密解密、計算機病毒分析等等方面
  • 第三代:高級語言 ,程序員使用接近日常英語的指令來編寫程序。像我們熟知的C、C++、Java等等都是高級語言。目前以及可預見的將來,計算機語言仍然處于“第三代高級語言”階段。

結論:

  • 越是高級語言,越接近人的思維,人使用起來就越方便

編程語言排行榜

Java 是最好的編程語言嗎?不是,因為在每個領域都有更合適的編程語言。

  • C:無疑是現代計算機軟件編程語言的王者,幾乎所有的操作系統都是 C 語言寫成的。C++ 是面向對象的 C 語言,一直在不斷的改進。
  • JavaScript:?是能運行在瀏覽器中的語言,豐富的前端界面離不開 Javascript 的功勞。近年來的 Node.js 又在后端占有一席之地。
  • Python:?用于系統管理,并通過高性能預編譯的庫,提供 API 來進行科學計算,文本處理等,是 Linux 必選的解釋性語言。
  • Go:?語言內置了并發能力,可以編譯成本地代碼。當前新的網絡相關項目,很大比例是由 Go 語言編寫的,如 Docker、Kubernetes 等。
  • SQL:?是用于訪問和處理數據庫的標準的計算機語言, 這類數據庫包括:MySQL,Oracle, Sybase, SQL Server, DB2, Access 等等

一句話概括,能留在排行榜之上的語言,都是好的語言,在其所在的領域能做到最好。

Java語言概述

背景

  • Java是美國 Sun 公司(Stanford University Network1995年推出的計算機編程語言,后被Oracle公司收購
  • Java 早期稱為Oak(橡樹),后期改名為Java
  • Java 之父:詹姆斯·高斯林(James Gosling)

Java 處于不停的更新中,常見的一些版本。如下圖所示

小知識

  • Java語言的產品是 JDK(Java Development Kit :Java開發者工具包) 必須安裝JDK才能使用Java語言,開發Java程序
  • JDK版本后綴是LTS標志的就是Oracle公司長期維護的版本

Java能做什么

?Java是世界上最流行的編程語言之一,在國內使用極其廣泛。

?Java技術體系平臺

Java語言的主要特點:

  • 完全面向對象:Java語言支持封裝、繼承、多態,面向對象編程...
  • 支持分布式:Java語言支持Internet應用的開發,在基本的Java應用編程接口中有一個網絡應用編程接口
  • 健壯型:Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證
  • 安全:Java通常被用在網絡環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊
  • 跨平臺性:Java程序在Java平臺上被編譯為體系結構中立的字節碼格式,然后可以在實現這個Java平臺的任何系統中運行??

Java語言的跨平臺原理

  • 跨平臺:任何軟件的運行,都必須要運行在操作系統之上,而我們用Java編寫的軟件可以運行在任何的操作系統上。該特性是由JVM實現的,我們編寫的程序運行在JVM上,而JVM運行在操作系統上

名字解釋

  • JVM:Java虛擬機,簡稱JVM,是運行所有Java程序的假想計算機,我們編寫的Java代碼,都運行在JVM 之上?Java的虛擬機本身是不具備跨平臺功能的,每個操作系統下都有不同版本的虛擬機
  • JRE :是Java程序的運行時環境,包含JVM和運行時所需要的核心類庫
  • JDK :是Java程序開發工具包,包含JRE 和開發人員使用的工具

結論:

  • 我們只要安裝了JDK即可擁有java程序開發和運行需要的全部環境
  • 如果是在企業的部署環境下,其實只需要安裝JRE就可以運行編譯好的Java程序了

開發環境搭建

    JDK下載和安裝

    • 官網下載www.oracle.com? 根據需求 下載對應的版本
    • 傻瓜式安裝,下一步即可。為方便統一管理建議修改默認安裝路徑,將與開發相關的軟件都安裝到一個目錄下,例如:E:\develop。

    注意

    • 安裝路徑不要包含中文或者空格等特殊字符(使用純英文目錄)

    配置環境變量

    • 默認情況下,我們要使用JDK的開發工具,要先進入所在的目錄下
    • 我們希望在任意目錄下都可以使用JDK的開發工具,就需要告訴操作系統去哪里找這些開發工具,這就需要配置path環境變量
    • 配置具體方式,百度一下

    CLASSPATH的作用

    classpath環境變量是給classloader(類加載器)指路的。classpath大家是可以不配置的

    1. 我們輸入命令 java A ,先啟動JVM,JVM啟動classloader,classloader去硬盤上通過classpath找A.class文件。
    2. 找到則執行,找不到則報錯。
    3. 如果classpath沒有配置的話,默認從當前路徑下找class字節碼文件。
    4. 如果classpath配置了,例如配置到桌面上了:C:\Users\Administrator\Desktop,那么classloader以后就只會去桌面上找字節碼文件了,不再從當前路徑下找了。
    5. 如果classpath配置為:classpath=.;C:\Users\Administrator\Desktop 是什么意思呢?
    6. 先讓類加載器從當前路徑下找,如果找不到的話,去C:\Users\Administrator\Desktop找。

    JDK的安裝目錄介紹

    如何檢測是否配置成功

    • 在命令行窗口中直接輸入javac –version 或?java –version分別看版本提示,如果版本提示都是自己安裝的版本號,則代表JDK環境搭建成功

    常用DOS命令

    • Dos(Disk Operating System)是一個早期的操作系統,現在已經被Windows系統取代,對于我們開發人員,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。

    進入DOS操作窗口

    • 按下Windows+R鍵,打開運行窗口,輸入cmd回車,進入到DOS的操作窗口

    打開DOS命令行后,看到一個路徑 C:\Users... 就表示我們現在操作的磁盤是C盤的Users的final目錄

    常用命令及其作用 ?

    路徑的分類

    • 絕對路徑:在windows當中,路徑開始的時候,是以盤符開始的,都是絕對路徑。例如:C:\Users\Administrator\xyz\abc\def
    • 相對路徑:相對路徑一定是相對于當前路徑而言的,以當前路徑為基準,從當前所在的位置開始找。 例如:..\..\test200\1

    小知識:

    • 在windows系統中兩個點.. 代表的是一個上級目錄,一個點 . 一個點代表的是當前路徑

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

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

    相關文章

    告別默認配置!Xray自定義POC開發指南

    文章涉及操作均為測試環境,未授權時切勿對真實業務系統進行測試! 下載與解壓 官網地址: Xray GitHub Releases 根據系統選擇對應版本: Windows:xray_windows_amd64.exe.zipLinux:xray_linux_amd64.zipmacOS:xray_darwin_amd64.zip解壓后得到可執行文件(如 xray_linux_…

    C語言編程--17.有效的括號

    題目: 給定一個只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。 左括號必須以正確的順序…

    代碼隨想錄算法訓練營第60期第十七天打卡

    今天我們繼續進入二叉樹的下一個章節,今天的內容我在寫今天的博客前大致看了一下部分題目難度不算大,那我們就進入今天的題目。 第一題對應力扣編號為654的題目最大二叉樹 這道題目的坑相當多,我第一次題目沒有看明白就是我不知道到底是如何…

    Burp靶場JWT學習筆記1

    JWT(JSON Web Token) 從其名字就可以看出來,它具有表示身份的作用,其本質是將用戶信息儲存到一串json字符串中再將其編碼得到一串token JWT由三部分組成,分別是 Header,Payload,Signatrue JWTBase64(Header).Base6…

    第53.5講 | 小項目實戰:用 SHAP 值解釋農作物產量預測模型 [特殊字符][特殊字符]

    目錄 ? 項目背景 📦 所用工具 📁 數據字段(模擬) 🧑?💻 代碼實現步驟 🎯 解讀與啟發 🧠 項目拓展建議 ? 項目背景 我們使用一個簡化的玉米產量數據集(可模擬實…

    極狐GitLab 合并請求依賴如何解決?

    極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有: 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 合并請求依賴 (PREMIUM ALL) 在極狐GitLab 16.6 中引入了對復雜合并依賴關系的支持,通過名為 remove_mr_blockin…

    Django DRF實現用戶數據權限控制

    在 Django DRF 中使用 ModelViewSet 時,若需實現用戶僅能查看和操作自己的數據詳情,同時允許所有認證用戶訪問列表,需結合權限類和動態權限分配。以下是具體步驟: 1. 自定義對象權限類 創建一個 IsOwner 權限類,檢查…

    【數據結構】——線性表之單鏈表

    一、單鏈表的概念和結構 1、單鏈表的概念: 鏈表也是屬于我們的線性表中的一種,其物理結構上是不一定連續的,但是邏輯結構上是一定連續的,所以其是沒辦法像前面的順序表一樣通過找到下一個元素的,其是通過指針來找到下…

    線程函數庫

    pthread_create函數 pthread_create 是 POSIX 線程庫&#xff08;pthread&#xff09;中的一個函數&#xff0c;用于創建一個新的線程。 頭文件 #include <pthread.h> 函數原型 int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*s…

    2.5 橋梁橋面系及附屬結構施工

    2.5.1 橋面系施工 1.排水設施 設置縱橫坡及泄水孔&#xff0c;減少橋面積水、防排結合。匯水槽、泄水孔頂面高程低于橋面鋪裝10-15mm。泄水孔邊緣設滲水盲溝泄水管下端至少應伸出構筑物底面100-150mm。泄水管通過豎向管道直接引至地面或雨水管線。豎向管道抱箍、卡環、定位卡…

    docker 代理配置沖突問題

    問題描述 執行 systemctl show --property=Environment docker 命令看到有如下代理配置 sudo systemctl show --property=Environment docker Environment=HTTP_PROXY=http://127.0.0.1:65001 HTTPS_PROXY=http://127.0.0.1:65001 NO_PROXY=127.0.0.1,docker.io,ghcr.io,uhub…

    MATLAB基礎應用精講-【基礎知識篇】發布和共享 MATLAB 代碼

    目錄 MATLAB發布代碼---生成文檔pdf 分節符對發布文件的分節 實時腳本 Matlab workspace與m腳本數據共享 發布和共享 MATLAB 代碼 在實時編輯器中創建和共享實時腳本 發布 MATLAB 代碼文件 (.m) 添加幫助和創建文檔 發布 MATLAB 代碼文件 (.m) 可創建包括您的代碼、注釋…

    JDBC 批處理與事務處理:提升數據操作效率與一致性的密鑰

    目錄 一. JDBC批量添加數據 1. 什么是批量添加數據 2. 實現數據的批量添加 a. 方式一&#xff1a;不分塊 二. JDBC事務處理 1. 什么是事務 2. JDBC事務處理實現 三. 總結 前言 本文來講解JDBC的批處理和事務處理 這對數據的安全性和準確性以及高效率提供很好的辦法 話不…

    C++實現Atbash密碼

    詳細說明 埃特巴什密碼是一種替換密碼&#xff0c;在該密碼中字母表中的字母是反向對應的。例如&#xff0c;A 會被替換為 Z&#xff0c;B 會被替換為 Y&#xff0c;依此類推。 #include <cassert> /// for assert #include <iostream> /// for IO operations #…

    QuecPython+GNSS:實現快速定位

    概述 QuecPython 結合 GNSS&#xff08;全球導航衛星系統&#xff09;模塊為物聯網設備提供開箱即用的定位能力解決方案。該方案支持 GPS/北斗/GLONASS/Galileo 多系統聯合定位&#xff0c;為物聯網開發者提供從硬件接入到云端服務的全棧式定位解決方案。 優勢特點 多體系定…

    leetcode刷題日記——逆波蘭表達式求值

    [ 題目描述 ]&#xff1a; [ 思路 ]&#xff1a; 借助棧的特性&#xff0c;遇見數字就將這個數壓入棧內&#xff0c;遇見符號&#xff0c;就從棧中彈出兩個數&#xff0c;進行相應的運算&#xff0c;然后將結果壓入棧中運行如下 int evalRPN(char** tokens, int tokensSize…

    firewalld 詳解

    firewalld 詳解 firewalld 是 Linux 系統中一個動態防火墻管理工具&#xff0c;取代了傳統的 iptables&#xff0c;提供更靈活、動態的規則配置&#xff0c;支持運行時修改且無需重載服務。以下是其核心概念、常用操作及示例指南&#xff1a; 一、核心概念 區域&#xff08;Zo…

    面向高性能運動控制的MCU:架構創新、算法優化與應用分析

    摘要&#xff1a;現代工業自動化、汽車電子以及商業航天等領域對運動控制MCU的性能要求不斷提升。本文以國科安芯的MCU芯片AS32A601為例&#xff0c;從架構創新、算法優化到實際應用案例&#xff0c;全方位展示其在高性能運動控制領域的優勢與潛力。該MCU以32位RISC-V指令集為基…

    支付寶小程序組件與頁面構造器使用指南:從頁面到組件的正確遷移

    引言 在支付寶小程序開發中&#xff0c;我們經常會遇到需要將頁面組件化的情況。本文將通過一個實際案例&#xff08;將 /pages/plugin/device 從頁面遷移到組件&#xff09;&#xff0c;深入分析支付寶小程序中頁面和組件的區別&#xff0c;以及正確的遷移方式。我們將從問題…

    26-算法打卡-字符串-右旋字符串-第二十六天

    1 題目說明 字符串的右旋轉操作是把字符串尾部的若干個字符轉移到字符串的前面。給定一個字符串 s 和一個正整數 k&#xff0c;請編寫一個函數&#xff0c;將字符串中的后面 k 個字符移到字符串的前面&#xff0c;實現字符串的右旋轉操作。 例如&#xff0c;對于輸入字符串 &qu…