背景知识(JAVA基础)

目录

一、JDK

二、JRE

1.JRE的组成部分

2.JRE与JDK的区别

3.如何安装和配置JRE

4.使用场景

三、JVM

1.JVM的组成

2.JVM的作用

3.JVM与Java的关系

四、开发环境:InteliJ IDEA

1.公司背景

2.功能特点

3.版本选择

4.插件系统

5.用户界面

五、开发环境:eclipse

六、开发环境:Webstorm

1.主要功能

2.用户体验

3.使用场景

4.价格策略

七、开发环境:vs code

1.产生背景

2.主要特点

3.技术架构

4.发展历程


一、JDK

JDK(Java Development Kit)是Java语言的软件开发工具包,它包含了Java的运行环境(JVM+Java系统类库)和一系列Java开发工具。JDK是整个Java开发的核心,没有JDK就无法编译Java程序(指.java文件)。

JDK中包含了多种工具,如:

  • 打包工具:如Java归档工具(jar)和Java Web启动器(Java Web Start),用于打包和部署Java应用程序。
  • 文档生成工具:如Java文档工具(javadoc),可以根据源代码中的注释自动生成详细的API文档。
  • Java虚拟机(JVM):它是执行Java字节码的运行时环境,负责将字节码转换为机器码并执行,同时提供了内存管理、垃圾回收等关键功能。
  • 开发工具:如编译器插件(javacpl)、应用程序监视器(jconsole)和Java控制面板(jcontrol)等,这些工具可以帮助开发人员进行代码编译、调试、性能分析等操作。

JDK的版本更新历程很长,从最初的JDK 1.0到现在的JDK 22,每个版本都带来了新的特性和改进。例如,JDK 8(也称为JDK 1.8)引入了Lambda表达式、Stream API、新的日期时间API等特性。

在搭建Java开发环境时,需要安装JDK,并配置环境变量,如JAVA_HOMEPATHCLASSPATH等,以便在命令行中直接使用Java命令和工具。安装完成后,可以使用文本编辑器或集成开发环境(IDE)来编写Java代码,并使用JDK中的工具进行编译和运行。

二、JRE

JRE(Java Runtime Environment)是Java运行环境,它包含了Java虚拟机(JVM)和Java核心类库,使得开发者能够无需知道JVM与底层操作系统的交互细节而编写Java程序。JRE是Java应用程序运行的基础,但它并不包含Java开发工具(如编译器和调试器)。

以下是关于JRE的更多详细信息:

1.JRE的组成部分

  • Java虚拟机(JVM):JVM是JRE的核心部分,它负责将Java字节码(.class文件)转换成能在特定操作系统和特定硬件上执行的机器码。JVM是跨平台的,这意味着无论Java程序在哪个操作系统上运行,只要安装了相应版本的JRE,它都可以正常执行。

  • Java核心类库:这些类库包含了Java程序运行所需的基本类和方法。这些类库包括Java标准版(Java SE)的API,如java.langjava.utiljava.io等包。

2.JRE与JDK的区别

  • JDK(Java Development Kit):JDK是Java开发工具包,它包含了JRE以及Java开发工具(如javac编译器和javadoc文档生成工具)。JDK主要用于开发Java应用程序和库。

  • JRE(Java Runtime Environment):JRE是Java运行环境,它只包含JVM和Java核心类库,用于运行Java应用程序。如果你只是想运行Java程序而不是开发它们,那么你只需要安装JRE。

3.如何安装和配置JRE

  • 下载:从Oracle官网或其他可信来源下载适合你操作系统的JRE版本。

  • 安装:双击下载的JRE安装包进行安装。在安装过程中,你可以选择默认设置或自定义安装选项。

  • 配置环境变量(可选):如果你需要在命令行中运行Java程序,你可能需要将JRE的bin目录添加到系统的PATH环境变量中。这样,你就可以在命令行中直接输入java命令来运行Java程序了。

  • 验证安装:在命令行中输入java -version命令,如果JRE安装并配置正确,你应该能看到Java的版本信息。

4.使用场景

  • 开发Java应用程序:在开发环境中,你需要安装JDK来编译和运行Java程序。

  • 运行Java应用程序:在最终用户或生产环境中,你只需要安装JRE来运行Java应用程序。这是因为JRE不包含开发工具,因此它更加轻量级和安全。

三、JVM

JVM(Java Virtual Machine)是Java虚拟机,它是Java跨平台性的核心。JVM是一个抽象化的计算机,它定义了一个指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM通过在不同的操作系统上安装特定的Java虚拟机解释器来实现Java跨平台性。

以下是关于JVM的更多详细信息:

1.JVM的组成

  • 类加载器(Class Loader):负责加载字节码文件,并转换成JVM中的Java类。Java类被加载到JVM中之后,会生成一个对应的Class对象,作为方法区访问该类的入口。

  • 方法区(Method Area):也被称为永久代(PermGen space,在JDK 8之前)或元空间(Metaspace,在JDK 8及以后)。它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

  • 堆(Heap):Java堆是Java虚拟机所管理的内存中最大的一块,它是所有线程共享的一块内存区域。几乎所有的对象实例以及数组都在这里分配内存。Java堆是垃圾收集器管理的主要区域,因此很多时候也被称做“GC堆”。

  • Java栈(Java Stack):Java栈是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表、操作栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。

  • 本地方法栈(Native Method Stack):本地方法栈与虚拟机栈所发挥的作用是非常相似的,其区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则为虚拟机使用到的Native方法服务。

  • 程序计数器(Program Counter Register):程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。

2.JVM的作用

JVM的主要作用是通过将Java字节码解释成特定平台上的机器码进行执行,从而实现了Java的“一次编写,到处运行”的跨平台特性。同时,JVM也提供了内存管理、垃圾回收和安全检查等机制,使得Java程序更加健壮和易于管理。

3.JVM与Java的关系

JVM是Java程序运行的基础环境,Java程序通过JVM实现了跨平台性。Java程序首先被编译成字节码文件(.class文件),然后JVM将这些字节码文件加载到内存中,并转换成特定平台上的机器码进行执行。因此,Java程序可以在任何安装了JVM的操作系统上运行,而无需对源代码进行修改。

四、开发环境:InteliJ IDEA

IntelliJ IDEA是由JetBrains公司开发的一款强大的Java集成开发环境(IDE)。它以其丰富的功能、强大的性能以及智能化的编码支持而广受Java开发者的喜爱。以下是关于IntelliJ IDEA的一些背景知识:

1.公司背景

JetBrains公司总部位于捷克共和国的首都布拉格,并在俄国的圣彼得堡及美国麻州波士顿设有办公室。这家公司以其专业的软件开发工具而闻名,其中最为人所熟知的产品就是IntelliJ IDEA。

2.功能特点

  • 智能编码支持:IntelliJ IDEA提供了智能的代码补全、代码自动提示和重构等功能,能够极大地提高编程效率。
  • 深度框架支持:它支持各种主流的开发框架,如Spring、Hibernate等,为开发者提供了丰富的工具和集成支持。
  • 版本控制:IntelliJ IDEA完美支持Git、SVN等版本控制工具,方便开发者进行代码管理和协作。
  • 代码分析:它提供了代码分析功能,可以检测代码中可能存在的问题和错误,并给出相应的建议。
  • GUI设计:IntelliJ IDEA拥有创新的GUI设计工具,使得开发者能够更加方便地设计图形用户界面。

3.版本选择

  • IntelliJ IDEA分为两个版本:旗舰版(Ultimate Edition)和社区版(Community Edition)。旗舰版功能丰富,支持多种语言和框架;而社区版则是一个免费的版本,虽然功能相对较少,但已经足够满足大多数Java开发者的需求。

4.插件系统

  • IntelliJ IDEA拥有高度可定制化的插件系统,开发者可以根据自己的需要安装和卸载插件,以满足特定的开发需求。

5.用户界面

  • IntelliJ IDEA的用户界面简洁易用,提供了丰富的导航和查看模式,使得开发者能够更加方便地管理和浏览代码。

总之,IntelliJ IDEA是一款功能强大、易于使用的Java集成开发环境,它为Java开发者提供了丰富的工具和支持,能够极大地提高开发效率和质量。

五、开发环境:eclipse

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。它本身只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

此外,Eclipse可以用于多种类型的开发,包括但不限于Java开发。实际上,通过安装不同的插件,Eclipse也可以支持诸如C/C++、PHP等其他编程语言。同时,对于Web开发、移动应用开发(如Android应用开发)、嵌入式开发等多种开发场景,Eclipse都有良好的支持。

Eclipse的最大特点是其可扩展性,用户可以根据自己的需要安装和卸载插件,以满足特定的开发需求。这使得Eclipse成为了一个非常灵活和强大的开发工具。

总的来说,Eclipse是一个功能强大且高度可定制化的开发环境,广泛应用于各种开发场景。

六、开发环境:Webstorm

WebStorm是一款由JetBrains公司开发的集成开发环境(IDE),专为Web应用程序开发而设计。它支持多种前端技术,如HTML、CSS、JavaScript、TypeScript、React、Angular、Vue.js等,同时也支持Node.js等后端技术。以下是关于WebStorm的详细背景知识:

1.主要功能

  • 智能代码编辑:WebStorm具有强大的代码编辑功能,包括智能代码补全、错误检查和实时预览等。它可以根据上下文自动推荐代码片段,提高编码效率。
  • 深度集成版本控制:WebStorm深度集成了Git、SVN等版本控制系统,使得开发者可以方便地进行代码的版本控制和管理。
  • 强大的调试功能:WebStorm内置了强大的调试工具,支持JavaScript、Node.js等多种运行环境。开发者可以设置断点、查看变量值、执行代码等,以便更好地理解和调试代码。
  • 支持多种前端技术:除了JavaScript、HTML、CSS等基础技术外,WebStorm还支持React、Angular、Vue.js等前端框架,为开发者提供了丰富的工具和集成支持。
  • 插件生态:WebStorm支持丰富的插件,这些插件涵盖了代码格式化、代码质量检查、自动化测试等多个方面,进一步提升了开发效率。

2.用户体验

  • WebStorm凭借其出色的性能、丰富的功能和良好的用户体验,赢得了广大开发者的青睐。它提供了直观的界面设计和人性化的操作方式,使得开发者能够更加高效地进行开发工作。

3.使用场景

  • WebStorm适用于各种Web应用程序的开发场景,无论是前端开发、后端开发还是全栈开发,WebStorm都能够提供强大的支持和帮助。

4.价格策略

  • WebStorm是一款商业软件,但JetBrains也提供了学生和开源项目免费使用的许可证。对于个人开发者或小型团队来说,可以根据自身需求选择是否购买。

总之,WebStorm是一款功能强大、易于使用且高度可定制化的Web应用程序开发环境,广泛应用于各种Web开发场景。

七、开发环境:vs code

VS Code(Visual Studio Code)是微软公司开发的一款轻量级但功能强大的代码编辑器,支持多种编程语言,并具有丰富的扩展生态系统。以下是关于VS Code的背景知识:

1.产生背景

  • VS Code是微软在2015年4月30日Build开发者大会上正式宣布的,它运行于Mac OS X、Windows和Linux之上,是针对于编写现代Web和云应用的跨平台源代码编辑器。这是微软公司第一次向开发者们提供了一款真正的跨平台编辑器。

2.主要特点

  • 丰富的语言支持:VS Code支持众多编程语言,包括但不限于JavaScript、Python、C++、Java等。它提供了语法高亮、代码补全、代码片段、自动格式化等功能,以帮助开发者编写高质量的代码。
  • 内置调试器:VS Code内置了调试器,可用于调试各种编程语言的代码。开发者可以设置断点、监视变量和表达式的值,以便更好地理解和修复代码中的问题。
  • Git集成:VS Code与Git版本控制系统集成紧密,使得开发者能够在编辑器中轻松地进行代码的版本控制、提交和分支管理。它还提供了可视化的Git历史记录和冲突解决工具,简化了团队协作的过程。
  • 强大的扩展生态系统:VS Code拥有庞大的扩展生态系统,开发者可以根据自己的需求安装各种扩展插件,以增加额外的功能和工具。

3.技术架构

  • VS Code采用了Electron技术,这是一种使用Web技术构建跨平台桌面应用的框架。同时,VS Code的代码编辑器核心是Monaco,提供了强大的代码编辑功能,包括语法高亮、API提示、引用跳转等。

4.发展历程

  • 微软不断对VS Code进行更新和改进。例如,在2023年6月,微软更新了VS Code 1.79版本,添加了“只读模式”并改善了Markdown相关功能;在2023年7月,发布了VS Code 1.80版本,该版本终端支持图像、改进了辅助功能;在2023年11月,发布了VS Code 1.85版本,增加了浮动编辑器窗口等新功能。

总的来说,VS Code是一款功能强大、易于使用且高度可定制化的代码编辑器,广泛应用于各种开发场景。


 文章制作不易,如果有帮助的话,还希望能给个点赞关注支持一下,谢谢大家!🙏🙏🙏

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只藏羚吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值