iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java基础-Java的体系结构
  • 325
分享到

Java基础-Java的体系结构

2024-04-02 19:04:59 325人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1 前言1. 1 Java技术平台1.2 Java开源文化1.3 Java强大社区2 Java体系结构的组成2.1 Java编程语言2.2 字节码2.3 Java api2.4

1 前言

到目前为止Java仍然是使用最多的编程语言,随着Java以及Java社区的不断壮大,Java也早已不再是简简单单的一门计算机语言了,它更是一个平台、一种文化、一个社区。

1. 1 Java技术平台

根据不同的技术规范,Java划分为3中结构独立但又相互依赖的技术分支:Java SE(标准版)、Java EE(企业版)、Java ME(精简版)。此外, Java的发展,除了来自互联网的崛起,还有Google选择Java作为Android操作系统,Groovy、Scala、JRuby、Kotlin等都是Java平台的一部分。

Java SE

活跃在桌面领域,主要包含Java API组件。这个版本是Java平台的核心。

Java EE

活跃在企业级领域,主要包含Java API组件、WEB组件、事务组件、分布式组件、EJB组件、消息组件;综合这些技术开发人员完全可以构建出一个具备高性能、结构严谨的企业级应用,并且Java EE也是构建SOA架构的首选平台。Java EE是Java SE的扩展。

Java ME

活跃在嵌入式领域,称为精简版是因为JavaME仅保留了Java API中的部分组件,以及适应设备的一些特有组件。Java ME是Java SE的内伸。

1.2 Java开源文化

Java几乎成为了“开源”的代名词。第三方开源软件和框架。如Tomcat、Struts,mybatisspring等。就连jdkJVM自身也有不少开源的实现,如openJDK、Harmony。

1.3 Java强大社区

Java的文化造就了Java社区,Java拥有全世界最多的技术拥护者和开源社区支持,有数不清的论坛和资料。所谓,众人拾柴火焰高!

2 Java体系结构的组成

Java技术的核心就是Java虚拟机——所有Java程序都在其上运行,需要Java虚拟机、Java API和Java,class文件的配合,Java程序才能够运行。

2.1 Java编程语言

首先我们理一下一个Java程序从编写到最终执行的过程:

  • (1)一个A.java程序源文件执行javac命令后编程成A.class二进制的字节码文件
  • (2).class文件会被ClassLoader装载到内存中,同时装载java相关核心类库
  • (3)调用字节码解释器或即时编译器(java是解释器和编译器混合执行)
  • (4)执行引擎调用操作系统或硬件运行

2.2 字节码

任何编程语言的编译结果满足并包含Java虚拟机的内部指令集、符号表以及一些其他辅助信息的话,这个编译结果就是一个有效的字节码文件。

字节码的重大作用:为Java跨平台提供了支持。正是因为源代码编译后为字节码文件,而字节码文件相较机器指令,字节码可以解决程序的安全性问题、跨平台移植性问题。而且源码只需一次编译,得到的字节码文件可以在不同的平台上运行。

2.3 Java API

API(Application Programming Interface)应用程序编程接口,是一些预先定义的类。目的是使开发人员可以直接使用这些已经被打包的类来做具体的应用,节约了程序员大量的时间和精力。

2.4 Java虚拟机

Java虚拟机(Java Virtual Machine简称JVM)是运行所有Java程序的抽象计算机,是Java语言的运行环境,其主要任务为将字节码装载到内部,解释/编译为对应平台上的机器指令执行。

Java虚拟机规范定义了一个抽象的——而非实际的——机器或处理器。这个规范描述了一个指令集,一组寄存器,一个堆栈,一个“垃圾堆”,和一个方法区。一旦一个Java虚拟机在给定的平台上运行,任何Java程序(编译之后的程序,称作字节码)都能在这个平台上运行。Java虚拟机(JVM)可以以一次一条指令的方式来解释字节码(把它映射到实际的处理器指令),或者字节码也可以由实际处理器中称作just-in-time的编译器进行进一步的编译。

3 总结

笔者是一名Java编程语言的深度使用者,到目前为止,Java仍是世界上的头号编程语言。然而,Java最终将会减弱,就像c++一样,沦为只在特殊情况下使用(或者只是用来支持传统的代码,因为它不能像C++那样和硬件连接)。但是无意中的好处,也是Java真正意外的光彩之处在于它为自己的替代品创造了一条非常畅通的道路,即使Java本身已经达到了无法再发展的程度。未来所有的语言都应该从中学习:要么创建一个可以重构的文化(像python和Ruby做的那样),要么就让竞争者茁壮成长。

到此这篇关于Java基础-Java的体系结构的文章就介绍到这了,更多相关Java的体系结构内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java基础-Java的体系结构

本文链接: http://www.lsjlt.com/news/162711.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java基础-Java的体系结构
    目录1 前言1. 1 Java技术平台1.2 Java开源文化1.3 Java强大社区2 Java体系结构的组成2.1 Java编程语言2.2 字节码2.3 Java API2.4 ...
    99+
    2024-04-02
  • Java基础中Java的体系结构是什么
    这篇文章给大家介绍Java基础中Java的体系结构是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 前言到目前为止Java仍然是使用最多的编程语言,随着Java以及Java社区的不断壮大,Java也早已不再是简简...
    99+
    2023-06-26
  • java数据结构基础:栈
    目录准备工作编码环节push方法pop方法empty方法全部代码总结准备工作 工具:idea+jdk8 技术要求:java基础语法 编码环节 首先,我们得先确定下来,用什么数据来模拟...
    99+
    2024-04-02
  • Java常见基础数据结构
    目录栈:队列:数组:链表:红黑树:总结栈: stack,又称堆栈,他是运算受限的线性表,其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。 ...
    99+
    2024-04-02
  • java数据结构基础:绪论
    目录基本概念和术语数据数据元素数据项数据对象结构数据结构逻辑结构与物理结构逻辑结构物理结构抽象数据类型总结基本概念和术语 要想知道数据结构是什么,我们首先得去知道,数据和结构是什么;...
    99+
    2024-04-02
  • java数据结构基础:算法
    目录数据结构和算法关系高斯求和算法定义算法的特性算法设计的要求算法效率的度量方法函数的渐进增长总结数据结构和算法关系 虽然这个标题起的叫数据结构,但是我却总结算法。。。我不是没事找抽...
    99+
    2024-04-02
  • Java基础之选择结构与循环结构
    目录一、选择结构1.1基本if选择结构1.1.1语法1.1.2执行流程1.1.3代码展示1.1.4运行结果1.2平衡if选择结构1.2.1语法1.2.2执行流程1.2.3代码展示1....
    99+
    2024-04-02
  • java数据结构基础:线性表
    目录前言需求分析编码add方法getIndex方法pop方法insert方法getAll全部代码总结前言 其实线性表在生活中和栈的结构差不多。昨天总结了一篇单链表,也是线性表的一种。...
    99+
    2024-04-02
  • SQLSERVER-底层基础-体系结构-文件和文件组结构
    SQLServer 将数据库映射为一组操作系统文件。数据和日志信息绝不会混合存放在同一个文件中,而且一个文件只能由一个数据库使用。文件组是命名的文件集合,用于帮主数据布局和管理任务,譬如备份和还原操作。数据...
    99+
    2024-04-02
  • java数据结构基础:稀疏数组
    目录稀疏数组:实现思路:举例:二维数组转稀疏数组实现思路:稀疏数组恢复二维数组实现思路:代码实现:输出结果:总结稀疏数组: 当一个二维数组中大部份的值为0,或者为同一值的时候,可以用...
    99+
    2024-04-02
  • Java基础之switch分支结构详解
    目录一、基本语法二、流程图三、快速入门四、switch 注意事项和细节讨论五、switch 课堂练习六、switch 和 if 的比较一、基本语法 二、流程图 1.画出 swtic...
    99+
    2024-04-02
  • Java常见基础数据结构有哪些
    这篇文章主要介绍Java常见基础数据结构有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!栈:stack,又称堆栈,他是运算受限的线性表,其限制是仅允许在表的一端进行插入和删除操作,不允许在其他任何位置进行添加、查...
    99+
    2023-06-20
  • JAVA异常体系结构的示例分析
    这篇文章主要介绍JAVA异常体系结构的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、什么是异常异常:程序在运行过程中发生由于硬件设备问题、软件设计错误等导致的程序异常事件。(在Java等面向对象的编程语言...
    99+
    2023-05-30
    java
  • java数据结构基础:单,双向链表
    目录单向链表单链表图解代码双向链表编码总结单向链表 单向链表比顺序结构的线性表最大的好处就是不用保证存放的位置,它只需要用指针去指向下一个元素就能搞定。 单链表图解 图画的比较粗糙...
    99+
    2024-04-02
  • Java基础之三大控制流程结构
    目录一、前言二、顺序结构三、选择结构3.1 if选择结构3.2 switch选择结构四、循环结构4.1 While循环4.2 DoWhile循环4.3 For循环一、前言 在代码的控...
    99+
    2024-04-02
  • 夯实Java基础系列10:深入理解Java中的异常体系
    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h3pl/Java-Tutorial喜欢的话麻烦点下Star哈文章首发于我的个人博客:www.how2pla...
    99+
    2023-06-02
  • java数据结构基础:循环链表和栈
    目录循环链表:实现思路:代码实现:栈:实现思路:代码实现:总结循环链表: 与单链表的最后一个节点的指针域为null不同,循环链表的最后一个节点的指针指向头结点 实现思路: 初始化时将...
    99+
    2024-04-02
  • Go基础编程之什么是结构体
    本篇内容主要讲解“Go基础编程之什么是结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go基础编程之什么是结构体”吧!结构体(struct)是自定义方式形成...
    99+
    2024-04-02
  • 怎么使用Go语言基础结构体
    本篇内容主要讲解“怎么使用Go语言基础结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Go语言基础结构体”吧!概述结构体是由一系列具有相同类型或不同类型的数据构成的数据集合语法定义结...
    99+
    2023-06-25
  • JAVA基础知识点总结
    文章目录 前言一、JAVA简介二、基础语法面向对象StringIntegerObject异常IO序列化Java 泛型注解反射 前言 一、JAVA简介 Java 是一门面向对象的编程语言。 语言特点:面向对象,平台无关性,支持多...
    99+
    2023-08-18
    java jvm 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作