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

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...