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

java Date 和 Calendar类 万字详解(通俗易懂)

  • Date类介绍及使用

  • 关于SimpleDateFormat类

  • Calendar类介绍及使用

  • LocalDateTime类介绍及使用

  • 关于DateTimeFormatter类


一、前言

本节内容是我们《API-常用类》专题的第五小节了。本节内容主要讲Date 类 和 Calendar 类, 内容包括但不限于Date类简介Date类使用Calendar类的简介和使用LocalDate、LocalTime、LocalDateTime类的介绍和演示。本节内容没什么难度,主要是介绍一些类的使用,大家可以放心食用。注意 : 代码中的注释也很重要; 不要眼高手低,自己敲一遍才能知道怎么用。 点击侧边栏目录或者文章开头的目录可以跳转。良工不示人以朴,所有文章都会适时改进。大家如果有什么问题,都可以在评论区一块儿交流,或者私信up。 感谢阅读!

二、Date类简介

Date类,见名知意,日期类。用于操作日期相关信息

Date类属于java.base 模块,java.util包下(使用时需要导包),如下图所示:

注意,除了util包下,sql包下也有一个Date类。二者有很大差别,sql包下的Date类与数据库相关。大家在导包时要看清楚,不要导错包。如下 :

我们再看查看一下Date类的类图,如下 : (都是老面孔了,这里不再赘述)


三、Date类的构造器

1.Date() :

构造一个日期对象,直接输出Date类对象默认打印当前系统时间。

2.Date(long date) :

构造一个日期对象,时间为自"1970-1-1-00:00:00GMT"起,至指定参数的毫秒数所代表的日期。

Δ演示 :

up以Date_类为例,代码如下 :

package csdn.knowledge.api.date_calendar;import java.util.Date;  //别忘了导包.public class Date_ {public static void main(String[] args) {//演示 : Date类构造器//1.Date()Date date_0 = new Date();System.out.println(date_0);System.out.println("-------------------------");//2.Date(long date)Date date_1 = new Date(666666666);System.out.println(date_1);}
}

运行结果 :


四、Date类的使用(重要)

1.SimpleDateFormat类的引入 :

在Date类构造器的演示中可以看到,输出Date类对象默认打印当前系统时间,而且它的格式是固定的。这时,如果想改变日期默认的格式,就需要引入SimpleDateFormat类,见名知意,这个类可以对日期进行格式化。

SimpleDateFormat类属于java.base 模块, java.text包下。如下图所示 :

2.Date类对象的格式化 :

那有了SimpleDateFormat类以后,到底怎么对日期进行格式化呢?

首先我们需要用到SimpleDateFormat类的一个构造器,如下 :

SimpleDateFormat(String pattern)——

该构造器可以构造一个SimpleDateFormat对象,传入的字符串表示你将来想要的日期的格式。

其次,我们还需要通过刚刚创建的SimpleDateFormat类对象来调用SimpleDateFormat类的format方法,该方法需要传入一个Date类对象,并以字符串形式作接收。:

Δ演示 :

up以SimpleDateFormat_类为例,代码如下 :

package csdn.knowledge.api.date_calendar;import java.text.SimpleDateFormat;
import java.util.Date;public class SimpleDateFormat_ {public static void main(String[] args) {//第一步,利用带参构造创建SimpleDateFormat类对象SimpleDateFormat sdf = new SimpleDateFormat("yyyy年 MM月dd日 HH:mm:ss E");//第二步,通过创建好的对象来调用format方法(注意形参和返回值类型)String format = sdf.format(new Date());//第三步,打印字符串形式的日期System.out.println(format);}
}

运行结果 :

这时候可能就有p小将(Personable小将,指风度翩翩的人)要出来挑刺儿说了:噢,你是演示了,我也看到了。但你那SimpleDateFormat构造器里传入的那一堆是啥玩意儿?什么yy呀,MM的,你搁这儿yy呢?

不愧是p小将,6。没错,创建SimpleDateFormat对象时传入的那一大堆雀氏是我自己杜撰的,但是,我也仅仅是杜撰了格式,那里面的一些字母,什么yy呀MM的,这可由不得我。这是SimpleDateFormat类的API文档中规定的用法如下图所示

up特意将刚刚我们用到的一些符号给标注了出来。虽然纯英文给部分读者看起来觉得很艹😂,但是其实你细看就会发现——不难。我这里只想强调一个点,就是表格下面那句话"字符往往是可以重复的,字符的个数决定了对应数据的精度。"

什么意思呢?比方说,在SimpleDateFormat构造器传入的字符串中,如果我传入了"yyyy"四个y,就可以打印出"2023";但我如果只传入了"yy"两个y,就只能打印出"23"出来,即最后的效果从"2023年"变成了"23"年。其他也同理。大家感兴趣可以自己挨个儿试试,我们这里就不做过多演示了。

3.对构造Date类对象的补充 :

除了上文中演示的Date类对象的两个构造器外,我们还可以通过方法来创建Date类对象——即通过SimpleDateFormat类的parse方法。使用该方法需要先利用带参构造创建一个SimpleDateFormat类对象,然后通过创建好的对象调用parse方法;传入一个字符串,该字符串中包含了你想保存的日期信息,eg : "2023.3.11 星期日",注意:传入的字符串的格式,必须与你创建SimpleDateFormat对象时传入的字符串格式一致;然后使用Date对象来作接收,eg : Date date = sdf.parse(str_0);。注意,使用该方法,IDEA会报编译器异常ParseException,使用throws关键字抛出即可。

Δ演示 :

up仍以Date_类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;  //别忘了导包.public class Date_ {public static void main(String[] args) throws ParseException {//演示 : Date类创建对象的内容补充SimpleDateFormat sdf = new SimpleDateFormat("yyyy年 M月dd日 HH:mm, E");String str_0 = "2023年 3月11日 10:19, 星期六";Date date = sdf.parse(str_0);System.out.println(date);}
}

运行结果 :

可以看到,根据parse方法获取的Date对象仍然是默认格式。这时,你也可以再次结合刚才我们讲过的format方法来打印出日期的自定义格式。如下图所示 :

运行结果 :

4.Date类成员方法 :

Date类成员方法很多都已经过时,用的也不多。因此这里我们只说一个方法——

long getTime() :

该方法可以将日期对象转换成对应时间的毫秒值。

Δ演示 :

仍以Date_类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar;import java.util.Date;  //别忘了导包.public class Date_ {public static void main(String[] args) throws ParseException {//演示 : Date类成员方法Date date = new Date();long mm = date.getTime();System.out.println(mm);}
}

运行结果 :


五、Calendar类

1.简介

Calendar类可以看作是对Date类的一个升级,用于操作日历相关字段。同Date类不同的是,Calendar类属于抽象类,不可被实例化。因此,获取Calendar类的对象我们一般使用Calendar类的静态方法getInstance(后面会演示到)。

Calendar类属于java.base模块,java.util包下,如下图所示 :

我们再来查看一下Calendar类的类图 :

2.Calendar类字段演示 :

Calendar类中有许多的字段,比如说当前系统的年、月、日等等。如下GIF图所示 :

获取这些字段需要调用Calendar类的get方法,返回给定日历字段的值。up以Calendar_类为演示类, 代码如下 :

package csdn.knowledge.api.date_calendar;import java.util.Calendar;/*** @author : Cyan_RA9* @version : 21.0*/
public class Calendar_ {public static void main(String[] args) {//演示 : 获取Calender类的字段//1.获取Calendar类实例Calendar calendar = Calendar.getInstance();//2.调用get方法System.out.println("year = " + calendar.get(Calendar.YEAR));System.out.println("month = " + (calendar.get(Calendar.MONDAY) + 1));System.out.println("day = " + calendar.get(Calendar.DAY_OF_MONTH));System.out.println("hour = " + calendar.get(Calendar.HOUR_OF_DAY));System.out.println("minute = " + calendar.get(Calendar.MINUTE));System.out.println("second = " + calendar.get(Calendar.SECOND));System.out.println("-------------------------------");//3.自由组合System.out.print("Calendar = ");System.out.println(calendar.get(Calendar.YEAR) + "年" +(calendar.get(Calendar.MONDAY) + 1) + "月" +calendar.get(Calendar.DAY_OF_MONTH) + "日" +calendar.get(Calendar.HOUR_OF_DAY) + ":" +calendar.get(Calendar.MINUTE) + ":" +calendar.get(Calendar.SECOND));}
}

运行结果 :

关于以上代码强调两点 :

月份1-12月由0-11表示,因此,若想输出真实月份,需要在get(Calendar.MONTH)基础上再加一。

Calendar类没有提供格式化日历的方法,因此我们可以自由随意组合,来调用输出。

3.Calendar类方法演示 :

Calendar类其实一共就3个方法要演示——

①static Calendar getInstance() :

该方法可以根据当前系统时区和语言环境获取日历对象。即可获得Calendar类的实例,进而调用起成员方法。

②int get(int field) :

该方法可以返回给定日历相应字段的值。

③void set(int field, int value) :

该方法可以将给定的日历字段设置为指定的值。(有重载)

不过,前两个方法我们前面都已经演示过了,这里就单演示一下第三个方法。仍以Calendar_类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar;import java.util.Calendar;/*** @author : Cyan_RA9* @version : 21.0*/
public class Calendar_ {public static void main(String[] args) {//演示 : 获取Calender类的set方法//1.获取Calendar类实例Calendar calendar = Calendar.getInstance();//2.调用set方法calendar.set(Calendar.YEAR, 2002);calendar.set(Calendar.MONDAY, 0);calendar.set(Calendar.DAY_OF_MONTH, 1);System.out.println("year = " + calendar.get(Calendar.YEAR));System.out.println("month = " + (calendar.get(Calendar.MONDAY) + 1));System.out.println("day = " + calendar.get(Calendar.DAY_OF_MONTH));}
}

运行结果 :


六、关于LocalDate, LocalTime, LocalDateTime类

1.Date 和 Calendar类的一些局限性 :

Date 和 Calendar类都是在jdk版本很低的时候就存在的。在使用时它们都或多或少存在一些问题:①可变性:日期和时间这样的类是不应该被随意修改的;②偏移性:Date中的年份是从1900开始的,而Date中的月份都从0开始,不利于表示;③格式化 : Calendar类没有提供格式化日历的方法;④线程安全性 : Date和Calendar类都不是线程安全的,也不能处理闰秒等。

2.java8新特性 :

为了试图解决Date和 Calendar类的局限性,java8引入了LocalDate,LocalTime,以及LocalDateTime这三个类。分别用于表示日期(年月日),时间(时分秒),以及日期 + 时间(年月日时分秒)

先来看看LocalDateTime类的类图 :

可以看到,与前面两个类对比明显,复杂了不止一倍😂。

3.LocalDateTime, LocalDate, LocalTime的使用 :

up以Local_类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar.java8;import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;/*** @author : Cyan_RA9* @version : 21.0*/
public class Local_ {public static void main(String[] args) {//演示 : java8新增的三个操作时间和日期的类。//1.通过LocalDateTime类的now方法,可以获取LocalDateTime类的实例LocalDateTime localDateTime = LocalDateTime.now();System.out.println("当前时期 = " + localDateTime);System.out.println("-------------------------");System.out.println("The year = " + localDateTime.getYear());System.out.println("The month = " + localDateTime.getMonth());System.out.println("The day = " + localDateTime.getDayOfMonth());System.out.println("The hour = " + localDateTime.getHour());    //24h制System.out.println("The minute = " + localDateTime.getMinute());System.out.println("The second = " + localDateTime.getSecond());System.out.println("-------------------------");//2.若只考虑获取年月日(日期),可以通过now方法来获取LocalDate对象LocalDate localDate = LocalDate.now();System.out.println("当前年月日 = " + localDate);//3.若只考虑获取时分秒(时间)可以通过now方法来获取LocalTime对象LocalTime localTime = LocalTime.now();System.out.println("当前时分秒 = " + localTime);}
}

运行结果 :

4.LocalDateTime的格式化 :

通过上面的演示我们可以看到,直接打印LocalDateTime对象,输出结果也是默认值。如果我们想格式化它的输出内容,就需要用到DateTimeFormatter类,DateTimeFormatter类与之前讲到的SimpleDateFormat类类似,在使用上也大同小异,不同的地方在于,DateTimeFormatter类对象不能直接new出来(因为该类构造器为私有),而是要通过DateTimeFormatter类的ofPattern方法来获取实例。

up以Local_2类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar.java8;import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;/*** @author : Cyan_RA9* @version : 21.0*/
public class Local_2 {public static void main(String[] args) {//演示 :  LocalDateTime类对象的格式化//1.通过ofPattern方法来获取DateTimeFormatter类实例DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss E");//2.通过now方法来获取LocalDateTime实例LocalDateTime localDateTime = LocalDateTime.now();//3.调用format方法来格式化LocalDateTime类对象,以String类型作接收。String format = dtf.format(localDateTime);//4.打印格式化后的字符串System.out.println(format);}
}

运行结果 :

5.LocalDateTime类成员方法

首先,我必须陈述两个事实 : LocalDateTime类的方法非常多,如下GIF图所示 :

我们已经介绍了API文档,以后大家遇到什么没见过或者不理解的方法,都可以去API文档中进行查看。

因此,up决定只给大家演示一下比较牛逼,看着特别直观的两个方法,那就是plusDays(long daysToSubtract) 和 minusDays(long daysToSubtract)。up以Local_Methods类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar.java8;import java.time.LocalDateTime;/*** @author : Cyan_RA9* @version : 21.0*/
public class Local_Methods {public static void main(String[] args) {//演示 : LocalDateTime类的两个成员方法LocalDateTime l1 = LocalDateTime.now();System.out.println("当前时间 = " + l1);LocalDateTime l2 = l1.plusDays(620);System.out.println("620天后是什么日子:" + l2);LocalDateTime l3 = l1.minusDays(330);System.out.println("330天前是什么日子:" + l3);}
}

运行结果 :

6.关于时间戳 :

java提供了Instant类来表示时间戳,见名知意,Instant就是指瞬时时间,时间戳就是某一瞬时时间的特定值。Instant类可以与Date类相互转化。但是要获取Instant对象,需要用到Instant类的静态方法——now方法。

Δ演示 :

up以Instant_类为演示类,代码如下 :

package csdn.knowledge.api.date_calendar.java8;import java.time.Instant;
import java.util.Date;/*** @author : Cyan_RA9* @version : 21.0*/
public class Instant_ {public static void main(String[] args) {//演示 : 时间戳Instant//1.通过静态方法now来获取Instant类的实例Instant instant = Instant.now();System.out.println(instant);System.out.println("--------------------");//2.Date类静态方法——from方法可以实现Instant ——> DateDate date = Date.from(instant);System.out.println(date);System.out.println("--------------------");//3.通过Date类对象调用toInstant方法,可以实现Date ——> InstantInstant instant1 = date.toInstant();System.out.println(instant1);}
}

运行结果 :


七、总结 :

🆗,以上就是我们Date, Calendar类的全部内容了。重点在于这些类的使用,因为本身并没有什么难度,没有那些抽象的难理解的东西,就是单纯的工具类,会用就行。对于这些类的方法,up没有一一演示出来,大家也不用担心,我们既已学会如何使用API 文档,有遇到什么方法直接去API 文档查看就彳亍。 下一小节就是我们API-常用类的最后一小节——包装类了,大家不见不散!感谢阅读!

System.out.println("END---------------------------------------------------------");

相关文章:

java Date 和 Calendar类 万字详解(通俗易懂)

Date类介绍及使用关于SimpleDateFormat类Calendar类介绍及使用LocalDateTime类介绍及使用关于DateTimeFormatter类一、前言本节内容是我们《API-常用类》专题的第五小节了。本节内容主要讲Date 类 和 Calendar 类,内容包括但不限于Date类简介,Date类使用…...

扩展欧几里得算法及其应用

前言 由于数论的板子真的很抽象,也很难背,所以特此记录扩展欧几里得算法的板子和它的用途 本篇文章只涉及应用,不涉及证明,如需理解证明还请各位移步其他优秀的讲解! 扩展欧几里得算法 先粘一下板子的代码 typedef lo…...

JAVA练习75-全排列

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 提示:这里可以添加本文要记录的大概内容: 3月11日练习内容 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目-…...

Linux下Docker安装mysql-超详细步骤

安装Docker Engine官方参考文档:https://docs.docker.com/engine/install/centos/若之前有安装docker,需要先卸载之前的dockersudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \d…...

弹性存储-对象存储OSS部分

对象存储介绍 对象存储(object storage service,简称oss),具备与平台无关的rest api接口,可提供99.9999999999%(12个9)的数据持久性和99.995%的数据可用性。 OSS优势 功能介绍 存储空间bucke…...

强推!30个遥感数据下载网站整理分享

1、中国遥感数据共享网(http://rs.ceode.ac.cn/)国内存档周期最长的数据网站,对Landsat数据免费共享,也可订购国外商业卫星数据。注册账号,通过审核就可直接下载。2、中国资源卫星应用中心(https://data.cr…...

进程系统调用

进程系统调用 文章目录进程系统调用fork()进程创建:fock()fork函数fork用法僵尸进程孤儿进程vfork函数vfork与fork区别exec函数族exec函数族-何时使用?exec函数族语法exec函数族使用区别exit和_exit_exit和exit的区别wait和waitpidfork() 进程创建&…...

dubbo进阶——服务导出

服务导出 在这里记录一下对" Dubbo 导出服务的过程"的研究。 触发时机 public class ServiceBean<T> extends ServiceConfig<T> implements InitializingBean, DisposableBean, ApplicationContextAware, ApplicationListener<ContextRefreshedEv…...

【竞品分析】如何撰写竞品分析?竞品分析的基本结构?以及优秀的竞品分析案例

文章目录一、撰写竞品分析的意义二、撰写的节点三、竞品分析内容的基本结构四、总结本文对视频 如何撰写竞品分析&#xff08;demo&#xff09;进行了总结。一、撰写竞品分析的意义 竞品分析是指对现有的或潜在的竞争产品的优势和劣势进行评价。现在被广泛应用于互联网产品的…...

海思ubootsd卡协议

在start_armboot()函数中调用mmc_initialize(0)初始化mmc;最终调用到int hi_mci_initialize(unsigned int dev_num)函数;内容如下:static int hi_mci_initialize(unsigned int dev_num) {struct mmc *mmc NULL;static struct himci_host *host;unsigned int regval;unsigned l…...

nuxt3使用总结

目录 背景 安装 项目配置 路由 Tailwindcss引入 全局样式配置 css预处理器 安装 Tailwindcss 项目的配置 部署上线 seo优化 背景 新入职了一家公司&#xff0c;刚进入公司第一个需求就是先做一个公司的官网&#xff0c;需要使用vue写&#xff0c;作为祖师爷的粉丝…...

指向函数的指针详解,以及如何使用指向函数的指针变量做函数参数

指向函数的指针作为函数参数&#xff0c;是 C 语言实际应用中的一个比较深入的部分。 目录 一、什么是函数的指针 二、用函数指着变量调用函数 2.1举例说明 三、怎样定义和使用指向函数的指针变量 3.1定义指向函数的指针变量 3.2指向函数的指针变量详解 3.3通过指针变量…...

Spring——spring整合JUnit

JUnit定义: Junit测试是程序员测试&#xff0c;即所谓 白盒测试 &#xff0c;因为程序员知道被测试的软件如何&#xff08;How&#xff09;完成功能和完成什么样&#xff08;What&#xff09;的功能。 Junit是一套框架&#xff0c;继承TestCase类&#xff0c;就可以用Junit进行…...

保障信息安全:使用PyZbar库识别二维码图片可以快速获取二维码中的信息,保障信息安全。

目录 简介&#xff1a; 源代码&#xff1a; 源代码说明&#xff1a; 效果如下所示&#xff1a; 简介&#xff1a; 不用摄像头识别二维码可以应用在以下场景&#xff1a; 批量处理二维码图片&#xff1a;可以在服务器上使用PyZbar等库来批量处理二维码图片&#xff0c;例如读…...

从LeNet到ResNet:深入探索卷积神经网络

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…...

计算机组成原理_总线标准

计算机组成原理总目录总线标准 总线标准是系统与各模块、模块与模块之间的一个互连的标准&#xff0c;就像我们用汉语来相互交流一样。 1. 系统总线 ISA总线的扩展插槽&#xff0c;其颜色一般为黑色&#xff0c;比PCI接口插槽要长些&#xff0c;位于主板的最下端。 可插接显卡&…...

蓝桥杯C/C++VIP试题每日一练之芯片测试

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…...

树莓派测试wifi与eth速率

测试网速方法&#xff1a; 1.安装插件&#xff1a; 首先在树莓派端安装iperf3 sudo apt install iperf3PC端也需要安装iperf3&#xff0c;单击下面网址即可 下载网址 压缩包解压到桌面&#xff0c;文件内容如下图所示&#xff1a; 2.开始测速服务&#xff1a; 树莓派端在…...

关系抽取方面的基础

关系抽取方面的基础一、基本概念1. 什么是关系抽取&#xff08;Relation Extraction&#xff0c;RE&#xff09;&#xff1f;2. 都有什么奇怪的关系&#xff1f;3. 任务评价指标二、 关系抽取方法2.1 按模型结构分——Pipeline 和 Joint方法Pipeline方法Joint方法2.2 按解码方式…...

蓝桥杯嵌入式(G4系列):定时器捕获

前言&#xff1a; 定时器的三大功能还剩下最后一个捕获&#xff0c;而这在蓝桥杯嵌入式开发板上也有555定时器可以作为信号发生器供定时器来测量。 原理图部分&#xff1a; 开发板上集成了两个555定时器&#xff0c;一个通过跳线帽跟PA15相连&#xff0c;最终接到了旋钮R40上&…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

七、数据库的完整性

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