当前位置: 首页 > news >正文

《java jdk7学习笔记》之java三大平台

Sun公司在2006年底,就将三大平台正名为java SE、java EE和java ME。也有很多人习惯用J2SE、J2EE和J2ME。

 

1、java SE

  java SE(标准版)是各应用平台的基础,想学习其他的平台应用,必须先了解java SE以奠定基础。

java SE可以分为4个主要部分:JVM、JRE、JDK与JAVA语言。

想要运行java撰写好的程序,就必须有java虚拟机(Java Virtual Machine,JVM)。

JVM包含在java执行环境(java SE Runtime Environment,JRE)中,所以想要运行Java程序,就必须要安装JRE。

若是想要开发java程序,就必须安装JDK(java SE Development Kits),JDK包含JRE及开发过程中所需要的工具包。

如javac、java、appletviewer等工具。

  java语言只是java SE的一部分,除了语言之外,java最重要的就是提高庞大且强大的标准API,提供字符串处理、

数据输入/输出、网络套件、用户窗口接口等功能。可以使用这些API作为基础来进行程序开发,无需重复开发相同的功能组件。

 

2、java EE

  java EE(企业版)以java SE为基础,定义了一系列的服务、API、协议等,适用于开发分布式、多层次(Multi-tiered)、

以组件为基础、以WEB为基础的应用程序,整个java EE体系很庞大,比较熟悉的技术是JSP、Servlet、JavaMail、

Enterprise JavaBeans(EJB)等。必须要学好java SE基础,再学习java EE的开发。

 

3、java ME

  java ME是java平台版本中最小的一个,目的是作为小型数字设备上开发及部署应用程序的平台,像是消费性电子产品

或嵌入式系统等。最常见的设备如手机、PDA、股票机等,可以使用java ME来开发这些移动设备上的程序,如java游戏、

记事程序、日历程序等。

 

PS:JCP与JSR

  java不仅是程序语言,还是标准规范。

  编译/执行Java的JDK/JRE,并不只有Sun才能实现,IBM也可以撰写自己的JDK/JRE,其他厂商或组织也可以撰写自己

的JDK/JRE。

  Java有Sun创造,为了让对java感兴趣的厂商或组织、开发者与用户参与定义Java未来的功能和特性,Sun公司于1998年

组成了JCP(Java Community Process),这是一个开放性国际组织,目的是让Java的演进由Sun非正式的主导,成为全世界

数以百计代表成员公开监督的过程。

  任何想要提示加入java 的功能或特性,必须以JSR(Java Specification Requests)正式文件的方式提交,JSR必须经过

JCP执行委员会(Executive Committee)投票通过,才可以成为最终的标准文件,有兴趣的厂商或组织可以根据JSR来实现产品。

  若JSR成为最终文件后,必须根据JSR成果作出免费且开发原始码的参考实现,成为RI(Reference Implemetation),并提供

TCK(Technology Compatibility Kit)作为技术兼容测试工具箱,方便于其他厂商或组件想根据JSR实现产品参考与测试兼容性。

  在JSR规范的标准下,各厂商可以各自操作成品,所以同一份JSR文件,可以有不同厂商的操作产品。以java SE为例,对于身为

开发人员,或使用java产品的公司而言,只要使用兼容于标准的JDK/JRE开发产品,就可以执行、兼容于标准的JRE上,而不用担心

跨平台的问题。

 

转载于:https://www.cnblogs.com/wanghongyun/p/6165068.html

相关文章:

  • java类的装入
  • LR常用函数以及调用自定义函数
  • java类加载器体系结构
  • MySQL 导入数据
  • java虚拟机学习笔记——类型和对象的生命周期(第七章)
  • jQuery中的100个技巧(译)
  • 子类为什么不能重写父类的静态方法
  • 15.6.6 Configuring Thread Concurrency for InnoDB
  • java虚拟机学习笔记——连接模型(第八章)
  • JVM垃圾回收机制算法总结
  • java内存模型
  • 表单样式简单设计
  • JVM学习总结
  • C#设计模式-模板方法模式
  • java虚拟机学习笔记——方法的调用与返回(第19章 )
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Bytom交易说明(账户管理模式)
  • IDEA 插件开发入门教程
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • python3 使用 asyncio 代替线程
  • Xmanager 远程桌面 CentOS 7
  • 初识 beanstalkd
  • 前端学习笔记之观察者模式
  • 深入浅出Node.js
  • 使用API自动生成工具优化前端工作流
  • 说说动画卡顿的解决方案
  • 新书推荐|Windows黑客编程技术详解
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • gunicorn工作原理
  • MPAndroidChart 教程:Y轴 YAxis
  • #162 (Div. 2)
  • #define与typedef区别
  • (11)MATLAB PCA+SVM 人脸识别
  • (二)PySpark3:SparkSQL编程
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (三分钟)速览传统边缘检测算子
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)Linux下编译安装log4cxx
  • (转)socket Aio demo
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET CORE 第一节 创建基本的 asp.net core
  • .Net core 6.0 升8.0
  • .NET Project Open Day(2011.11.13)
  • .Net 知识杂记
  • .netcore如何运行环境安装到Linux服务器
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET下ASPX编程的几个小问题
  • .考试倒计时43天!来提分啦!
  • @Bean, @Component, @Configuration简析
  • [20171106]配置客户端连接注意.txt
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians