JavaSE&&JavaEE&&JavaME的区别【Java中常用的包结构】
一、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 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。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
开发环境,推荐Eclipse,NetBeans,这两个IDE可以挂接对应的插件,进行开发。还有一点,那就是这三个应用,se,标准应用,以学习为主,由于界面,开发成本,速度等问题,很少用来做程序,但不是说,他不能做程序,Eclipse,NetBeans,都是javase写起来的。Me,移动设备应用,对于一些中高端应用还好了!以前用他做过手机游戏,呵呵呵!EE,企业级解决方案,开发套件全部免费,可控性好,安全性高,乃是当前B2B的规范。再者,这三个应用,都需要虚拟机的支持。
二、Java基础类库简介及lang包介绍
一、常用的基础类库:11个jar(Java Archive,Java归档)包
作为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的组件类 |
二、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语言提供的可用类库有很多,给程序员带来很多的便捷,在具体使用时需要查看帮助文档和说明,确定功能。要重点关注的还是某个操作方法的输入参数、返回值、异常等。
JavaSE&&JavaEE&&JavaME的区别【Java中常用的包结构】的更多相关文章
- javaSE javaEE javaME的区别、有什么不同?
http://zhidao.baidu.com/link?url=oFEPOmW8BnQ0M0w0krS9DyMA5UCUufgHJWV45r9UQZ-0vp_IOx-Yl-VV0hZQ-vHXGYo ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- 列举Java中常用的包、类和接口
常用的类: BufferedReader ,BufferedWriter FileReader ,FileWirter String ,Integer Date ,Cla ...
- java中常用的包及作用
1. java.awt:提供了绘图和图像类,主要用于编写GUI程序,包括按钮.标签等常用组件以及相应的事件类. 2. java.lang:java的语言包,是核心包,默认导入到用户程序,包中有obje ...
- java中常用jar包
commons-io.jar:可以看成是java.io的扩展,用来帮助进行IO功能开发.它包含三个主要的领域:Utilityclasses-提供一些静态方法来完成公共任务.Filters-提供文件过滤 ...
- Java高级特性 第2节 java中常用的实用类(1)
一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...
- java 中常用的类
java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l static double abs(double a) 获取double 的绝对值 l sta ...
- 动图+源码,演示Java中常用数据结构执行过程及原理
最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...
- 动图+源码,演示 Java 中常用数据结构执行过程及原理
阅读本文大概需要 3.7 分钟. 作者:大道方圆 cnblogs.com/xdecode/p/9321848.html 最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想 ...
随机推荐
- Paint the Grid Reloaded(缩点,DFS+BFS)
Leo has a grid with N rows and M columns. All cells are painted with either black or white initially ...
- javascript 可多选的下拉框 multiselect
首先引用一个写的很好的博客http://www.cnblogs.com/landeanfen/p/5013452.html 我使用的是bootstrap-multiselect,实现功能是 选择下拉框 ...
- python 3---if判断成绩练习
需求根据用户输入的成绩分档,要求如下: 1. 如果成绩大于60分,输出"及格"2. 如果成绩大于70分,输出"良"3. 如果成绩大于80分,输出"好& ...
- [译]移动API安全终极指南
文章主要讲了移动api调用的授权和验证问题,原文链接:The Ultimate Guide to Mobile API Security 移动API的使用是Stack Overflow和 Stormp ...
- 移动端1px 边框完整方案(四个方向)
使用stylus(预处理) 需要一个函数接收两个参数 第一个需要在哪个方向出现边框 第二个边框颜色 $border1px(face,$color) 根据传入的方向属性,调整其他参数 l 左右方向 t ...
- C# 自定义样式实现菜单和工具栏的分割线
在做WinForm界面布局时,菜单和工具栏必不可少!但是MenuStrip和ToolStrip不能够对边框的样式直接设置,如果想实现菜单和工具栏之间的分割线就不容易实现:今天查阅了一下msdn找到了一 ...
- C#抓取和分析网页的类
抓取和分析网页的类. 主要功能有: Ontology 1.提取网页的纯文本,去所有html标签和javascript代码 2.提取网页的链接,包括href和frame及iframe 3.提取网页的ti ...
- js基础01
常见的五大浏览器:chrome firfox ie opera safari 浏览器的解析器会把代码解析成用户所能看到的东西 www.2cto.com/kf/201202/118111.html浏览器 ...
- [转载] java多线程学习-java.util.concurrent详解(二)Semaphore/FutureTask/Exchanger
转载自http://janeky.iteye.com/blog/770393 ------------------------------------------------------------- ...
- SQL Server 初识游标
---恢复内容开始--- 游标:游标是一种能从包含多个数据的结果集每次提取一条的机制 游标的特点是: 检索得到的数据集更加灵活 可有针对性的对数据进行操作 拥有对数据进行删除和更新的能力 为何使用游标 ...