base——JavaSE&&JavaEE&&JavaME的区别【Java中经常使用的包结构】

1、javaEEJavaSEJavaME用的同一个jar包吗?java

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的规范。再者,这三个应用,都须要虚拟机的支持。web

2、Java基础类库简介及lang包介绍编程

1、经常使用的基础类库:11jarJava ArchiveJava归档)包小程序

做为java语言使用者,咱们能够感觉到java语言带来的优点(平台无关、面向对象、多线程、高效易扩展等),并且它有不少已经实现的类库能够供咱们直接使用,这些类库都是以jar包的形式提供的,也能够成为java API,它为编程者实现了各类经常使用操做的方法,为程序员编写java程序代码带来了许多方便。   windows

做为初学者,我以为熟练掌握和应用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 

2、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语言提供的可用类库有不少,给程序员带来不少的便捷,在具体使用时须要查看帮助文档和说明,肯定功能。要重点关注的仍是某个操做方法的输入参数、返回值、异常等。