深挖Java基礎之:認識Java(創立空間/先導:Java認識)

今天我要介紹的是在Java中對Java的一些基本語法的認識與他們的運用,以及擬舉例子說明和運用場景,優勢和劣勢,

注:本篇文章是對Java的一些基本的,簡單的代碼塊的一些內容,后續會講解在Java中的變量類型,運算符與輸入器,條件結構與隨機數,While/For循環,數組定義,排序與遍歷,還有循環嵌套等相關的知識點內容。

概括:Java 是一種面向對象的編程語言,其語法嚴謹且結構清晰。

Java簡介:

歷史背景:

  • 誕生時間:1995 年由 Sun Microsystems(后被 Oracle 收購(關于Oracle的內容,后續篇章會進行介紹說明,且Oracle也屬于數據庫的其中一種))的 James Gosling 團隊開發。

  • 設計目標:實現“一次編寫,到處運行”(Write Once, Run Anywhere,?WORA),解決跨平臺兼容性問題。

  • 名字由來:最初名為?Oak(橡樹),后因商標沖突改為?Java(靈感來自爪哇咖啡)。

核心特點

  1. 面向對象(OOP):支持封裝、繼承、多態、抽象。(本階段(java)文章重點)

  2. 平臺無關性:通過?JVM(Java 虛擬機)實現跨平臺運行。

  3. 內存管理:自動垃圾回收(GC),開發者無需手動釋放內存。

  4. 強類型語言:變量需明確聲明類型,編譯時檢查類型安全。

  5. 多線程支持:內置并發編程庫(如?java.util.concurrent)。

  6. 豐富的生態系統:龐大的開源庫(如 Spring、Hibernate)和工具鏈(Maven、Gradle)。


Java 平臺組成

  1. Java SE(Standard Edition):核心庫和 JVM,用于桌面和基礎開發。

  2. Java EE(Enterprise Edition):企業級擴展(如 Servlet、JPA),現更名為?Jakarta EE

  3. Java ME(Micro Edition):嵌入式設備開發(逐漸被邊緣化)。

  4. Android 開發:雖然 Android SDK 基于 Java 語法,但運行在 Dalvik/ART 虛擬機而非 JVM。


Java 語言核心概念

1.?JVM(Java 虛擬機)

  • 作用:將字節碼(.class?文件)解釋為機器碼執行,屏蔽底層操作系統差異。

  • JIT 編譯器:運行時將熱點代碼編譯為本地代碼優化性能。

  • 內存模型:分為堆(Heap)、棧(Stack)、方法區(Method Area)等。


Java 應用場景

  1. 企業級應用

  • 后端服務(如銀行系統、ERP)使用 Spring Boot、Jakarta EE。
  1. Android 開發

  • 基于 Android SDK(現 Kotlin 逐漸成為主流,但 Java 仍廣泛使用)。
  1. 大數據與云計算

  • Hadoop、Spark 等框架依賴 Java 生態。
  1. 嵌入式系統

  • 物聯網(IoT)設備開發。
  1. 科學計算與金融

  • 高頻交易系統、數值分析。

首先:在開始前都得先創建工程,具體操作如下:

一:

注:以我用的eclipse2022工程軟件為例,在進行前先創建一個工作空間,放置位置自擬。

二:

進來后左上角點擊叉除歡迎,進入。

三:

四:

五:

六:

七:

八:

九:

注:不要選擇完成,得點擊下一步(next)

十:

十一:

十二:

十三:

13.1:額外說明

注:而在此之外的區域則是代碼編輯區,即工程空間

開始創建的步驟:

二:

注:設置com好處之一:后續創立時不會太亂。

三:


四:

五:

到這里,工程準備工作完成。

接下來進入正題:

主方法(程序入口)

public static void main(String[] args) {// 程序邏輯
}

基本語法結構:

類與對象

public class Dog {          // 類定義String name;            // 成員變量public void bark() {    // 方法System.out.println(name + "汪汪叫!");}
}// 創建對象
Dog myDog = new Dog();
myDog.name = "Buddy";
myDog.bark();               // 輸出:Buddy 汪汪叫!

數據類型:

基本類型:直接存儲值(如?int,?double,?boolean)。

引用類型:存儲對象地址(如?String, 數組, 自定義類)。

展示

?int age = 30; ? ? ? ? ? ? ? ? ? ? // 基本類型
String message = "Hello Java"; ? ?// 引用類型
int[] numbers = {1, 2, 3}; ? ? ? ?// 數組

    Java 的優缺點:

    優點缺點
    跨平臺能力(JVM)啟動速度較慢(需 JVM 預熱)
    強大的生態系統和社區支持語法相對冗長(對比 Kotlin)
    適合大型企業級項目內存消耗較高
    嚴格的類型檢查和錯誤處理機制學習曲線較陡(OOP 概念)

    總結:Java 憑借其穩定性、跨平臺能力和豐富的生態系統,在過去的二十多年中一直是企業級開發的首選語言之一。盡管面臨新興語言(如 Go、Kotlin)的競爭,但其在 Android、大數據和云原生領域的持續演進(如 GraalVM、Quarkus 框架)確保了它的長期生命力。

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

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

    相關文章

    Python+Selenium+Pytest+Allure PO模式UI自動化框架

    一、框架結構 allure-report:測試報告base:定位元素封裝data:數據log:日志文件page:頁面封裝文件夾report:緩存報告testcases:測試用例層utils:工具類run.py:執行文件 二…

    博物館除濕控濕保衛戰:M-5J1R 電解除濕科技如何重塑文物守護的未來

    在盧浮宮幽深的長廊里,達芬奇的《蒙娜麗莎》正經歷著一場看不見的戰爭——不是來自時間的侵蝕,而是空氣中無形的水分子。每一件文物都在與濕度進行著無聲的抗爭,這場抗爭關乎人類文明的延續。濕度,這個看不見的文物殺手&#xff0…

    【嘉立創EDA】如何找到曲線和直線的交點,或找到弧線和直線的交點

    文章路標?? :one: 文章解決問題:two: 主題內容:three: 參考方法be end..1?? 文章解決問題 操作環境:嘉立創EDA專業版 V2.2.38 本文使用嘉立創EDA,描述如何快速找到曲線和直線交點的方法,這里的曲線包括了弧線等。本文將此過程記錄,以供有需要的讀者參考。 2?? 主題…

    大語言模型能否替代心理治療師的深度拓展研究:fou

    大語言模型能否替代心理治療師的深度拓展研究 在科技初創企業和研究領域,大型語言模型(LLMs)用于替代心理健康服務提供者的應用備受關注。但研究人員通過對主要醫療機構治療指南的梳理回顧,并對當前 LLMs(如 gpt-4o)進行實驗評估后發現,LLMs 存在對心理疾病患者表達污名…

    【linux】Chrony服務器

    簡介 1.1 時間的重要性 由于 IT 系統中,準確的計時非常重要,有很多種原因需要準確計時: 在網絡傳輸中,數據包括和日志需要準確的時間戳 各種應用程序中,如訂單信息,交易信息等 都需要準確的時間戳 1.2 時區…

    mysql查看哪些表的自增id已超過某個值

    場景 想看哪些表數據比較大,如果用count 比較慢,同時表設計如果是自增,有沒有辦法一次查出自增id已超過某值的所有表呢。 方法 SELECT AUTO_INCREMENT,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA 庫名 AND AUTO_INCRE…

    SiamMask原理詳解:從SiamFC到SiamRPN++,再到多任務分支設計

    SiamMask原理詳解:從SiamFC到SiamRPN,再到多任務分支設計 一、引言二、SiamFC:目標跟蹤的奠基者1. SiamFC的結構2. SiamFC的局限性 三、SiamRPN:引入Anchor機制的改進1. SiamRPN的創新2. SiamRPN的進一步優化 四、SiamMask&#x…

    SpringBoot終極形態:AI生成帶OAuth2鑒權的微服務模塊(節省20人日)

    在數字化轉型的浪潮中,開發效率和質量是企業競爭力的關鍵要素。飛算 JavaAI 作為一款創新的 AI 工具,能在 Spring Boot 開發中,自動生成完整微服務模塊,極大提升開發效率。下面,我們就詳細介紹如何借助飛算 JavaAI,實現 Spring Boot 微服務模塊的自動化生成。 飛算 JavaAI 簡介…

    Spring緩存注解深度實戰:3大核心注解解鎖高并發系統性能優化?

    引言:緩存——高并發系統的“性能加速器”? 在互聯網應用中,數據庫查詢往往是性能瓶頸的核心。當每秒數千次的請求直接沖擊數據庫時,系統響應速度會急劇下降,甚至引發宕機風險。?緩存技術?應運而生,成為解決這一痛…

    CSS元素動畫篇:基于當前位置的變換動畫(二)

    基于當前位置的變換動畫(二) 前言旋轉效果類元素動畫搖擺動畫效果效果預覽代碼實現 搖晃動畫效果效果預覽代碼實現 螺旋旋轉效果預覽代碼實現 結語 前言 CSS元素動畫一般分為兩種:一種是元素基于當前位置的變換動畫,通過不明顯的…

    Qt/C++開發監控GB28181系統/設備注冊/設備注銷/密碼認證/心跳保活/校時

    一、前言 根據gb28181協議文檔,第一步就是需要實現設備的注冊,和onvif不同,gb是反過來的,設備端主動連接服務端,而onvif是服務端主動發出搜索,設備被動應答,包括后續的交互幾乎都是被動應答&am…

    MATLAB 中的圖形繪制

    一、線圖 plot 函數用來創建x和y值的簡單線圖。 x 0 : 0.05 : 30; %從0到30,每隔0.05取一次值 y sin(x); plot(x,y,LineWidth,2) %若(x,y,LineWidth,2)可變粗 xlabel("橫軸標題") ylab…

    go語言八股文(五)

    1.go的局部變量是分配在棧上還是在堆上 在Go語言中,局部變量的內存分配(棧或堆)由編譯器基于逃逸分析(escape analysis)來決定。以下是總結和具體示例: 棧上分配 當局部變量的生命周期嚴格限定在函數作用…

    Gradients of Matrix-Matrix Multiplication in Deep Learning

    Gradients of Matrix-Matrix Multiplication in Deep Learning 1. Matrix multiplication2. Derivation of the gradients2.1. Dimensions of the gradients2.2. The chain rule2.3. Derivation of the gradient ? L ? A \frac{ {\partial L} }{ {\partial \boldsymbol {\bo…

    Spring Boot 框架簡介

    ? Spring Boot 框架簡介 1?? 🚀 快速構建 Spring Boot 能夠快速構建可直接運行的、企業級 Spring 應用。 2?? ?? “約定優于配置” 該框架采用"約定優于配置"理念,默認集成 Spring 平臺與主流第三方庫,開發者僅需簡單配置…

    【Robocorp實戰指南】Python驅動的開源RPA框架

    目錄 前言技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊說明技術選型對比 二、實戰演示環境配置要求核心代碼實現案例1:網頁數據抓取案例2:Excel報表生成 運行結果驗證 三、性能對比測試方…

    如何使用 Spring Boot 實現分頁和排序:配置與實踐指南

    在現代 Web 應用開發中,分頁和排序是處理大量數據時提升用戶體驗和系統性能的關鍵功能。Spring Boot 結合 Spring Data JPA 提供了簡單而強大的工具,用于實現數據的分頁查詢和動態排序,廣泛應用于 RESTful API、后臺管理系統等場景。2025 年&…

    使用 LLM助手進行 Python 數據可視化

    在數據科學中,數據可視化是一項至關重要的任務,旨在揭示數據背后的模式和洞察,并向觀眾傳達這些信息。然而,在編程語言(如 Python)中創建有洞察力的圖表有時可能會耗時且復雜。本文介紹了一種借助 AI 助手&…

    RASP技術是應用程序安全的“保護傘”

    對于企業組織而言,隨著新技術的不斷涌現,企業在應用程序和數據安全方面也面臨著諸多挑戰。之所以如此,是因為常見的保護措施,如入侵防御系統和Web應用程序防火墻,有助于檢測和阻止網絡層的攻擊,但它們無法看…

    安卓基礎(接口interface)

    ??1. 接口的定義與實現?? ??(1) 定義接口?? // 定義一個 "動物行為" 的接口 public interface Animal {void eat(); // 抽象方法(無實現)void sleep(); // 抽象方法(無實現)// Java 8 默認方法&#…