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

第01章-Java语言概述

目录

 1 常见DOS命令

常用指令

相对路径与绝对路径

2 转义字符

3 安装JDK与配置环境变量

JDK与JRE

JDK的版本

JDK的下载

JDK的安装

配置path环境变量

 4 Java程序的编写与执行

 5 Java注释

 6 Java API文档

7 Java核心机制:JVM


 1 常见DOS命令

DOSDisk Operating System,磁盘操作系统)是Microsoft公司在Windows之前推出的一个单用户、单任务(只能执行一个任务)的操作系统。现在被Windows取代。

常用指令

  • 进入和退回盘符/目录

    操作

    功能

    磁盘盘符名称:

    盘符切换。如E:切换到E

    dir

    列出当前目录下的文件和文件夹

    cd 路径

    切换到路径所指的目录。路径可以是绝对路径或相对路径,路径中可以指定单级目录或多级目录

    cd /D 路径

    跨盘符切换目录。如直接从E盘下的目录切换到F盘的下的目录,必须加\D

    cd..

    回退到上一级目录

    cd\cd/

    回退到盘符目录

  • 创建、删除

    操作

    功能

    md 文件目录名

    创建指定的文件目录。文件目录名可以是绝对路径

    rd 文件目录名

    删除指定的文件目录(目录内有数据,删除失败)。可以直接指定绝对路径

  • 其它

    操作

    功能

    cls

    清屏

    exit

    退出命令提示符窗口

相对路径与绝对路径

  • 相对路径:从当前目录开始定位,形成到目标目录的一个路径。
  • 绝对路径:从根目录开始定位,形成的路径。

补图

2 转义字符

转义字符

功能

\t

制表位,实现文本对齐

\n

换行符,切换到下一行

\\

转义\,打印一个\

\'

转义',打印一个'

\"

转义",打印一个"

\r

回车,不是换行。如打印文本时,输入\r后光标定位到行首并依次覆盖打印

3 安装JDK与配置环境变量

JDK与JRE

  • JDK(Java Development Kit):指Java程序开发工具包,包含JRE和开发工具。
  • JRE(Java Runtime Environment):指Java程序运行时所需环境,包含JVM和运行时需要的核心类库
  • JVM(Java Virtual Machine):指Java虚拟机。

小结:

JDK = JRE + 开发工具

JRE = JVM + Java SE标准类库


JDK的版本

Java 8是最受欢迎的版本,Java后续版本更新后,Java 8号称“你发任你发,我用Java8”。

版本

发行时间

说明

Java 8.0

2014.03.18

Java 5.0以后变化最大的版本,是长期支持版本(LTS)。

Java 11.0

2018.09.25

JDK安装包集成JRE,取消了JRE的独立,是长期支持版本(LTS

Java 17.0

2021.09

长期支持版本(LTS),Spring框架宣布从Java 8调整到Java 17

JDK的下载

  • Java所有版本下载网址(Oracle公司官网):https://www.oracle.com/java/technologies/downloads/archive/icon-default.png?t=N7T8https://www.oracle.com/java/technologies/downloads/archive/

JDK的安装

笔者(爱喝胡辣汤)安装了两个版本JDK 8JDK 17。JDK 17不需要再独立安装JRE。

  • JDK8安装:傻瓜式安装,注意安装路径尽量不要包含中文空格,安装目录E:\javaStudy\jdk\jdk1.8.0_131

配置path环境变量

Path环境变量及其作用:在命令行使用javac.exe等工具时,任意目录下都可以找到该工具所在的目录(实际是环境变量保存了该工具所在的目录)。

配置环境变量:【我的电脑】右键 ->【属性】->【高级系统设置】->【环境变量】

  1. 方式1:直接在系统变量中的Path变量添加E:\javaStudy\jdk\jdk1.8.0_131\bin


  2. 方式2:先编辑变量JAVA_HOME,再将JAVA_HOME添加到Path


配置完成:

JDK17的安装:傻瓜式安装,集成JRE安装包,自动配置环境变量。安装目录E:\javaStudy\jdk\jdk-17。


 4 Java程序的编写与执行

开发步骤:

Java程序开发三步骤:编写编译运行

  • 将Java代码编写到扩展名为.java的源文件中;
  • 通过javac.exe命令对.java源文件进行编译,生成.class字节码文件;
  • 通过java.exe命令对.class字节码文件进行运行

开发工具:

  1. 文本开发工具:Notepad++,EditPlus,Sublime Test

  2. 集成开发工具:eclipse,IntelliJ IDEA

写第一个Java程序:F:\dream\javase\code\chapter01\Hello.java

// 1.class:关键字,表示一个类,后面跟着类名
class Hello{// 2.main()方法的格式是固定的,是程序的入口public static void main(String[] args){// 4.执行语句:从控制台输出数据的操作System.out.println("hello,world"); // 输出后换行System.out.print("hello,world"); // 输出后不换行}
}
// 3.Java程序严格区分大小写
  1. 一个.java源文件中只能有一个public类,其它类个数不限制,每个类都会生成一个.class文件。
  2. 如果源文件内有一个public类(也可以没有public类),则文件名必须与类名一致。

 5 Java注释

注释是程序编写的思路说明,指明代码的作用,为什么这样写,提升文件个可读性。

Java注释的3种方式:

  • 单行注释
    //注释内容
  • 多行注释
    /*
    注释内容1
    注释内容2
    */
  • 文档注释(Java特有):文档注释内容可以被JDK提供的工具javadoc解析,生成一套以网页文件形式体现的程序的说明文档。使用语句javadoc -d 文件夹名 -标签1 -标签2 文件名.java,如javadoc -d mydir -author -version Comment.java
    /**@author 指定java程序的作者@version 指定源文件的版本
    */

 注意:

  1. 单行注释和多行注释中的信息,不参与编译,生成的字节码文件中不包含单行注释和多行注释中的信息。
  2. 多行注释不允许嵌套使用。

演示:F:\dream\javase\code\chapter01\Comment.java

/*
这是多行注释1,多行注释不允许嵌套使用
单行注释和多行注释中的信息,不参与编译,生成的字节码文件中不包含单行注释和多行注释中的信息。
*//**
这是文档注释1
@author ahhlt
@version 1.0
*/public class Hello{public static void main(String[] args){//控制输出内容,这是单行注释System.out.println("hello,world");//System.out.print("hello,world");/**这是文档注释2*//*这是多行注释2*/}
}

javadoc解析以后,发现在网页中只能看到文档注释中的内容。单行和多行注释的内容看不到。

 6 Java API文档

  • API(Application Programming Interface,Java应用程序编程接口)是Java提供的基本编程接口。
  • Java语言提供了大量的基础类,Oracle公司为这些基础类提供了相应的说明文档,用于开发者查询如何使用某些基础类/方法。
  • Java API文档,JDK说明书、帮助文档。
  • 下载API文档
    • 在线看(英文版):Overview (Java SE 17 & JDK 17)
    • 离线下载(英文版):Java Development Kit 17 Documentation
    • 中文本地文档:F:\dream\jdk_api_1.8_google.CHM

7 Java核心机制:JVM

Java语言的核心优势就是跨平台性,Java语言编写的程序可以在不同操作系统上运行。

 跨平台性原理:在需要运行java程序的操作系统上,安装一个Java虚拟机(JVMJava Virtual Machine),由JVM负责Java程序在该系统上的运行。

 在此,JVM充当一个翻译的身份,将Java程序的字节码文件翻译为对应操作系统可以执行的代码。

JVM的功能:是一个虚拟计算机,是Java程序运行时的必要环境。

相关文章:

第01章-Java语言概述

目录 1 常见DOS命令 常用指令 相对路径与绝对路径 2 转义字符 3 安装JDK与配置环境变量 JDK与JRE JDK的版本 JDK的下载 JDK的安装 配置path环境变量 4 Java程序的编写与执行 5 Java注释 6 Java API文档 7 Java核心机制:JVM 1 常见DOS命令 DOS(…...

Spring | Spring Cache 缓存框架

Spring Cache 缓存框架: Spring Cache功能介绍Spring Cache的Maven依赖Spring Cache的常用注解EnableCaching注解CachePut注解Cacheable注解CacheEvict注解 Spring Cache功能介绍 Spring Cache是Spring的一个框架,实现了基于注解的缓存功能。只需简单加一…...

雷达开发的基本概念fft,cfar,以及Clutter, CFAR,AoA

CFAR Constant False-Alarm Rate的缩写。在雷达信号检测中,当外界干扰强度变化时,雷达能自动调整其灵敏度,使雷达的虚警概率保持不变。具有这种特性的接收机称为恒虚警接收机。雷达信号的检测总是在干扰背景下进行的,这些干扰包括…...

什么是大数据测试?有哪些类型?应该怎么测?

随着目前世界上各个国家使用大数据应用程序或应用大数据技术场景的数量呈指数增长,相应的,对于测试大数据应用时所需的知识与大数据测试工程师的需求也在同步增加。 针对大数据测试的相关技术已慢慢成为当下软件测试人员需要了解和掌握的一门通用技术。…...

03-垃圾收集策略与算法

垃圾收集策略与算法 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因…...

1.AUTOSAR的架构及方法论

在15、16年之前,AUTOSAR这个东西其实是被国内很多大的OEM或者供应商所排斥的。为什么?最主要的原因还是以前采用手写底层代码+应用层模型生成代码的方式进行开发。每个供应商或者OEM都有自己的软件规范或者技术壁垒,现在提个AUTOSAR想搞统一,用一个规范来收割汽车软件供应链…...

Kotlin中的List集合

在Kotlin中,List集合用于存储一组有序的元素。List集合分为可变集合(MutableList)和不可变集合(List)。本篇博客将分别介绍可变集合和不可变集合,并提供相关的API示例代码。 不可变集合(List&a…...

微信小程序WeUI项目weui-miniprogram如何运行起来?

微信小程序WeUI项目weui-miniprogram如何运行起来? 解决方法: 1、下载 https://github.com/wechat-miniprogram/weui-miniprogram 2、在项目根目录weui-miniprogram-master执行以下命令安装依赖: npm install 3、继续执行编译命令: npm r…...

MapReduce编程:检索特定群体搜索记录和定义分片操作

文章目录 MapReduce 编程:检索特定群体搜索记录和定义分片操作一、实验目标二、实验要求及注意事项三、实验内容及步骤 附:系列文章 MapReduce 编程:检索特定群体搜索记录和定义分片操作 一、实验目标 熟悉MapReduce编程涉及的主要类和接口…...

pytorch 入门 (四)案例二:人脸表情识别-VGG16实现

实战教案二:人脸表情识别-VGG16实现 本文为🔗小白入门Pytorch内部限免文章 参考本文所写记录性文章,请在文章开头注明以下内容,复制粘贴即可 🍨 本文为🔗小白入门Pytorch中的学习记录博客🍦 参…...

数据结构--线性表回顾

目录 线性表 1.定义 2.线性表的基本操作 3.顺序表的定义 3.1顺序表的实现--静态分配 3.2顺序表的实现--动态分配 4顺序表的插入、删除 4.1插入操作的时间复杂度 4.2顺序表的删除操作-时间复杂度 5 顺序表的查找 5.1按位查找 5.2 动态分配的方式 5.3按位查找的时间…...

ChatGPT(1):ChatGPT初识

1 ChatGPT原理 ChatGPT 是基于 GPT-3.5 架构的一个大型语言模型,它的工作原理涵盖了深度学习和自然语言处理技术。以下是 ChatGPT 的工作原理的一些关键要点: 神经网络架构:ChatGPT 的核心是一个深度神经网络,采用了变种的 Tran…...

PostgreSQL 插件 CREATE EXTENSION 原理

PostgreSQL 提供了丰富的数据库内核编程接口,允许开发者在不修改任何 Postgres 核心代码的情况下以插件的形式将自己的代码融入内核,扩展数据库功能。本文探究了 PostgreSQL 插件的一般源码组成,梳理插件的源码内容和实现方式;并介…...

Android常见分区

一、Google官方标准分区 1. Boot分区 包含Linux内核和一个最小的root文件系统(装载到ramdisk中),用于挂载系统和其他的分区并开始Runtime。正如名字所代表的意思(注:boot的意思是启动),这个分区使Android设备可以启动…...

华为鸿蒙4谷歌GMS安装教学

目录 问题描述 参考视频 教学视频1 配套文档 教学视频2 资源包(配套视频1) 设备未经 play 保护机制认证 问题描述 很多国外的最新应用需要再Google商店才能下载比如ChatGPT 华为手机不支持 Google Play 服务的原因主要是由于谷歌服务框架(GMS)未…...

原型设计工具:Balsamiq Wireframes 4.7.4 Crack

原型设计工具:Balsamiq Wireframes是一种快速的低保真UI 线框图工具,可重现在记事本或白板上绘制草图但使用计算机的体验。 它确实迫使您专注于结构和内容,避免在此过程后期对颜色和细节进行冗长的讨论。 线框速度很快:您将产生更多想法&am…...

Nginx Proxy代理

代理原理 反向代理产生的背景: 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成…...

SparkSQL之LogicalPlan概述

逻辑计划阶段在整个流程中起着承前启后的作用。在此阶段,字符串形态的SQL语句转换为树结构形态的逻辑算子树,SQL中所包含的各种处理逻辑(过滤、剪裁等)和数据信息都会被整合在逻辑算子树的不同节点中。逻辑计划本质上是一种中间过…...

Ubuntu 安装 kubectl、kubeadm 和 kubelet

你需要在每台机器上安装以下的软件包: kubeadm:用来初始化集群的指令。 kubelet:在集群中的每个节点上用来启动 Pod 和容器等。 kubectl:用来与集群通信的命令行工具。 kubeadm 不能帮你安装或者管理 kubelet 或 kubectl&#…...

C语言获取文件长度

C语言获取文件长度 文章目录 C语言获取文件长度一、使用标准库方法二、使用Linux系统调用 一、使用标准库方法 #include <stdio.h>long get_file_size(const char * filename ){long size 0;FILE * fp fopen(filename,"rb");if( fp NULL ) {printf("o…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统&#xff0c;支持多语言对话&#xff08;如 中文&#xff0c;英文&#xff0c;日语&#xff09;&#xff0c;语音情感&#xff08;如 开心&#xff0c;悲伤&#xff09;&#x…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙

Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...

Linux-进程间的通信

1、IPC&#xff1a; Inter Process Communication&#xff08;进程间通信&#xff09;&#xff1a; 由于每个进程在操作系统中有独立的地址空间&#xff0c;它们不能像线程那样直接访问彼此的内存&#xff0c;所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...

6.9本日总结

一、英语 复习默写list11list18&#xff0c;订正07年第3篇阅读 二、数学 学习线代第一讲&#xff0c;写15讲课后题 三、408 学习计组第二章&#xff0c;写计组习题 四、总结 明天结束线代第一章和计组第二章 五、明日计划 英语&#xff1a;复习l默写sit12list17&#…...

python打卡day47

昨天代码中注意力热图的部分顺移至今天 知识点回顾&#xff1a; 热力图 作业&#xff1a;对比不同卷积层热图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import D…...