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

json笔记

1、json的组成

        JSON是一个标记符序列。这套标记符包括:构造字符、字符串、数字和字面值(false, true, null)

1.1 构造字符

        六个构造字符:

  • 左方括号  [

  • 右方括号 ]

  • 左大括号 {

  • 右大括号 }

  • 冒号 :

  • 逗号 ,

1.2 JSON值

        json值包括:对象、数组、字符串、字面值(true,false,null)

1.2.1 对象

        由花括号括起来,逗号分割的成员构成,成员是字符串键和上面所说的JSON值构成 

{"name":"jery", "age":18, "sex":"男"}

1.2.2 数组

        由方括号括起来的一组JSON值构成

示例1:一组数字组成的数组

[1, 2, 3, 4, 5, 6, 7, 8]

示例2:一组对象组成的数组

[

        {"name":"jery", "age":18, "sex":"男"},

        {"name":"lina", "age":16, "sex":"女"}

]

1.2.3 字符串、数字和 字面值

下面示例中的name的值为字符串,age的值为数字,isStudent的值为false。

{

        "name":"jery",

        "age":4,

        "isStudent":false

}

2、 JsonPath

        很多时候我们拿到其他模块的json字符串,如果不存在共享的java实体类定义,可能会直接使用JsonObject之类的动态对象类承接这份数据。这时候对于很深的的属性取值是非常复杂的,例如:

public class JsonTest {@Testpublic void getJsonObjectValueTest() {String json = "{\"a\":{\"b\":{\"c\":{\"d\":\"我是d的值\"}}}}";System.out.println(getJsonObjectValue(json));}private String getJsonObjectValue(String jsonStr) {JSONObject json = JSONObject.parseObject(jsonStr);JSONObject a = json.getJSONObject("a");if (a != null) {JSONObject b = a.getJSONObject("b");if (b != null) {JSONObject c = b.getJSONObject("c");if (c != null) {return c.getString("d");}}}return null;}}

        使用jsonpath可以变的简单:

    @Testpublic void getValueByPathTest() {String json = "{\"a\":{\"b\":{\"c\":{\"d\":\"我是d的值\"}}}}";Object value = JSONPath.compile("$.a.b.c.d").eval(json);System.out.println(value);}

2.1 基本语法

        参考 https://github.com/alibaba/fastjson/wiki/JSONPath

FastJson 解析神器JsonPath 使用手册-CSDN博客

JSONPATH描述
$根对象,例如$.name
@文档当前节点对象,类似于java 中的 this 字段
[num]数组访问,其中num是数字,可以是负数。例如$[0].leader.departments[-1].name
[num0,num1,num2...]数组多个元素访问,其中num是数字,可以是负数,返回数组中的多个元素。例如$[0,3,-2,5]
[start:end]数组范围访问,其中start和end是开始小表和结束下标,可以是负数,返回数组中的多个元素。例如$[0:5]
[start:end :step]数组范围访问,其中start和end是开始小表和结束下标,可以是负数;step是步长,返回数组中的多个元素。例如$[0:5:2]
[?(key)]对象属性非空过滤,例如$.departs[?(name)]
[key > 123]数值类型对象属性比较过滤,例如$.departs[id >= 123],比较操作符支持=,!=,>,>=,<,<=
[key = '123']字符串类型对象属性比较过滤,例如$.departs[name = '123'],比较操作符支持=,!=,>,>=,<,<=
[key like 'aa%']字符串类型like过滤,
例如$.departs[name like 'sz*'],通配符只支持%
支持not like
[key rlike 'regexpr']字符串类型正则匹配过滤,
例如departs[name rlike 'aa(.)*'],
正则语法为jdk的正则语法,支持not rlike
[key in ('v0', 'v1')]IN过滤, 支持字符串和数值类型
例如:
$.departs[name in ('wenshao','Yako')]
$.departs[id not in (101,102)]
[key between 234 and 456]BETWEEN过滤, 支持数值类型,支持not between
例如:
$.departs[id between 101 and 201]
$.departs[id not between 101 and 201]
length() 或者 size()数组长度。例如$.values.size()
支持类型java.util.Map和java.util.Collection和数组
keySet()获取Map的keySet或者对象的非空属性名称。例如$.val.keySet()
支持类型:Map和普通对象
不支持:Collection和数组(返回null)
.属性访问,例如$.name
..deepScan属性访问,例如$..name
*对象的所有属性,例如$.leader.*
['key']属性访问。例如$['name']
['key0','key1']多个属性访问。例如$['id','name']
  • $:表示JSON数据的根对象。
  • .[]:用于访问对象的属性或数组的元素。例如,$.name 或 $[‘name’] 都可以访问根对象中的 ‘name’ 属性。
  • :表示递归下降,用于查找所有级别的属性。
  • ?():应用一个过滤表达式来过滤数组中的元素。例如,$?(@.age>18) 将选择所有年龄大于18的对象。
  • []:在属性名或数组索引位置使用,表示选择所有元素。例如,$.students[*].name 将选择所有学生的名字。
  • -101n:用作数组索引时,表示从最后一个元素开始计数。例如,$.students[-1].name 将选择最后一个学生的名字。

2.1 关于JSONPath.eval中第三个参数ignoreNullValue

        在jsonPath中,如果要获取的参数是列表中的元素(返回的是列表),会默认过滤掉null的取值,示例:

    public void jsonTestDefaultIgnoreNull() {String jsonStr = "{'store':{'book':[" +"{'category':'reference','author':'Nigel Rees','title':'Sayings of the Century','price':8.95}," +"null," +"{'category':null,'author':'Evelyn Waugh','title':'Sword of Honour','price':12.99}]," +"'bicycle':{'color':'red','price':19.95}}}\n";JSONObject jsonObject = JSON.parseObject(jsonStr);System.out.println("Book数目:" + JSONPath.eval(jsonObject, "$.store.book.size()"));System.out.println("books:" + JSONPath.eval(jsonObject, "$.store.book"));System.out.println("categories:" + JSONPath.eval(jsonObject, "$.store.book.category"));System.out.println("categories:" + JSONPath.eval(jsonObject, "$.store.book[*].category"));}

执行结果为(categories列表不包含第2个null book和第三个book的null categoriy:

Book数目:3
books:[{"author":"Nigel Rees","price":8.95,"category":"reference","title":"Sayings of the Century"},null,{"author":"Evelyn Waugh","price":12.99,"title":"Sword of Honour"}]
categories:["reference"]
categories:["reference"]

        添加ignoreNullValue参数并设置为false后,返回的categories会包含后面两个book的null:

    public void jsonTestNotIgnoreNull() {String jsonStr = "{'store':{'book':[" +"{'category':'reference','author':'Nigel Rees','title':'Sayings of the Century','price':8.95}," +"null," +"{'category':null,'author':'Evelyn Waugh','title':'Sword of Honour','price':12.99}]," +"'bicycle':{'color':'red','price':19.95}}}\n";JSONObject jsonObject = JSON.parseObject(jsonStr);System.out.println("Book数目:" + JSONPath.eval(jsonObject, "$.store.book.size()", false));System.out.println("books:" + JSONPath.eval(jsonObject, "$.store.book[*]", false));System.out.println("categories:" + JSONPath.eval(jsonObject, "$.store.book[*].category", false));System.out.println("categories:" + JSONPath.eval(jsonObject, "$.store.book.category", false));}

        执行结果为:

Book数目:3
books:[{"author":"Nigel Rees","price":8.95,"category":"reference","title":"Sayings of the Century"},null,{"author":"Evelyn Waugh","price":12.99,"title":"Sword of Honour"}]
categories:["reference",null,null]
categories:["reference",null,null]

        切换fastjson2后,默认行为和fastjson相同,eval没有提供包含参数ignoreNullValue的接口,如果要实现相同的功能,需要使用:JSONPath.of("$.store.book[*].category", JSONPath.Feature.KeepNullValue),注意,这里如果使用$.store.book.category也会忽略值为null的value。

    public void jsonTestNotIgnoreNull() {String jsonStr = "{'store':{'book':[" +"{'category':'reference','author':'Nigel Rees','title':'Sayings of the Century','price':8.95}," +"null," +"{'category':null,'author':'Evelyn Waugh','title':'Sword of Honour','price':12.99}]," +"'bicycle':{'color':'red','price':19.95}}}\n";JSONObject jsonObject = JSON.parseObject(jsonStr);System.out.println("Book数目:" + JSONPath.extract(jsonStr, "$.store.book.size()", JSONPath.Feature.KeepNullValue));System.out.println("books:" + JSONPath.extract(jsonStr, "$.store.book[*]", JSONPath.Feature.KeepNullValue));System.out.println("categories:" + JSONPath.of("$.store.book.category", JSONPath.Feature.KeepNullValue).eval(jsonObject));System.out.println("categories:" + JSONPath.of("$.store.book[*].category", JSONPath.Feature.KeepNullValue).eval(jsonObject));}

执行结果为:

Book数目:3
books:[{"category":"reference","author":"Nigel Rees","title":"Sayings of the Century","price":8.95},null,{"author":"Evelyn Waugh","title":"Sword of Honour","price":12.99}]
categories:["reference"]
categories:["reference",null,null]

相关文章:

json笔记

1、json的组成 JSON是一个标记符序列。这套标记符包括&#xff1a;构造字符、字符串、数字和字面值(false, true, null)。 1.1 构造字符 六个构造字符&#xff1a; 左方括号 [ 右方括号 ] 左大括号 { 右大括号 } 冒号 : 逗号 , 1.2 JSON值 json值包括&#xff1a;对象…...

从0入门自主空中机器人-1【课程介绍】

关于本课程&#xff1a; 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程&#xff0c;包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程&#xff0c;带你从0开始&#xff0c;组装属于自己的自主无人机&#xff0c;并让…...

C++ 设计模式

代码示例 从封装变化角度分类 1.组件协作 现代软件专业分工之后的第一个结果“框架与应用程序的划分” &#xff0c;“组件协作”模式通过晚期绑定&#xff0c;来实现框架与应用程序之间的松耦合&#xff0c;是二者之间协作时常用的模式。 模板方法&#xff08;Template Me…...

最新版Edge浏览器加载ActiveX控件技术——alWebPlugin中间件V2.0.28-迎春版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…...

HarmonyOS NEXT应用开发实战:免费练手的网络API接口分享

学习一项技能&#xff0c;最好也最快的办法就是直接动手实战。在实战中不断的总结经验和收获成就感。这里分享些好用且免费的网络API练手接口&#xff0c;这对于想要提升自己网络开发能力的开发者来说&#xff0c;无疑是极大的福音。今天&#xff0c;我将详细介绍一个API接口集…...

高级技巧-使用Mysql 实现根据条件过滤整个分组数据

博客-mysql exists实现过滤所属条件对应分组的全部数据 在数据查询中&#xff0c;有时需要根据某一条件来过滤整个分组的数据&#xff0c;尤其是当某条记录满足特定条件时&#xff0c;需要将该组内的所有记录排除。本文将介绍如何使用 MySQL 的 EXISTS 关键字来实现这种分组过滤…...

LeetCode 9. 回文数

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数 是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&#xff0c…...

园区网综合拓扑实验

一、实验要求 实验拓扑图如上图所示 1、按照图示的VLAN及IP地址需求&#xff0c;完成相关配置 2、要求SW1为VLAN 2/3的主根及主网关 SW2为vlan 20/30的主根及主网关 SW1和SW2互为备份 3、可以使用super vlan&#xff08;本实验未使用&#xff09; 4、上层…...

Flink状态编程

Flink处理机制的核心就是“有状态的流处理”&#xff0c;在某些情况下&#xff0c;一条数据的计算不仅要基于当前数据自身&#xff0c;还需要依赖数据流中的一些其他数据。这些在一个任务中&#xff0c;用来辅助计算的数据我们就称之为这个任务的状态。 一、按键分区状态&…...

Ajax数据爬取

有时我们用requests 抓取页面得到的结果&#xff0c;可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据&#xff0c;而使用requests 得到的结果中并没有这些数据。这是因为 requests 获取的都是原始 HTML 文档&#xff0c;而浏览器中的页面是JavaScript 处理…...

MVCC实现原理以及解决脏读、不可重复读、幻读问题

MVCC实现原理以及解决脏读、不可重复读、幻读问题 MVCC是什么&#xff1f;有什么作用&#xff1f;MVCC的实现原理行隐藏的字段undo log日志版本链Read View MVCC在RC下避免脏读MVCC在RC造成不可重复读、丢失修改MVCC在RR下解决不可重复读问题RR下仍然存在幻读的问题 MVCC是什么…...

PilotGo

title: 解锁 PilotGo&#xff1a;智能化运维的得力助手 date: ‘2024-12-29’ category: blog tags: PilotGo运维管理智能化工具技术应用 sig: ops archives: ‘2024-12’ author:way_back summary: PilotGo 作为一款创新的运维管理工具&#xff0c;凭借其智能化的特性和丰富的…...

【后端】LNMP环境搭建

长期更新各种好文&#xff0c;建议关注收藏&#xff01; 本文近期更新完毕。 LNMPlinuxnginxmysqlphp 需要的资源 linux服务器 web服务软件nginx 对应的语言编译器代码文件 数据库mysql安装 tar.gz包或者命令行安装 进入root&#xff1a; sodu 或su mkdir path/{server,soft}…...

vue 本地自测iframe通讯

使用 postMessage API 来实现跨窗口&#xff08;跨域&#xff09;的消息传递。postMessage 允许你安全地发送消息到其他窗口&#xff0c;包括嵌套的 iframe&#xff0c;而不需要担心同源策略的问题。 发送消息&#xff08;父应用&#xff09; 1. 父应用&#xff1a;发送消息给…...

【人工智能】基于Python和OpenCV实现实时人脸识别系统:从基础到应用

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着人工智能和计算机视觉的快速发展,人脸识别技术已广泛应用于监控、安全、社交媒体、金融和医疗等领域。本文将介绍如何利用Python和Ope…...

vue2使用pdfjs-dist和jsPDF生成pdf文件

vue2使用pdfjs-dist和jsPDF生成pdf文件 1、安装依赖 npm install pdfjs-dist2.6.3472、引入依赖 import { jsPDF } from jspdf// 使用require方式导入pdfjs-dist v2.6.347&#xff0c;高版本报错&#xff08;import导入会报错&#xff1a;GlobalWorkerOptions undefined&…...

深度学习算法选择

1. 卷积神经网络&#xff08;Convolutional Neural Networks, CNNs&#xff09; 简介 卷积神经网络擅长处理具有网格结构的数据&#xff0c;如图像。通过卷积层、池化层和全连接层&#xff0c;CNN能够自动提取和学习数据的空间特征。 应用场景 图像识别与分类&#xff1a;如…...

asp.net core系统记录当前在线人数

实时记录当前在线人数&#xff0c;登录后保持120秒在线状态&#xff0c;在线状态保存在缓存中&#xff0c;采用滑动过期&#xff0c;在120秒内请求了系统&#xff0c;自动续活120秒&#xff1b;超过时间则移除用户在线状态&#xff1b; 需要在登录过滤器标记用户在线状态需要排…...

【每日学点鸿蒙知识】Grid子项拖动、Swiper指示器、手势事件上报、指定使用发布版本API、打包签名失败报错109

1、HarmonyOS Grid组件子项拖动问题&#xff1f; Grid组件中有20个GridItem子组件&#xff0c;其中前4个GridItem是不能拖动的&#xff0c;其余GridItem可拖动排序。 关于可拖拽grid及gridItem可参考如下代码&#xff08;注&#xff1a;其中 .draggable(parseInt(day) < 6…...

轻松实现向量搜索:探索 Elastic-Embedding-Searcher 项目

随着人工智能和机器学习技术的飞速发展&#xff0c;向量搜索已成为数据检索的重要方式。尤其是在处理大规模文本数据时&#xff0c;传统的基于关键词的检索方式已经难以满足需求。为了优化检索性能并提升搜索精度&#xff0c;向量搜索成为了更加高效的解决方案。而在这一领域&a…...

区块链平台安全属性解释

区块链平台安全属性解释 双向认证 解释:双向认证是指在通信过程中,**通信双方都需要对对方的身份进行验证,确保对方是合法的、可信任的实体。**只有双方身份都得到确认后,通信才会被允许进行,从而防止非法用户的接入和数据的窃取或篡改。举例:在基于区块链和联邦学习的数…...

matlab reshape permute

1.reshape 将向量按照顺序重新构建 矩阵&#xff0c;新矩阵 先排完第一列&#xff0c; 再第二列… 2.permute 将向量 维度变换...

《一文读懂卷积网络CNN:原理、模型与应用全解析》

《一文读懂卷积网络CNN&#xff1a;原理、模型与应用全解析》 一、CNN 基本原理大揭秘&#xff08;一&#xff09;从人类视觉到 CNN 灵感&#xff08;二&#xff09;核心组件详解 二、经典 CNN 模型巡礼&#xff08;一&#xff09;LeNet-5&#xff1a;开山鼻祖&#xff08;二&a…...

深入理解 PyTorch 的 view() 函数:以多头注意力机制(Multi-Head Attention)为例 (中英双语)

深入理解 PyTorch 的 view() 函数&#xff1a;以多头注意力机制&#xff08;Multi-Head Attention&#xff09;为例 在深度学习模型的实现中&#xff0c;view() 是 PyTorch 中一个非常常用的张量操作函数&#xff0c;它能够改变张量的形状&#xff08;shape&#xff09;而不改…...

【每日学点鸿蒙知识】获取是否有网接口、获取udid报错、本地通知、Json转Map、Window10安装Hyper-v

1、有没有获取当前是否真实有网的接口&#xff1f; 比如当前链接的是wifi&#xff0c;但是当前wifi是不能访问网络的&#xff0c;有没有接口可以获取到这个真实的网络访问状态&#xff1f; 请参考说明链接&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyo…...

《Vue3 四》Vue 的组件化

组件化&#xff1a;将一个页面拆分成一个个小的功能模块&#xff0c;每个功能模块完成自己部分的独立的功能。任何应用都可以被抽象成一棵组件树。 Vue 中的根组件&#xff1a; Vue.createApp() 中传入对象的本质上就是一个组件&#xff0c;称之为根组件&#xff08;APP 组件…...

Linux:alias别名永久有效

一、背景 日常使用bash时候&#xff0c;有些常用的命令参数的组合命令太长&#xff0c;很难记&#xff0c;此时可以利用Linux提供的alias命令生成命令的别名&#xff08;命令的隐射&#xff09;&#xff0c;但是我们会发现&#xff0c;当退出了终端后重新登录就失效了&#xff…...

MicroDiffusion——采用新的掩码方法和改进的 Transformer 架构,实现了低预算的扩散模型

介绍 论文地址&#xff1a;https://arxiv.org/abs/2407.15811 现代图像生成模型擅长创建自然、高质量的内容&#xff0c;每年生成的图像超过十亿幅。然而&#xff0c;从头开始训练这些模型极其昂贵和耗时。文本到图像&#xff08;T2I&#xff09;扩散模型降低了部分计算成本&a…...

网神SecFox FastJson反序列化RCE漏洞复现(附脚本)

0x01 产品描述&#xff1a; ‌网神SecFox是奇安信网神信息技术(北京)股份有限公司推出的一款运维安全管理与审计系统‌&#xff0c;集“身份认证、账户管理、权限控制、运维审计”于一体&#xff0c;提供统一运维身份认证、细粒度的权限控制、丰富的运维审计报告、多维度的预警…...

解决无法在 Ubuntu 24.04 上运行 AppImage 应用

在 Ubuntu 24.04 中运行 AppImage 应用的完整指南 在 Ubuntu 24.04 中&#xff0c;许多用户可能会遇到 AppImage 应用无法启动的问题。即使你已经设置了正确的文件权限&#xff0c;AppImage 仍然拒绝运行。这通常是由于缺少必要的库文件所致。 问题根源&#xff1a;缺少 FUSE…...

Pytorch | 利用PC-I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用PC-I-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集PC-I-FGSM介绍算法原理 PC-I-FGSM代码实现PC-I-FGSM算法实现攻击效果 代码汇总pcifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexNet对CIFAR…...

前端往后端传递参数的方式有哪些?

文章目录 1. URL 参数1.1. 查询参数&#xff08;Query Parameters)1.2. 路径参数&#xff08;Path Parameters&#xff09; 2. 请求体&#xff08;Request Body&#xff09;2.1. JSON 数据2.2. 表单数据2.3. 文件上传 3. 请求头&#xff08;Headers&#xff09;3.1. 自定义请求…...

对抗攻击VA-I-FGSM:Adversarial Examples with Virtual Step and Auxiliary Gradients

文章目录 摘要相关定义算法流程代码:文章链接: Improving Transferability of Adversarial Examples with Virtual Step and Auxiliary Gradients 摘要 深度神经网络已被证明容易受到对抗样本的攻击,这些对抗样本通过向良性样本中添加人类难以察觉的扰动来欺骗神经网络。目…...

【Java】IO流练习

IO流练习 题干&#xff1a; 根据指定要求&#xff0c;完成电话记录、 注册、登录 注册 题干&#xff1a; 完成【注册】功能&#xff1a; 要求&#xff1a; 用户输入用户名、密码存入users.txt文件中 若users.txt文件不存在&#xff0c;创建该文件若users.txt文件存在 输入…...

红魔电竞PadPro平板解BL+ROOT权限-KernelSU+LSPosed框架支持

红魔Padpro设备目前官方未开放解锁BL&#xff0c;也阉割了很多解锁BL指令&#xff0c;造成大家都不能自主玩机。此规则从红魔8开始&#xff0c;就一直延续下来&#xff0c;后续的机型大概率也是一样的情况。好在依旧有开发者进行适配研究&#xff0c;目前红魔PadPro平板&#x…...

小程序配置文件 —— 12 全局配置 - pages配置

全局配置 - pages配置 在根目录下的 app.json 文件中有一个 pages 字段&#xff0c;这里我们介绍一下 pages 字段的具体用法&#xff1b; pages 字段&#xff1a;用来指定小程序由哪些页面组成&#xff0c;用来让小程序知道由哪些页面组成以及页面定义在哪个目录&#xff0c;…...

供应链系统设计-供应链中台系统设计(六)- 商品中心概念篇

概述 我们在供应链系统设计-中台系统设计系列&#xff08;五&#xff09;- 供应链中台实践概述 中描述了什么是供应链中台&#xff0c;供应链中台主要包含了那些组成部门。包括业务中台、通用中台等概念。为了后续方便大家对于中台有更深入的理解&#xff0c;我会逐一针对中台…...

leetcode 面试经典 150 题:删除有序数组中的重复项

链接删除有序数组中的重复项题序号26题型数组解题方法双指针难度简单熟练度✅✅✅✅✅ 题目 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保…...

Python 中的 lambda 函数和嵌套函数

Python 中的 lambda 函数和嵌套函数 Python 中的 lambda 函数和嵌套函数Python 中的 lambda 函数嵌套函数&#xff08;内部函数&#xff09;封装辅助函数闭包和工厂函数 Python 中的 lambda 函数和嵌套函数 Python 中的 lambda 函数 Lambda 函数是基于单行表达式的匿名函数。…...

Android笔试面试题AI答之Android基础(7)

Android入门请看《Android应用开发项目式教程》&#xff0c;视频、源码、答疑&#xff0c;手把手教 文章目录 1.Android开发如何提高App的兼容性&#xff1f;**1. 支持多版本 Android 系统****2. 适配不同屏幕尺寸和分辨率****3. 处理不同硬件配置****4. 适配不同语言和地区**…...

PhPMyadmin-cms漏洞复现

一.通过日志文件拿Shell 打开靶场连接数据库 来到sql中输入 show global variables like %general%; set global general_logon; //⽇志保存状态开启&#xff1b; set global general_log_file D:/phpstudy/phpstudy_pro/WWW/123.php //修改日志保存位置 show global varia…...

HTML-CSS(day01)

W3C标准&#xff1a; W3C&#xff08; World Wide Web Consortium&#xff0c;万维网联盟&#xff09; W3C是万维网联盟&#xff0c;这个组成是用来定义标准的。他们规定了一个网页是由三部分组成&#xff0c;分别是&#xff1a; 三个组成部分&#xff1a;&#xff08;1&…...

【服务器项目部署】⭐️将本地项目部署到服务器!

目录 &#x1f378;前言 &#x1f37b;一、服务器选择 &#x1f379; 二、服务器环境部署 2.1 java 环境部署 2.2 mysql 环境部署 &#x1f378;三、项目部署 3.1 静态页面调整 3.2 服务器端口开放 3.3 项目部署 ​ &#x1f379;四、测试 &#x1f378;前言 小伙伴们大家好…...

计算机网络 (14)数字传输系统

一、定义与原理 数字传输系统&#xff0c;顾名思义&#xff0c;是一种将连续变化的模拟信号转换为离散的数字信号&#xff0c;并通过适当的传输媒介进行传递的系统。在数字传输系统中&#xff0c;信息被编码成一系列的二进制数字&#xff0c;即0和1&#xff0c;这些数字序列能够…...

机器学习周报-TCN文献阅读

文章目录 摘要Abstract 1 TCN通用架构1.1 序列建模任务描述1.2 因果卷积&#xff08;Causal Convolutions&#xff09;1.3 扩张卷积&#xff08;Dilated Convolutions&#xff09;1.4 残差连接&#xff08;Residual Connections&#xff09; 2 TCN vs RNN3 TCN缺点4 代码4.1 TC…...

UniApp 页面布局基础

一、UniApp 页面布局简介 在当今的移动应用开发领域&#xff0c;跨平台开发已成为一种主流趋势。UniApp作为一款极具影响力的跨平台开发框架&#xff0c;凭借其“一套代码&#xff0c;多端运行”的特性&#xff0c;为开发者们提供了极大的便利&#xff0c;显著提升了开发效率。…...

最新的强大的文生视频模型Pyramid Flow 论文阅读及复现

《PYRAMIDAL FLOW MATCHING FOR EFFICIENT VIDEO GENERATIVE MODELING》 论文地址&#xff1a;2410.05954https://arxiv.org/pdf/2410.05954 项目地址&#xff1a; jy0205/Pyramid-Flow&#xff1a; 用于高效视频生成建模的金字塔流匹配代码https://github.com/jy0205/Pyram…...

论文阅读 - 《Large Language Models Are Zero-Shot Time Series Forecasters》

Abstract 通过将时间序列编码为数字组成的字符串&#xff0c;我们可以将时间序列预测当做文本中下一个 token预测的框架。通过开发这种方法&#xff0c;我们发现像GPT-3和LLaMA-2这样的大语言模型在下游任务上可以有零样本时间序列外推能力上持平或者超过专门设计的时间序列训…...

STM32文件详解

STM32文件详解 启动文件打开MDK栈空间开辟堆空间开辟中断向量表复位程序对于 weak 的理解对于_main 函数的分析中断程序堆栈初始化系统启动流程 时钟树时钟源时钟配置函数时钟初始化配置函数 启动文件 启动文件的方式 1、初始化堆栈指针 SP _initial_sp 2、初始化程序计数器指…...

【Spring】详解(上)

Spring 框架核心原理与应用&#xff08;上&#xff09; 一、Spring 框架概述 &#xff08;一&#xff09;诞生背景 随着 Java 应用程序规模的不断扩大以及复杂度的日益提升&#xff0c;传统的 Java开发方式在对象管理、代码耦合度等方面面临诸多挑战。例如&#xff0c;对象之…...