Java 的簡單瞭解

来源:http://www.cnblogs.com/gyfluck/archive/2016/04/22/5420557.html
-Advertisement-
Play Games

本文是主要根據百度百科以網上一些資料,整理的一點對Java的淺顯的瞭解,不當之處,還請大家批評指正。 最初見到Java這個單詞,是在以前的手機上,游戲啟動時總會顯示java的圖標和名字,就感覺java是做游戲的;後來學習編程語言PHP,才知道java也是一門後端語言;再後來接觸到了更多的同事和客戶, ...


  本文是主要根據百度百科以網上一些資料,整理的一點對Java的淺顯的瞭解,不當之處,還請大家批評指正。  

  最初見到Java這個單詞,是在以前的手機上,游戲啟動時總會顯示java的圖標和名字,就感覺java是做游戲的;後來學習編程語言PHP,才知道java也是一門後端語言;再後來接觸到了更多的同事和客戶,就經常會被問到這些問題:你為什麼選擇PHP開發,而不選擇Java呢,Java的薪資較高一些啊?你這個項目為什麼不用Java來做,安全性不是更高嗎?... ...每當問及此類問題,只能以PHP學習更快,市場占有量不小,開發速度快等搪塞一下,但是總感覺理屈詞窮,很難說服別人,畢竟自己對Java跟本就不瞭解,同事的Java程式都沒看過一眼,所以就想瞭解一下這門強大的語言。

  況且作為一個開發者,很多大牛大神們都是掌握多門語言,即使沒掌握,但是對各種語言的優缺點瞭如指掌,每當談起,總能滔滔不絕,談笑風生,給人感覺你就是專業的一樣。所以就上網翻了一點關於Java的資料,還請大家指點一二。

  網上排行榜顯示,2015年及2014年最熱門的編程語言顯示:Java都排行第一;而在北大青鳥的官網中是這樣描述的:【 Java:永恆的冠軍,全球應用最廣泛的編程語言,Java一直居於TIOBE《編程語言排行榜》榜首地位。】;原來Java這麼火,怪不得偶爾會聽聞某某同事轉行去做Java了。

  Java簡介  

  Java是一種可以撰寫跨平臺應用程式的面向對象的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC數據中心、游戲控制台、科學超級電腦、行動電話和互聯網,同時擁有全球最大的開發者專業社群。

  Java體系:

  Java分為三個體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標準版),JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版),Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

  • Java SE(Java Platform,Standard Edition)。Java SE 以前稱為J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的Java應用程式。Java SE 包含了支持Java Web 服務開發的類,併為Java Platform,Enterprise Edition(Java EE)提供基礎。
  • Java EE(Java Platform,Enterprise Edition)。這個版本以前稱為J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程式。Java EE 是在Java SE 的基礎上構建的,它提供Web 服務、組件模型、管理和通信API,可以用來實現企業級的面向服務體繫結構(service-oriented architecture,SOA)和Web 2.0 應用程式。
  • Java ME(Java Platform,Micro Edition)。這個版本以前稱為J2ME,也叫K-JAVA。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和印表機)上運行的應用程式提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網路協議以及對可以動態下載的連網和離線應用程式的豐富支持。基於Java ME 規範的應用程式只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能。

  Java特性:(通常我們接觸的開發都是指Java EE吧)

  (1)Java語言是易學的。Java語言的語法與C語言和C++語言很接近,使得大多數程式員很容易學習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,而是引用。並提供了自動的廢料收集,使得程式員不必為記憶體管理而擔憂。   (2)Java語言是強制面向對象的。Java語言提供類、介面繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類與介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程式設計語言。   (3)Java語言是分散式的。Java語言支持Internet應用的開發,在基本的Java應用編程介面中有一個網路應用編程介面(java net),它提供了用於網路應用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分散式應用的重要手段。   (4)Java語言是健壯的。Java的強類型機制、異常處理、垃圾的自動收集等是Java程式健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。   (5)Java語言是安全的。Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。   (6)Java語言是體繫結構中立的。Java程式(尾碼為java的文件)在Java平臺上被編譯為體繫結構中立的位元組碼格式(尾碼為class的文件),然後可以在實現這個Java平臺的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。   (7)Java語言是可移植的。這種可移植性來源於體繫結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。   (8)Java語言是解釋型的。如前所述,Java程式在Java平臺上被編譯為位元組碼格式,然後可以在實現這個Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。   (9)Java是性能略高的。與那些解釋型的高級腳本語言相比,Java的性能還是較優的。   (10)Java語言是原生支持多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable)的構造子將一個實現了Runnable介面的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為線程。值得註意的是Thread類已經實現了Runnable介面,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字為synchronized)。   (11)Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程式需要的類能夠動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。 Java語言的優良特性使得Java應用具有無比的健壯性可靠性,這也減少了應用系統的維護費用。Java對對象技術的全面支持和Java平臺內嵌的API能縮短應用系統的開發時間並降低成本。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結構和在多平臺之間傳遞信息的低成本方式。特別是Java企業應用編程介面(Java Enterprise APIs)為企業計算及電子商務應用系統提供了有關技術和豐富的類庫。      優勢好大呀,先瞭解這些吧。  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在學習編程中,||和| 被解釋為:||是邏輯操作符,而|是位操作符,但是它們的具體使用上的區別是什麼呢? 1、當||和|作為邏輯操作符時,看看它們都有什麼作用。請看下麵例子: 請看上圖輸出結果: 對於(1)來說,i > 5 為True,(i = i + 5) > 10為True,那麼a就為True, ...
  • 在學習編程中,&和&& 被解釋為:&&是邏輯操作符,而&是位操作符,但是它們的具體使用上的區別是什麼呢? 1、當&&和&作為邏輯操作符時,看看它們都有什麼作用。請看下麵例子: 請看上圖輸出結果: 對於(1)來說,i > 5 為True,(i = i + 5) > 10為True,那麼a就為True, ...
  • 一、Thrift是什麼? 關於Thrift的基本介紹,參看張善友的文章Thrift簡介。 二、為什麼使用微服務? 在公司的高速發展過程中,隨著業務的增長,子系統越來越多。各系統間又不同程度的在某些邏輯上出現重合的場景。為了高效率的開發,必然出現到重用這些邏輯的實現代碼的情況,通常的做法是直接引用相關 ...
  • 百度編輯器具有豐富文本編輯功能,且開源免費,其使用方法如下: 1.在官網上下載對應的Uditor壓縮包:http://ueditor.baidu.com/website/download.html 2.在項目根目錄下創建ueditor文件夾 ,並將下載的UEditor解壓後的文件放在ueditor文 ...
  • http://blog.bennymichielsen.be/2009/01/04/using-fluent-nhibernate-in-spring-net/ http://comments.gmane.org/gmane.comp.windows.dotnet.nhibernate.user.g ...
  • 客戶端完成載入頁面時,將游標定位到表單的第一個表單域上能夠提高用戶輸入數據的速度。許多搜索引擎通過JavaScript實現了這個功能,而現在,HTML提供了自動聚焦功能,並將其視為語言的一部分。 要使用HTML的自動聚焦功能,你只需在任意表單域中添加autofocus屬性即可。 瀏覽器會把用戶游標定 ...
  • Arrays常用方法 Arrays.toString(int[] a)方法 > 返回類型為String,可以用來產生數組的可列印表示,避免了用迴圈依次讀取數組值進行列印 Arrays.sort(int[] a)方法 > 用來對數組進行排序 Arrays.fill(int[] a, int val)方 ...
  • 本文摘自csdn滄海一粟的專欄 link:http://blog.csdn.net/xuleilx/article/details/7281499 Warning 1 warning C4996: 'fopen': This function or variable may be unsafe. C ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...