java是什么?java能用来干嘛?[通俗易懂]

java是什么?java能用来干嘛?[通俗易懂]java是什么?java能用来干嘛?Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk。Java由四方面组成:Java编程语言,即语法。Java文件格式,即各种文件夹、文件的后缀。Java文件格式,即各种文件夹、文件的后缀。Java虚拟机(JVM),即处理*.class文件的解释器。Java应…

大家好,又见面了,我是你们的朋友全栈君。

java是什么?java能用来干嘛?

Java是一种开发语言,核心特点:跨平台,面向对象。对于开发者来讲,Java基本等于**Jdk**。 Java由四方面组成:

  1. Java编程语言,即语法。
  2. Java文件格式,即各种文件夹、文件的后缀。Java文件格式,即各种文件夹、文件的后缀。
  3. Java虚拟机(JVM),即处理*.class文件的解释器。
  4. Java应用程序接口(Java API)。

掌握java语言后则能进行:1、web开发;2、Android开发;3、客户端开发;4、游戏开发等各种生活中常见的软件。
开发人员一般通过IDE(即Eclipse、NetBeans、JBuilder、IDEA等编程开发工具)编写、编译Java代码(在远古没有IDE的时代,都是用文本编辑器编写,使用javac编译),在这个过程中,会使用到Jdk与第三方Jar包(Jar包即一组编译后的类打成的压缩包,可以使用解压工具解压成文件结构)。

那什么又是jdk呢?

JDK是java开发核心组件,是用来编译解释java程序的核心组件,包含java compile(javac)面向的是java开发人员。包括:Java运行环境Jre、Java工具( javac/java/jdb等 )和Java基础类库( Java API,rt.jar等 )。 Jdk中包含**Jre**,在Jdk的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是**Jvm**,lib中则是Jvm工作所需要的类库,而Jvm和lib和起来就称为Jre。(jdk/jre/bin、lib)

什么是Jre?

JRE是java运行环境。Java一种是跨平台语言,一次编译,多次在多台电脑上运行,这种机制主要依靠JVM实现。java程序编译得到的是中间字节码,中间字节码是不能再机器上直接运行的,必须要经过JVM把中间字节码转换为机器语言,事实上,JRE中主要包含的就是JVM。JRE是面向的是java程序用户。 是运行Java程序所须环境的集合,包含Jvm标准实现及Java核心类库。 与大家熟知的Jdk不同,Jre是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户,只有 通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。 运行Java程序一般都要求用户的电脑安装Jre;没有jre,java程序无法运行;而没有java程序,jre就没有用武之地。

什么是Jvm?

我们常说的Java虚拟机, 是整个Java实现跨平台最核心的部分,能够运行通过Java语言编写的应用程序。 所有的Java程序会首先被编译为.class的类文件,Jvm虚拟机可以执行这种编译后的类文件,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释为目标代码(不同操作系统不同),给本地系统执行。 Jvm屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码,就可以在多种平台上不加修改地运行。 只有Jvm还不能事class文件执行,因为在解释class的时候Jvm需要调用解释所需要的类库lib,即Jre中的lib类库,单独的Jvm没有任何作用。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156749.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Go语言初见println和fmt.Println区别「建议收藏」

    Go语言初见println和fmt.Println区别「建议收藏」目录println()函数:fmt.println()函数:总结区别:1.包不同:2.输出方式不同:3.方法返回值不同:4.内置print/println函数的调用不能接受数组和结构体参数。5.对于组合类型的参数,内置的print/println函数将输出参数的底层值部的地址,而fmt和log标准库包中的打印函数将输出接口参数的动态值的字面形式。6.如果一个实参有String()string或Error()string方法,那么fmt和log标准库包里的…

    2022年10月2日
    4
  • tf卡锁定怎么解锁_tf卡写保护解除办法

    tf卡锁定怎么解锁_tf卡写保护解除办法最近这段时间,开始使用TFS2010进行项目的源码管理,在使用过程中,发现了不些问题,由于开发人员的操作失误,经常导致了源码中的文件被锁定,而在开发人员的PC机上又不能把锁定的文件签入到TFS中,刚开始遇到这个问题时,想通过管理员帐号来“取消锁定”,但在“源代码管理器”中,管理员帐号也没有权限操作“取消锁定”。遇到这种文件被锁定的事,是相当的郁闷。郁闷归郁闷,问题还是得要解决,…

    2022年9月23日
    4
  • 轻松实现在web页面中直接播放rtsp视频流「建议收藏」

    轻松实现在web页面中直接播放rtsp视频流「建议收藏」帮你轻松实现在页面中直接播放rtsp视频流使用准备ffmpeg运行rtsp2web前端代码课外知识写在前面我之前研究在web中直接播放rtsp视频流时,写过一篇文章:【前端】rtsp与rtmp视频流的播放方法。阅读这篇文章对你的学习有很大帮助。在文章中我有过详细的分析和解读,给出了结论:要想在web中实时播放rtsp视频流:借助后端转码推流将是必要的操作。实现我用node.js实现了转码推流的功能,并将其打包成rtsp2web发布到了npm上。……

    2022年10月10日
    2
  • stun协议笔记一(stun格式简介)「建议收藏」

    stun协议笔记一(stun格式简介)「建议收藏」一、stun协议格式1、STUN报文头1)最高的2位必须置零,这可以在当STUN和其他协议复用的时候,用来区分STUN包和其他数据包。2)STUNMessageType字段定义了消息的类型(请求/成功响应/失败响应/指示)和消息的主方法。虽然我们有4个消息类别,但在STUN中只有两种类型的事务,即请求/响应类型和指示类型。响应类型分为成功和出错两种,用来帮助快速处理STUN…

    2022年7月17日
    12
  • 智能车竞赛拿奖难吗_全国大学生智能小车竞赛

    智能车竞赛拿奖难吗_全国大学生智能小车竞赛简介:本文给出了第一轮参加线上比赛队伍信息汇总。总共包括了八个表格,分别用于组织线上比赛抽签过程所使用。关键词:智能车竞赛,线上总决赛,参赛队伍 §01基础四轮组学校名称队伍名称指导老师1指导老师2参赛队员1参赛队员2参赛队员3安徽中医药大学狂躁呼吸阚峻岭沈同平马晓豪刘迪汪忠良陆军装甲兵学院陆装四轮组魏宁王宇王浩李成光张志伟安徽信息工程学院常青竹一队刘传柱王欣桐赵吉强金子恒郑小宇青岛科技大学..

    2022年9月1日
    21
  • linux部署kafka_linux无法启动kafka

    linux部署kafka_linux无法启动kafka这是一套从零开始搭建kafka集群的笔记,我几乎帮你踩了所有的坑

    2022年10月14日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号