【韩顺平Java笔记】第2章:Java概述

按视频的标号来对应小标题,自用学习笔记

文章目录

  • 5. 内容梳理
  • 6. 程序举例
    • 6.1 什么是程序
  • 7. Java故事
    • 7.1 Java诞生小故事
    • 7.2 Java技术体系平台
  • 8. Java特性
    • 8.1 Java重要特点
  • 9. sublime
  • 10. jdk介绍
    • 10.1 Java运行机制及运行过程
      • 10.1.1 Java虚拟机(JVM,Java Virtual Machine)
    • 10.2 什么是JDK,JRE
      • 10.2.1 JDK
      • 10.2.2 JRE
      • 10.2.3 总结
  • 11. 我的电脑
  • 12. JDK安装
  • 13. JDK配置
    • **13.1 配置环境变量的原因**
    • **13.2 配置环境变量的具体步骤**
  • 14. 15.是关于WIN7和MAC OS的JDK安装方法,可看视频
  • 16.快速入门
    • 16.1 环境变量配置的细节
    • 16.2 Java快速入门
    • 16.3 Hello程序运行原理图
    • 16.4 课堂小练习
  • 17. 运行机制
    • 17.1 Java执行流程分析
    • 17.2 什么是编译
    • 17.3 什么是运行
    • 17.4 java程序开发注意事项
  • 18. 开发细节
    • 18.1 Java开发注意事项和细节说明
  • 19. 学习方法
  • 20. 转义字符
    • 20.1 Java常用的转义字符
    • 20.2 课堂练习
  • 21. 易犯错误
  • 22. 注释(comment)介绍
    • 22.1 介绍
    • 22.2 单行注释
    • 22.2 Java中的注释类型
  • 23. 多行注释
    • 23.1 单行注释
    • 23.2 多行注释
  • 24. 文档注释
    • 24.1 进行文档注释
    • 24.2 常用的javadoc标签
  • 25. 代码规范
  • 26. DOS原理
  • 27. 路径详解
  • 28. DOS指令1
  • 29. DOS指令2
  • 30. DOS指令3
  • 31. 32. 本章作业

5. 内容梳理

回顾上一章内容,可以看视频

6. 程序举例

6.1 什么是程序

程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合,举例说明:

计算机程序执行过程:

最简单的1+1程序举例:

//1+1程序
public class Test{public static void main(String[] arr){int res = 1 + 1;System.out.println("结果=" + res);}
}

将上述代码保存到Test.java后,进入CMD,第一步,先使用javac命令编译一下,生成Test.class文件

然后输入java Test,按回车就可以执行

7. Java故事

7.1 Java诞生小故事

  • 1990 sun公司启动绿色计划

  • 1992创建oak(橡树)语言->java

  • 1994 gosling参加硅谷大会演示java功能震惊世界。1995 sun 正式发布java第1个版本。

  • 2009年,甲骨文公司宣布收购Sun 。

  • 2011年,发布java7

  • 其他Java版本发布详情:其他版本
    【注】公司里最常用的是8和11版本(2024年)

7.2 Java技术体系平台

  • Java SE(Java Standard Edition)标准版:支持桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE;
  • Java EE(Java Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用车光绪开发。版本以前称为J2EE;
  • Java ME(Java Micro Edition)小型版(安卓出来以后,用的人就比较少了):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME;

8. Java特性

8.1 Java重要特点

  • Java语言是面向对象的(oop);

  • Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证;

  • Java语言是跨平台性的,在不同操作系统中运行不需要重新编译,(即一个编译好的.class

  • Java语言是解释型的,解释型语言还有:javascript,PHP,java;编译型语言:C/C++;
    【注】解释型语言和编译型语言的区别是:解释型语言,编译后的代码(如刚才编译后的Test.class文件),不能直接被机器执行,需要解释器来执行;编译型语言,编译后的代码,可以直接被机器执行,如C/C++。

9. sublime

跟着视频内容下载就行,刚开始的时候用sublime,培养代码感。

10. jdk介绍

10.1 Java运行机制及运行过程

  • Java语言的特点:跨平台性

    做解释工作的执行工作的是JVM(Java虚拟机),不同的操作系统其对应的JVM是不一样的,JVM是包含在JDK中的。

10.1.1 Java虚拟机(JVM,Java Virtual Machine)

  • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中;(想拥有一个JVM,就需要安装JDK)
  • 对于不同的平台,有不同的虚拟机;
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行

    【注】javac是用来编译的命令,java是用来运行的命令。

10.2 什么是JDK,JRE

10.2.1 JDK

  • JDK的全称(Java Development Kit,Java开发工具包)
    JDK = JRE + Java的开发工具[java, javac, javadoc, javap等]
  • JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包含了JRE。所以安装了JDK,就不用在单独安装JRE了。

JDK目录如下:

10.2.2 JRE

  • JRE(Java Runtime Environment,Java运行环境),JRE = JVM + Java的核心类库[类]
  • 包括Java虚拟机(JVM, Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序(普通用户),计算机中只需要安装JRE即可。(比如运行Minecraft Java版,就装JRE就行了),如果是开发者(程序员),就要装JDK。

10.2.3 总结

  • JDK = JRE + 开发工具及(例如javac, java编译工具等);
  • JRE = JVM + Java SE标准类库;
  • JDK = JVM + Java SE标准类库 + 开发者工具集;
  • 如果只想运行开发好的.class文件,只需要JRE

11. 我的电脑

基础知识,看视频吧,我跳过了

12. JDK安装

打开网站JDK下载

找到课程对应的Java8:

x64系统(现在新电脑一般都是x64,可以根据视频内容自己判断系统位数),选这个下载安装(这是Windows版),下载会要求你注册一个Oracle账户,注册一个就行,不知道为什么我用谷歌浏览器下载JDK就提示400 Bad Request,换edge浏览器就行:

下面我弄个虚拟机来演示安装过程,JDK的配置是每个新手必要的过程,安装后点开安装包:


公共JRE最好安装一下,方便后续安装IDEA或者其他开发环境,安装位置可以自己改,但是安装路径不要有中文和空格,这里我选择安装到C盘的jdk8文件夹下:




进度条走完后,会弹出下面的窗口,此时JDK已经安装完了,现在来安装公共JRE:


当然你也可以更改安装路径,我这里使用了默认的安装路径,然后JDK就安装好了

13. JDK配置

13.1 配置环境变量的原因

安装完JDK后,我们找到JDK安装的路径:

src就是JDK的代码包,里面有它的源代码,接下来要配置环境变量,如果不配置环境变量,在CMD中敲入javac会出现错误提示:
按windows徽标键(一般在左alt键的左边)+R键输入CMD

输入javac按回车会报错:

错误的原因:当前执行的程序在当前目录下如果不存在,win系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现以上的错误提示,所以进入到jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。按上述原因分析,如果通过cd命令切换到jdk8的bin目录下,再执行javac就会有效果:


为了方便我们在任何一个目录都能使用jdk工具的javac,java等命令,所以我们要配置环境变量

13.2 配置环境变量的具体步骤

配置环境变量path的步骤

  1. 计算机–属性–高级系统设置–环境变量(WIN11)
    如果桌面没有此电脑,可以搜一搜相关教程,我这个是虚拟机,我就从资源管理器开始,首先打开资源管理器(随便打开一个文件夹也行)然后找到此电脑:

    右键此电脑点“属性”:

    在弹出的窗口中往下拉,找到“高级系统设置”:

    然后在弹出的窗口中点击“环境变量”:

    然后弹出下面的界面:
  2. 增加JAVA_HOME环境变量,指向jdk的安装目录,在刚才的界面中点击第一排的用户变量对应的“新建”按钮:

    在弹出的窗口中,变量名输入框中输入“JAVA_HOME”,变量值输入JDK的安装目录,输入完成后点击“确定”按钮。
  3. 编辑path环境变量,增加%JAVA_HOME%\bin,这样写完后,win系统要到JAVA_HOME这个指向的目录下边的bin目录去找JDK相关的工具
    找到用户变量栏目下的Path(注意不是新建),双击它

    在弹出的窗口中点“新建”:
    新建后输入%JAVA_HOME%\bin

    然后点击“确定”:

    点“确定”:

再点“确定”:

这样就配置成功了,我们来测试一下,关掉刚才的CMD窗口,重新启动一个CMD窗口,启动方式还是win+r(参考刚才的),然后(默认是非JDK目录,除非你将JDK安装到用户目录下)在非JDK目录下输入javac:

输入命令javac -version也可以查看版本:

14. 15.是关于WIN7和MAC OS的JDK安装方法,可看视频

16.快速入门

16.1 环境变量配置的细节

如果我们配置环境变量是配置到用户变量,那么该环境变量配置只针对这一个用户(win是一个多用户操作系统),换一个用户就用不了了,如果是配置到系统变量,则这个环境变量可以针对整个系统任何一个用户,如果想让系统中任何一个用户都能用这个环境变量,就按刚才的方法把环境变量重新配置到系统变量(填写的值都是一样的,就是配置到系统变量而已)

16.2 Java快速入门

  • 需求说明
    要求开发一个Hello.java 程序,可以输出"hello,world!"
  • 开发步骤
  1. 将Java代码编写到扩展名为Hello.java的文件中。
    2)通过javac命令对该java文件进行编译,生成.class文件。
    3)通过java命令对生成的class文件进行运行。

  2. 打开sublime,然后将untitled命名为Hello.java文件(根据视频来),统一放到你想放的目录下,代码为:

// 演示Java的开发步骤
// 1. public class Hello表示Hello是一个类,是一个public(公有的)类
// 2. Hello{ }表示一个类的开始和结束
// 3. public static void main(String[] args)表示一个主方法,即我们程序的入口
// 4. main() {} 表示放大的开始和结束
// 5. System.out.println("hello,world!");表示输出"hello,world!"到屏幕上
// 6. ;表示语句的结束
public class Hello{//编写一个main方法public static void main(String[] args){System.out.println("hello,world!");}
}
  1. 开始编译生成.class文件,找到你锇Hello.java文件存放的目录,然后进入CMD,输入javac Hello.java:

    但是并没有生成,因为我们在刚才的代码中写了很多的中文,需要更改文件的编码,回到sublime更改编码(视频中选的GBK编码是因为WIN10系统的CMD默认支持的是GBK编码,在WIN11系统中选UTF-8也可以(似乎WIN11的CMD支持了UTF-8?),至少我这里没问题):


在win10系统中的CMD的标题栏的空白处右键点属性能看到编码是GBK编码:

在win10中如果用UTF-8编码就出现了报错:

在生成了Hello.class文件后,输入java Hello来执行我们刚才的Hello程序,运行的是Hello.class文件,java Hello指的是找到Hello主类来执行,不需要带.class,如果你带上了.class它认为你要运行的是一个名为Hello.class的主类:

正确的运行方式:

16.3 Hello程序运行原理图

16.4 课堂小练习

要求开发一个Hello.java程序,可以输出"xx is studying java!",如果有中文时,如何处理?
【答】如果有中文时,注意CMD的编码类型,设置对应的编码(WIN10下是GBK),代码如下:

public class PrintName{public static void main(String[] args){System.out.println("魔理沙 is studying java!");}
}

运行结果:

17. 运行机制

17.1 Java执行流程分析


把.class文件称为字节码文件,把.java文件称为源文件

17.2 什么是编译

javac Hello.java

  1. 有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件;
  2. 在该源文件目录下,通过iavac编译工具对Hello.java文件进行编译;
  3. 如果程序没有错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,该文件称为字节码文件,也是可以执行的java的程序。
    假如代码写错了,比如语句结束的时候忘了加分号,再编译会弹出错误提示,告诉你需要加一个分号:

17.3 什么是运行

  1. 有了可执行的java程序(Hello.class字节码文件)
  2. 通过运行工具java.exe对字节码文件进行执行,本质就是将.class文件装在到jvm虚拟机上执行。

17.4 java程序开发注意事项

对修改后的Hello.java源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。

18. 开发细节

18.1 Java开发注意事项和细节说明

  1. Java源文件以 .java 为扩展名。源文件的基本组成部分是类(class),如本类中的Hello类。
  2. Java应用程序的执行入口是main()方法。它有固定的书写格式:
    public static void main(String[] args) {…}
  3. Java语言严格区分大小写,
  4. Java方法由一条条语句构成,每个语句以“;”结束。
  5. 大括号都是成对出现的,缺一不可。[习惯,先写{} 后再写代码]
  6. 一个源文件中最多只能有一个public类。其它类的个数不限。
public class Hello{//编写一个main方法public static void main(String[] args){System.out.println("hello,world!");}
}
//其他类
//Dog是一个类
class Dog{}class Tiger{}

保存一下,然后编译运行一下:

没有报错,打印内容无变化,但是Hello.java目录下多了Dog.class和Tiger.class:

编译后,每一个类,都对应一个.class文件。

  1. 如果源文件包含一个public类,则文件名必须按该类名命名!(把Hello.java的类名改成不是Hello,编译会报错,或者把文件名改成Hello2.java,Hello类不动也是一样)

  2. 一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法,比如在刚才的Dog类和Tiger类中都加入main方法并保存:

public class Hello{//编写一个main方法public static void main(String[] args){System.out.println("hello,world!");}
}
//其他类
//Dog是一个类
class Dog{public static void main(String[] args){System.out.println("hello,dog!");}
}class Tiger{public static void main(String[] args){System.out.println("hello,tiger!");}
}

然后再编译,如果想运行Dog类下的主方法,只需要输入命令java Dog,Tiger类似:

19. 学习方法

详情看视频,内容是一些学习上的心得

【注】crud是指在做计算处理时的增加(Create)、读取(Read)、更新(Update)和删除(Delete)几个单词的首字母简写。

20. 转义字符

20.1 Java常用的转义字符

转义字符功能
\t一个制表位,实现对齐的功能
\n换行符
|一个|
"一个"
一个’
\r一个回车

测试代码:

public class ChangeChar{public static void main(String[] args){//\tSystem.out.println("北京\t天津\t上海");//\nSystem.out.println("jack\nsmith\nmary");// \\System.out.println("C:\\Windows\\System32\\cmd.exe");//输入两个\System.out.println("\\\\");//\"System.out.println("xx说:\"hello!\"");//\'System.out.println("xx说:\'hello!\'");//\r//输出 测试//\r代表回车//把测试123换成哈哈123System.out.println("测试123\r哈哈");//如果再换行,就不会输出错误System.out.println("测试123\r\n哈哈");}
}

输出结果:

【注】在控制台按tab键自动补齐文件名

20.2 课堂练习

要求:请使用一句输出语句,达到输入如下图形的效果:

代码为:

public class PrintItems{public static void main(String[] args){System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t1000");}
}

编译运行后的结果:

21. 易犯错误

详细看视频,不记录了

22. 注释(comment)介绍

22.1 介绍

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性):注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。
比如Java语言的作者会JDK的源码进行注释:

22.2 单行注释

基本格式:
//注释文字
一个简单的单行注释的例子:

public class PrintItems{public static void main(String[] args){//下面代码完成 两个数相加//定义变量int n1 = 10;int n2 = 30;//求和int sum = n1 + n2;//输出结果System.out.println("结果=" + sum);}
}

写注释会增加代码的可读性。

22.2 Java中的注释类型

  1. 单行注释
  2. 多行注释
  3. 文档注释

23. 多行注释

23.1 单行注释

基本格式
//注释文字

23.2 多行注释

基本格式
/* 注释文字 */

  • 使用细节:
    1)被注释的文字,不会被JVM(java虚拟机)解释执行;
    2)多行注释里面不允许有多行注释嵌套

演示代码:

//注释演示
public class Comment01{//编写一个main方法public static void main(String[] args){//单行注释/*	多行注释:下面代码完成 两个数相加定义变量被注释的文字不会被执行System.out.println("OK");*/int n1 = 10;int n2 = 30;//求和int sum = n1 + n2;//输出结果System.out.println("结果=" + sum);}}

编译运行结果:

24. 文档注释

24.1 进行文档注释

注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类

  • 基本格式
  • 如何生成对应的文档注释
  • 应用实例

javadoc -d 文件夹名 -xx -yy Demo3.java

演示代码:

/*** 这是一个测试用的代码* * @author 魔理沙* @version 1.0*/
public class Comment02{//编写一个main方法public static void main(String[] args){//空的方法}
}

生成网页文件:

这里的警告问题不大
生成了文档:

打开index.html:

24.2 常用的javadoc标签

标签描述示例
@author标识一个类的作者@author description
@deprecated指名一个过期的类或成员@deprecated description
{@docRoot}指明当前文档根目录的路径Directory Path
@exception标志一个类抛出的异常@exception exception-name explanation
{@inheritDoc}从直接父类继承的注释Inherits a comment from the immediate surperclass.
{@link}插入一个到另一个主题的链接{@link name text}
{@linkplain}插入一个到另一个主题的链接,但是该链接显示纯文本字体Inserts an in-line link to another topic.
@param说明一个方法的参数@param parameter-name explanation
@return说明返回值类型@return explanation
@see指定一个到另一个主题的链接@see anchor
@serial说明一个序列化属性@serial description
@serialData说明通过writeObject( ) 和 writeExternal( )方法写的数据@serialData description
@serialField说明一个ObjectStreamField组件@serialField name type description
@since标记当引入一个特定的变化时@since release
@throws和 @exception标签一样.The @throws tag has the same meaning as the @exception tag.
{@value}显示常量的值,该常量必须是static属性。Displays the value of a constant, which must be a static field.
@version指定类的版本@version info

25. 代码规范

详细看视频演示。

  1. 类、方法的注释,要以javadoc的方式来写。
  2. 非Java Doc的注释,往往是给代码的维护者看的,着重告述读者为什么这样写
    如何修改,注意什么问题等
  3. 使用tab操作,实现缩进,默认整体向右边移动,时候用shift+tab整体向左移
  4. 运算符和 = 两边习惯性各加一个空格。比如:2+4*5+345-89
  5. 源文件使用utf-8编码
  6. 行宽度不要超过80字符
  7. 代码编写次行风格行尾风格(!!)
    【注】老师推荐行尾风格(我也喜欢)

26. DOS原理

DOS:Disk Operation System磁盘操作系统,简单说一下windows的目录结构

md是在当前目录下创建子目录,rd是删除子目录

27. 路径详解

相关的知识补充:相对路径,绝对路径

从test100文件夹访问test200文件夹下的hello.txt,使用相对路径:…\是到abc文件夹,…\是到D盘,然后就可以正常写路径了
…\是进入当前目录的父目录,所以从test100文件夹访问test200文件夹下的hello.txt使用相对路径就如图所示了。

28. DOS指令1

  1. 查看当前目录是有什么
    dir

  2. 切换到其他盘下:盘符号 cd
    切换到C盘:cd /D C:

  3. 切换到当前盘的其他目录下(使用相对路径和绝对路径演示)…\表示上一级目录(父目录)
    d:\abc2\test200 cd…\labc2\test200

  4. 切换到上一级
    cd …

  5. 切换到根目录
    cd \

29. DOS指令2

  1. 查看指定的目录下所有的子级目录
    tree命令
  2. 清屏

    清屏后的效果:
  3. 退出DOS

    执行此命令后DOS窗口关闭

30. DOS指令3

(md[创建目
录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切])

详细看视频

31. 32. 本章作业

  1. 编写hello, world程序[Homework01.java]
public class Homework01{public static void main(String[] args){System.out.println("hello,world");}
}

编译运行结果:

  1. 将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上疏忽。各条信息分别占一行。[Homework02.java]
    代码:
public class Homework02{public static void main(String[] args){System.out.println("姓名\t性别\t籍贯\t住址\nXX\t男\t未知\t未知");}
}

运行结果:

  1. JDK,JRE,JVM的关系
    【答】1) JDK = JRE + Java开发工具
    2)JRE = JVM + 核心类库
  2. 环境变量path配置及其作用
    【答】1)环境变量的作用是为了在DOS的任意目录,可以去使用java和javac命令;
    2)先配置JAVA_HOME = 指向JDK的安装主目录
    3)编辑path环境变量,增加%JAVA_HOME%\bin,%代表引用,这样写的好处是如果改变JAVA_HOME,只改变一个变量
  3. Java编写步骤
    【答】1)编写Java的源代码
    2)javac编译,得到对应的.class字节码文件
    3)java 运行,本质就是把.class字节码文件加载到JVM运行
  4. Java编写7个规范
    【答】1)类,方法的注释,使用javadoc的方式,即文档注释;
    2)非javadoc注释,往往是对代码的说明(给程序的维护者),说明如何修改,注意事项;
    3)使用tab键,整体将代码右移,使用shift+tab整体左移;
    4)运算符和 = 的两边,给空格,代码看上去清晰,比如:int n = 1 + 4;
    5)源码文件使用utf-8编码;
    6)行宽字符不要超过80个字符,也就是一行不要写太多;
    7)代码编程风格有两种,次行风格和行尾风格(推荐)。
  5. 初学者Java易犯错误
    【答】1) 编译或者运行时,找不到文件,把文件名或者目录找对;
    2)主类名和文件名不一致,修改时保持一致即可;
    3)语句末尾缺少英文的分号;
    4)拼写错误,比如1 -> l; 0-> O, void-> v0id

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】多个dataframe存入excel的不同的sheet表里,而不会被覆盖的方法

我发现,我原来用的多个工作簿存入的方法,发现不太可行,如果我用原来的方法,然后for循环,新的dataframe会把原来的覆盖掉,然后只剩下一个工作薄。原先的代码: with pd.ExcelWriter(file_name ) …

【题解】2022ICPC杭州-K

翻译 原题链接   简述一下就是每次询问重新定义一个字母排序表&#xff0c;问在这个顺序下n个字符串的序列的逆序数是多少。 字典树计算逆序数 先考虑初始状况下&#xff0c;即 a < b < . . . < z a<b<...<z a<b<...<z的情况下&#xff0c;逆序…

[SAP ABAP] 锁对象

在SAP中使用锁对象&#xff0c;用于避免在数据库中插入或更改数据时出现不一致的情况 1.创建锁对象 数据准备 学校表(ZDBT_SCH_437) 使用事务码SE11创建锁对象 点击"锁对象"单选按钮&#xff0c;输入以E开头的锁定对象的名称&#xff0c;然后点击创建按钮 锁对象名…

看480p、720p、1080p、2k、4k、视频一般需要多大带宽呢?

看视频都喜欢看高清&#xff0c;那么一般来说看电影不卡顿需要多大带宽呢&#xff1f; 以4K为例&#xff0c;这里引用一位网友的回答&#xff1a;“视频分辨率4092*2160&#xff0c;每个像素用红蓝绿三个256色(8bit)的数据表示&#xff0c;视频帧数为60fps&#xff0c;那么一秒…

基于VUE的在线茶叶购物网站的设计与实现后端SpringBoot数据库MySQL

目录 1. 项目结构规划 2. 技术选型与工具链 3. 关键功能模块设计 4. 数据库设计 5. 安全性考虑 6. 性能优化建议 在开发一个在线茶叶购物网站之前&#xff0c;了解相关的研究背景和技术发展趋势是非常重要的。以下是一些关键点&#xff0c;可以帮助理解该项目的开发背景和…

召回07 双塔模型——正负样本

正样本&#xff1a; 二八法则&#xff0c;少部分物品占据了大多数点击&#xff0c;会导致正样本大多是热门物品。以一定的概率抛弃一些热门物品&#xff0c;抛弃的概率与样本的点击次数正相关。 负样本&#xff1a; 简单负样本 上述简单负样本是从全体样本中抽样。其中&#…

Python编码系列—Python备忘录模式:掌握对象状态保存与恢复技术

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

[Redis][Zset]详细讲解

目录 0.前言1.常见命令1.ZADD2.ZCARD3.ZCOUNT4.ZRANGE5.ZREVRANGE6.ZRANGEBYSCORE7.ZPOPMAX8.BZPOPMAX9.ZPOPMIN10.BZPOPMIN11.ZRANK12.ZREVRANK13.ZSCORE14.ZREM15.ZREMRANGEBYRANK16.ZREMRANGEBYSCORE17.ZINCRBY 2.集合间操作1.有序集合的交集操作2.ZINTERSTORE3.有序集合的并…

H5响应式的文化传媒娱乐公司HTML网站模板源码

源码名称&#xff1a;响应式的文化传媒娱乐公司HTML网站模板源码 源码介绍&#xff1a;一款自适应H5文化传媒娱乐公司官网源码&#xff0c;源码带有6个H5页面&#xff0c;可用于文化传媒和娱乐公司官网。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.51888w.c…

Netty系列-5 Netty启动流程

背景 Netty程序有固定的模板格式&#xff0c;以ServerBootstrap为例: public class NettyServer {public void start(int port) {ServerBootstrap serverBootstrap new ServerBootstrap();EventLoopGroup boosGroup new NioEventLoopGroup(1);EventLoopGroup workGroup ne…

Kubernetes配置管理(kubernetes)

实验环境&#xff1a; 在所有节点上拉取镜像&#xff1b;然后把资源清单拉取到第一个master节点上&#xff1b; 同步会话&#xff0c;导入镜像&#xff1a; configmap/secret 配置文件的映射 变量&#xff1a; 基于valuefrom的方式 cm--》pod 特点&#xff1a;变量的名称可…

[JavaEE] IP协议

目录 一、 IP协议 1.1 基本概念 1.2 协议头格式 1.3 特殊IP 二、 地址管理 2.1 网段划分 2.2 CIDR(Classless Interdomain Routing) 2.3 私有IP地址和公网IP地址 2.4 NAT(Network Address Translation)-网络地址转换 2.5 路由选择 三、数据链路层 3.1 认识以太网 3…

什么是AQS

目录 AQS 介绍 原理 以可重入的互斥锁 ReentrantLock 为例 以倒计时器 CountDownLatch 以例 AQS 资源共享方式 实现自定义同步器 示例 性能优化 AQS 介绍 AQS &#xff08;AbstractQueuedSynchronizer &#xff09;&#xff0c;抽象队列同步器。AQS 是一个功能强大且…

cmd命令大全详解

CMD是Windows操作系统中的命令行解释器&#xff0c;它允许用户通过键入命令来执行各种操作。以下是一些常用的CMD命令及其简要说明&#xff1a; dir - 显示目录中的文件和子目录。 cmddir cd - 更改当前目录。 cmdcd [目录路径] mkdir - 创建新目录。 cmdmkdir [目录名] rmd…

Vue.js 与 Flask/Django 后端配合开发实战

Vue.js 与 Flask/Django 后端配合开发实战 在现代的 Web 开发中&#xff0c;前后端分离已成为一种主流架构&#xff0c;其中前端使用 Vue.js 等流行的框架&#xff0c;后端采用 Flask 或 Django 提供 API 接口。在这种开发模式下&#xff0c;前端负责页面的交互和动态效果&…

将Mixamo的模型和动画导入UE5

首先进入Mixamo的官网 , 点击 Character 选择一个模型 (当然你也可以自己上传模型/绑定动画) 然后点击下载 , 这个作为带骨骼的模型 选择FBX格式 , T Pose 直接下载 点击 Animations 选择动画 , 搜索 idle 默认站立动画 点击下载 , 格式选择 FBX , 不带模型只要骨骼 , 帧数选6…

前端面试经验总结2(经典问题篇)

谈谈你对前端的理解 前端主要负责产品页面部分的实现&#xff0c;是最贴近于用户的程序员。 基本工作要求&#xff1a; 1.参与项目&#xff0c;通过与团队成员&#xff0c;UI设计&#xff0c;产品经理的沟通&#xff0c;快速高质量的实现效果图&#xff0c;并能够精确到1px 2.做…

大模型培训讲师叶梓:Llama Factory 微调模型实战分享提纲

LLaMA-Factory ——一个高效、易用的大模型训练与微调平台。它支持多种预训练模型&#xff0c;并且提供了丰富的训练算法&#xff0c;包括增量预训练、多模态指令监督微调、奖励模型训练等。 LLaMA-Factory的优势在于其简单易用的界面和强大的功能。用户可以在不编写任何代码的…

TypeScript介绍和安装

TypeScript介绍 TypeScript是由微软开发的一种编程语言&#xff0c;它在JavaScript的基础上增加了静态类型检查。静态类型允许开发者在编写代码时指定变量和函数的类型&#xff0c;这样可以在编译时捕获潜在的错误&#xff0c;而不是等到运行时才发现问题。比如&#xff0c;你…

论文笔记:iCaRL: Incremental Classifier and Representation Learning

1. Contribution 提出了一种新的训练策略&#xff0c;iCaRL&#xff1a;允许以增量方式学习&#xff1a;只需要同时存在一小部分类别的训练数据&#xff0c;新类别可以逐步添加。同时学习分类器和数据表示&#xff1a;iCaRL能够同时学习强大的分类器和数据表示&#xff0c;这与…