第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(
DiskOperatingSystem,磁盘操作系统)是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/
https://www.oracle.com/java/technologies/downloads/archive/ 
JDK的安装
笔者(爱喝胡辣汤)安装了两个版本JDK 8和JDK 17。JDK 17不需要再独立安装JRE。
- JDK8安装:傻瓜式安装,注意安装路径尽量不要包含中文或空格,安装目录E:\javaStudy\jdk\jdk1.8.0_131。

配置path环境变量
Path环境变量及其作用:在命令行使用javac.exe等工具时,任意目录下都可以找到该工具所在的目录(实际是环境变量保存了该工具所在的目录)。
配置环境变量:【我的电脑】右键 ->【属性】->【高级系统设置】->【环境变量】
- 方式1:直接在系统变量中的Path变量添加E:\javaStudy\jdk\jdk1.8.0_131\bin

- 方式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字节码文件进行运行。

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

- 集成开发工具: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程序严格区分大小写
- 一个.java源文件中只能有一个public类,其它类个数不限制,每个类都会生成一个.class文件。
- 如果源文件内有一个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 指定源文件的版本 */
注意:
- 单行注释和多行注释中的信息,不参与编译,生成的字节码文件中不包含单行注释和多行注释中的信息。
- 多行注释不允许嵌套使用。
演示: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虚拟机(JVM,Java 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…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一:HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二:Floyd 快慢指针法(…...
