JavaSE&&JavaEE&&JavaME的區別【Java中常用的包結構】

来源:http://www.cnblogs.com/wy20110919/archive/2017/12/20/8075813.html
-Advertisement-
Play Games

一、javaEEJavaSEJavaME用的同一個jar包嗎? javaEE JavaSE javaME 用的JDK是同一個,開發j2SE工程的話只要有JDK就可以了,開發J2EE工程和J2ME工程除了需要JDK還要有他們各自的一些jar包協助開發。 jdk-6u5-windows-i586-p.e ...


一、javaEEJavaSEJavaME用的同一個jar包嗎?

javaEE JavaSE javaME 用的JDK是同一個,開發j2SE工程的話只要有JDK就可以了,開發J2EE工程和J2ME工程除了需要JDK還要有他們各自的一些jar包協助開發。
jdk-6u5-windows-i586-p.exe和jdk-6u20-windows-i586-p.exe都是JDK6.0版本,只是這個6.0版本還有很多小的版本,6u20比6u5的版本高一些。
他們只是一種java在不同領域上的應用,都需要用到SE的,SE是基礎,例如EE就是與web有關的開發jar包,servlet等。而ME就是做與嵌入式系統有關的jar包。

  * Java SEJava 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。Java ME 為在移動設備和嵌入式設備(比如手機、PDA、電視機頂盒和印表機)上運行的應用程式提供一個健壯且靈活的環境。Java ME 包括靈活的用戶界面、健壯的安全模型、許多內置的網路協議以及對可以動態下載的連網和離線應用程式的豐富支持。基於 Java ME 規範的應用程式只需編寫一次,就可以用於許多設備,而且可以利用每個設備的本機功能。

開發環境,推薦Eclipse,NetBeans,這兩個IDE可以掛接對應的插件,進行開發。還有一點,那就是這三個應用,se,標準應用,以學習為主,由於界面,開發成本,速度等問題,很少用來做程式,但不是說,他不能做程式,Eclipse,NetBeans,都是javase寫起來的。Me,移動設備應用,對於一些中高端應用還好了!以前用他做過手機游戲,呵呵呵!EE,企業級解決方案,開發套件全部免費,可控性好,安全性高,乃是當前B2B的規範。再者,這三個應用,都需要虛擬機的支持。

二、Java基礎類庫簡介及lang包介紹

一、常用的基礎類庫:11jarJava ArchiveJava歸檔)包

作為java語言使用者,我們可以感受到java語言帶來的優勢(平臺無關、面向對象、多線程、高效易擴展等),而且它有很多已經實現的類庫可以供我們直接使用,這些類庫都是以jar包的形式提供的,也可以成為java API,它為編程者實現了各種常用操作的方法,為程式員編寫java程式代碼帶來了許多方便。   

作為初學者,我覺得熟練掌握和應用java基礎類庫是很有必要的。因此,總結了一些自己在初學java時的一些基礎類知識點。Java 2標準所提供的主要API如下表所示。

包名

內容概述

Java.applet

提供創建applet小程式所需要的類

Java.awt

包含用於創建用戶界面和繪製圖形圖像的所有類

Java.io

提供與輸入輸出相關的類

Java.beans

包含與開發javaBeans相關的類

Java.lang

提供java語言程式設計的基礎類

Java.net

提供實現網路操作相關的類

Java.nio

為輸入輸出提供緩衝區的類

Java.text

提供處理文本、日期、數字和消息的類和介面

Java.util

提供處理日期、時間、隨機數生成等各種使用工具的類

Javax.net

提供用於網路應用程式的類、網路應用擴展類

Java.swing

提供一組與AWT功能相同的純java的組件類

  關於Javabeans這個包的詳細解釋(用於操作javabean的,可以輸出到xml文件等)http://blog.csdn.net/lxzo123/article/details/6441189 

二、java.lang

Java.lang包是java語言體系中其他所有類庫的基礎,已經內嵌到java虛擬機中,而且以對象的形式創建好了,所以,我們在使用java.lang包時不需要再使用import將其導入,可以直接使用java.lang包中的所有類以及直接引用某個類中的敞亮、變數和操作方法。

類名

功能

Boolean

封裝了boolean類型的值以及一些操作該類型的方法

Byte

封裝了byte類型的值以及一些操作該類型的方法

Character

封裝了char類型的值以及一些操作該類型的方法

Double

封裝了double類型的值以及一些操作該類型的方法

Float

封裝了float類型的值以及一些操作該類型的方法

Integer

封裝了int類型的值以及一些操作該類型的方法

Long

封裝了long類型的值以及一些操作該類型的方法

Short

封裝了short類型的值以及一些操作該類型的方法

String

封裝了與字元串類型相關的操作方法

Void

表示對Java中的void關鍵字的聲明,這個類不可以實例

Class

用於描述正在運行的java應用程式中的類和介面的狀態

ClassLoader

用於載入類的對象

Enum

用於定義枚舉類型

Math

用於實現基本數學運算

Number

抽象類,是基本數據類型類的父類

Object

是所有java類的根類

Package

封裝了有關java包的實現和規範的版本信息

Runtime

Runtime類對象使java應用程式與其運行環境相連接

StrictMath

用於實現基本的數學運算

StringBuffer

用於可變字元串的操作

StringBuilder

創建可變的字元串對象

System

封裝了一些與java虛擬機系統相關的方法

Thread

創建和控制線程

ThreadGroup

創建和控制線程組

Throwable

定義了java中的所有錯誤或者異常的父類

Process

定義一個進程process對象,通過Runtime類中的exec方法啟動該進程對象

定義在java.lang包中的主要介面及其相應的功能說明如下表:

介面

功能

Appendable

用於追加字元串

Cloneable

用於複製類對象

Runnable

用於實現類對象具有線程功能

Comparable

用於類對象的排序

2.Object類說明

Object類是java體系中所有類的父類,即在java語言開發的程式中所創建的類對象都是由object類派生出來的,都實現或者繼承了object類中的方法。

Jar包中封裝了一些常量、變數以及方法,當一個類對象被創建後,可以直接引用對象中的常量和變數,調用對象中的方法時要明確方法的輸入參數,併為方法提供符合參數類型的數據和返回值;還要知道該方法在調用時是否會產生異常,如果方法可能會產生異常,需要使用try-catch語句結構來捕獲和處理異常,或者使用java關鍵字throws將可能產生的異常拋出。

 

3.Java基本數據類型

Java語言中規定的基本數據類型包括boolean、byte、character、double、float、integer、long、short等8個。通過這些可以聲明基本數據類型的常量、變數。但是因為java是純面向對象的程式設計語言,為了實現面向對象,java.lang中給這些基本數據類型定義了對應的類(封裝了基本數據類型的變數類型、與變數相關的常量及相關的操作方法),這樣就能夠在使用這些基本類型的值或者變數時將其當做對象處理。

在java.lang包中還定義了Number抽象數據類型,專門針對純數字對象的操作,在基本數據類型中針對純數字對象的操作包括整數和浮點類型。由此可知,Number類是整型和浮點類型的直接父類,在number類中定義了適用於不同數據類型純數字的操作方法和抽象方法。

 

(說明:character類封裝了char類型的數值以及相關的操作方法,其字元全部採用Unicode標準編碼)

4.字元串類String&StringBuffer

在java.lang中還提供了處理字元串的String類,String類用於處理“不可變”的字元串;相對地,還提供了StringBuffer類用於處理“可變”字元串。Stirng類和StringBuffer類都被聲明為final類型,因此不能將其當做父類再被繼承使用了。

(1)String類

    String類用於創建字元串對象,其值在創建之後被當做常量,String類裡面還封裝了字元串類型的數值以及相關的操作方法。String類中的所有操作方法都是針對已經創建的String對象而言的,而String對象是通過String類的構造函數創建的。

(2)StringBuffer類

    StringBuffer類是字元串緩衝區類,用於創建長度可變的字元串對象,這裡的“長度可變”是指通過某些方法的調用可以改變字元串的長度和內容,比如通過在原字元串的基礎上追加新的字元串序列,或者在原字元串的某個位置上插入新的字元序列等構成新的字元串對象。

StringBuffer類創建字元串對象是基於開闢新的緩衝區實現的,在緩衝區中存放字元串的字元序列,因為緩衝區是有一定容量的,所以當字元串長度改變的之後,如果超過了緩衝區的容量時,即發生緩衝區溢出時,java運行系統會自行擴大StringBuffer對象創建的緩衝區容量,保證了對字元串操作的安全性。

5.Math

Math類中封裝了各種數據類型的算術操作,即包含了指數、對數、平方根、三角函數等操作。在math類中其所有的常量和方法都被定義為靜態的,因此所有的成員都可以直接被引用。

6.Runtime

Runtime類中封裝了一些和java虛擬機相關的方法,在java虛擬機啟動每個java應用程式時都會創建一個runtime對象,它會保證java應用程式和其運行環境的連接,runtime對象創建後,在java應用程式中就可以直接調用runtime類中定義的方法(如:獲取當前程式的運行信息、退出程式運行、關閉java虛擬機等操作)。

 

7.System

   System類封裝了一些和電腦輸入/輸出系統相關的常量,以及與java虛擬機相關的操作方法。Java虛擬機啟動之後就會創建system對象,在java應用程式中無法創建system對象。System類中所有的常量和方法都被定義為靜態的,因此,在java應用程式中可以直接調用system類裡面定義的常量和方法。

8.小結

關於java語言提供的可用類庫有很多,給程式員帶來很多的便捷,在具體使用時需要查看幫助文檔和說明,確定功能。要重點關註的還是某個操作方法的輸入參數、返回值、異常等。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本節介紹了Python的歷史和現狀,以及Python的安裝和入門。 ...
  • 一、什麼是C3P0 我們開始實現了一個自定義的連接池,那麼C3P0連接池和我們自定義那個就差不多了,只是它是一個開源的,比我們自己實現的要強大很多的連接池。下麵為百科上的定義: C3P0是一個開源的JDBC連接池,它實現了數據源和JNDI綁定,支持JDBC3規範和JDBC2的標準擴展。目前使用它的開 ...
  • 斐波那契數 由0和1開始,之後的費波那契繫數就是由之前的兩數相加而得出。 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233... 代碼實現 max為初始0,1後出現的數字最大個數 def fib(max): n, a, b = 0, 0, 1 whi ...
  • 如下圖: 按F5進入String.startsWith,如下: 點“Edit Source Lookup Path” 附加源代碼,如下圖: 附加上源代碼後如下: 可以看到,當滑鼠放在“prefix”上時,並不能看到prefix的值,解決方法如下: 1,找到JDK源代碼zip文件並解壓,如下圖: 2. ...
  • import numpy as np 數組與標量之間的運算作用於數組的每一個元素. ...
  • 登錄框消失語句 dispose(); 好友列表窗出現 使用new FriendsFrame(phone,s); 登陸對話框代碼修改如下: ...
  • 莫比烏斯反演 莫比烏斯函數$\mu$的定義: $$\begin{eqnarray}\mu(i)&=&0(i含有平方因數)\\&=&( 1)^{i的因數個數}(i不含有平方因數數)\end{eqnarray}$$ $\mu$的性質: 積性函數(不完全) 重要公式:$\sum_{d|n}\mu(d)=( ...
  • java學習筆記之eclipse下jar包導入 步驟: 1.在項目根目錄下新建lib文件夾 2.將jar包拷到lib目錄下 3.右鍵jar ,選擇Build Path 找到Add to build path 4.這就ok了 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...