当前位置: 首页 > article >正文

重返JAVA之路-初识JAVA

目录

1.什么是JDK?

2.什么是JRE?

3.什么是JVM?

4.JDK,JRE,JAM之间的关系是怎么样的?

5.什么是驼峰命名法?


1.什么是JDK?

  • JDK(Java Development Kit):Java 开发工具包,是 Java 开发人员用于开发 Java 程序的工具集合。它包含了 JRE 和一系列开发工具,像编译器(javac)、调试器等。

2.什么是JRE?

  • JRE(Java Runtime Environment):Java 运行时环境,是运行 Java 程序所必需的环境集合。它包含了 JVM 和 Java 核心类库以及支持文件。核心类库提供了基本的功能,如字符串处理、集合操作等。

3.什么是JVM?

  • JVM(Java Virtual Machine):Java 虚拟机,是 Java 程序的运行核心。它是一个抽象的计算机,通过软件模拟出计算机所需的 CPU、堆栈、寄存器等,能执行 Java 字节码。不同操作系统都有对应的 JVM 实现,这也是 Java 能实现 “一次编写,到处运行” 的关键。

4.JDK,JRE,JAM之间的关系是怎么样的?

  • 包含关系:JDK 包含 JRE,而 JRE 包含 JVM。可以把 JDK 看作是一个完整的 Java 开发环境,当你需要开发 Java 程序时,就需要安装 JDK。JRE 是运行 Java 程序的最小环境,如果仅要运行已有的 Java 程序,安装 JRE 即可。JVM 则是 Java 程序运行的基础,所有的 Java 程序都在 JVM 上执行。
  • 依赖关系:Java 程序开发依赖 JDK,因为开发过程中需要使用 JDK 提供的开发工具来编写、编译和调试代码。而编译后的 Java 程序(字节码文件)要运行,则依赖 JRE 中的 JVM,JVM 负责加载字节码并执行。

示意图: 

┌───────────────────────────────┐
│            JDK                │
│ ┌───────────────────────────┐ │
│ │            JRE            │ │
│ │ ┌───────────────────────┐ │ │
│ │ │         JVM           │ │ │
│ │ └───────────────────────┘ │ │
│ └───────────────────────────┘ │
└───────────────────────────────┘

5.什么是驼峰命名法?

  • Java 驼峰命名法是一种在 Java 编程里广泛使用的命名规范,能增强代码的可读性与可维护性。主要分为小驼峰命名法和大驼峰命名法。

小驼峰命名法(Camel Case)

  • 规则:首个单词的首字母小写,后续每个单词的首字母大写,其他字母小写。
  • 适用场景:常用于方法名、变量名。
  • 示例:
    public class CamelCaseExample {// 变量名使用小驼峰命名法private int studentAge;private String studentName;// 方法名使用小驼峰命名法public int getStudentAge() {return studentAge;}public void setStudentAge(int age) {this.studentAge = age;}
    }

大驼峰命名法(Pascal Case)

  • 规则:每个单词的首字母都大写,其他字母小写。
  • 适用场景:常用于类名、接口名。
  • 示例:
    // 类名使用大驼峰命名法
    public class StudentInformation {private int age;private String name;public StudentInformation(int age, String name) {this.age = age;this.name = name;}public int getAge() {return age;}public String getName() {return name;}
    }// 接口名使用大驼峰命名法
    interface AnimalBehavior {void eat();void sleep();
    }

相关文章:

重返JAVA之路-初识JAVA

目录 1.什么是JDK? 2.什么是JRE? 3.什么是JVM? 4.JDK,JRE,JAM之间的关系是怎么样的? 5.什么是驼峰命名法? 1.什么是JDK? JDK(Java Development Kit):Java 开发工具包,是 Jav…...

封装公共方法,并存在异步请求接口情况 封装及调用

**封装公共方法,并存在异步请求接口情况 ** utilsTwo/login.js文件夹下 封装代码如下: // 扫一扫加入班组 export async function sweep(parameter) {// console.log("登录信息", userInfo)return await new Promise(function(resolve, reje…...

蓝桥杯 小蓝的操作(一维差分)

问题描述 一个数组 aa 中共包含 nn 个数,问最少多少次操作,可以让 aa 数组所有数都变成 11 。 操作的内容是:每次操作可以任选一个区间使得区间内的所有数字减 11 。 数据保证一定有解。 输入格式 第一行一个整数 nn 表示有 nn 个整数。 …...

训练数据清洗(文本/音频/视频)

多数据格式的清洗方法 以下是针对多数据格式清洗方法的系统性总结,结合Python代码示例: 一、数据清洗方法总览(表格对比) 数据类型核心挑战关键步骤常用Python工具文本非结构化噪声去噪→分词→标准化→向量化NLTK, SpaCy, Jie…...

LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, 字符集转码/字符集探测

LIB-ZC, 一个跨平台(Linux)平台通用C/C扩展库, 字符集转码/字符集探测 字符集DNS/IP相关的方法: 主要是为了解决跨平台的问题其次对一些常见操作做了封装命名空间: zcc::charset 常用变量 const char *chinese[] {"UTF-8", "GB18030", "BIG5&quo…...

阿里云服务迁移实战: 02-服务器迁移

ECS 迁移 最简单的方式是 ECS 过户,不过这里有一些限制,如果原账号是个人账号,那么目标账号无限制。如果原账号是企业账号,则指定过户给相同实名认证的企业账号。 具体操作步骤可以参考官方文档 ECS过户 进行操作。 本文重点介绍…...

cat命令查看文件行数

在Linux和Unix-like操作系统中,cat命令主要用于查看文件内容,而不是直接用来查看文件行数。如果你想要查看一个文件的行数,可以使用以下几种方法: 方法1:使用wc命令 wc(word count)命令可以用…...

7# 5多线-7 不会停

7# 5多线-7 不会停 分析,明显线接错了,打自动时也能手动启停,打手动无法启停,这时远程只能启ka3,无法启ka4。排查手自转换2上没接线,接到8上了(13和12接错了,也就是sac的5和6接错了)…...

【AI编程技术爆发:从辅助工具到生产力革命】

目录 前言:技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解关键技术模块技术选型对比 二、实战演示环境配置要求核心代码实现运行结果验证 三、性能对比测试方法论量化数据对比(2023年数据)结果分析 四、最…...

protobuf的应用

1.版本和引用 syntax "proto3"; // proto2 package tutorial; // package类似C命名空间 // 可以引用本地的,也可以引用include里面的 import "google/protobuf/timestamp.proto"; // 已经写好的proto文件是可以引用 我们版本选择pr…...

C++字符串操作详解

引言 字符串处理是编程中最常见的任务之一,而在C中,我们有多种处理字符串的方式。本文将详细介绍C中的字符串操作,包括C风格字符串和C的string类。无论你是C新手还是想巩固基础的老手,这篇文章都能帮你梳理字符串处理的关键知识点…...

原理图设计准备:页面栅格模板应用设置

一、页面大小的设置 (1)单页原理图页面设置 首先,选中需要更改页面尺寸的那一页原理图,鼠标右键,选择“Schmatic Page Properties”选项,进行页面大小设置。 (2)对整个原理图页面设…...

MySQL 的四种社交障碍等级

在数据库的世界里,数据们也有社交问题!事务隔离级别就是控制它们互相看到对方的程度... 什么是事务隔离?🤔 想象一下,数据库是一个繁忙的餐厅,每个事务都是一桌客人,而数据就是美食。事务隔离…...

100道C++ 高频经典面试题带解析答案

100道C 高频经典面试题带解析答案 C作为一种功能强大且广泛应用的编程语言,在技术面试中经常被考察。掌握高频经典面试题不仅能帮助求职者自信应对面试,还能深入理解C的核心概念。以下整理了100道高频经典C面试题,涵盖基础知识、数据结构、面…...

vue实现中英文切换

第一步:安装插件vue-i18n,npm install vue-i18n 第二步:在src下新建locales文件夹,并在locales下新建index.js、EN.js、CN.js文件 第三步:在EN.js和CN.js文件下配置你想要的字段,例如: //CN.js…...

day31-贪心__56. 合并区间__ 738.单调递增的数字__968.监控二叉树 (可跳过)

56. 合并区间 合并区间&#xff0c;这道题和昨天的452. 用最少数量的箭引爆气球和435. 无重叠区间 也是类似的思路&#xff0c;我们需要先对所有vector按照左端点或者右端点进行排序。本题按照左端点进行排序。之后&#xff0c;如果前一段的右端点<后一段的左端&#xff0c…...

【antd + vue】Modal 对话框:修改弹窗标题样式、Modal.confirm自定义使用

一、标题样式 1、目标样式&#xff1a;修改弹窗标题样式 2、问题&#xff1a; 直接在对应css文件中修改样式不生效。 3、原因分析&#xff1a; 可能原因&#xff1a; 选择器权重不够&#xff0c;把在控制台找到的选择器直接复制下来&#xff0c;如果还不够就再加&#xff…...

Gson、Fastjson 和 Jackson 对比解析

目录 1. Gson (Google) 基本介绍&#xff1a; 核心功能&#xff1a; 特点&#xff1a; 使用场景&#xff1a; 2. Fastjson (Alibaba) 基本介绍&#xff1a; 核心功能&#xff1a; 特点&#xff1a; 使用场景&#xff1a; 3. Jackson 基本介绍&#xff1a; 核心功能…...

GStreamer开发笔记(一):GStreamer介绍,在windows平台部署安装,打开usb摄像头对比测试

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://blog.csdn.net/qq21497936/article/details/147049923 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、O…...

UE5,LogPackageName黄字警报处理方法

比如这个场景&#xff0c;淘宝搜索&#xff0c;ue5 T台&#xff0c;转为ue5.2后&#xff0c;选择物体&#xff0c;使劲冒错。 LogPackageName: Warning: DoesPackageExist called on PackageName that will always return false. Reason: 输入“”为空。 2. 风险很大的删除法&…...

unity曲线射击

b站教程 using UnityEngine; using System.Collections;public class BallLauncher : MonoBehaviour {public float m_R;public NewBullet m_BulletPre;public Transform m_Target;private void Start(){StartCoroutine(Attack());}private void OnDestroy(){StopAllCoroutine…...

freecad内部python来源 + pip install 装包

cmake来源&#xff1a; 只能find默认地址&#xff0c;我试过用虚拟的python地址提示缺python3config.cmake 源码来源&#xff1a; pip install 装包&#xff1a; module_to_install "your pakage" import os import FreeCAD import addonmanager_utilities as util…...

【家政平台开发(36)】数据迁移与初始化开发:筑牢家政平台的数据根基

本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化,测试阶段多维度保障平台质量,…...

Spring Boot 中集成 Knife4j:解决文件上传不显示文件域的问题

Spring Boot 中集成 Knife4j&#xff1a;解决文件上传不显示文件域的问题 在使用 Knife4j 为 Spring Boot 项目生成 API 文档时&#xff0c;开发者可能会遇到文件上传功能不显示文件域的问题。本文将详细介绍如何解决这一问题&#xff0c;并提供完整的解决方案。 Knife4j官网…...

信噪比(SNR)的基本定义

噪比&#xff08;SNR&#xff09;是衡量信号质量的核心指标&#xff0c;定义为有效信号与背景噪声的比值&#xff0c;广泛应用于电子、通信、医学及生物学等领域。 一、定义 基本定义‌ SNR 是信号功率&#xff08;或电压&#xff09;与噪声功率&#xff08;或电压&#xff…...

SpringBoot集成阿里云文档格式转换实现pdf转换word,excel

一、前置条件 1.1 创建accessKey 如何申请&#xff1a;https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair 1.2 开通服务 官方地址&#xff1a;https://docmind.console.aliyun.com/doc-overview 未开通服务时需要点击开通按钮&#xff0c;然后才能调用…...

STM32 模块化开发指南 · 第 5 篇 STM32 项目中断处理机制最佳实践:ISR、回调与事件通知

本文是《STM32 模块化开发实战指南》第 5 篇,聚焦于 STM32 裸机开发中最核心也最容易被忽视的部分——中断服务机制。我们将介绍如何正确、高效地设计中断处理函数(ISR),实现数据与事件从中断上下文传递到主逻辑的通道,并构建一个清晰、可维护、非阻塞的事件通知机制。 一…...

解析Java根基:Object类核心方法

Object类常见方法解析 在Java编程中&#xff0c;Object类是所有类的根类&#xff0c;它包含了许多实用的方法&#xff0c;这些方法在不同的场景下发挥着重要作用。下面我们来详细了解一下Object类中的一些常见方法。 1. toString方法 toString方法是用于将对象转换为字符串表…...

LabVIEW 中 JSON 数据与簇的转换

在 LabVIEW 编程中&#xff0c;数据格式的处理与转换是极为关键的环节。其中&#xff0c;将数据在 JSON 格式与 LabVIEW 的簇结构之间进行转换是一项常见且重要的操作。这里展示的程序片段就涉及到这一关键功能&#xff0c;以下将详细介绍。 一、JSON 数据与簇的转换功能 &am…...

K8s常用基础管理命令(一)

基础管理命令 基础命令kubectl get命令kubectl create命令kubectl apply命令kubectl delete命令kubectl describe命令kubectl explain命令kubectl run命令kubectl cp命令kubectl edit命令kubectl logs命令kubectl exec命令kubectl port-forward命令kubectl patch命令 集群管理命…...