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多线程番外篇
Java多线程
:初识多线程!左手画方,右手画圆
专栏内容:Java⛪个人主页:子夜的星的主页座右铭:前路未远,步履不停目录一、线程与进程二、创建线程方法1、继承`Thread`类2、实现`Runnable`接口3、两者区别4、举个栗子5、简洁写法Ⅰ、`Thread`匿名内部类写法Ⅱ、`Runnable`匿名内部类写法Ⅲ、使用`Lambda`表达式嗨!想象一下,你的面前有一张展开的白纸,而你的左手和右手各握一支画笔。你的任务是在同一时间,左手画出
子夜的星
·
2024-01-14 03:00
趣学Java
java
开发语言
多线程
深入了解
Java多线程
编程:JVM内存模型与同步机制
多线程编程是当今软件开发中不可避免的话题之一。在Java中,了解JVM内存模型及相关概念对编写正确、高效的多线程代码至关重要。本文将深入探讨JVM内存模型、重排序、内存屏障、happen-before关系、主内存、工作内存以及同步机制,并通过具体案例进行原理分析。1.JVM内存模型Java虚拟机的内存模型定义了线程如何与内存交互,确保多线程程序的正确性。它包括主内存和工作内存两个部分,线程之间通过
Ernest_Feng
·
2024-01-13 20:35
jvm
并发编程学习指南
java
jvm
开发语言
算法通关村
番外篇
-LeetCode编程从0到1系列四
大家好我是苏麟,今天带来算法通关村
番外篇
-LeetCode编程从0到1系列四.矩阵1672.最富有客户的资产总量描述:给你一个mxn的整数网格accounts,其中accounts[i][j]是第i位客户在第
踏遍三十六岸
·
2024-01-13 19:25
算法村
算法
leetcode
java
数据结构
五分钟学Java:如何学习Java面试必考的网络编程
本文思维导图在这里插入图片描述简介Java作为一门后端语言,对于网络编程的支持是必不可少的,但是,作为一个经常CRUD的Java工程师,很多时候都不需要接触到网络编程,自然而然地对这个东西不那么重视了,毕竟,即使像是JVM虚拟机,
Java
程序员黄小斜
·
2024-01-13 17:30
JAVA多线程
设计模式之Guarded Suspension
JAVA多线程
设计模式之GuardedSuspension一、什么是GuardedSuspension模式Java中是使用while语句来检查条件,使用wait方法来执行等待的。
八达鸟
·
2024-01-13 16:13
java
多线程
设计模式
javaguard
java多线程
编程 - 模式 -同步模式之保护性暂停模式
同步模式之保护性暂停即GuardedSuspension,用在一个线程等待另一个线程的执行结果要点有一个结果需要从一个线程传递到另一个线程,让他们关联同一个GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者)JDK中,join的实现、Future的实现,采用的就是此模式因为要等待另一方的结果,因此归类到同步模式实现classGuardedObjec
it's okey
·
2024-01-13 16:12
多线程
多线程
java
并发编程
设计模式
图解多线程设计模式pdf_图解
Java多线程
设计模式阅读计划-图灵社区.PDF
图解
Java多线程
设计模式阅读计划-图灵社区Java——1JavaJava13DAPIjava.util.concurrentJavaJava332120:00—22:00/book/1812/BetterTuring
里油哪多
·
2024-01-13 16:12
图解多线程设计模式pdf
java多线程
:Guarded Suspension设计模式
GuardedSuspension设计模式:Guarded是被保护的,Suspension暂停的,当一个线程正在做某件事,这件事的优先级比较高不想被打断,可以考虑该设计模式。/***GuardedSuspension设计模式*请求**/@GetterpublicclassRequest{privatefinalStringvalue;publicRequest(Stringvalue){this.
╭╯Erica
·
2024-01-13 16:11
设计模式
java
设计模式
多线程
读《图解
java多线程
设计模式》总结--Guarded Suspension
1,从名字上看就是增加了守护功能的一种设计模式,目的是确保在多线程条件下各线程能正常操作共享资源,如果触发了守护功能,相关的线程就必须等待,直到守护功能确保不会出现操作异常才会让线程继续执行下去。2,与SingleThreadedExecution相似都是为了保护共享资源,只不过SingleThreadedExecution是无条件的多线程互斥,而GuardedSuspension是在守护条件不满
一个平凡的IT农民工
·
2024-01-13 16:10
40程序员
补学java多线程
java多线程
系列之模式|第一篇-Guarded Suspension pattern
GuardedSuspensionpattern模式作者注:该系列文章基于《java线程设计模式》撰写,只用于学习和交流。含义:多线程运行,当前线程没有达到警戒条件时,线程会进入等待直到被唤醒,该模式被称为GuardedSuspensionpattern模式。其顺序图如下:代码示例Request类,请求封装的实体类,这是设计模式中很常见的方式,这样有利于承载及存储。packagepattern.g
仙路尽头谁为峰
·
2024-01-13 16:10
多线程
java多线程
JAVA多线程
设计模式篇 4、Guarded Suspension 模式——等我准备好了再来
文章目录总结GuardedSuspension模式是多线程设计模式中的一个基础模式,不仅在应用程序中使用频繁,而且也有其他模式会用到它。模式核心是一个受保护方法(GuardedMethod)。该方法执行其所要真正执行的操作时需要满足特定的条件(Predicate,以下称之为保护条件)。当该条件不满足时,执行受保护方法的线程会被挂起进入等待(WAITING)状态,直到该条件满足时该线程才会继续运行。
悟空学编程
·
2024-01-13 16:40
JAVA多线程设计模式篇
java
设计模式
开发语言
后端
Java多线程
并发之同步容器和并发容器-第一篇
Java多线程
并发之同步容器和并发容器-第一篇概述本文主要讲解在
Java多线程
并发开发中,集合中有哪些支持并发的的。什么是同步容器(集合),什么是并发容器(集合)?并发容器分类有哪些?
tomfyyds
·
2024-01-13 14:46
程序员
java
java程序
java
经验分享
apache
开发语言
c语言
java多线程
并发之旅-11-优先级队列 Priority Queue
相关学习优先级队列二叉堆堆排序延迟队列Q是什么?怎么用注意事项?源码优先级队列我们知道队列是遵循先进先出(First-In-First-Out)模式的,但有些时候需要在队列中基于优先级处理对象。举个例子,比方说我们有一个每日交易时段生成股票报告的应用程序,需要处理大量数据并且花费很多处理时间。客户向这个应用程序发送请求时,实际上就进入了队列。我们需要首先处理优先客户再处理普通用户。在这种情况下,J
老马啸西风
·
2024-01-13 14:42
thread
Java
并发之旅
Java多线程
与并发相关 — 原理
Java多线程
与并发相关—原理一synchronized同步1.线程安全问题的主要诱因?
Fate鹏飞
·
2024-01-13 14:41
Java
多线程
java
面试
java多线程
并发之旅-10-阻塞队列 BlockingQueue
Q为什么要有阻塞队列?什么是阻塞队列优缺点适用场景实现思想+源码个人启发阻塞队列什么是阻塞队列?阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的
老马啸西风
·
2024-01-13 14:41
thread
Java
并发之旅
Java多线程
&并发篇----第九篇
系列文章目录文章目录系列文章目录前言一、阻塞状态(BLOCKED)二、线程死亡(DEAD)三、终止线程4种方式前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。一、阻塞状态(BLOCKED)阻塞状态是指线程因为某种原因放弃了cpu使用权,也即让出了cputimeslice,暂时停止运行。直到线程进入可运
数据大魔王
·
2024-01-13 14:11
java面试题套2
java
开发语言
Java多线程
&并发篇----第十篇
系列文章目录文章目录系列文章目录前言一、start与run区别二、JAVA后台线程三、什么是乐观锁前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。一、start与run区别start()方法来启动线程,真正实现了多线程运行。这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码。通过调用Th
数据大魔王
·
2024-01-13 14:11
java面试题套2
java
开发语言
Java多线程
&并发篇----第八篇
系列文章目录文章目录系列文章目录前言一、简述一下你对线程池的理解二、线程生命周期(状态)三、新建状态(NEW)四、就绪状态(RUNNABLE)五、运行状态(RUNNING)前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。一、简述一下你对线程池的理解如果问到了这样的问题,可以展开的说一下线程池如何用、线
数据大魔王
·
2024-01-13 14:40
java面试题套2
java
开发语言
Java多线程
&并发篇----第十一篇
系列文章目录文章目录系列文章目录前言一、什么是悲观锁二、什么是自旋锁三、Synchronized同步锁前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。一、什么是悲观锁悲观锁是就是悲观思想,即认为写多,遇到并发写的可能性高,每次去拿数据的时候都认为别人会修改,所以每次在读写数据的时候都会上锁,这样别人想
数据大魔王
·
2024-01-13 14:36
java面试题套2
java
开发语言
详解
Java多线程
之循环栅栏技术CyclicBarrier
第1章:引言大家好,我是小黑,工作中,咱们经常会遇到需要多个线程协同工作的情况。CyclicBarrier,直译过来就是“循环屏障”。它是Java中用于管理一组线程,并让它们在某个点上同步的工具。简单来说,咱们可以把一群线程想象成一队马拉雪橇的驯鹿,CyclicBarrier就像是一个指定的集合点,所有驯鹿必须到齐了,才能继续下一段旅程。不过别担心,这听起来比实际复杂。实际上,CyclicBarr
宋小黑
·
2024-01-13 07:44
java
Java多线程
多线程线程:一个顺序的单一的程序执行流程就是一个线程。代码一句一句的有先后顺序的执行。多线程:多个单一顺序执行的流程并发运行。造成"感官上同时运行"的效果。并发:多个线程实际运行是走走停停的。线程调度程序会将CPU运行时间划分为若干个时间片段并尽可能均匀的分配给每个线程,拿到时间片的线程被CPU执行这段时间。当超时后线程调度程序会再次分配一个时间片段给一个线程使得CPU执行它。如此反复。由于CPU
是程序喵呀
·
2024-01-13 06:51
Java
java
数据库
算法
java多线程
(并发)夯实之路-线程池深入浅出
线程池ThreadPool:线程池,存放可以重复使用的线程(消费者)BlockingQueue:阻塞队列,存放等待执行的任务(生产者)poll方法(有时限地获取任务)相对take注意防止线程一直等待take死等&poll超时阻塞获取和阻塞添加失败时会进入对应的条件变量等待,阻塞获取和阻塞添加操作成功后唤醒对方线程池实现部分:线程池execute方法:当任务没有超过核心线程数量,直接交给worker
200
·
2024-01-13 06:48
java
开发语言
java多线程
(并发)夯实之路-CAS原理与应用深入浅出
CAS:保护共享资源的无锁实现CASCompareAndSet,简称CAS(也有CompareAndSwap的说法),它是原子的它会将pre即之前的值和最新值进行比较,如果相同,修改为next,不同则修改失败CAS的底层是lockcmpchg指令(X86架构),在单核和多核CPU下都能保证比较-交换是原子的使用例子如下:CAS与volatileCAS需要volatile支持才能读取到共享变量的最新
200
·
2024-01-13 06:18
java多线程(并发)
java
开发语言
java多线程
(并发)夯实之路-synchronized锁升级深入浅出
轻量级锁使用场景:一个对象有多线程访问,但时间是错开的(如果多线程同时访问,也就是有竞争的,会升级为重量级锁)轻量级锁对使用者是透明的,语法仍是synchronized例:以上的代码运行会先在方法产生的栈帧内创建锁记录(LockRecord)对象,每个线程的栈帧都会包含一个锁记录的结构。锁记录中有锁对象指针(Objectreference)和锁对象MarkWord记录然后会尝试用cas(Compa
200
·
2024-01-13 06:18
java多线程(并发)
java
开发语言
《玄路》
番外篇
--灵猫现世(一)
原本隐居世外的胡一凡。今天突然遇到了一个很奇怪的事。有一个朋友通过微信联系上他。看头像应该是一名女子,家住在昆明。提起昆明的的时候,胡一凡就想起了自己的断剑,就在昆明石林寻到的,昆明也代表他的第二世去过的地方,所以说昆明和他有着不解之缘。想到这点胡一凡就不由得上点心。询问对方出现了什么状况。通过文字描述可以看出来,对方是平时没有力气,基本上很少有一些课外活动,甚至是吃饭也无法补充自己的能量,一直都
胡承元
·
2024-01-13 02:12
Java多线程
:Lock锁(未完待续)
Lock锁的基本使用在Java中,Lock是一个接口,它提供了比synchronized关键字更高级的线程同步机制。使用Lock接口可以创建更复杂和灵活的同步结构。Lock接口的常用实现类有ReentrantLock和ReentrantReadWriteLock,它们提供了可重入的互斥锁和读写锁。相比synchronized来实现同步,使用Lock实现同步主要有以下差异性:使用synchroniz
十秒耿直拆包选手
·
2024-01-13 00:30
Java
开发语言
Java
Java多线程
:创建多线程的三种方式
在Java中,有三种方式创建多线程,继承类Thread,继承接口Runnable,继承接口Callable。其中Thread和Runnable需要重写方法run,方法run没有返回值;Callable需要重写方法call,方法call可以返回值。Thread实现如下:packagech01;/***@copyright2003-2024*@authorqiaowei*@date2024-01-04
十秒耿直拆包选手
·
2024-01-13 00:55
Java
java
开发语言
JUC并发编程-线程基础知识复习
(多线程带来的问题):线程安全性问题
Java多线程
的相关概念(1把锁,2个并,3个程)1把锁synchronized关键字2个并并发(concurrent):宏观上一个CPU同时处理多个任务。实质
--believe
·
2024-01-12 17:48
JUC
Netty简介
例如熟悉
Java多线程
(3)可靠性能力补齐
落地生涯
·
2024-01-12 17:39
java多线程
文件解压
publicclassCompress{publicstaticvoidunzipWithCommons(FilezipFile,Stringdest)throwsIOException{try(ZipFilearchive=newZipFile(zipFile)){for(ZipArchiveEntryentry:Collections.list(archive.getEntries())){F
有知识的山巅
·
2024-01-12 11:02
java进阶综合提升
java
开发语言
Java 多线程基础(二)
简介在上篇
Java多线程
基础(一)我们提到了一些线程的常用方法,这篇我们具体看看其中一些方法的使用以及方法的区别,让我们在工作中更好的使用。
mghio
·
2024-01-12 10:26
番外篇
-区块链基础知识入门
今天聊聊
番外篇
之Web3、区块链的基础知识~1.区块链是如何工作的?
阿清陪你聊聊数据分析
·
2024-01-12 07:00
Web3
区块链
JDBC快速入门:看我如何用JDBC数据库连接池,轻松解决大量并发请求问题!
一、数据库连接池简介JDBC连接池,全称为
Java多线程
数据库连接池,是一种用于管理数据库连接的技术。其
云端源想
·
2024-01-12 07:53
数据库
oracle
java
一些
Java多线程
面试题及回答
Java线程面试问题在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面。用于直接面向市场
java欧阳丰
·
2024-01-12 03:31
跳蚤之家--第三篇
番外篇
为何称此篇为
番外篇
,只因为上一稿不知道什么原因,涉及到的哪些敏感词汇而无法发布,其实也没有写什么不良言论,只是一些粗糙见解。说一说第三天写的感受吧。
亲爱的跳蚤
·
2024-01-11 13:33
java多线程
-实现多线程(三)
目录3.1线程调度线程有两种调度模型Java使用的是抢占式调度模型3.2Thread类中设置和获取线程优先级的方法3.1线程调度线程有两种调度模型分时调度模型:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间片抢占式调度模型:优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个,优先级高的线程获取的CPU时间片相对多一些Java使用的是抢占式调度模型假如计算机只
Crhy、Y
·
2024-01-11 08:13
Java
后端
Jeesite
java
开发语言
后端
前端框架
maven
intellij-idea
eclipse
算法通关村
番外篇
-LeetCode编程从0到1系列六
大家好我是苏麟,今天带来LeetCode编程从0到1系列六.链表相关的题目,也是面试热题.大纲21.合并两个有序链表206.反转链表21.合并两个有序链表描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。题目:LeetCode合并两个有序链表代码:/***Definitionforsingly-linkedlist.*publicclassListN
踏遍三十六岸
·
2024-01-11 04:38
算法村
算法
leetcode
数据结构
java
Java中什么是多线程?
以下是
Java多线程
的一些基本概念和关键组件:Thread类:Java的java.lang.
_Matthew
·
2024-01-11 01:00
#
Java的零星知识
java
开发语言
算法通关村
番外篇
-LeetCode编程从0到1系列二
大家好我是苏麟,今天来说LeetCode编程从0到1系列二.内置函数最后一个单词的长度描述:给你一个字符串s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。单词是指仅由字母组成、不包含任何空格字符的最大子字符串。题目:LeetCode58.最后一个单词的长度代码:classSolution{publicintlengthOfLastWord(Strings){Stri
踏遍三十六岸
·
2024-01-10 11:26
算法村
java
开发语言
leetcode
算法
数据结构
Java多线程
入门
一、创建线程的三种方法1.1继承Thread类自定义线程类继承Thread类重写**run()**方法,编写线程执行体创建线程对象,调用start()方法启动线程publicclasstestThread1extendsThread{@Overridepublicvoidrun(){for(inti=0;iresult1=ser.submit(t1);获取结果:booleanr1=result1.
奥尔加
·
2024-01-10 10:16
JVM内存模型(JMM)
JMM描述了
Java多线程
对共享变量的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。
币来币往
·
2024-01-10 08:57
java多线程
方法整理
文章目录
Java多线程
模型与方法介绍1.
Java多线程
模型:a.线程基础概念:b.线程状态:c.线程调度:2.创建线程的两种方式:3.线程同步与锁机制:a.关键字synchronized:b.ReentrantLock
犯困嫌疑人()
·
2024-01-10 07:08
java
开发语言
jvm
番外篇
中国古代的操 作系统
番外篇
中国古代的操作系统在古代中国,仿佛已经存在一套古老而神秘的操作系统机制。这个东方国度中,有一位名叫小李子的忙碌人物,他的工作就如同是执行各种指令的“人肉CPU”。
我也要当昏君
·
2024-01-10 02:00
操作系统
操作系统概述
#
操作系统运行环境
操作系统
Java多线程
编程中的异常处理策略
第1章:引言大家好,我是小黑,咱们今天聊聊异常处理。想必大家在写代码的时候都遇到过各种各样的异常吧?有时候,一个小小的异常如果处理不当,就可能导致整个程序崩溃。特别是在多线程环境下,异常处理就像是在拆雷,稍不留神,程序就可能“炸”了。为啥多线程编程中的异常处理这么重要呢?咱们来想一想,单线程程序出现异常,通常只影响到那个正在运行的线程。但在多线程环境下,一个线程的异常可能会影响到整个程序的稳定性和
宋小黑
·
2024-01-09 22:44
java
并发
多线程
算法通关村
番外篇
-LeetCode编程从0到1系列一
大家好我是苏麟,今天开始带来LeetCode编程从0到1系列.编程基础0到1,50题掌握基础编程能力大纲1768.交替合并字符串389.找不同1768.交替合并字符串描述:给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回合并后的字符串。题目:交替合并字符串LeetCode:交替合
踏遍三十六岸
·
2024-01-09 17:53
算法村
算法
leetcode
java
开发语言
算法通关村
番外篇
-优先队列
大家好我是苏麟,今天聊聊优先队列.优先队列我们了解优先队列之前先说说队列.队列的特点是什么?队列的特点是先进先出(FIFO)。入队列,将新元素置于队尾:出队列,队头元素最先被移出:那么,优先队列又是什么样子呢?优先队列不再遵循先入先出的原则,而是分为两种情况。最大优先队列,无论入队顺序如何,都是当前最大的元素优先出队最小优先队列,无论入队顺序如何,都是当前最小的元素优先出队例如有一个最大优先队列,
踏遍三十六岸
·
2024-01-09 17:52
算法村
数据结构
算法
java
Java程序员,你掌握了多线程吗?【文末送书】
目录摘要01、多线程对于Java的意义02、为什么Java工程师必须掌握多线程03、
Java多线程
使用方式04、如何学好
Java多线程
参与方式推荐一个人工智能学习网站https://www.captainbed.cn
小余要努力
·
2024-01-09 14:30
送书活动
java
开发语言
多线程
原理
送书活动
机械工业出版社
深入理解synchronized关键字| java锁机制
在
Java多线程
编程中,锁是确保线程安全的重要机制之一。本文将深入介绍Java中的锁机制,包括基本的synchronized用法以及在JavaSE1.6中引入的偏向锁和轻量级锁的优化机制。
Ernest_Feng
·
2024-01-09 12:19
并发编程学习指南
java基础
java
开发语言
java多线程
-实现多线程(二)
目录2.1设置和获取线程名称示例一(getName()输出线程名称)示例二(setName更改线程名称)示例三(super实现)编辑示例四(Thread.currentThread().getName()返回对当前正在执行的线程对象的引用)2.2总结2.1设置和获取线程名称Thread类中设置和获取线程名称的方法voidsetName(Stringname):将此线程的名称更改为等于参数nameS
Crhy、Y
·
2024-01-09 11:19
Java
后端
java
开发语言
后端
spring
boot
java多线程
-实现多线程(一)
目录1.1进程1.2线程1.3多线程的实现方式编辑方式1(继承Thread类)1.1进程是正在运行的程序是系统进行资源分配和调用的独立单位每一个进程都有它自己的内存空间和系统资源1.2线程线程是进程中的单个顺序控制流,是一条执行路径单线程:一个进程如果只有一条执行路径,则称为单线程程序多线程:一个进程如果有多条执行路径,则称为多线程程序1.3多线程的实现方式ClassThread类方式1(继承Th
Crhy、Y
·
2024-01-09 11:43
Java
后端
java
开发语言
后端
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他