简要概括java技术体系
以前一直在学java程序设计语言,学完了就以为自己已经把java学得差不多了,直到最近在看一本书《深入理解java虚拟机》,才发现自己以前学的只不过是冰山一角。相信很多小伙伴跟我一样,在没有了解过java技术体系之前,都搞不明白Java SE,Java EE一系列跟Java是什么关系,今天就来简单说一下java技术体系。
(1)从传统意义上来说,sun公司定义的Java技术体系包括以下几个部分:
- Java程序设计语言
- 各种硬件平台上的Java虚拟机
- Class文件格式
- Java API类库
- 来自商业机构和开源社区的第三方Java类库
Java程序语言不用多说,就是我们平常编写的代码等等,我们一开始也是从语言学起;
Java虚拟机则是很重要的一部分,我们都知道Java除了面向对象之外,还有很多其他优点,比如:摆脱了硬件平台的束缚,实现“一次编写,到处运行”,那java是怎么实现这个技术的呢?是因为Java虚拟机有自己一套完善的硬件架构和指令系统,不管具体的操作系统平台是什么,Java程序只要生成在Java虚拟机上运行的目标代码,就可以在多种平台上运行。
Class文件格式也是Java能够跨平台的基础,Java字节码能够跨不同的虚拟机在不同的平台上运行,是因为这些字节码按照Calss文件格式规范组成了Class文件,不同的语言都可以根据Calss文件格式生成能够在JVM上运行的字节码。
Java API类库的作用也十分强大,我们在写代码的时候,经常会用到import,实际上我们导入的就是Java程序设计师已经打包好的接口和类,这些接口和类对应着实现某些具体的功能,我们在编写程序时,可以直接把这些接口和类拿来使用,大大提高了编程效率。此外,API除了有“应用程序编程接口”的意思,还特指API的说明文档,也称为帮助文档,里面包含了很多java 类和方法说明,是编写java必不可少的帮助工具,everybody 用起来呀!
有需要帮助文档的可以去我网盘里下载哦
链接:https://pan.baidu.com/s/17CLdvpKitX70fbmjvQ8ehg
提取码:ymbq
第三方Java类库嘛,我也不知道是啥,有兴趣的小伙伴可以自己上网搜一搜~
(2)如果按照Java技术所关注的重点领域来分,Java技术体系可以分为四个平台:
- Java Card:支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。
- Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,以前被称为J2ME.
- Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的java核心API,以前被称为J2SE.
- Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量的补充并提供了相关的部署支持,以前被称为J2EE。
如果按照我的理解,就直接把他们理解为关注的领域由小到大嘿嘿嘿~
(3)在这里还想多提几句,第一种划分方法中,我们一般把Java 程序设计语言,Java虚拟机、Java API类库这三部分统称为JDK(Java Development Kit),JDK是用于支持Java程序开发的最小环境。而一般把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(Java Runtime Environment),JRE是支持Java程序运行的标准环境,二者一定要区分开来。
简要概括java技术体系的更多相关文章
- JVM笔记-Java技术体系与JVM概述
1. 简述 Java 不仅仅是一门编程语言,还是一个由一系列计算机软件和规范组成的技术体系. Java 的广告词为 "一次编写,到处运行",之所以能够做到"跨平台&quo ...
- JAVA技术体系发展路线
JAVA技术体系 1.1 Java程序员 ·高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变参数.可变返回类型.增强循环.静态导入 ·核心编程 IO.多线程.实体类.集合类.正则表达式.XM ...
- 深入理解java虚拟机----java技术体系(一)
1.java技术体系 举例: class文件格式:如下图所示,java源代码可以根据不同的编译器可以编译成不同的代码.即可以自定义语言规范比如beanshell,并编写代码; 然后自己编写java编译 ...
- Java 技术体系(JDK 与 JRE 的关系)、POJO 与 JavaBeans
Java 技术体系的分层结构(不同的颜色表示不同的层次),尤其注意 JDK 与 JRE 之间的包含关系: 图见 Java Platform Standard Edition 7 Documentati ...
- Java技术体系 JDK与JRE
从广义上讲,Clojure.JRuby.Groovy等运行于Java虚拟机上的语言及其相关的程序都属于Java技术体系中的一员.如果仅从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组 ...
- JVM学习之Java技术体系
目录 一.Java技术体系 1.Java体系构成 2.JDK.JRE.JVM之前的关系 JVM介绍 (1)JVM官方文档定义 (2)中文解释 JVM结构 Java代码执行流程 JVM架构模型 1.指令 ...
- Java技术体系图
Java程序员高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变 参数.可变返回类型.增强循环.静态导入 核心编程 ...
- Java 技术体系图
Java 程序员 高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变 参数.可变返回类型.增强循环.静态导入 核心编程 IO.多线程.实体类. 集合类.正则表达式. XML 和属性文件 图形编 ...
- Java技术体系
Shell 解释型编程语言(脚本语言都是解释型语言) Shell通过解释器/bin/bash 解释,运行在进程中 Java 编译型解释型语言(先编译再解释) Java通过编译器转换成字节码语言,再用过 ...
随机推荐
- volatile 关键字的作用
简介Java 语言提供了一种稍弱的同步机制,即 volatile 变量,用来确保将变量的更新操作通知到其他线程.volatile 变量具备两种特性:变量可见性.禁止重排序. 作为同步锁在访问 vola ...
- SUSE CaaS Platform 4 - 安装部署
SUSE CaaS Platform 相关文章 (1)SUSE CaaS Platform 4 - 简介 (2)SUSE CaaS Platform 4 - 安装部署 (3)SUSE CaaS Pla ...
- PSSH工具
目录 PSSH工具 参考 PSSH工具的介绍 PSSH工具的使用 PSSH工具
- VR应用评测 - Google Spotlight Story: Sonaria
Google Spotlight Story: Sonaria 一个5min左右的VR小电影,坐姿观看,但是用户其实可以移动+旋转视角.画面很抽象,所有的物体都由基本的单色几何形状组成,主角是两个一公 ...
- python selenium模拟登陆qq空间
不多说.直接上代码 from selenium import webdriver driver = webdriver.Chrome() driver.get('http://qzone.qq.com ...
- 访问http接口时返回502 Bad Getway什么原因怎么解决
使用 httpclient 工具通过代理服务器请求第三方http 接口,多次返回 502 Bad Getway,少数返回正常. 502 Bad Getway是什么意思? 502 Bad Gateway ...
- Docker 配置国内镜像
前言 当我们使用Docker pull 拉取镜像时,有时候因网络问题,导致获取镜像报错,如下 :Error response from daemon:Get https://registry-1.co ...
- JS里面的铠甲合体!
本标题党又回来了,最近在专心研究一些JS基础性的书籍,以期把原理都了解透彻,所以写文章的频率就降了下来.但是今天我必须要来写一下子,为什么呢,因为今天周五!先说明一下JS里面的拆箱与装箱指的是JS封箱 ...
- XGBoost: 你不能不知的机器学习算法
XGBoost作为一个非常常用的算法,我觉得很有必要了解一下它的来龙去脉,于是抽空找了一些资料,主要包括陈天奇大佬的论文以及演讲PPT,以及网络上的一些博客文章,今天在这里对这些知识点进行整理归纳,论 ...
- Python:的web爬虫实现及原理(BeautifulSoup工具)
最近一直在学习python,学习完了基本语法就练习了一个爬虫demo,下面总结下. 主要逻辑是 1)初始化url管理器,也就是将rooturl加入到url管理器中 2)在url管理器中得到新的new_ ...