Java生態

Java是高級開發語言,相似C++,語法和C++ 有不少相似之處,可是作了些優化,主要是在編碼寫程序上的優化,避免內存泄露,避免指針複雜錯用等,Java中不能夠直接操做指針,被隱藏。前端

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虛擬機)web

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

  jvm虛擬機spring

Java代碼的加載器、編譯器、引擎負載加載(讀取).class文件數據庫

    上文中有提到虛擬機,將class文件翻譯成系統能識別的機器碼,所以jvm是Java程序的必要環節,也說明不一樣的系統,jvm虛擬機版本是不一樣的。apache

    jvm虛擬機由C語言和彙編語言編寫構成,  是Java程序運行的根本,Java程序運行首先須要運行jvm.編程

    網絡解釋: JVM(JavaVirtualMachine,Java虛擬機)是JRE的一部分。它是一個虛構出來的計算機,是經過在實際的計算機上仿真模擬各類計算機功能來實現的。JVM有本身完善的硬件架構,如處理器、堆棧、寄存器等,還具備相應的指令系統。Java語言最重要的特色就是跨平臺運行。使用JVM就是爲了支持與操做系統無關,實現跨平臺。tomcat

  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。

相關文章
相關標籤/搜索