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

day16_API

今日内容

上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili
同步笔记沐沐霸的博客_CSDN博客-Java2301
零、 复习昨日
一、作业
二、String
三、StringBuffer&StringBuilder
四、日期

零、 复习昨日

见晨考

一、String

String代表字符串,类,java程序中的所有字符串,如 “abc”`,实现这个类的实例。
换句话说,程序中任何字符串字面值,都是String的对象

字符串是常量,它们的值不能被创建后改变!

但是字符串缓冲区(StringBuffer)支持改变字符串内容!


String类提供了用于比较字符串、搜索字符串,提取子字符串等等的方法

1.1 构造方法

提供了很多种构造方法,以供使用各种方式创建字符对象.


  • String()
  • String(byte[] bytes)
  • String(char[] chars)
  • String(String original)
    public static void main(String[] args) {String name = "abc";// new String("abc")// 不是abc值变化了,而是name引用变化了,指向了新的字符串name = name + "d"; // new String("abcd");// System.out.println(name );// - String() // 创建空字符串对象String s = new String( );String s2 = "";System.out.println(s );// - String(byte[] bytes)byte[] bytes = {65,66,67};String s3 = new String(bytes);System.out.println(s3 );// - String(char[] chars)char[] chars = {'我','爱','学','习'};String s4 = new String(chars);System.out.println(s4);// - String(String original)String abc = new String("abc");}

1.2 方法[重点]

查找类的方法

char charAt(int index)
返回指定索引处的 char 值。
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。其实有很多重载的方法,可以传字符串
int lastIndexOf(int ch)
返回指定字符在此字符串中最后一次出现处的索引。

   /*** 查找类方法*/public static void testFind() {// char charAt(int index)// 返回指定索引处的 char 值。(根据下标找字符)System.out.println("java".charAt(0) );// int indexOf(int ch)// 返回指定字符在此字符串中第一次出现处的索引。(根据字符找下标)System.out.println("java".indexOf('a') );System.out.println("java".indexOf("av") );// 有个场景是用来判断是否包含某个字符或字符串// int lastIndexOf(int ch)// 返回指定字符在此字符串中最后一次出现处的索引。System.out.println("java".lastIndexOf("a") );}// 练习: 设计方法,给定字符串,倒着遍历输出字符串内容public static void printChar(String str){for (int i = str.length() - 1; i >= 0 ; i--) {System.out.println(str.charAt(i) );}}

判断类的方法
boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。
boolean startsWith(String prefix, int toffset)
测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
boolean equals(Object anObject)
将此字符串与指定的对象比较。
boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。
boolean isEmpty()
当且仅当 length() 为 0 时返回 true。

   /*** 判断类的方法*/public static void testJudgment(){// boolean contains(CharSequence s)// 当且仅当此字符串包含指定的 char 值序列时,返回 trueSystem.out.println("java".contains("av") );// boolean endsWith(String suffix)// 测试此字符串是否以指定的后缀结束。System.out.println("Hello.java".endsWith("java") );System.out.println("Hello.jpg".endsWith("jpg") );// boolean startsWith(String prefix)// 测试此字符串是否以指定前缀结束。System.out.println("2301day16_01.mp4".startsWith("2301") );// boolean equals(Object anObject)// 将此字符串与指定的对象比较。System.out.println("java".equals("jAVa") );// boolean equalsIgnoreCase(String anotherString)// 将此 String 与另一个 String 比较,不考虑大小写。System.out.println("java".equalsIgnoreCase("JAVA") );// boolean isEmpty()// 当且仅当 length() 为 0 时返回 true。System.out.println("".isEmpty() );/*** null 是空对象,啥也不是* ""   是String对象,比不过这个字符串内容是空*/}

转换类
byte[] getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
char[] toCharArray()
将此字符串转换为一个新的字符数组。
String toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写
String toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
static String valueOf(boolean b)
返回 boolean 参数的字符串表示形式。

  /*** 转换方法*/public static void testTransfer() {// byte[] getBytes()// 使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。byte[] bytes = "abc".getBytes( );System.out.println(Arrays.toString(bytes));// char[] toCharArray()// 将此字符串转换为一个新的字符数组。char[] chars = "abc".toCharArray( );System.out.println(Arrays.toString(chars) );// String toLowerCase()// 使用默认语言环境的规则将此 String 中的所有字符都转换为小写System.out.println("JAVA".toLowerCase() );// String toUpperCase()// 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。System.out.println("java".toUpperCase() );// static String valueOf(boolean b)// 返回 boolean 参数的字符串表示形式。String s = String.valueOf(1);}

字符截取
String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
字符替换
String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
String replaceAll(String regex, String replacement)

   /*** 字符串截取,替换*/public static void test(){// String substring(int beginIndex)// 返回一个新的字符串,它是此字符串的一个子字符串。System.out.println("javabigdata".substring(4) );// String substring(int beginIndex, int endIndex)// 返回一个新字符串,它是此字符串的一个子字符串。// [startIndex,endIndex)System.out.println("javabigdata".substring(4,7) );System.out.println("410111200001011234".substring(6,14) );// String replace(char oldChar, char newChar)// 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的System.out.println("boss is stupid".replace("stupid","NB") );System.out.println("boss is SB".replace("SB","**") );System.out.println("SB boss is SB".replace("SB","**") );// String replaceAll(String regex, String replacement)// 参数1是正则表达式,\d是指0-9的数字,// 匹配字符串中所有的数字,替换成*System.out.println("1a2b3c4d".replaceAll("\\d","*" ));}

其他方法
String concat(String str)
将指定字符串连接到此字符串的结尾。
int length()
返回此字符串的长度。
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
String trim()
返回字符串的副本,忽略前导空白和尾部空白。

  public static void test2() {// String concat(String str)// 将指定字符串连接到此字符串的结尾。System.out.println("java".concat("bigdata") );// int length()// 返回此字符串的长度。System.out.println("java".length() );// String[] split(String regex)// 根据给定正则表达式的匹配拆分此字符串。String[] split = "某某的帅照.jpg".split("\\.");System.out.println(Arrays.toString(split) );// sdfas234.swrds2343.343fddsdf.jpg// 思考: 如何截取后缀// 拆分设备代号System.out.println(Arrays.toString("ABS-11-1n3-SS".split("-")) );// String trim()// 返回字符串的副本,忽略前导空白和尾部空白。System.out.println("    j a v a     ".trim() );}

二、StringBuffer&StringBuilder

2.1 StringBuffer

一个线程安全的,字符的可变序列
该类提供了一些方法可以改变字符串的长度和内容.

构造方法

  1. StringBuffer() 构造一个没有字符的字符串缓冲区,并构造了16个字符的初始容量。

  2. StringBuffer(CharSequence seq) 构建一个包含指定的 CharSequence相同字符的字符串缓冲区。

  3. StringBuffer(int capacity) 构造一个没有字符的字符串缓冲区,并构造指定的初始容量。

  4. StringBuffer(String str) 构造一个初始化为指定字符串内容的字符串缓冲区。

ps: 场景将来通过构造方法用于和String之间来回转换

方法

StringBuffer append(boolean b) 追加的 boolean参数序列的字符串表示形式
ps: 有很多append的重载方法,用于追加大多数类型

StringBuffer delete(int start, int end) 删除的字符在字符串序列分析。
StringBuffer deleteCharAt(int index) 删除 char在指定的位置在这个序列。

StringBuffer insert(int offset, boolean b) 插入的 boolean参数的字符串表示形式进入这个序列。 ps: 参数2支持大部分类型

StringBuffer replace(int start, int end, String str) 在一个字符串中替换指定的 String字符这个序列的特征。

StringBuffer reverse() 使这个字符序列被序列的反转所取代。

void setCharAt(int index, char ch) 指定索引处的字符设置为 ch。

总结: 其实以上方法就是对字符串的CRUD…

   public static void main(String[] args) {// StringBuffer append(boolean b) 追加的 boolean参数序列的字符串表示形式// ps: 有很多append的重载方法,用于追加大多数类型StringBuffer sb = new StringBuffer("java");StringBuffer sb2 = sb.append("bigdata");System.out.println(sb2 == sb );System.out.println(sb );System.out.println(sb2 );// StringBuffer delete(int start, int end)  删除的字符在字符串序列分析。StringBuffer sb3 = sb.delete(4, 7);System.out.println(sb3 );System.out.println(sb );// StringBuffer deleteCharAt(int index)    删除 char在指定的位置在这个序列。sb.deleteCharAt(3);System.out.println(sb );// StringBuffer insert(int offset, boolean b) 插入的 boolean参数的字符串表示形式进入这个序列。 ps: 参数2支持大部分类型StringBuffer xyz = new StringBuffer("xyz");xyz.insert(2,111);System.out.println(xyz );// StringBuffer replace(int start, int end, String str) 在一个字符串中替换指定的 String字符这个序列的特征。StringBuffer phone = new StringBuffer("18595721234");phone.replace(3,7,"****");System.out.println(phone );// StringBuffer reverse()    使这个字符序列被序列的反转所取代。StringBuffer phone2 = new StringBuffer("18595721234");phone2.reverse( );System.out.println(phone2);// void setCharAt(int index, char ch)  指定索引处的字符设置为 ch。StringBuffer xyz2 = new StringBuffer("xyz");xyz2.setCharAt(1,'Y');System.out.println(xyz2 );}

2.2 StringBuilder

StringBuilder 是可变字符序列,但是不保证线程安全.建议在单线程情况下使用,如果没有线程安全的要求,建议优先使用StringBuilder,因为操作字符串更快!!

常用的方法与StringBuffer中的效果完全一致,所以…

方法自行演示…


StringStringBufferStringBuilder
字符串是否可变不可变可变可变
线程安全安全线程安全不保证线程安全
字符串拼接效率非常慢
版本1.01.01.5
    public static void main(String[] args) {// 1000w次 250毫秒//StringBuffer stringBuffer = new StringBuffer( );// 1000w次  100毫秒//StringBuilder stringBuilder = new StringBuilder( );String str = "";long begin = System.currentTimeMillis( );for (int i = 0;i < 10000000;i++) {// stringBuffer.append("a");str+="a";}long end = System.currentTimeMillis( );System.out.println(end - begin );}

三、日期

3.1 Date

java.util.Date (特别注意不是java.sql.包下的) ,代表一个日期,可以精确到毫秒.

ps: 计算机中计算时间的原点是1970-1-1 0:0:0

构造方法

Date() 以当前时间创建日期对象
Date(int year, int month, int date) 以指定年月日创建日期时间 (已过时)
Date(long date) 以指定毫秒创建日期对象

    public static void main(String[] args) {// 当前时间Date date = new Date( );System.out.println(date );// 指定年月日(过时)// 年份要减1900 , 月份从0-11,Date date1 = new Date(100, 1, 20);System.out.println(date1 );// 指定毫秒值创建时间(时间原点是1970-01-01 00:00:00)Date date2 = new Date( 1 * 24 * 60 * 60 *1000);System.out.println(date2 );}

方法

有关于获得年月日时分秒的方法getXxx以及设置年月日时分秒setXxx , 但是大部分都过时了,只有getTime() 和setTime()没有过时…

    public static void main(String[] args) {// 当前时间Date date = new Date( );System.out.println(date );// 获得 年月日(过时了)int year = date.getYear( );int month = date.getMonth( );int day = date.getDate( );System.out.println((year+1900)+"-"+(month+1)+"-"+day );// 设置年月日(过时了)date.setYear(100);System.out.println(date );// 没过时Date now = new Date( );long time = now.getTime( );// 获得当前时间到1970-01-01 0:0:0的毫秒值System.out.println(time );now.setTime(2 * 24 * 60 * 60 *1000);System.out.println(now );}

ps: 重点记住没有过时的几个方法!!

3.2 SimpleDateFormat

SimpleDateFormat类主要用来格式化(日期→文本)和解析(文本→日期)

要想完成日期格式化和解析,先得了解日期模板

Y 或者 y  年
M        月
d        日
H        24小时制
h        12小时制
m        分
s        秒
S        毫秒
E       周
常见的日期模板
yyyy-MM-dd  2000-01-01
yy-M-d      00-1-1
yyyy/MM/dd  2000/01/01
yyyy年MM月dd日 2000年01月01日
  • 下面的例子显示的日期和时间模式在美国现场解释。给定的日期和时间2001-07-04 12:08:56当地时间在美国太平洋时间时区。

    Date and Time PatternResult
    "yyyy.MM.dd G 'at' HH:mm:ss z"2001.07.04 AD at 12:08:56 PDT
    "EEE, MMM d, ''yy"Wed, Jul 4, '01
    "h:mm a"12:08 PM
    "hh 'o''clock' a, zzzz"12 o'clock PM, Pacific Daylight Time
    "K:mm a, z"0:08 PM, PDT
    "yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04 AD 12:08 PM
    "EEE, d MMM yyyy HH:mm:ss Z"Wed, 4 Jul 2001 12:08:56 -0700
    "yyMMddHHmmssZ"010704120856-0700
    "yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700
    "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"2001-07-04T12:08:56.235-07:00
    "YYYY-'W'ww-u"2001-W27-3
   public static void main(String[] args) throws ParseException {// 指定模板(一旦指定模板,后续解析和格式化只能按照这个模板进行)SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE");// 格式化(日期→文本)Date date = new Date( );System.out.println(date );String format = sdf.format(date);System.out.println(format );// 解析(文本→日期)String str = "2020-01-01";SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");Date thatDate = sdf2.parse(str);System.out.println(thatDate );}

3.3 Calendar

Calendar日历类,抽象类,不能直接创建对象使用,需要使用静态方法获得对象

 Calendar rightNow = Calendar.getInstance();

该类提供了很多静态常量属性(字段)用来代表某一时间,可以放在set() get()内使用

四、总结

关于String,重要的是方法,最好是能全部背住! 就算是忘了,也得会根据API查到用法!!关于StringBuilder和StringBuffer总结的表格,要会背!面试会问Date比Calendar重要,没过时的几个方法一定找出来单独记!SimpleDateFormat 了解日期模板,解析parse(字符串-->日期)和格式化format(日期--> 字符串)Calendar类了解

作业.txt 有参考答案

相关文章:

day16_API

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、String 三、StringBuffer&StringBuilder 四、日期 零、 复习昨日 见晨考 一、String String代表字符串,类,java程序中的所有字符串&…...

十二月券商金工精选

✦研报目录✦ ✦简述✦ 按发布时间排序 华宝证券 主动暴露的得与失—从Barra框架到私募指增因子分析方法 发布日期&#xff1a;2022-12-01 关键词&#xff1a;股票、Barra、风险暴露、指数增强 主要内容&#xff1a;本文针对私募指数增强产品的策略流程&#xff0c;设计…...

JUnit

Junit 简介 JUnit是一个开源的java单元测试框架&#xff0c;它是XUnit测试体系架架构的一种体现 是Java语言事实上的标准单元测试库真正的优势来自于JUnit所采作用的思想和技术&#xff0c;而不是框架本身。推动了单元测试、测试先行的编程和测试驱动的开发JUnit衍生了许多xUn…...

MySQL学习笔记4-乐观锁和悲观锁

1.定义 乐观锁和倍灌水是并发控制采用的技术手段&#xff0c;确保当多个数位同时对数据中同一数据存取时&#xff0c;不会破坏事物的隔离性、统一性和数据库统一性 乐观锁 假定不会发生并发冲突&#xff0c;只在提交操作时检测是否违反数据完整性 实现方式&#xff1a; 记录…...

踩大坑:json格式存储wav二进制内容

需求描述&#xff1a; 需要将wav音频文件以二进制的形式读出&#xff0c;存放到 json 中&#xff0c;发送post请求到服务&#xff0c;服务解析json&#xff0c;得到二进制内容后放进ASR模型得出转录结果。 记一次坑&#xff1a; # 将wav以二进制形式读出存放到json中 f ope…...

加入CSDN的一年,我收获了这些……

加入CSDN的一年&#xff0c;我收获了这些……加入CSDN的一年&#xff0c;我收获了这些……加入CSDN的一年&#xff0c;我收获了这些…… &#x1f680;&#x1f680;时光如白驹过隙般&#xff0c;飞逝而过。一转眼&#xff0c;我就已经是一名大二的学生了&#xff0c;也已经在…...

【Python学习笔记】44.Python3 MongoDB和urllib

前言 本章介绍Python的MongoDB和urllib。 Python MongoDB MongoDB 是目前最流行的 NoSQL 数据库之一&#xff0c;使用的数据类型 BSON&#xff08;类似 JSON&#xff09;。 PyMongo Python 要连接 MongoDB 需要 MongoDB 驱动&#xff0c;这里我们使用 PyMongo 驱动来连接。…...

LVS中的keepalived高可用

文章目录前言一、Keepalived简介二、keepalived工作原理三、配置文件四、实验1.某台Real Server down2.LVS本身down实验过程&#xff1a;五、代码详细演示整体过程调度器安装软件、设置测试keepalived对后端RS的健康检测backup服务主机设置前言 一、Keepalived简介 Keepalived是…...

【Vue3】组件数据懒加载

组件数据懒加载-基本使用 目标&#xff1a;通过useIntersectionObserver优化新鲜好物和人气推荐模块 电商类网站&#xff0c;尤其是首页&#xff0c;内容有好几屏&#xff0c;而如果一上来就加载所有屏的数据&#xff0c;并渲染所有屏的内容会导致首页加载很慢。 数据懒加载&a…...

基于 SmartX 分布式存储的 iSCSI 与两种 NVMe-oF 技术与性能对比

作者&#xff1a;深耕行业的 SmartX 金融团队本文重点SmartX 分布式块存储 ZBS 提供 2 种存算分离架构下的数据接入协议&#xff0c;分别是 iSCSI 和 NVMe-oF。其中&#xff0c;iSCSI 虽然具有很多优势&#xff0c;但不适合支持高性能的工作负载&#xff0c;这也是 SmartX 选择…...

Anaconda 安装 Pytorch

下载Anaconda,最新版本的即可,默认安装,最好不要安装在C盘,否则后面C盘容量会很大。 安装Pytorch 打开 Anaconda Prompt ,先切换镜像源为国内清华镜像源,这样安装包的时候下载速度会快一些,也容易成功一些。 在 Anaconda Prompt 命令行依次输入以下四条命令切换到清华镜…...

从零开始使用MMSegmentation训练Segformer

从零开始使用MMSegmentation训练Segformer 写在前面&#xff1a;最新想要用最新的分割算法如&#xff1a;Segformer or SegNeXt 在自己的数据集上进行训练&#xff0c;但是有不是搞语义分割出身的&#xff0c;而且也没有系统的学过MMCV以及MMSegmentation。所以就折腾了很久&am…...

会利用信息差赚钱的人才是聪明人

毕业后找不到工作&#xff0c;穷到只剩下时间&#xff0c;大小做了20多份副业兼职&#xff0c;终于找到了可靠的渠道&#xff0c; 我是专科生&#xff0c;学历不好&#xff0c;专业拉胯。毕业后&#xff0c;我找了两三份工作。要么工资太低&#xff0c;只能交房租&#xff0c;…...

【机器学习】Adaboost

1.什么是Adaboost AdaBoost&#xff08;adapt boost&#xff09;&#xff0c;自适应推进算法&#xff0c;属于Boosting方法的学习机制。是一种通过改变训练样本权重来学习多个弱分类器并进行线性结合的过程。它的自适应在于&#xff1a;被前一个基本分类器误分类的样本的权值会…...

深度学习神经网络基础知识(二)权重衰减、暂退法(Dropout)

专栏&#xff1a;神经网络复现目录 深度学习神经网络基础知识(二) 本文讲述神经网络基础知识&#xff0c;具体细节讲述前向传播&#xff0c;反向传播和计算图&#xff0c;同时讲解神经网络优化方法&#xff1a;权重衰减&#xff0c;Dropout等方法&#xff0c;最后进行Kaggle实…...

[面试直通版]网络协议面试核心之HTTP,HTTPS,DNS-DNS安全

点击->计算机网络复习的文章集<-点击 目录 典型问题&#xff1a; 部分现象 DNS劫持 DNS欺骗 DDoS攻击 典型问题&#xff1a; 什么是DNS劫持&#xff0c;DNS欺骗&#xff0c;是什么原理如何防范DNS攻击&#xff1f; 部分现象 错误域名解析到纠错导航页面错误域名解析…...

【OJ】A+B=X

&#x1f4da;Description: 数列S中有n个整数&#xff0c;判断S中是否存在两个数A、B&#xff0c;使之和等于X。 ⏳Input: 第一行为T&#xff0c;输入包括T组测试数据。 每组数据第一行包括两个数字n和X&#xff0c;第二行有n个整数&#xff0c;表示数列S&#xff0c;(1&l…...

Python实现性能自动化测试,还可以如此简单

Python实现性能自动化测试&#xff0c;还可以如此简单 目录&#xff1a;导读 一、思考❓❔ 二、基础操作&#x1f528;&#x1f528; 三、综合案例演练&#x1f528;&#x1f528; 四、总结&#x1f4a1;&#x1f4a1; 写在最后 一、思考❓❔ 1.什么是性能自动化测试? 性…...

Leetcode力扣秋招刷题路-0080

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 80. 删除有序数组中的重复项 II 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长…...

Java实现JDBC工具类DbUtils的抽取及程序实现数据库的增删改操作

封装DbUtils 工具类 不知道我们发现没有&#xff0c;不管是对数据库进行查询&#xff0c;还是标准的JDBC 步骤&#xff0c;其开端都是先实现JDBC 的加载注册&#xff0c;接着是获取数据库的连接&#xff0c;最后都是实现关闭连接&#xff0c;释放资源的操作。那我们何不直接把…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

[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…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...