当前位置: 首页 > 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…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...