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

【day16】Java开发常用API

模块15回顾

在深入探讨模块16之前,让我们回顾一下【day15】中的重点内容:

  1. String类

    • 构造方法:String(), String(String s), String(char[] chars), String(byte[] bytes), String(char[] chars, int offset, int count), String(byte[] chars, int offset, int count)
    • 判断方法:equals, equalsIgnoreCase
    • 获取方法:length(), concat(String s), charAt(int index), indexOf(String s), substring(开始索引), substring(开始索引, 结束索引)
    • 转换方法:toCharArray(), getBytes(), getBytes(String charsetName), replace(c1, c2)
    • 分割方法:split(String regex)
    • 其他方法:contains(String s), endsWith(String s), startsWith(String s), toLowerCase(), toUpperCase(), trim()
  2. StringBuilder类

    • append(任意类型数据):字符串拼接。
    • reverse():字符串反转。
    • toString():将StringBuilder转换为String。

模块十六重点

本模块将重点介绍以下几个常用的Java API:

  1. BigInteger和BigDecimal操作
  2. Date和SimpleDateFormat的操作
  3. System中的常用方法,主要是数组复制。
  4. Arrays中的常用方法
  5. 利用包装类定义一个标准的JavaBean
  6. 包装类和String之间的转换

第一章:Math类

1. Math类介绍

Math类是一个数学工具类,主要用于数学运算,其特点如下:

  • 构造方法私有,不能实例化。
  • 方法都是静态的,可以直接通过类名调用。

2.Math类方法

以下是Math类的一些常用方法:

  • static int abs(int a):求参数的绝对值。
  • static double ceil(double a):向上取整。
  • static double floor(double a):向下取整。
  • static long round(double a):四舍五入。
  • static int max(int a, int b):求两个数之间的较大值。
  • static int min(int a, int b):求两个数之间的较小值。
public class Demo01Math {public static void main(String[] args) {System.out.println(Math.abs(-10));System.out.println(Math.ceil(3.6));System.out.println(Math.floor(3.6));System.out.println(Math.round(3.6));System.out.println(Math.round(-2.8));System.out.println(Math.max(10, 20));System.out.println(Math.min(10, 20));}
}

第二章:BigInteger

1.BigInteger介绍

BigInteger类用于处理超出long范围的超大整数。以下是其构造方法和常用操作:

  • BigInteger(String val):参数必须是数字形式的字符串。
  • BigInteger add(BigInteger val):返回两数之和。
  • BigInteger subtract(BigInteger val):返回两数之差。
  • BigInteger multiply(BigInteger val):返回两数之积。
  • BigInteger divide(BigInteger val):返回两数之商。
public class Demo02BigInteger {public static void main(String[] args) {BigInteger b1 = new BigInteger("121212121212121212121212121212121212121");BigInteger b2 = new BigInteger("121212121212121212121212121212121212121");System.out.println(b1.add(b2));System.out.println(b1.subtract(b2));System.out.println(b1.multiply(b2));System.out.println(b1.divide(b2));}
}

第三章:BigDecimal类

1.BigDecimal介绍

BigDecimal类用于解决floatdouble运算中的精度损失问题。以下是其构造方法和常用操作:

  • BigDecimal(String val):参数必须是数字形式的字符串。
  • static BigDecimal valueOf(double val):初始化小数时可以传入double型数据。
  • BigDecimal add(BigDecimal val):返回两数之和。
  • BigDecimal subtract(BigDecimal val):返回两数之差。
  • BigDecimal multiply(BigDecimal val):返回两数之积。
  • BigDecimal divide(BigDecimal val):返回两数之商。
  • BigDecimal divide(BigDecimal divisor, int scale, int roundingMode):指定保留小数位数和取舍方式的除法。
public class Demo03BigDecimal {public static void main(String[] args) {BigDecimal b1 = new BigDecimal("3.55");BigDecimal b2 = new BigDecimal("2.12");BigDecimal divide = b1.divide(b2, 2, BigDecimal.ROUND_UP);System.out.println("divide = " + divide);double v = divide.doubleValue();System.out.println("v = " + v);}
}

第四章:Date日期类

1.Date类的介绍

Date类用于表示特定的瞬间,精确到毫秒。以下是其构造方法和常用方法:

  • Date():获取当前系统时间。
  • Date(long time):获取指定时间,传递毫秒值。
private static void date01() {Date date1 = new Date();System.out.println("date1 = " + date1);Date date2 = new Date(1000L);System.out.println("date2 = " + date2);
}

第五章:Calendar日历类

1.Calendar介绍

Calendar是一个抽象类,用于操作日历相关的操作。以下是其常用方法:

  • static Calendar getInstance():获取Calendar实例。
  • int get(int field):返回给定日历字段的值。
  • void set(int field, int value):将给定的日历字段设置为指定的值。
  • void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  • Date getTime():将Calendar转换为Date对象。
private static void calendar02() {Calendar calendar = Calendar.getInstance();int year = calendar.get(Calendar.YEAR);System.out.println("year = " + year);calendar.add(Calendar.YEAR, -1);System.out.println(calendar.get(Calendar.YEAR));Date date = calendar.getTime();System.out.println("date = " + date);
}

需求: 键盘录入一个年份,判断这一年是闰年,还是平年

  1. 创建Calendar对象
  2. 创建Scanner对象,键盘录入一个年份
  3. 调用set方法,传递年,月,日,set(年,2,1) -> 国外是0-11,所以设置成2月就是代表3月
  4. 将day减1天(3月1日减1天,就是2月最后一天,知道2月最后一天了,就知道是平年还是闰年了)
  5. 获取day判断平年还是闰年,输出结果
private static void calendar03() {//1.创建Calendar对象Calendar calendar = Calendar.getInstance();//2.创建Scanner对象,键盘录入一个年份Scanner sc = new Scanner(System.in);int year = sc.nextInt();//3.调用set方法,传递年,月,日//set(年,2,1) -> 国外是0-11,所以设置成2月就是代表3月calendar.set(year,2,1);//4.将day减1天(3月1日减1天,就是2月最后一天,知道2月最后一天了,就知道是平年还是闰年了)calendar.add(Calendar.DATE,-1);int day = calendar.get(Calendar.DATE);//5.获取day判断平年还是闰年,输出结果if (day==29){System.out.println("闰年");}else{System.out.println("平年");}}

第六章:SimpleDateFormat日期格式化类

1.SimpleDateFormat介绍

SimpleDateFormat类用于格式化和解析日期。以下是其构造方法和常用方法:

  • SimpleDateFormat(String pattern):指定日期格式。
  • String format(Date date):将Date对象按照指定的格式转换为字符串。
  • Date parse(String source):将符合日期格式的字符串转换为Date对象。
时间字母表示说明
y
M
d
H
m
s
public class Demo03SimpleDateFormat {public static void main(String[] args) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String time1 = sdf.format(new Date()); // 将Date对象按照指定的格式转成StringSystem.out.println("time1 = " + time1);String time2 = "2000-10-10 10:10:10";Date date = sdf.parse(time2); // 将符合日期格式的字符串转成Date对象System.out.println("date = " + date);}
}

第七章:JDK8新日期类

1.LocalDate本地日期

LocalDate是一个不可变的日期时间对象,表示日期,通常被视为年月日。以下是其常用方法:

  • static LocalDate now():创建LocalDate对象。
  • static LocalDate of(int year, int month, int dayOfMonth):创建LocalDate对象,设置年月日。
public class Demo04LocalDate {public static void main(String[] args) {LocalDate localDate = LocalDate.now();System.out.println("localDate = " + localDate);// //static LocalDate of(int year, int month, int dayOfMonth)  -> 创建LocalDate对象,设置年月日LocalDate localDate1 = LocalDate.of(2000, 10, 10);System.out.println("localDate1 = " + localDate1);}
}

1.2.LocalDateTime对象

LocalDateTime是一个不可变的日期时间对象,代表日期时间,通常被视为年-月-日-时-分-秒。以下是其常用方法:

  • static LocalDateTime now():创建LocalDateTime对象。
  • static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second):创建LocalDateTime对象,设置年月日时分秒。
public class Demo05LocalDateTime {public static void main(String[] args) {LocalDateTimelocalDateTime = LocalDateTime.now();System.out.println("localDateTime = " + localDateTime);// //static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second) 创建LocalDateTime对象,设置年月日时分秒LocalDateTime localDateTime1 = LocalDateTime.of(2000, 10, 10, 10, 10, 10);System.out.println("localDateTime1 = " + localDateTime1);}
}

1.3.获取日期字段的方法

以下是获取日期字段的常用方法:

  • int getYear():获取年份。
  • int getMonthValue():获取月份。
  • int getDayOfMonth():获取月中的第几天。
private static void get() {LocalDate localDate = LocalDate.now();// //int getYear()->获取年份System.out.println(localDate.getYear());// //int getMonthValue()->获取月份System.out.println(localDate.getMonthValue());//int getDayOfMonth()->获取月中的第几天System.out.println(localDate.getDayOfMonth());
}

1.4.设置日期字段的方法

以下是设置日期字段的常用方法:名字是with开头

  • LocalDate withYear(int year):设置年份。
  • LocalDate withMonth(int month):设置月份。
  • LocalDate withDayOfMonth(int day):设置月中的天数。
    private static void with() {LocalDate localDate = LocalDate.now();//LocalDate withYear(int year):设置年份//LocalDate localDate1 = localDate.withYear(2000);//System.out.println(localDate1);//LocalDate withMonth(int month):设置月份//LocalDate localDate2 = localDate1.withMonth(10);//System.out.println("localDate2 = " + localDate2);//LocalDate withDayOfMonth(int day):设置月中的天数//LocalDate localDate3 = localDate2.withDayOfMonth(10);//System.out.println("localDate3 = " + localDate3);LocalDate localDate1 = localDate.withYear(2000).withMonth(10).withDayOfMonth(10);System.out.println("localDate1 = " + localDate1);}

1.5.日期字段偏移

以下是日期字段偏移的常用方法:

  • plus开头的方法:向后偏移。
  • minus开头的方法:向前偏移。
    /*向后偏移 -> plus开头方法向前偏移 -> minus开头方法*/private static void plusAndMinus() {LocalDate localDate = LocalDate.now();// LocalDate localDate1 = localDate.plusYears(1L);// System.out.println("localDate1 = " + localDate1);LocalDate localDate1 = localDate.minusYears(1L);System.out.println("localDate1 = " + localDate1);}

2.Period和Duration类

2.1 Period计算日期之间的偏差

以下是Period类的常用方法:

  • static Period between(LocalDate d1, LocalDate d2):计算两个日期之间的差值。
  • getYears():获取相差的年。
  • getMonths():获取相差的月。
  • getDays():获取相差的天。
private static void period() {LocalDate local1 = LocalDate.of(2022, 12, 12);LocalDate local2 = LocalDate.of(2021, 11, 11);Period period = Period.between(local2, local1);System.out.println(period.getYears());System.out.println(period.getMonths());System.out.println(period.getDays());
}
2.2 Duration计算时间之间的偏差

以下是Duration类的常用方法:

  • static Duration between(Temporal startInclusive, Temporal endExclusive):计算时间差。
  • toDays():获取相差天数。
  • toHours():获取相差小时。
  • toMinutes():获取相差分钟。
  • toMillis():获取相差秒(毫秒)。

参数需要传递 Temporal 的实现类对象, 注意要传递LocalDateTime,因为Duration计算精确时间偏差,所以需要传递能操作精确时间的 LocalDateTime

private static void duration() {LocalDateTime local1 = LocalDateTime.of(2022, 12, 12, 12, 12, 12);LocalDateTime local2 = LocalDateTime.of(2021, 11, 11, 11, 11, 11);Duration duration = Duration.between(local2, local1);System.out.println(duration.toDays());System.out.println(duration.toHours());System.out.println(duration.toMinutes());System.out.println(duration.toMillis());
}

如果计算年月日,就用Period

如果计算时分秒,就用Duration

3.DateTimeFormatter日期格式化类

DateTimeFormatter类用于格式化和解析日期。以下是其常用方法:

  • static DateTimeFormatter ofPattern(String pattern):获取DateTimeFormatter对象,指定格式。
  • String format(TemporalAccessor temporal):将日期对象按照指定的规则转换为字符串。
  • TemporalAccessor parse(CharSequence text):将符合规则的字符串转换为日期对象。
private static void parse() {DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String time = "2000-10-10 10:10:10";TemporalAccessor temporalAccessor = dtf.parse(time);LocalDateTime localDateTime = LocalDateTime.from(temporalAccessor);System.out.println("localDateTime = " + localDateTime);
}

第八章:System类

System类是一个系统相关工具类,其特点如下:

  • 构造方法私有,不能实例化。
  • 方法都是静态的,可以直接通过类名调用。

以下是System类的常用方法:

  • static long currentTimeMillis():返回以毫秒为单位的当前时间,可用于测量效率。
  • static void exit(int status):终止当前正在运行的Java虚拟机。
  • static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):数组复制。
方法说明
static long currentTimeMillis()返回以毫秒为单位的当前时间,可以测效率
static void exit(int status)终止当前正在运行的 Java 虚拟机
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length数组复制
src:源数组
srcPos:从源数组的哪个索引开始复制
dest:目标数组
ldestPos:从目标数组哪个索引开始粘贴
length:复制多少个元素
public class Demo01System {public static void main(String[] args) {arraycopy();}private static void arraycopy() {int[] arr1 = {1, 2, 3, 4, 5};int[] arr2 = new int[10];System.arraycopy(arr1, 0, arr2, 0, 5);for (int i = 0; i < arr2.length; i++) {System.out.print(arr2[i] + " ");}}
}

第九章:Arrays数组工具类

Arrays类是一个数组工具类,其特点如下:

  • 构造方法私有,不能实例化。
  • 方法都是静态的,可以直接通过类名调用。

以下是Arrays类的常用方法:

  • static String toString(int[] a):按照格式打印数组元素。
  • static void sort(int[] a):升序排序。
  • static int binarySearch(int[] a, int key):二分查找(前提是升序)。
  • static int[] copyOf(int[] original, int newLength):数组扩容。
方法说明
static String toString(int[] a)按照格式打印数组元素
[元素1, 元素2, …]
static void sort(int[] a)升序排序
static int binarySearch(int[] a, int key)二分查找(前提是升序)
static int[] copyOf(int[] original, int newLength)数组扩容
public class Demo02Arrays {public static void main(String[] args) {int[] arr = {5, 3, 4, 6, 5, 4, 7};System.out.println(Arrays.toString(arr));Arrays.sort(arr);System.out.println(Arrays.toString(arr));int[] arr1 = {1, 2, 3, 4, 5, 6, 7};int index = Arrays.binarySearch(arr1, 3);System.out.println("index = " + index);int[] arr2 = {1, 2, 3, 4, 5};int[] newArr = Arrays.copyOf(arr2, 10);System.out.println(Arrays.toString(newArr));}
}

在这里插入图片描述

第十章:包装类

1.基本数据类型对应的引用数据类型(包装类)

包装类是基本数据类型对应的类,它们使得基本数据类型具有类的特性。以下是基本数据类型与其对应的包装类:

基本类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

2.Integer的介绍及使用

2.1.Integer基本使用

Integerint的包装类,以下是其构造方法和基本使用:

  • Integer(int value):不推荐使用,但仍然可用。
  • Integer(String s)s必须是数字形式的字符串。
public class Demo01Integer {public static void main(String[] args) {Integer i1 = new Integer(10);System.out.println("i1 = " + i1);Integer i2 = new Integer("10");System.out.println("i2 = " + i2);}
}
2.2.自动拆箱装箱

Integer类提供了自动拆箱和装箱的功能,使得基本类型和Integer之间的转换更加方便。

public class Demo04Integer {public static void main(String[] args) {Integer i = 10; // 发生了自动装箱Integer sum = i + 10; // 发生了自动拆箱装箱System.out.println("sum = " + sum);}
}

在这里插入图片描述

public class Demo05Integer {public static void main(String[] args) {Integer i1 = 100;Integer i2 = 100;System.out.println(i1==i2);Integer i3 = 128;Integer i4 = 128;System.out.println(i3==i4);}
}

在这里插入图片描述
在这里插入图片描述

3.基本类型和String之间的转换

3.1 基本类型往String转

以下是将基本类型转换为String的常用方法:

  1. 使用+拼接。
  2. 使用String中的静态方法valueOf
private static void method01() {int i = 10;String s1 = i + "";System.out.println(s1 + 1);System.out.println("============");String s = String.valueOf(10);System.out.println(s + 1);
}
3.2 String转成基本数据类型

以下是将String转换为基本数据类型的常用方法:

每个包装类中都有一个类似的方法:parseXXX

位置方法说明
Bytestatic byte parseByte(String s)将String转byte类型
Shortstatic short parseShort(String s)将String转成short类型
Integerstatic int parseInt(String s)将String转成int类型
Longstatic long parseLong(String s)将String转成long类型
Floatstatic float parseFloat(String s)将String转成float类型
Doublestatic double parseDouble(String s)将String转成double类型
Booleanstatic boolean parseBoolean(String s)将String转成boolean类型
private static void method02() {int number = Integer.parseInt("1111");System.out.println(number + 1);
}

相关文章:

【day16】Java开发常用API

模块15回顾 在深入探讨模块16之前&#xff0c;让我们回顾一下【day15】中的重点内容&#xff1a; String类&#xff1a; 构造方法&#xff1a;String(), String(String s), String(char[] chars), String(byte[] bytes), String(char[] chars, int offset, int count), String…...

LLaMA-Factory(二)界面解析

这里写目录标题 1. 基础选项语言模型选择模型路径微调方法检查点路径量化等级量化方法提示模板RoPE加速方式 2.模型训练界面训练方式数据集超参数设置其他参数部分参数设置LoRA参数设置RLHF参数设置GaLore参数设置BAdam参数设置训练 3.评估预测界面4.Chat界面5.导出Export界面 …...

(14)CT137A- 动态数码管设计

&#xff08;1&#xff09;了解板卡原理图中数码管的特性&#xff1a;共阳极数码管&#xff0c;公共端连接了电源&#xff0c;FPGA IO口低电平有效&#xff0c;另外&#xff0c;可以看到位选端FPGA位选低电平时选通。 &#xff08;2&#xff09;刷新时间的设定&#xff1a;众所…...

RT-DETR学习笔记(2)

七、IOU-aware query selection 下图是原始DETR。content query 是初始化为0的label embedding, position query 是通过nn.Embedding初始化的一个嵌入矩阵&#xff0c;这两部分没有任何的先验信息&#xff0c;导致DETR的收敛慢。 RT-DETR则提出要给这两部分&#xff08;conten…...

JS、JSX 和 TSX 的对比指南

JS、JSX 和 TSX 的对比指南 1. JavaScript (.js) 简介 JavaScript 是一种轻量级的、解释型的编程语言&#xff0c;是 Web 开发中最基础的语言之一。 优点 学习曲线较低&#xff0c;容易入门使用范围广泛&#xff0c;生态系统成熟灵活性高&#xff0c;支持多种编程范式不需…...

【STM32】RTT-Studio中HAL库开发教程十:EC800M-4G模块使用

文章目录 一、简介二、模块测试三、OneNet物联网配置四、完整代码五、测试验证 一、简介 EC800M4G是一款4G模块&#xff0c;本次实验主要是进行互联网的测试&#xff0c;模块测试&#xff0c;以及如何配置ONENET设备的相关参数&#xff0c;以及使用STM32F4来测试模块的数据上报…...

增加nginx配置文件(conf.d), 管理多个项目

1.切换到nginx目录下, 新建conf.d文件夹 mkdir conf.d 2.赋予conf.d权限 chmod 777 conf.d 3.进入conf.d, 编辑conf文件 vim zc_travel.conf server { listen 13101; server_name localhost;location / {root /home/baoxin/app/web/insight-radar-rcfx-pre/html_dev;index …...

服务器中了挖矿病毒-应急响应

事件&#xff1a;客户反映服务器响应很慢&#xff0c;出行卡顿&#xff0c;服务器操作系统为windows server 2008。 现场解决步骤&#xff1a; 1、打开任务管理器&#xff0c;看到一个javs.exe的程序&#xff0c;占用CPU使用率比较高&#xff0c;怀疑可能是木马。 2、右键打开…...

pid学习感悟

飞行控制PID算法——无人机飞控_飞控算法-CSDN博客 首先pid是对现测量值和目标值的差值&#xff0c;即偏差值的操作 p是线性操作&#xff0c;偏差越大&#xff0c;则对于控制单元操作的值越大 d是微分操作&#xff0c;我们知道微分其实就是数值变化的斜率&#xff0c;所以当偏…...

Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行

一、部署LDAP 1、安装LDAP yum install -y openldap-servers openldap-clients openldap openldap-devel compat-openldap openldap-servers-sql systemctl start slapd systemctl enable slapd2、创建第一个管理账号密码&#xff08;设置为ldapadmin&#xff09; slappass…...

唯品会C++面试题及参考答案

内存池怎么可以保证不会产生碎片? 内存池通过预先分配一块较大的内存区域,然后对这块内存进行管理,来减少碎片产生。 首先,内存池采用固定大小的内存块分配策略。比如,将内存池划分成大小相同的小块,当有内存分配请求时,就从这些固定大小的块中选取合适的进行分配。这种…...

Flask中@app.route()的methods参数详解

诸神缄默不语-个人CSDN博文目录 在 Flask 中&#xff0c;app.route 是用于定义路由的核心装饰器&#xff0c;开发者可以通过它为应用指定 URL 映射及相应的处理函数。在处理 HTTP 请求时&#xff0c;不同的业务场景需要支持不同的 HTTP 方法&#xff0c;而 app.route 的 metho…...

使用Grafana中按钮插件实现收发HTTP请求

最近项目中需要监控分布式集群的各项指标信息&#xff0c;需要用到PrometheusGrafana的技术栈实现对分布式集群的各个节点状态进行可视化显示&#xff0c;但是要求前端需要提供一个易用的接口让用户可以触发一些操作&#xff0c;例如负载高时进行负载均衡或弹性伸缩。网上找到的…...

workman服务端开发模式-应用开发-vue-element-admin挂载websocket

一、项目根目录main.js添加全局引入 import /utils/websocket 二、在根目录app.vue 中初始化WebSocket连接 <template><div id"app"><router-view /></div> </template><script>import store from ./store export default {n…...

堆排序【东北大学oj数据结构9-4】C++

堆排序是一种基于堆的数据结构的排序&#xff0c;是一种快速排序算法&#xff0c;可以在输入数组中实现排序处理&#xff08;内存高效&#xff09;。 堆排序可以实现如下&#xff1a; maxHeapify(A, i) l left(i) r right(i) // select the node which has the m…...

Linux RTC 驱动框架

目录 一、实时时钟&#xff08;RTC&#xff09;介绍1.1 概述1.2 功能1.3 应用场景1.4 工作原理1.5 对外接口1.6 常见 RTC 芯片1.7 在 Linux 系统中的应用1.8 注意事项 二、Linux 内核 RTC 驱动框架2.1 相关源码文件介绍2.2 核心数据结构2.2.1 struct rtc_device2.2.2 rtc_class…...

智能订餐:基于JSP的管理系统设计与优化

相关技术介绍 2.1 B/S结构 目前使用较多的开发结构模式大致可以包括C/S模式和B/S模式[5]。其中&#xff0c;C/S模式全称为客户端/服务器模式&#xff08;Client/Server模式&#xff09;&#xff0c;B/S模式全称为浏览器/服务器模式&#xff08;Browser/Server模式&#xff09;。…...

Java基本查询(四)

JPA 查询All示例 JPA教程 - JPA查询All示例 我们可以在JPQL中使用带有子查询的ALL运算符。 List l em.createQuery("SELECT e FROM Professor e WHERE e.salary < " "ALL (SELECT d.salary FROM e.directs d)").getResultList();例子 下面的代码来自…...

【双指针算法】--复写零

文章目录 1. 题目2. 题目解析3. 代码 1. 题目 在线oj 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改&a…...

leetcode hot100 两两交换链表之中的节点

24. 两两交换链表中的节点 已解答 中等 相关标签 相关企业 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09; # Definition fo…...

Yolo11改进策略:主干网络改进|FastVit与Yolo11完美融合,重参数重构Yolo11网络(全网首发)

文章目录 摘要FastViT:一种使用结构重新参数化的快速混合视觉变换器1、简介2、相关工作3、体系结构3.1、概述3.2、FastViT3.2.1、重新参数化跳过连接3.2.2、线性训练时间过参数化3.2.3、大核卷积4、实验4.1、图像分类4.2、鲁棒性评价4.3、3D Hand网格估计4.4、语义分割和目标检…...

vscode打开下一个文件的时候上一个文件会关闭

解决方法&#xff1a; 你可以通过设置 workbench.editor.enablePreview 来控制在 VS Code 中打开文件时是否会关闭上一个文件。将其设置为 false 可以防止这种行为。 {"workbench.editor.enablePreview": false } 在设置编辑器中显示 "workbench.editor.enab…...

windows使用zip包安装MySQL

windows通过zip包安装MySQL windows通过zip包安装MySQL下载MySQL的zip安装包创建安装目录和数据目录解压zip安装包创建配置目录 etc 和 配置文件 my.ini安装MySQL进入解压后的bin目录执行命令初始化执行命令安装 验证安装查看服务已安装 启动MySQL查看服务运行情况修改密码创建…...

【LeetCode每日一题】——415.字符串相加

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 字符串 二【题目难度】 简单 三【题目编号】 415.字符串相加 四【题目描述】 给定两个字符…...

基于角色的访问控制(RBAC)在异构系统中的应用

在数字化蓬勃发展的当下&#xff0c;企业运营高度依赖各类异构系统。基于角色的访问控制&#xff08;RBAC&#xff09;成为管理这些系统中用户权限的核心策略。RBAC 依据组织内的岗位、职责定义角色&#xff0c;按角色分配权限&#xff0c;用户凭借所属角色获取相应访问权&…...

FPGA实现MIPI转FPD-Link车载同轴视频传输方案,基于IMX327+FPD953架构,提供工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博主所有FPGA工程项目-->汇总目录我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、详细设计方案设计原理框图IMX327 及其配置FPD-Link视频串化-解串方案MIPI CSI RX图像 ISP 处理图像缓存HDMI输出工程源码架构 5、…...

远程控制macOS一直卡在100%,能连接上了却只显示了壁纸?

前言 前段时间有个朋友过来咨询关于Windows使用第三方远程软件&#xff08;向日葵、Todesk等&#xff09;远程连接控制macOS系统&#xff0c;但出现了一些奇奇怪怪的问题。 比如在连接的时候&#xff0c;一直卡在100%连接&#xff0c;对方的电脑却已经显示已经被控制的状态。…...

springboot中使用gdal将表中的空间数据转shapefile文件

springboot中使用gdal将表中的空间数据转shapefile文件 代码&#xff1a; // 样本导出-将样本表导出为shapefile&#xff0c;复制样本shp文件到临时目录下 sampleDir是文件夹pathpublic void setYbShapeFile(Yb yb, File sampleDir) {// 创建 前时项 和 后时项 文件夹File y…...

捋一捋相关性运算,以及DTD和NLP中的应用

捋一捋相关性运算&#xff0c;以及DTD和NLP中的应用 相关性和相干性,有木有傻傻分不清相关性数字信号的相关运算同维度信号的相关理解 相关--互相关--相干 回声消除过程如何套用这些知识相关性/相干性检测在DT中的应用参考 相关性和相干性,有木有傻傻分不清 这是容易混淆的两个…...

Calcite Web 项目常见问题解决方案

Calcite Web 项目常见问题解决方案 calcite-web Authoritative front-end development resources for Calcite design initiative. Includes extendable base components and styles, as well as a modular and efficient framework for ArcGIS properties. [这里是图片001] 项…...

3090. 每个字符最多出现两次的最长子字符串

题目内容&#xff1a; 给你一个字符串 s &#xff0c;请找出满足每个字符最多出现两次的最长子字符串&#xff0c;并返回该 子字符串 的 最大 长度。 示例 1&#xff1a; 输入&#xff1a; s "bcbbbcba" 输出&#xff1a; 4 解释&#xff1a; 以下子字符串长…...

基于微信小程序的短视频系统(SpringBoot)+文档

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…...

Git的简介

文章目录 一.Git是什么二.核心概念三.工作流程四.Git的优势 下载Git 推荐官网下载 官网地址 一.Git是什么 Git是一个分布式版本控制系统&#xff0c;用于跟踪文件的变化并协调多人对同一项目的开发工作。它就像是一个时光机器&#xff0c;能够记录文件在不同时间点的状态&…...

【XR】ATW

异步时间扭曲&#xff08;Asynchronous Timewarp&#xff0c;简称ATW&#xff09;是一种在虚拟现实&#xff08;VR&#xff09;技术中使用的算法&#xff0c;它通过生成中间帧来减少因帧率不足导致的抖动和延迟&#xff0c;从而提高用户体验。ATW技术在两个线程中完成时间扭曲的…...

记Fastjson2的一个报ConcurrentModificationException的bug

错误背景&#xff1a;fastjson2的parseObject方法&#xff0c;在spring webflux项目中被调用&#xff0c;有时会报java.util.ConcurrentModificationException错误。报错处的代码如下图&#xff1a; 改了半天与并发安全相关的代码&#xff0c;还是会报此错误。后来改变思路搜…...

JAVAweb学习日记(二)JavaScript

一、概念 二、JavaScript引入方式 三、JavaScript书写语法 输出语句&#xff1a; 变量&#xff1a; 数据类型、运算符、流程控制语句&#xff1a; 数据类型&#xff1a; 运算符&#xff1a; 字符串如果是 数字字符构成&#xff0c;先把读到的数字转为数字类型&#xff0c;后续…...

FPGA学习(基于小梅哥Xilinx FPGA)学习笔记

文章目录 一、整个工程的流程二、基于Vivado的FPGA开发流程实践&#xff08;二选一多路器&#xff09;什么是二选一多路器用verilog语言&#xff0c;Vivado软件进行该电路实现1、设计输入&#xff1a;Design Sources中的代码2、分析和综合&#xff1a;分析设计输入中是否有错误…...

Linux的VIM基本操作

编辑模式转换 编辑指令 linux用vim编辑代码&#xff0c;再用gcc进行编译 编辑命令如下 gcc编译如下...

2024年12月英语六级CET6写作与翻译笔记

目录 1 写作 1.1 大学为学生提供了探索各种可能性 1.2 自律在个人成长中的重要性 1.3 切实可行的目标 2 翻译 2.1 洋山港(Yangshan Port) 2.2 中国航天事业 2.3 北斗卫星导航系统 1 写作 1.1 大学为学生提供了探索各种可能性 1.2 自律在个人成长中的重要性 1.3 切实可…...

学习记录:electron主进程与渲染进程直接的通信示例【开箱即用】

electron主进程与渲染进程直接的通信示例 1. 背景&#xff1a; electronvue实现桌面应用开发 2.异步模式 2.1使用.send 和.on的方式 preload.js中代码示例&#xff1a; const { contextBridge, ipcRenderer} require(electron);// 暴露通信接口 contextBridge.exposeInMa…...

领域自适应

领域自适应&#xff08;Domain Adaptation&#xff09;是一种技术&#xff0c;用于将机器学习模型从一个数据分布&#xff08;源域&#xff09;迁移到另一个数据分布&#xff08;目标域&#xff09;。这在源数据和目标数据具有不同特征分布但任务相同的情况下特别有用。领域自适…...

Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)

KubeadmContainerd部署k8s(v1.28.2)集群&#xff08;非高可用版&#xff09; 文章目录 KubeadmContainerd部署k8s(v1.28.2)集群&#xff08;非高可用版&#xff09;一.环境准备1.服务器准备2.环境配置3.设置主机名4.修改国内镜像源地址5.配置时间同步6.配置内核转发及网桥过滤 …...

重温设计模式--职责链模式

文章目录 职责链模式的详细介绍C 代码示例C示例代码2 职责链模式的详细介绍 定义与概念 职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它旨在将请求的发送者和多个接收者解耦&#xff0c;让多个对象都有机会处理请求&a…...

单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号

一&#xff0c;简介 一般来说&#xff0c;公司有很多系统使用&#xff0c;为了实现统一的用户名管理和登录所有系统&#xff08;如 GitLab、Harbor 等&#xff09;&#xff0c;并在员工离职时只需删除一个主账号即可实现权限清除&#xff0c;可以采用 单点登录 (SSO) 和 集中式…...

【Rust自学】5.1. 定义并实例化struct

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 5.1.1. 什么是struct struct的中文意思为结构体&#xff0c;它是一种自定义的数据类型&#xff0c;它允许程序为相关联的值命名和打包&am…...

vue-cli 5接入模块联邦 module federation

vue-cli 5接入模块联邦 module federation 模块联邦概念实现思路配置遇到的问题: 模块联邦概念 模块联邦由webpack 5最先推出的,让应用加载远程的代码模块来实现不同的Web应用共享代码片段.模块联邦分为两个角色,一个是生产者,一个是消费者.生产者暴露代码供消费者消费 (用一个…...

[前端]mac安装nvm(node.js)多版本管理

NVM功能简介 NVM&#xff08;Node Version Manager&#xff09;是一个用于管理多个Node.js版本的命令行工具&#xff0c;它允许开发者在同一台机器上安装、切换和卸载不同版本的Node.js&#xff0c;从而解决版本不兼容的问题。以下是NVM的一些主要功能和用途&#xff1a; 安装和…...

thinkphp8+layui分页

前端 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>demo</title><link href"//unpkg.com/layui2.9.20/dist/css/layui.css" rel"stylesheet"> </head> <…...

【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的?

【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的&#xff1f; 重要性&#xff1a;★★★ NLP Github 项目&#xff1a; NLP 项目实践&#xff1a;fasterai/nlp-project-practice 介绍&#xff1a;该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用…...

VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)

名人说&#xff1a;一点浩然气&#xff0c;千里快哉风。—— 苏轼《水调歌头》 创作者&#xff1a;Code_流苏(CSDN) 目录 一、Java开发环境搭建二、VScode下载及安装三、VSCode配置Java环境四、运行测试五、背景图设置 很高兴你打开了这篇博客&#xff0c;更多详细的安装教程&…...