前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java概述

Java概述

原创
作者头像
reload
修改2024-01-19 08:10:28
1731
修改2024-01-19 08:10:28
举报
文章被收录于专栏:Java后端Java后端

前言:Java的简介和发展史有兴趣的可以去了解一下,这里不做探究。本节的主要内容如下,先来个导图镇楼。

1、J相关

要学Java,首先得了解JDK、JRE和JVM,首先从目录结构上分析所属范围,最后再得到一个整体的关系认识。

1.1 JDK

JDK (Java Development Kit),Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境(JRE),以及常用的 Java类库等。

1.2 JRE

1)JRE ( Java Runtime Environment) :Java运行环境,用于解释执行Java的字节码文件。普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装 JDK来编译、调试程序。

2)JRE安装目录:里面有两个文件夹 bin和 lib,一般认为 bin里的就是 jvm,lib中则是 jvm工作所需要的类库,而 jvm和 lib和起来就称为 jre。

1.3 JVM

1) JVM(Java Virtual Mechinal),Java虚拟机,是 java 编程语言的核心并且具有平台独立性,是JRE的一部分。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件(.class) 的虚拟计算机。所有平台的上的JVM向编译器提供相同的接口,而编译器只需要面向虚拟机,生成虚拟机能识别的代码,然后由虚拟机来解释执行。当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。

2)Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java能够“一次编译,到处运行”的原因。

3)bin目录下主要可执行文件及其作用:

java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;

javac:这是Java的编译器,它用于把Java源码文件(以 .java后缀结尾)编译为Java字节码文件(以 .class后缀结尾);

jar:用于把一组 .class文件打包成一个 .jar文件,便于发布;

javadoc:用于从Java源码中自动提取注释并生成文档;

jdb:Java调试器,用于开发阶段的运行调试。

1.4 关系

三者的关系可以简化如下:

1.5 面试可能问的问题

1)JDK、JRE、JVM 三者什么关系?

2)怎么理解Java 被称作是“平台无关的编程语言”?

3)JDK 各版本的新特性?(拓展)

4)Java 和 C++ 有什么区别?(拓展)

前两问答案已经在上面,剩余两问请读者自行查阅资料并思考。

1.6 JSP、JCP(可不看)

1)JSR规范

为了保证Java语言的规范性,SUN公司搞了一个JSR规范,凡是想给Java平台加一个功能,比如说访问数据库的功能,大家要先创建一个JSR规范,定义好接口,这样,各个数据库厂商都按照规范写出Java驱动程序,开发者就不用担心自己写的数据库代码在MySQL上能跑,却不能跑在PostgreSQL上。

2)JCP组织

JSR是一系列的规范,从JVM的内存模型到Web程序接口,全部都标准化了。而负责审核JSR的组织就是JCP。

2、Java主要特性(简单了解)

面向对象、健壮性、安全性、多线程、跨平台/可移植性、动态性等。有很多,简要了解即可。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、J相关
    • 1.1 JDK
      • 1.2 JRE
        • 1.3 JVM
          • 1.4 关系
            • 1.5 面试可能问的问题
              • 1.6 JSP、JCP(可不看)
              • 2、Java主要特性(简单了解)
              相关产品与服务
              云数据库 MySQL
              腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档