Java 概述

2023-11-01

1.Java 语言背景介绍

语言:人与人交流沟通的表达方式。

计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言。

Java 语言是美国 Sun 公司(Stanford University Network)在 1995 年推出的计算机语言。

Java 之父:詹姆斯·高斯林(James Gosling)

在这里插入图片描述

Java 语言的三个版本:

Java SE:Java 语言的标准版,用于桌面应用的开发,是其他两个版本的基础。

  • 桌面应用:用户只要打开程序,程序的界面会让用户在最短的时间内找到他们需要的功能,同时主动带领用户完成他们的工作并得到最好的体验,例如 Windows 上的计算器。
  • 学习 Java SE 的目的:为今后要从事的 Java EE 开发打基础。

Java ME:Java 语言的小型版,用于嵌入式消费类电子设备。

Java EE:Java 语言的企业版,用于 Web 方向的网站开发。

  • 网页:通过浏览器将数据展示在用户面前,跟后台服务器没有交互。
  • 网站:通过跟后台服务器的交互,将查询到的真实数据再通过网页展示出来。
  • 简单理解:网站 = 网页 + 后台服务器。

2.Java 语言跨平台原理

平台:指的是操作系统。

  • Windows
  • Mac
  • Linux

跨平台:Java 程序可以在任意操作系统上运行。

在这里插入图片描述

总结:在不同的操作系统中,都安装一个与操作系统对应的 Java 虚拟机(JVM, Java Virtual Machine)即可。

问:JVM 本身是否可以跨平台?

答:JVM 虚拟机本身不允许跨平台,允许跨平台的是 Java 程序。

3.JRE 和 JDK

开发 Java 程序,需要三个步骤:编写代码,编译代码,运行代码。

编写代码:

在这里插入图片描述

编译代码:

在这里插入图片描述

运行代码:

在这里插入图片描述

JRE、JDK、JVM 的作用:

  1. 编写代码的过程中,需要使用 JRE 中 Java 已经写好的代码。
  2. 编译代码的过程中,需要使用 JDK 中的编译工具。
  3. 运行代码的过程中,需要使用 JDK 中的运行工具。
  4. 代码需要运行在 JVM 当中。

JDK、JRE、JVM 的关系:

在这里插入图片描述

总结:我们只需安装 JDK 即可,它包含了 Java 的运行环境和虚拟机。

4.JDK 的下载和安装

Java 语言发展史

在这里插入图片描述

JDK 官网下载链接:点击这里

注意:针对不同的操作系统,需要下载对应版本的 JDK。

下载好后,双击运行,一路点击 下一步 傻瓜式安装即可,注意更改安装目录:

在这里插入图片描述

JDK 的安装目录介绍:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 概述 的相关文章

  • Java中有没有一种方法可以通过名称实例化一个类?

    我正在寻找问题 从字符串名称实例化一个类 https stackoverflow com questions 9854900 instantiate an class from its string name它描述了如何在有名称的情况下实例
  • Junit:如何测试从属性文件读取属性的方法

    嗨 我有课ReadProperty其中有一个方法ReadPropertyFile返回类型的Myclass从属性文件读取参数值并返回Myclass目的 我需要帮助来测试ReadPropertyFile方法与JUnit 如果可能的话使用模拟文件
  • 如何循环遍历所有组合,例如48 选择 5 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在java中从大小为n的集合中迭代生成k个元素子集 https stackoverflow com questions 4504974 how to iteratively generate k
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • Cucumber 0.4.3 (cuke4duke) 与 java + maven gem 问题

    我最近开始为 Cucumber 安装一个示例项目 并尝试使用 maven java 运行它 我遵循了这个指南 http www goodercode com wp using cucumber tests with maven and ja
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp

随机推荐

  • 常用的排序算法及其适用场景

    1 介绍 常用的排序算法主要有冒泡排序 选择排序 插入排序 希尔排序 堆排序 归并排序 快速排序 桶排序等 2 稳定性 稳定的排序算法 冒泡排序 插入排序 不稳定的排序算法 选择排序 希尔排序 堆排序 归并排序 快速排序 3 排序算法的实现
  • 数据库的介绍

    1 什么是数据库 数据库是按照数据结构来组织 存储和管理数据的仓库 通常所说的数据库表示的是数据库的管理系统 并非是在的数据仓库 2 数据库的发展史 2 1早期的数据库 早期的数据库的存储方式是通过大量的分类 比较和表格绘制的机器运行数百万
  • 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(9)

    没有想到上一个问题还没有完全结束 解决了之后我们又发现了新的问题 关于上一个问题请移步山东大学项目实训开发日志 基于vue springboot的医院耗材管理系统 8 About 的博客 CSDN博客 问题是什么呢 我们发现中心库可以看到全
  • EduCoder_web实训作业--JavaScript学习手册三:JS运算符

    这里是2021 1 4 上午11 31 真不错 一上午发了三篇 所以 你有没有认真听实习课呢 可以在讨论区 讨论一下这个实习你学到了什么 假如认真听了的话 反正我是没认真听 第一关 请在此处编写代码 Begin var a var b va
  • 物联网毕设 - stm32机器视觉的口罩佩戴检测系统 - 单片机 物联网 嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉
  • 网络安全深入学习第六课——热门框架漏洞(RCE— Weblogic反序列化漏洞)

    文章目录 一 Weblogic介绍 二 Weblogic反序列化漏洞历史 三 Weblogic框架特征 1 404界面 2 登录界面 四 weblogic常用弱口令账号密码 五 Weblogic漏洞介绍 六 Weblogic漏洞手工复现 1
  • git 进阶系列教程--add

    git add 将工作区内容放入暂存区 功能介绍 将工作区 working directory 中的内容放入暂存区 staging area 追踪文件 解释 刚被添加到工作区的文件处于未跟踪状态 Untracked files 该命令会将新
  • Elasticsearch自定义评分算法

    官方文档地址 https www elastic co guide cn elasticsearch guide current boosting by popularity html
  • Unity-动作系统-案例学习(4)人物受伤和死亡

    系列文章目录 一 人物移动和转向 二 人物跳跃和落地 三 人物攻击和判定 四 人物受伤和死亡 目录 前言 一 人物受伤逻辑分析 二 人物受伤和死亡动画逻辑 三 人物受伤脚本实现 1 Damageable脚本 受击对象上 2 IMessage
  • 【微服务】springboot 多模块打包使用详解

    div class htmledit views div
  • C语言随机生成mac地址的代码

    以下是使用提供的 rand mac int get 函数和 random mac addr create 函数来生成随机 MAC 地址的示例代码 include
  • 【华为OD机试python】工单调度策略【 2023 Q1 A卷

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 当小区通信设备上报警时 系统会自动生成待处理的工单 工单调度系统需要根据不同的策略 调度外线工程师 FME 上站去修复工单对应的问题 根据与运营
  • 音频文件的采样率转换为 16K 的三种方法(python代码)

    要将音频文件的采样率转换为 16K 可以使用 Python 的 wave 模块和 scipy signal 模块 具体步骤如下 打开原始的音频文件 并读取其采样率和采样数据 import wave 打开音频文件 with wave open
  • win10 网卡驱动正常搜索不到WiFi信号 解决方法

    昨天晚上家里停电 早上起来发现电脑没有WiFi了 检查了一上午才搞好 1 检查是否是路由器问题 路由器信号正常 因为手机能连接使用 2 检查是否是网卡驱动问题 打开电脑 管理 设备管理器 查看网卡驱动是否显示异常 打开cmd 输入ping
  • 2023年中国酒店业数字化转型趋势报告

    报告在去年内容的基础上 做了进一步的延展 分析了领先型企业在数字化体系建设过程中表现出的特点及未来技术投资方向 深度剖析了处于数字化转型 进展期 的中国酒店业所取得的数字化成果以及未来的趋势洞察 关注公众号 互联互通社区 回复 SZJJ30
  • 将jar包打包成镜像:Dockerfile 看这一篇就够了

    新建一个目录 该目录下 Dockerfile文件 默认文件名称 内容下面所示 对应的jar包 penjdk 8 jre 为基础镜像 来构建此镜像 可以理解为运行的需要基础环境 FROM openjdk 8 jre WORKDIR指令用于指定
  • unity使物体运行时自动旋转

    using System Collections using System Collections Generic using UnityEngine public class jiaobeng MonoBehaviour public f
  • 网络安全难学吗?前途怎么样?

    会者不难 网络安全是比较复杂的 涵盖网络的各个方面 入门简单 但是要深入学习相对比较难一些 还是要通过各种方法去系统的学习网络安全知识 掌握网络安全技能 才能比较容易的进入到网络安全行业 发展前景 根据相关调研今年上半年 网络安全产业人才需
  • 微信小程序服务器里有数据库吗?,微信小程序云开发服务端数据库API 在集合上新增记录...

    Collection add 在集合上新增记录 函数签名如下 function add options object Promise 参数说明字段名类型必填默认值说明dataObject是新增记录的定义 返回值说明 Promise 的 re
  • Java 概述

    目录 1 Java 语言背景介绍 2 Java 语言跨平台原理 3 JRE 和 JDK 4 JDK 的下载和安装 1 Java 语言背景介绍 语言 人与人交流沟通的表达方式 计算机语言 人与计算机之间进行信息交流沟通的一种特殊语言 Java