1. 程式人生 > >Java簡單介紹及Java生態

Java簡單介紹及Java生態

核心思想:面向物件程式設計,繼承,高相容(程式碼移植性強),避免重複造輪子,開源.

  Java的起源和發展細節就不介紹了,Java是高階開發語言,類似C++,語法和C++ 有很多類似之處,但是做了些優化,主要是在編碼寫程式上的優化,避免記憶體洩露,避免指標複雜錯用等,Java中不可以直接操作指標,被隱藏。

Java程式從編寫到執行

A 編寫出正確的Java程式碼 .java檔案-->B 通過工具編譯成class檔案 .class檔案 --> C 執行在系統中的jvm虛擬機器載入class檔案 --> D jvm讀取class檔案中的main方法開始一個系統程序 --> E 完成 Java程式開始執行 。

在D過程中有一個過程 --> jvm虛擬機器載入class檔案後,將.class翻譯成機器碼(類似系統底指令) 因系統而異,同一個class檔案,在window環境 翻譯出的機器碼與Linux環境翻譯出的機器碼是不同的: 程式碼移植性強的根本(jvm虛擬機器)

Java 中的成員 : jvm虛擬機器,jre,jdk

  jvm虛擬機器

Java程式碼的載入器、編譯器、引擎負載載入(讀取).class檔案

    上文中有提到虛擬機器,將class檔案翻譯成系統能識別的機器碼,因此jvm是Java程式的必要環節,也說明不同的系統,jvm虛擬機器版本是不同的。

    jvm虛擬機器由C語言和組合語言編寫構成,  是Java程式執行的根本,Java程式執行首先需要執行jvm.

    網路解釋: JVM(JavaVirtualMachine,Java虛擬機器)是JRE的一部分。它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。Java語言最重要的特點就是跨平臺執行。使用JVM就是為了支援與作業系統無關,實現跨平臺。

  jre(Java Runtime Environment)

    Java程式執行環境,其中包含了jvm虛擬機器。Java程式需要執行時需要的環境,既jre.

  jdk (Java Development Kit)

    Java 語言的軟體開發工具包 (SDK) Java軟體開發環境,程式設計師編寫Java程式時需要的工具。 與jre的區別 包含jre,多了一些編譯工具,比如將.java 檔案編譯成 .class檔案

Java開發中常用的技術思想、框架、工具

  技術思想

面向物件

Java中任何事物都可以看做物件,任何事物從物件角度出發,解決問題從物件角度出發。

  繼承

Java中物件可以被繼承,將可以使用被繼承物件所有公共屬性,公共方法。繼承者為子類,被繼承者為父類,在Java中一切物件的頂級超類是Object

  多型

    多型是同一個行為具有多個不同表現形式或形態的能力。

    多型就是同一個介面,使用不同的例項而執行不同操作。 具體涉及到java中介面的知識。

多執行緒

一個執行緒處理一個事物,多個執行緒在同事間內執行各自的事物,互不影響。

  高併發

在有限的硬體資源情況下,短時間內大量執行緒啟動執行並處理事物。

  長連線

在與可通訊端頻繁通訊交換資料時需要用到的技術,如資料庫連線一般是長連線;特點:連線數較少,通訊頻繁。 想對的短連線:連線數多,同一連線短時間內連續通訊較少。

  nio

非阻塞io,解決網路資料傳輸阻塞問題,當兩端通訊有連線時,不一定馬上接受資料,這樣會引起執行緒等待發送資料造成的阻塞,nio提供緩衝區,有資料的時候通過通道將通訊資料寫入緩衝區,沒有資料則先執行別的執行緒,避免阻塞。

框架

spring

SpringFrameWork,春天。核心是控制反轉IoC(Inversion of Control 也稱依賴注入)和麵向切面程式設計AOP(Aspect Oriented Programming)java中非常流行的技術框架與框架設計思想。 秉承高內聚,低耦合的思想。沒有侵略性,對所有別的技術框架能夠很好的相容。(避免重複造輪子的一種具體實現)

  springmvc

    Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。Spring 框架提供了構建 Web 應用程式的全功能 MVC 模組(摘自百度)。web框架,前端控制層訪問框架。

  mybatis

輕量級持久層框架,持久層開發較高效框架,在迭×××發、網路專案中使用較多。

MyBatis 本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。MyBatis 是一款優秀的持久層框架,它支援定製化 SQL、儲存過程以及高階對映。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和對映原生資訊,將介面和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java物件)對映成資料庫中的記錄。(摘自百度)

  hibernate

Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,它將POJO與資料庫表建立對映關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。(摘自百度)

  springboot

springboot是以spring為基礎的多技術整合的高效快速專案開發框架,核心還是spring,但是整合封裝好了很多其他技術(如redis、mybatis等),免去了專案開發中一些重複繁瑣的過程

  springcloud

   springcloud是分散式架構技術,springcloud建立在springboot的基礎上,主要是在分散式環境下,將springboot專案集中管理的的分散式開發架構。

  netty

    nio技術具體實現框架。

  工具

eclipse

使用java、C 等語言來開發專案的工具。

  idea

使用java、C 等語言來開發專案的工具,和eclipse一樣是比較好用的專案開發工具,甚至比eclipse功能更多更強大,不過需要付費。

  maven

專案開發jar資源依賴管理工具,專案打包工具,使專案開發更高效。

  tomcat

    web專案執行容器,現在springboot框架內用整合tomcat,使用springboot開發可以不需要額外配置tomcat。

歡迎工作一到八年的Java工程師朋友們加入Java高階交流群:828697593

本群提供免費的學習指導 架構資料 以及免費的解答

不懂得問題都可以在本群提出來 之後還會有直播平臺和講師直接交流噢

哦對了,喜歡就別忘了關注一下哦~