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)
上一篇 2022年7月7日 下午10:36
下一篇 2022年7月7日 下午10:46


相关推荐

  • 基于LSTM的DDPG实现

    基于LSTM的DDPG实现最近看了一些大佬的DDPG的实现(其实都是基于莫凡大佬的那个版本),结合我自己的毕设问题,发现只是用普通的全连接网络好像不太稳定,表现也不好,于是尝试了一下试着用一直对序列数据有强大处理能力的lstm来试试(虽然这个已经有人做过了),自己手动实现了一下基于lstm的ddpg,希望各位大佬指导指导。importtorchimporttorch.nnasnnimporttorch.op…

    2022年6月20日
    60
  • Gemini AI公仔生成指令教學,分享37種Nano Banana模型指令技巧整理

    Gemini AI公仔生成指令教學,分享37種Nano Banana模型指令技巧整理

    2026年3月13日
    1
  • 0成本薅Cursor Pro教育优惠:全流程免费教程【持续更新】

    0成本薅Cursor Pro教育优惠:全流程免费教程【持续更新】

    2026年3月16日
    2
  • java 日志处理[通俗易懂]

    java各日志组件介绍common-logging(同时也称JCL)  common-logging是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging,common-logging会通过动态查找的机制,在程序运行时自动找出真正使用的日志库。当然,common-loggi…

    2022年4月16日
    49
  • Android中bindService的使用及Service生命周期

    Android中bindService的使用及Service生命周期Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况。如果想了解startService相关的使用,请参见《Android中startService的使用及Service生命周期》。bindService启动服务

    2022年6月9日
    81
  • 如何把timestamp数据类型存储到hive中

    如何把timestamp数据类型存储到hive中前言 我们在测试 hive 数据时 经常要入库数据到 hive 中 无论是从其它数据库入库到 hive 中还是从本地导入数据到 hive 中 会遇到 timestamp 格式的数据 那么我们怎么导入进去呢 一 首先建立一个人临时表 把数据中 timestamp 格式全部变为 string 格式 CREATETABLE dwd dwd jp user member bk etl insert date string batch task name string member id string

    2026年3月17日
    2

发表回复

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

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