Java基础及开发环境配置教程

Java基础

Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的能力而闻名。无论是开发桌面应用程序、Web应用程序还是移动应用程序,Java都是一个优秀的选择。本文将介绍Java的基础知识和如何配置Java开发环境。

1. Java简介

Java是一种面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)在1995年发布。Java的设计理念是使得编程人员能够编写一次代码,在任何支持Java的设备上运行,这一点通过Java虚拟机(JVM)实现。Java广泛应用于企业级开发、移动应用开发(Android)、Web开发等领域。

2. Java的特点

  • 跨平台性:Java程序在Java虚拟机上运行,使其能够在不同的操作系统上运行,实现了“一次编写,到处运行”。
  • 面向对象:Java是一种纯面向对象的编程语言,支持封装、继承和多态等面向对象的特性。
  • 安全性:Java提供了强大的安全机制,包括类加载器、字节码校验器和沙箱等。
  • 丰富的API:Java提供了丰富的应用程序接口(API),覆盖了图形用户界面、网络编程、文件操作、数据库连接等多种功能。

3. Java开发环境配置

配置Java开发环境主要包括安装Java Development Kit(JDK)和配置环境变量。

3.1 安装JDK

  1. 下载JDK:访问Oracle官方网站或其他JDK提供商,下载适用于您操作系统的JDK版本。
  2. 安装JDK:运行下载的安装程序,并按照指引完成安装。

3.2 配置环境变量

为了能够在命令行中全局访问javajavac命令,需要配置环境变量。

  • Windows系统

    1. 右键点击“我的电脑”或“此电脑”,选择“属性”。
    2. 点击“高级系统设置” -> “环境变量”。
    3. 在“系统变量”中找到Path变量,点击“编辑”,在变量值的末尾添加JDK的bin目录路径,例如:C:\Program Files\Java\jdk-版本号\bin
    4. 点击“确定”保存设置。
  • 或者直接打开设置搜索
  • macOS/Linux系统: 打开终端(Terminal),编辑~/.bash_profile~/.zshrc文件(取决于你使用的shell),添加以下行:

export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
export PATH=$JAVA_HOME/bin:$PATH
  • 保存文件并执行source ~/.bash_profilesource ~/.zshrc以应用更改。

3.3 验证安装

打开命令行或终端,输入以下命令验证JDK是否正确安装和配置:

java -version
javac -version

如果看到安装的Java版本信息,则表示Java开发环境配置成功。

openjdk version "17.0.7" 2023-04-18 LTS
OpenJDK Runtime Environment Microsoft-7626293 (build 17.0.7+7-LTS)
OpenJDK 64-Bit Server VM Microsoft-7626293 (build 17.0.7+7-LTS, mixed mode, sharing)

4. 总结

Java是一种强大的编程语言,广泛应用于各种应用程序开发中。通过本文,你已经了解了Java的基础知识和如何配置Java开发环境。接下来,你可以开始Java的学习之旅,探索Java世界的无限可能。祝你学习愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/435789.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CSP试题回顾】201609-2-火车购票

CSP-201609-2-火车购票 解题思路 初始化座位: 首先,它创建了一个20行5列的二维向量 seatMap 用于表示车厢的座位情况。每个座位按顺序赋予了一个编号,从1到100。这部分代码通过两层循环完成,外层循环遍历所有的排,内层循环遍历每…

【学习】torch.nn.CrossEntropyLoss交叉熵损失函数

交叉熵损失函数torch.nn.CrossEntropyLoss 交叉熵主要是用来判定实际的输出与期望的输出的接近程度,为什么这么说呢,举个例子: 在做分类的训练的时候,如果一个样本属于第K类,那么这个类别所对应的输出节点的输出值应…

性能对比:mysql 5.7-8.0-TiDB 7.5-OceanBase 4.2-MariaDB 10.11-机械硬盘-固态硬盘-

1.mysql 5.7-8.0 5.7比8.0优秀 结果:5.7比8.0优秀 10% 2.机械硬盘和固态硬盘 影响不大,主要是CPU 3. JAVA MYSQL 分开 4.『直属 MySQL 』vs 『Docker MySQL』 vs 『Podman MySQL』 直属最好 ,其次是Podman,最后是DOCKER 5.MySQL …

CKA考试必备:解锁Pod封装多容器的高级技巧!

往期精彩文章 : 提升CKA考试胜算:一文带你全面了解RBAC权限控制!揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?CKA认证必备:掌握k8s网络策略的关键要点提高CKA认证成功率,CKA真题中的节点维…

《JAVA与模式》之责任链模式

系列文章目录 文章目录 系列文章目录前言一、从击鼓传花谈起二、责任链模式的结构三、使用场景四、责任链模式在Tomcat中的应用 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站&…

LeetCode_25_困难_K个一组翻转链表

文章目录 1. 题目2. 思路及代码实现(Python)2.1 模拟 1. 题目 给你链表的头节点 h e a d head head ,每 k k k 个节点一组进行翻转,请你返回修改后的链表。 k k k 是一个正整数,它的值小于或等于链表的长度。如果节…

Spring之Bean详解

Spring之Bean详解 什么是Bean? 在Spring中,Bean是指由Spring容器管理的对象,这些对象是由Spring IoC容器负责创建、组装和管理的。Bean可以是Java类的实例,也可以是其他Spring管理的组件,例如数据源、事务管理器等。…

【树上倍增】【割点】 【换根法】3067. 在带权树网络中统计可连接服务器对数目

作者推荐 视频算法专题 本文涉及知识点 树上倍增 树 图论 并集查找 换根法 深度优先 割点 LeetCode3067. 在带权树网络中统计可连接服务器对数目 给你一棵无根带权树,树中总共有 n 个节点,分别表示 n 个服务器,服务器从 0 到 n - 1 编号…

Wireshark_labs TCP

在本实验中,我们将详细研究著名的TCP协议的行为。我们将通过从您的电脑向远程服务器传输一份150KB 的文件(一份Lewis Carrol 的“爱丽丝梦游仙境”文本), 并分析TCP传输内容的发送和接收过程来实现。我们将研究TCP对序列和确认号的使用,以提供…

Proxmox VE安装CentOS

1、下载CentOS镜像文件 阿里巴巴开源镜像站: https://developer.aliyun.com/mirror/ CentOS 镜像文件 https://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso 2、上传ISO镜像 选择ISO镜像上传 3、创建虚拟机 1、点击【创…

python转换json

import json import os from enum import Enumclass LaneDirectionType(int, Enum):LaneDirectionType_Unknown -1 # 类型未知OneWay 1 # 单向TwoWay 2 # 双向# 颜色类型 class ColorCombo(int, Enum):NOUSE 0 # 默认值UNKNOWN 1000 # 未定义WHITE 1 # 白色(默认值…

俄罗斯套娃 (Matryoshka) 嵌入模型概述

在这篇博客中,我们将向你介绍俄罗斯套娃嵌入的概念,并解释为什么它们很有用。我们将讨论这些模型在理论上是如何训练的,以及你如何使用 Sentence Transformers 来训练它们。 除此之外,我们还会告诉你怎么用这种像套娃一样的俄罗斯…

【Vue】vue3 在图片上渲染 OCR 识别后的文本框、可复制文本组件

需求 后面返回解析后的文本和四角坐标,在图片上渲染成框,并且可复制。图片还可以缩放、拖拽 实现 这里要重点讲下关于OCR文本框的处理: 因为一些文字可能是斜着放的,所有我们要特殊处理,根据三角函数来计算出它的偏…

分布式ID生成策略-雪花算法Snowflake

分布式ID生成策略-雪花算法Snowflake 一、其他分布式ID策略1.UUID2.数据库自增与优化2.1 优化1 - 共用id自增表2.2 优化2 - 分段获取id 3.Reids的incr和incrby 二、雪花算法Snowflake1.雪花算法的定义2.基础雪花算法源码解读3.并发1000测试4.如何设置机房和机器id4.雪花算法时钟…

短剧系统开发:一种新型的娱乐方式

一、引言 随着科技的快速发展,人们的生活方式也在逐渐改变。在娱乐领域,短剧作为一种新型的娱乐方式,正在受到越来越多人的喜爱。短剧以其短小精悍、情节紧凑、易于观看等特点,迅速占领了市场。因此,开发一款短剧系统…

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示应用

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍TM1638键盘数码管模块概述TM1638键盘数码管…

pytorch什么是梯度

目录 1.导数、偏微分、梯度1.1 导数1.2 偏微分1.3 梯度 2. 通过梯度求极小值3. learning rate3. 局部最小值4. Saddle point鞍点 1.导数、偏微分、梯度 1.1 导数 对于yx 2 2 2 的导数,描述了y随x值变化的一个变化趋势,导数是个标量反应的是变化的程度&…

NoSQL--3.MongoDB配置(Linux版)

目录 2.2 Linux环境下操作 2.2.1 传输MongoDB压缩包到虚拟机: 2.2.2 启动MongoDB服务: 2.2 Linux环境下操作 2.2.1 传输MongoDB压缩包到虚拟机: (笔者使用XShell传输) 如果不想放在如图的路径,删除操作…

基于springboot+vue实现学校田径运动会系统项目【项目源码+论文说明】计算机毕业设计

基于springbootvue实现学校田径运动会系统演示 摘要 随着互联网普及率的提高,互联网与人们日常生活的关系越来越密切,越来越多学校也正在着力建设自己的信息化管理系统,学校根据自身的发展及社会发展的需要,开始将传统的运动会成…

Golang模糊测试实践

模糊测试可以简单快速的自动化构建测试用例,尽量遍历各种可能的输入场景,从而保证函数代码覆盖尽可能多的边缘场景。Go原生内置了模糊测试的支持,如果善加利用,可以有效提升Go代码的质量。原文: Fuzz Testing in Golang 题图由Lex…