E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
二分查找详解
基于Java实现Socket文件传输代码
详解
文章目录前言一、Socket是什么?二、基于Socket的文件传输实战代码1.服务端代码2.客户端代码总结前言当涉及到网络通信和数据传输时,Socket是一个非常重要的概念。Socket可以被看作是在不同设备之间进行通信的一种方式,它提供了一种简单而强大的机制,用于实现客户端和服务器之间的数据交换。在本博客中,我们将探讨Socket的基本原理和使用方法,并通过一个具体的示例来展示如何使用Socke
啄sir.
·
2024-02-12 08:14
java
网络
websocket
委托和事件
详解
委托和事件
详解
前言一、委托1.什么是委托2.委托的声明3.Action委托和Func委托4.委托的缺点5.委托与lambda表达式6.委托的使用(1)模板方法(2)回调方法二、事件1.什么是事件2.事件模型的
feifei_cloud
·
2024-02-12 08:35
unity
unity学习笔记
unity
学习
笔记
c#
游戏引擎
游戏程序
游戏
STM32 定时器中TIM_RepetitionCounter 作用
详解
在STM32中有一个这个TIM_RepetitionCounter参数。如下,定时了0.001s,然后在中断中计数1000次,点亮熄灭LED,正常情况来说,led会亮1s,然后灭1s,,,不断重复。当TIM_RepetitionCounter参数设置为0时,确实是1s。当TIM_RepetitionCounter参数设置为1时,明显感觉到亮灭的时间被延长了一倍。所以TIM_RepetitionCo
醉月、
·
2024-02-12 08:02
stm32
stm32
定时器
0.96寸OLED屏幕控制器SSD1306
详解
关注公众号嵌入式软硬件爱好者发送消息“页模式”获取源码上一篇文章采用单片机cx32l003驱动了0.96寸OLED屏幕并实现其点亮。《CX32l003点亮0.96寸OLED屏幕》。这一篇将在前面的基础上对这个屏幕进行详细讲解,尤其是一些屏幕控制器SSD1306比较重要的命令。根据第9节COMMANDTABLE进行描述(FundamentalCommandTable)0X81xx:根据命令描述,这是
醉月、
·
2024-02-12 08:31
单片机
单片机
stm32
嵌入式硬件
TCP/IP五层各层协议
详解
TCP/IP协议栈是网络通信的基础,它由五层协议组成,分别是物理层、数据链路层、网络层、传输层和应用层。以下是对各层协议的详细解释:1.物理层(PhysicalLayer):该层负责传输比特流,主要定义传输媒介、接口标准、电气信号等。物理层的主要协议包括传输介质(比如电缆、光纤)、传输速率、编码方式等。2.数据链路层(DataLinkLayer):数据链路层负责将比特流转换为数据帧,进行逐段传输,
是毛毛吧
·
2024-02-12 08:29
网络
tcp/ip
网络协议
Hive窗口函数
详解
一、窗口函数知识点1.1窗户函数的定义窗口函数可以拆分为【窗口+函数】。窗口函数官网指路:LanguageManualWindowingAndAnalytics-ApacheHive-ApacheSoftwareFoundationhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual%20WindowingAndAnalyt
爱吃辣条byte
·
2024-02-12 08:26
#
Hive
大数据
数据仓库
java 迭代器 设计模式_
详解
Java设计模式——迭代器模式
迭代子模式顾名思义,迭代器模式就是顺序访问聚集中的对象,一般来说,集合中非常常见,如果对集合类比较熟悉的话,理解本模式会十分轻松。这句话包含两层意思:一是需要遍历的对象,即聚集对象,二是迭代器对象,用于对聚集对象进行遍历访问。我们看下关系图:这个思路和我们常用的一模一样,MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操作,且持有Collection实例,我们
我不是小孩子
·
2024-02-12 08:24
java
迭代器
设计模式
Java设计模式-迭代器模式
详解
Java设计模式-迭代器模式此文为《图解Java设计模式》读书笔记,如有笔误欢迎评论指正~文章目录Java设计模式-迭代器模式0.前言1.为什么要用迭代器模式?2.迭代器模式中的角色与UML类图2.1迭代器模式中的四个角色2.2迭代器模式UML类图3.迭代器模式的代码实现案例3.1迭代器接口类3.2具体的迭代器类3.3表示集合的接口类3.4具体的集合类4.测试5.回顾与总结0.前言迭代器模式(It
小蜉蝣星蔚
·
2024-02-12 08:53
#
Java设计模式
迭代器模式
设计模式
java
集合
JAVA设计模式之访问模式
详解
访问者模式1访问者模式介绍访问者模式在实际开发中使用的非常少,因为它比较难以实现并且应用该模式肯能会导致代码的可读性变差,可维护性变差,在没有特别必要的情况下,不建议使用访问者模式.访问者模式(VisitorPattern)的原始定义是:允许在运行时将一个或多个操作应用于一组对象,将操作与对象结构分离。这个定义会比较抽象,但是我们依然能看出两个关键点:一个是:运行时使用一组对象的一个或多个操作,比
一只经常emo的程序员
·
2024-02-12 08:22
java
java
设计模式
开发语言
Java设计模式之迭代器模式
详解
Java设计模式之迭代器模式
详解
大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!
qq836869520
·
2024-02-12 08:22
java
设计模式
迭代器模式
JAVA设计模式之迭代器模式
详解
迭代器模式1迭代器模式介绍迭代器模式是我们学习一个设计时很少用到的、但编码实现时却经常使用到的行为型设计模式。在绝大多数编程语言中,迭代器已经成为一个基础的类库,直接用来遍历集合对象。在平时开发中,我们更多的是直接使用它,很少会从零去实现一个迭代器。迭代器模式(Iteratorpattern)又叫游标(Cursor)模式,它的原始定义是:迭代器提供一种对容器对象中的各个元素进行访问的方法,而又不需
一只经常emo的程序员
·
2024-02-12 07:51
java
java
设计模式
迭代器模式
mysql数据表导出导入过程
详解
一、mysqldump导出sql文件1.内网导出sql文件速度快,推荐内网导出。外网导出的时候容易断连接,外网导出时使用nohup后台运行,一般不会断。但是一些无效的报警信息会进入到sql文件首行里,导致sql文件不能使用,需要剔除掉这种无效报警信息。#不加密码(交互式输入密码):mysqldump--skip-lock-tables--set-gtid-purged=OFF-h10.x.x.x-
confined.
·
2024-02-12 07:50
mysql
数据库
1024程序员节
分布式系统关注点—“无状态”
详解
一、初识“状态”我们首先举个例子。开发Z哥对运维Y弟喊:“Y弟,现在系统好卡,刚上了一波活动,赶紧帮我加几台机器上去顶一下。”Y弟回复说:“没问题,分分钟搞定”。然后就发现数据库的压力迅速上升,DBA就吼了:“Z哥,你丫的搞什么呢?数据库要被你弄垮了”。然后客服那边接框也爆炸了,越来越多的用户说刚登陆后没多久,操作着就退出了,接着登陆,又退出了,到底还做不做生意了。这个案例中的问题,产生的根本原因
Java大生
·
2024-02-12 07:09
DataX源码分析 reader
系列文章目录一、DataX
详解
和架构介绍二、DataX源码分析JobContainer三、DataX源码分析TaskGroupContainer四、DataX源码分析TaskExecutor五、DataX
shandongwill
·
2024-02-12 07:29
大数据
ETL
DataX
stm32f103 中级篇 18 EXIT GPIO外部中断
详解
18.2EXIT功能框图讲解及EXIT初始化结构体讲解18.2.1EXIT简介EXTI(Externalinterrupt/eventcontroller)—外部中断/事件控制器,管理了控制器的20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。GPI
Distant Blue
·
2024-02-12 07:28
stm32
stm32
实战 | Nginx+keepalived 实现高可用集群
前言今天通过两个实战案例,带大家理解Nginx+keepalived如何实现高可用集群,在学习新知识之前您可以选择性复习之前的知识点:给小白的Nginx10分钟入门指南Nginx编译安装及常用命令Nginx配置文件
详解
一文带你读懂
开源Linux
·
2024-02-12 07:45
Git Push -f 命令
详解
直接看原文:GitPush-f命令
详解
-玩转Linux-SegmentFault思否-----------------------------------------------------------
奋豆来袭
·
2024-02-12 06:11
git
git
java
git revert回退某次提交
请直接看原文:【gitrevert】使用以及理解(
详解
)_gitrevert用法-CSDN博客------------------------------------------------------
奋豆来袭
·
2024-02-12 06:39
git
git
【算法】排序
详解
(快速排序,堆排序,归并排序,插入排序,希尔排序,选择排序,冒泡排序)
目录排序的概念:排序算法的实现:插入排序:希尔排序:选择排序:堆排序:冒泡排序:快速排序:快速排序的基本框架:1.Hoare法2.挖坑法3.前后指针法快排的优化:1.三数取中法选key2.小区间使用插入排序优化代码:常见问题:归并排序:总结:结语:排序的概念:排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有
gobeyye
·
2024-02-12 06:58
算法
数据结构
排序算法
算法
java
最长公共子序列LCS(动态规划)—
详解
一.基本概念1、子序列(subsequence):一个特定序列的子序列就是将给定序列中零个或多个元素去掉后得到的结果(不改变元素间相对次序)。例如序列的子序列有:、、等。2、公共子序列(commonsubsequence):给定序列X和Y,序列Z是X的子序列,也是Y的子序列,则Z是X和Y的公共子序列。例如X=X=,Y=Y=,那么序列Z=Z=为X和Y的公共子序列,其长度为3。但ZZ不是XX和YY的最
浩波的笔记
·
2024-02-12 06:57
算法/数据结构
c/c++
算法
动态规划
51单片机中串口波特率的计算方法
详解
首先,波特率并不是指每秒传送多少个字节,而是指每秒能够传送多少个二进制。举例:波特率为9600代表每秒能够传送9600个二进制,而一个字节=8个二进制。那么,串口是按照什么时间标准来发送数据的?其实,串口是在定时器计数时,每溢出一次发送一个二进制。溢出的意思就是假设我现在定时器设置为8位计数器,那么说明计数到256就会溢出,然后设置计数器的起始值为0,那么计数器开始工作后,将会从0开始,一个数一个
小丑爱表现
·
2024-02-12 06:43
单片机
51单片机
单片机
Rust引用、借用和所有权
详解
在Rust中,引用、借用和所有权是语言的核心概念,它们共同构成了内存管理的基石。本篇博客将介绍Rust中的这些概念,并通过具体的例子深入探讨它们的用法和优势。所有权Rust中的所有权是一种独特的内存管理机制,它规定了在特定作用域内,每个值都有一个唯一的所有者。当所有者超出作用域时,该值将被删除,内存将被立即自动地交还给操作系统。lets=String::from("Hello");//当变量s走出
好奇的菜鸟
·
2024-02-12 06:37
Rust
rust
开发语言
后端
Rust条件语句:if-else表达式
详解
在Rust中,条件语句是控制程序流程的重要组成部分。if-else表达式是一种用于根据条件执行不同代码分支的强大工具。本篇博客将深入介绍Rust中的if-else表达式,并通过具体的例子展示其用法和灵活性。基础用法fnmain(){letnumber=31;ifnumber<5{println!("conditionwastrue");}else{println!("conditionwasfal
好奇的菜鸟
·
2024-02-12 06:06
Rust
rust
开发语言
后端
一篇
详解
MVCC多版本并发控制的原理
目录MVCC多版本并发控制的原理一、MVCC基本概念一、MVCC简介:二、MVCC能够解决的问题:三、MVCC目的二、MVCC的核心原理一、版本链:二、事务ID(TransactionID):三、ReadView(读视图)三、MVCC实现原理一、Mvcc具体是如何实现事务隔离的呢?二、SELECT操作:三、UPDATE操作:四、MVcc可以解决不可重复读和幻读问题吗?五、MVCC结合什么方式解决数
€☞扫地僧☜€
·
2024-02-12 05:01
数据库
java
HTTP请求中的请求头和响应头
详解
|Header|解释|示例||Accept|指定客户端能够接收的内容类型|Accept:text/plain,text/html||Accept-Charset|浏览器可以接受的字符编码集。|Accept-Charset:iso-8859-5||Accept-Encoding|指定浏览器可以支持的web服务器返回内容压缩编码类型。|Accept-Encoding:compress,gzip||Ac
干掉楼上
·
2024-02-12 05:17
如何快速入门领域驱动设计(DDD),DDD 架构及使用
详解
一、背景与问题无论是企业内部系统还是互联网产品,多年来开发这种基于业务与数据库的系统都是IT领域一个重要的内容。作为一个IT开发团队,无论是做外包还是自己的产品,都面临从产品经理拿到需求,然后需要进行两方面重要的工作:一是把需求转换为设计、二是从设计开始编写代码。以前我们开发这种基于业务的软件产品,通常都是基于开发人员自己的经验和编写代码的习惯开始系统的设计与代码的编写。常见的方式是项目经理或架构
you的日常
·
2024-02-12 05:05
Python算法概述(2)
优点是不需要做任何处理缺点是查找速度慢时间复杂度为:O(n)4.1.2
二分查找
又称折半查找将从小到大排列好的元素分成两半,将中间值跟要查找的数字进行比较,若要查找的数字小于中间值,则在中间值的左边继续查找
运维仙人
·
2024-02-12 05:23
Python
python
算法
数据结构
maven
详解
(仅做个人工作学习笔记使用)
转载https://blog.csdn.net/lovequanquqn/article/details/81627807什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译
真的有神
·
2024-02-12 04:13
Redis持久化之RDB&AOF学习笔记
RDB优化配置项
详解
SNAPSHOTTING小总结AOF什
后端开发萌新
·
2024-02-12 04:38
redis
leetcode(
二分查找
)35.搜索插入位置(C++详细解释)DAY6
文章目录1.题目示例提示2.解答思路3.实现代码结果4.总结1.题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。示例示例1:输入:nums=[1,3,5,6],target=5输出:2示例2:输入:nums=[1,3,5,6],target=2输出:1示例3:输入:nums=[1
小Q小Q
·
2024-02-12 04:58
C++刷题
leetcode
c++
算法
python 第九章 —— GUI界面开发(tkinter
详解
)
文章目录前言一、GUI与CLI对比二、GUI原理三、tkinter基本使用1.主窗口2.控件(1)button(2)布局(3)Frame(以微信布局为例)(4)Label(5)Entry(6)Text(7)Checkbutton(8)Radiobutton<
余识-
·
2024-02-12 03:27
Python从入门到精通
python
python 第十章 —— 网络编程
详解
文章目录一、前言二、网络编程基础三、网络协议1.TCP2.UDP四.TCP实现聊天1.Tcp服务器2.Tcp客户端4.运行测试五.UDP实现聊天1.UDP服务器2.UDP客户端3.运行测试总结
余识-
·
2024-02-12 03:27
Python从入门到精通
python
网络
详解
git pull和git fetch的区别:
1.相同点首先在作用上他们的功能是大致相同的,都是起到了更新代码的作用。2.不同点先补充一些git里面相关的一些知识:首先我们要说简单说git的运行机制。git分为本地仓库和远程仓库,我们一般情况都是写完代码,commit到本地仓库(生成本地仓库的commitID,代表当前提交的代码版本号),然后push到远程仓库(记录这个版本号)我们本地的git文件夹里应对也存储了git本地仓库master分支
空口言_1d2e
·
2024-02-12 03:06
1.39应变邦道【14.3】2020-06-24
详解
:什么是道?有网友认为孔子的道是游移的、信口想说就说的。——这是对孔学的无知。孔子说的道是指自然规律。在人类社会体现为仁,是人类最高利益。道
侯工A
·
2024-02-12 03:36
Vue 笔记 12.06 v-model深入理解 sync修饰符 具名插槽 作用域插槽 混入 混入ajax的基本操作
一、v-model
详解
:v-model其实就是v-bind:和v-on:的语法糖也就是缩写这里通过v-model替代了v-on和v-bind二、sync修饰符绑定属性时,采用xx.sync修饰符,可以省略
玛骑犸
·
2024-02-12 03:50
探索ChatGPT4:新一代人工智能语言模型的突破
新特性
详解
更强大的模型架构ChatGPT4采用了更为复杂的神经网络架构,使模型的
Draven21
·
2024-02-12 03:41
ChatGPT
chatgpt
人工智能
gpt-3
详解
计算机软件基本概念
软件基本概念软件的定义一个完整的计算机系统是由硬件系统和软件系统协同工作来完成某一给定的任务的。只有硬件的计算机称为裸机,裸机必须安装了计算机软件后才可以完成各项任务。从广义地讲,软件是指计算机程序、数据以及开发、使用和维护程序所需要的所有文档的集合。通常将软件分为系统软件和应用软件两大类软件=程序+数据+文档程序是按照事先设计的功能和性能要求执行的指令序列数据是程序运行的基础和操作的对象文档是有
小明的Fire计划
·
2024-02-12 03:41
计算机基础
计算机
计算机组成
计算机网络
【Linux】Daemon守护进程
详解
创作不易,本篇文章如果帮助到了你,还请点赞关注支持一下♡>#include#include#include#include#include#includevoiddaemon_create(){pid_tpid;pid=fork();if(pid>0){exit(0);//父进程退出}elseif(pid==0){interrfd;setsid();//创建新会话errfd=open("error
天喜Studio
·
2024-02-12 03:40
【Linux】
linux
ubuntu
笔记
学习
c语言
【Linux】匿名管道pipe和有名管道fifo
详解
创作不易,本篇文章如果帮助到了你,还请点赞关注支持一下♡>#include#include#includeintmain(){pid_tpid;intfd[2];//读取和写入文件描述符号pipe(fd);pid=fork();if(pid>0)//父进程{close(fd[0]);//确定通信方向:关闭读端char*str="TianXiStudio";write(fd[1],str,strle
天喜Studio
·
2024-02-12 03:39
【Linux】
linux
笔记
c++
学习
ubuntu
开发高并发系统时常见的限流方式及算法
限流
详解
在开发高并发系统时,有很多手段来保护系统,如缓存、降级和限流等。缓存目的是提升系统访问速度和增大系统处理能力,可谓是抗高并发流量的银弹。
JAVA这件小事
·
2024-02-12 02:18
Guess Number Higher or Lower——
二分查找
文章目录一、题目二、题解一、题目WeareplayingtheGuessGame.Thegameisasfollows:Ipickanumberfrom1ton.YouhavetoguesswhichnumberIpicked.Everytimeyouguesswrong,IwilltellyouwhetherthenumberIpickedishigherorlowerthanyourguess
叶卡捷琳堡
·
2024-02-12 02:33
算法
数据结构
leetcode
开发语言
Mybatis
详解
MyBatis是什么MyBatis是一个持久层框架,用于简化数据库操作的开发。它通过将SQL语句和Java方法进行映射,实现了数据库操作的解耦和简化。以下是MyBatis的优点和缺点:优点:1.灵活性:MyBatis允许开发人员编写原生的SQL语句,可以灵活地控制SQL语句的编写和优化。2.易于学习和使用:MyBatis的配置相对简单,易于学习和使用,适合初学者和有经验的开发人员。3.性能优秀:M
无畏@
·
2024-02-12 02:33
数据库
oracle
聚簇索引mysql语句_mysql索引之聚簇索引与非聚簇索引
,因此数据库系统的设计者会从查询算法角度优化最基本的查询算法当然是顺序查找(linearsearch),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的好在CS的发展提供了很多更优秀的查找算法,如
二分查找
马波英
·
2024-02-12 02:55
聚簇索引mysql语句
代码随想录算法训练营第二十四天|93.复原IP地址,78.子集,90.子集II
系列文章目录代码随想录算法训练营第一天|数组理论基础,704.
二分查找
,27.移除元素代码随想录算法训练营第二天|977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II代码随想录算法训练营第三天
丁希希哇
·
2024-02-12 01:48
力扣算法刷题
算法
python
力扣
代码随想录算法训练营第二十五天|491.递增子序列,46.全排列,47.全排列 II
系列文章目录代码随想录算法训练营第一天|数组理论基础,704.
二分查找
,27.移除元素代码随想录算法训练营第二天|977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II代码随想录算法训练营第三天
丁希希哇
·
2024-02-12 01:48
力扣算法刷题
算法
面试
python
力扣
异步编程Completablefuture使用
详解
----进阶篇
JDK版本:jdk17IDEA版本:IntelliJIDEA2022.1.3文章目录前言一、异步任务的交互1.1applyToEither1.2acceptEither1.3runAfterEither二、get()和join()区别三、ParallelStreamVSCompletableFuture3.1使用串行流执行并统计总耗时3.2使用并行流执行并统计总耗时3.3使用串行流和Complet
陌上少年,且听这风吟
·
2024-02-12 01:12
Java
EE
Java
SE
java
开发语言
intellij-idea
C语言之预处理
详解
目录1.预定义符号2.#define定义常量3.#define定义宏练习4.带有副作用的宏参数5.宏替换的规则6.宏函数的对比宏和函数的一个对比7.#和###运算符##运算符8.命名约定9.#undef10.命令行定义11.条件编译常见的条件编译12.头文件的包含头文件的包含方式库文件包含嵌套文件包含13.其他预处理指令1.预定义符号C语言设置了一些预定义符号,可以直接使用,预定义福海也是在预处理
凡人多烦事~
·
2024-02-12 01:12
C语言基础知识
c语言
开发语言
linux
SpringSecurity认证流程源码
详解
一、认证处理流程说明原理图认证处理流程说明原理图1.在前台输入完用户名密码之后,会进入UsernamePasswordAuthenticationFilter类中去获取用户名和密码,然后去构建一个UsernamePasswordAuthenticationToken对象。构建一个UsernamePasswordAuthenticationToken对象这个对象实现了Authentication接口
Tinner丶
·
2024-02-12 00:07
「优选算法刷题」:点名
:4示例2:输入:records=[0,1,2,3,4,5,6,8]输出:7提示:1<=records.length<=10000二、思路解析类似“缺失的数字”这种题,都会有二段性这个性质,十分适合用
二分查找
来解答
爱敲代码的罗根
·
2024-02-11 23:11
详解算法题
算法
深度优先
动态规划
数据结构
leetcode
职场和发展
java
Python DNS操作
详解
在网络世界中,DNS(DomainNameSystem)扮演着重要的角色,它是一种分布式数据库系统,用于将域名(如google.com)转换为相应的IP地址(如172.217.7.206)。DNS可以被视为互联网的地址簿,因为它允许我们通过易于记忆的域名来访问互联网上的各种资源。在这篇博客中,我们将深入探讨Python中的DNS,包括其原理、相关的Python库以及一些实际应用示例。了解DNSDN
繁依Fanyi
·
2024-02-11 23:11
python
开发语言
算法
架构
git
windows
github
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他