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进阶
面试系列之一:你们的系统架构中为什么要引入消息中间件
这篇文章开始,我们把消息中间件这块高频的面试题给大家说一下,也会涵盖一些MQ中间件常见的技术问题。假如面试官看你简历里写了MQ中间件的使用经验,很可能会有如下问题:你们公司生产环境用的是什么消息中间件?为什么要在系统里引入消息中间件?引入消息中间件之后会有什么好处以及坏处?好,我们一个个的来分析!一.你们公司生产环境用的是什么消息中间件?这个首先你可以说下你们公司选用的是什么消息中间件,比如用的是
Python编程社区
·
2020-10-09 19:44
想成为腾讯程序员拿月薪7W2,怎能让面试成了拦路虎?
Java面经该面试宝典包含和很多互联网企业的面试题以及答案解析:Java基础、集合类、锁、Java多线程、
Java进阶
SSM/SSH框架、内存模型和垃圾回收、juc包、23种设计模式、数据结构与算法、数据库
Java架构俱乐部
·
2020-10-08 15:11
面试
架构
程序员
数据库
腾讯
编程语言
java
面试
Redis系列:redis实现分布式锁
前提jmeter:
Java进阶
系列:使用Jmeter进行并发测试nginx:常见中间件安装语句中的nginx安装语句idea:开发工具整体模式Jmeter发压到Nginx上,Nginx在负载到两台应用上
New俊
·
2020-10-08 14:50
高并发
高可用
高性能专题
分布式
多线程
并发编程
java
redis
Django初学者入门指南5-存储数据(译&改)
Django初学者入门指南5-存储数据(译&改)Django初学者入门指南6-基于类的页面(译&改)Django初学者入门指南7-部署发布(译&改)>>原文地址ByVitorFreitas简介欢迎来到
教程系列
的第
心甘情愿_Root
·
2020-09-30 14:21
Java进阶
系列:使用Jmeter进行并发测试
本文包括三部分:Mac下安装及启动Jmeter使用Jmeter进行并发测试存在的坑Mac下安装及启动Jmeter安装安装并校验Java,设置环境变量vim~/.bash_profile下载apache-jmeter-5.0.tgz,并使用tar解压更改JMeter语言为中文参考博客:JMeter在Mac下的安装启动cd~/tools/apache-jmeter-5.3/binshjmeter使用J
New俊
·
2020-09-25 00:56
高并发
高可用
高性能专题
jmeter
java
压力测试
2020年Github上最牛的
Java进阶
教程及Java实战项目都在这里了!
写在前面大家都知道Github是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将Github上非常棒的Java开源项目整理下来的想法。觉得不错的话,欢迎小伙伴们去star一波。很多小伙伴都不知道学习什么开源项目,这篇文章定能为你解决疑惑。不论你想要看Java教程方向的开源项目、Java实战项目、SpringBoot教程还是说想要看微
JavaBUGa
·
2020-09-20 18:58
Java
面试
程序员
java
编程语言
github
数据库
人工智能
[网络安全自学篇] 九十五.利用XAMPP任意命令执行漏洞提升权限(CVE-2020-11107)
这是作者网络安全自学
教程系列
,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了木马病毒提权技术,包括进程访问令牌权限提升和BypassUAC。
Eastmount
·
2020-09-17 14:13
网络安全自学篇
Web安全
渗透&攻防
Windows漏洞利用
CVE-2020-11107
网络安全
Web渗透
XAMPP
mapgis注释文字文件完整转换成arcgis格式注记shp 2019视频教程
本视频教程为客服2019原创视频
教程系列
之一,历时半个多小时详细讲解了如何将mapgis文件中的注释文字完整地转换成arcgis格式的注记图层文件,全程普通话讲授,课程讲解细致清楚,课程中详细讲解了平时容易出错的地方和出错后如何处理解决
zyzy01
·
2020-09-17 14:08
arcgis
arcgis
JAVA进阶
之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法...
JAVA进阶
之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法学完我们的java之旅,其实收获还是很多的,但是依然还有很多的知识点需要我们的突破
weixin_33779515
·
2020-09-17 13:10
java
设计模式
Spring Boot 2.x
教程系列
| AOP 切面统一打印请求日志
欢迎关注微信公众号:小哈学Java文章首发于个人网站https://www.exception.site/springboot/spring-boot-aop-web-request本节中,您将学习如何在SpringBoot中使用AOP切面统一处理请求日志,打印进出参相关参数。一、先看看日志输出效果可以看到,每个对于每个请求,开始与结束一目了然,并且打印了以下参数:URL:请求接口地址;HTTPM
犬小哈
·
2020-09-17 13:24
教程系列
导航
引子博主从事图像、图形算法研究及应用开发多年,一路走来,深知各种开源框架、算法的学习门槛是多么让人沮丧,所以在本博客中将向大家分享一些学习经验。目前着重于ITK(InsightSegmentationandRegistrationToolkit)和VTK(VisualizationToolkit)的基础讲解和一些Demo程序,如果能够对大家有所帮助,不甚荣幸。注:以后将陆续分享一些对经典图像、图形
DolingStudio
·
2020-09-17 09:56
教程系列导航
Java后台开发面试知识点总结
java基础
java进阶
数据库知识linux知识技术框架及工具web相关知识算法业务知识打算以书籍内容+网上博客内容+面试题此文兼具目录作用1.java基础以《Java核心技术卷I:基础知识》为指导书籍辅助以
ai8724968
·
2020-09-17 08:11
java
java进阶
之并发编程一ReentrantLock的实际应用和线程中断EXAMPLE
引言:继上一篇ReentrantLock的介绍来做俩个小demo。实现3个线程分别打印指定数字和线程死锁进行线程中断。上一篇:>demo1:ReentrantLock搭配三个线程分别打印指定的数字,直接上代码图片比较直观了。demo2:ReentrantLock模仿一个死锁环境,进行其中一个线程中断。结尾:俩个demo介绍完毕,是不是挺简单的,动手吧,操作完后你会发现其实就是这么简单。
M青年小客
·
2020-09-17 01:35
Java
前端
后端应用
java并发编程
Android OpenGL ES2.0编程
教程系列
之总览
原文链接用OpenGLES显示图形TheAndroidframeworkprovidesplentyofstandardtoolsforcreatingattractive,functionalgraphicaluserinterfaces.However,ifyouwantmorecontrolofwhatyourapplicationdrawsonscreen,orareventuringin
AlanWang4523
·
2020-09-16 23:11
翻译
Android
OpenGL
原创
树莓派Odroid等卡片式电脑上搭建NAS
教程系列
1-Ubuntu系统安装
我用的是韩国hardkernel公司做的OdroidXU板子,类似于树莓派香蕉派,看下它的真面目相关参数点他—>OdroidXU搭建NAS之前先来安装好Ubuntu系统下载安装文件在Odroid里安装系统的话需要将系统image文件安装到MicroSD或者eMMC里面。这里需要下载个用来拷贝image文件的软件ODROIDOSImageflashingtool运行该软件的话会出现上面的界面1=>选
HarleyGwak
·
2020-09-16 20:00
3D游戏模型
教程系列
:鼻子的建模
3DMAX中建立人物角色很方便,今天我们就来看看建立角色鼻子模型的教程,很简单,感兴趣的话就接着往下看吧。不要忘了。1、打开3DMAX,在前视图上建立如图之“平面”物体,参数如图。2、使用“弯曲”修改器对平面物体在X轴线上进行弯曲,以模拟脸部的弯曲圆滑形状。3、把平面物体“转化为可编辑多边形”,并调整顶点位置使之如人脸形状。效果如图。4、删除一半的多边形,然后对模型使用“镜像”修改器,并勾选“复制
虞山谵语
·
2020-09-16 19:20
游戏建模次世代
3D游戏模型
游戏开发
次世代
Cassandra数据库学习
-07-15分布式Key-Value存储系统:Cassandra入门2015-03-25ApacheCassandraWiki-DATASTAXDocumentation-Cassandra2.x中文
教程系列
Boxing_moose
·
2020-09-16 17:56
厉害,Alibaba架构师,耗时72天,打造700页
Java进阶
架构师宝典,我爱了!
前言在这个大家热议的人工智能时代,也使我们有了更多的反思,其实在这些热点议题的背后,一些基础架构与底层系统技术的发展与实现或许更加务实和接地气一些,同时产业界也需要有更坚实的基础架构与底层系统技术来支撑日益增长的庞大的业务量。对于支持庞大业务量,其中最具有代表性的莫过于现在的618双十一购物秒杀活动了。而作为参与其中的主力之一的京东,他们的基础架构与底层系统是如何搭建的呢?作为程序猿的我们,该如何
马士兵老师
·
2020-09-16 10:44
分布式
数据库
java
大数据
编程语言
pandas教程:[5]读取csv数据
pandas
教程系列
学习很多数据是从网上下载而来,数据的格式可能是csv,那么pandas可以很容易的从csv格式的文件中读取数据,下面我们来看看具体的过程:引入pandas使用pandas下的read_csv
promise_LOVE
·
2020-09-16 07:41
Python
python
pandas
csv
JS系列--综述
其他网址
教程系列
其他网址JavaScript实例|菜鸟教程现代JavaScript教程
feiying0canglang
·
2020-09-16 05:11
JavaScript
借鉴这份Java复习路线,我成功收获蚂蚁金服、阿里、美团等Offer
小编整理出一篇
Java进阶
架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty与
mrchaochao
·
2020-09-16 05:56
Java
面试
架构
java
架构
面试
资料
Java进阶
-11.JSP、EL、JSTL
一、JPS1.java服务器页面jsp全称javaserverpages(java服务器页面),本质是一个servlet。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。将内容的生成和显示进行分离,用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面
闲人勿-
·
2020-09-16 03:51
jsp
el
jstl
java
javaee
webApp一般会用到哪些技术?
web前端:基础:htmlcssjs进阶:jqueryext后台:基础:
java进阶
:struts2hibernatespringstrutsibatisDB:基础:mysqloracle
weiyinglei
·
2020-09-16 01:16
libgdx
教程系列
-Gradle和Intellij-IDEA
Gradle和Intellij-IDEA你刚创建了你的libgdx的工程,现在是时候开始使用IntellijIDEA来开发它了!在你导入你的工程到Intellij之前,确认你已经配置好你的开发环境。
dengchunfeng
·
2020-09-15 21:46
Libgdx
Libgdx
教程系列
-开发工具配置
一.IntellijIDEA配置使用IntellijIDEA开发你的应用程序,你需要安装下面的软件:JavaDevelopmentKit7+(JDK)(不要使用JDK6!)IntellijIDEA13.0.2+,这个版本就可以了AndroidSDK,你仅仅需要SDK,而不是ADTbundle。通过SDK管理器安装所有的版本。同时你也需要创建一个环境变量ANDROID_HOME指向AndroidSD
dengchunfeng
·
2020-09-15 21:45
Libgdx
Java进阶
--从源码理解Integer类的toString方法
Java中的jdk是深入学习Java编程的宝库,其中各种方法的实现不仅可以深入了解设计模式的应用,还可以看到jdk编写者如何优化代码(这种优化已经到达了一种极端的程度)对我们编写自己的代码是有十分重要的作用的。readthefuckingsourcecode是成为一名优秀程序猿必须的经历。本博客通过分析Integer类的toString方法来看看jdk编写者如何编写他们的代码的。Integer类的
HankingHu
·
2020-09-15 20:30
java
java进阶
--集合
什么是集合?有什么用?集合是一个容器,可以容纳多个对象,集合在java中本身是一个对象。在开发中,假设连接数据库,数据库中有10条记录,假设把这10条记录查询出来,在java程序中会将10条数据封装成10个java对象,然后将10个Java对象放到某个集合当中,将集合传到前端,然后遍历集合,将数据逐一展现出来。集合不能直接存储基本数据类型,也不能直接存储java对象,集合当中存储的是Java对象的
立flag的咸鱼
·
2020-09-15 12:26
Java
#
JavaSE
java
java进阶
--自定义异常
SUN提供的JDK内置异常肯定不够用,在实际开发中,有很多业务出现的异常JDK中都是没有的,需要自定义异常。1.步骤第一步:编写一个类继承Exception(编译时异常)或者RuntimeException(运行时异常)第二步:提供两个构造方法,一个无参数的,一个带有String参数的//自定义异常publicclassMyExceptionextendsException{publicMyExc
立flag的咸鱼
·
2020-09-15 12:26
Java
#
JavaSE
java
java进阶
- 经典排序(插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序)
业余时间学习java,回顾回顾经典算法。插入排序代码运行结果冒泡排序代码运行结果快速排序代码运行结果插入排序插入排序的基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。——[百度百科]代码/***插入排序*/publicvoidinsertSort(int[]array){System.out.println("-----Start插入排
Dwxqnswxl
·
2020-09-15 12:11
java
java进阶
- 经典排序(插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序)...
业余时间学习java,回顾回顾经典算法。插入排序代码运行结果冒泡排序代码运行结果快速排序代码运行结果插入排序插入排序的基本思想是:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。——[百度百科]代码/***插入排序*/publicvoidinsertSort(int[]array){System.out.println("-----Start插入排
weixin_34392843
·
2020-09-15 12:23
java
数据结构与算法
Java进阶
篇(五)——Java的I/O技术
程序中,为了永久的保存创建的数据,需要将其保存在磁盘文件中,以便在其它程序中使用它们。Java的I/O技术可以将数据保存到文本文件、二进制文件甚至是ZIP压缩文件中,以达到永久性保存数据的要求。本篇我们要介绍的内容就是Java的I/O技术,即输入/输出。一、输入/输出流流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流。而专门负责各种方式的输入、输出的类,都被放在java.io包中。所有
weixin_34357436
·
2020-09-15 12:51
微信支付
教程系列
之现金红包
微信公众号开发之网页授权获取用户基本信息(五)微信公众号开发之网页中及时获取当前用户Openid及注意事项(六)微信公众号开发之扫码支付(七)微信公众号开发之公众号支付(八)微信公众号开发之现金红包微信支付
教程系列
之现金红包最近最弄这个微信支付的功能
weixin_34038652
·
2020-09-15 12:31
php
ui
json
Java进阶
3 —— 类和接口设计原则
原文链接:http://www.javacodegeeks.com/2015/09/how-to-design-classes-and-interfaces.html本文是
Java进阶
课程的第三篇。
weixin_34032779
·
2020-09-15 12:00
Java进阶
03 IO基础
作者:Vamei出处:http://www.cnblogs.com/vamei欢迎转载,也请保留这段声明。谢谢!计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能,以便让未处理的数据流入程序,让已处理的数据流出。与其他语言相比,Java的IO功能显得复杂。在其他语言中,许多IO功能(比如读取文件),是被封装好的,可以用一两行程序实现。在Java中,程序员往往需要多个层次的装饰
weixin_33804582
·
2020-09-15 12:49
java
操作系统
网络
Java进阶
总结——封装
Java进阶
总结21.static修饰符publicclassStaticDemo{/**static修饰符,可以修饰字段方法内部类static修饰的成员属于类的级别可以通过类名直接访问static成员随着类字节码加载的时候已经存在
浪子一秋
·
2020-09-15 11:49
JavaSE
Java进阶
——java基础(三):IO流
一、流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。二、Java流体系结构图三、Java流体系中常用四、JavaIO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流五、JavaIO流部分对象实例//JavaIO流测试I
清浅の阳光12°
·
2020-09-15 11:49
Java进阶
txt读写
目录创建删除
java进阶
—第四天
面向对象上1类和对象1.1,类的小知识点注意:1static修饰的成员变量不能访问没有static修饰的成员。static修饰的成员表明它属于这个类本身,而不属于该类的单个实例。通常把static修饰的成员变量和方法称为类变量,类方法。不使用的称为实例变量,实例方法。2java语言通过new关键字来调用构造器,从而返回该类的实例。3构造器没有返回值,也不能用void声明。因为构造器的返回值是隐式的
专心搞科研
·
2020-09-15 11:44
JAVA进阶
day04多态(向上转化,向下转化)
java多态让我觉得比较绕的就应该是向上转化跟向下转化了。一、向上转化classFather{privateintmoney;publicintgetMoney(){returnmoney;}publicvoidsetMoney(intmoney){this.money=money;}publicvoidprintInfo(){System.out.println("ThisisFather");
颖念
·
2020-09-15 11:06
JAVA
Java进阶
之路03-(常用类)
文中关键字:Object类Scanner类Math类(随机数)String类StringBuffer类Integer类Character类Object类:Object:是类层次结构的根类.每个类都使用Object作为超类(父类)publicinthashCode()返回该对象的哈希码值.把它理解地址值(不是实际意义的地址值)publicfinalClassgetClass()返回此Object的运
_板蓝根_
·
2020-09-15 11:27
常用类
方法
Java 进阶,学习笔记-5 多态
Java进阶
-5多态面向对象的三大特征:封装性、继承性、多态性extends继承或者implements的实现,是多态的前提多态:一个对象同时拥有多种对象,就是多态多态性的体现:父类引用指向子类对象对于继承父类名称对象名
ilblogs
·
2020-09-15 10:44
java
学习笔记
java
Java 进阶:异常影响性能吗?
Java进阶
异常影响性能吗catch中不做任何事情catch中输出异常到日志catch中获取异常栈总结
Java进阶
:异常影响性能吗?
albon_arith
·
2020-09-15 10:10
Java
Java
进阶
Netty4.x中文
教程系列
(四) ChannelHandler
Netty4.x中文
教程系列
(四)ChannelHandler上一篇文章详细解释了HelloWorld示例的代码。里面涉及了一些Netty框架的基础。这篇文章用以解释ChannelHandler。
aitang3496
·
2020-09-15 10:47
netty
Java进阶
学习——常用API之 Scanner类
第1章API概述API(ApplicationProgrammingInterface),应用程序编程接口。JavaAPI是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。API使用步骤打开帮助文档。点击显示,找到
汛汛qwq
·
2020-09-15 10:37
Java语言高级
【
Java进阶
八】匿名内部类
上篇文章已经对内部类做了一个比较详细的归纳。对用法和区别做了论述。站着面试的角度说,绰绰有余。接下来我们要分析的是匿名内部类的使用、匿名内部类要注意的事项、如何初始化匿名内部类、匿名内部类使用的形参为何要为final。匿名内部类的使用对于匿名内部类的使用它是存在一个缺陷的,就是它仅能被使用一次,创建匿名内部类时它会立即创建一个该类的实例,该类的定义会立即消失,所以匿名内部类是不能够被重复使用。在使
Save_Helot
·
2020-09-15 10:41
Java进阶
java
匿名内部类
final
【
Java进阶
五】对象序列化和拷贝
Java拷贝问题Java中有个接口叫做Cloneable,实现该接口的类都具有克隆(被拷贝)的能力。拷贝的话在性能方面会比我们直接new一个对象的性能要好,特别是在大对象的生成上,性能提升非常明显。原因是拷贝是在内存中进行浅拷贝。浅拷贝浅拷贝的基本规则如下:基本类型如果变量是基本,则拷贝变量的值,比如:int、float等对象如果变量是一个实例对象,则拷贝其地址的引用。也就是说拷贝之后,新对象和原
Save_Helot
·
2020-09-15 10:41
Java进阶
【
Java进阶
一】理解封装
封装封装是Java的三大特性之一。封装顾名思义就是包装,在编程领域解释为信息隐藏,利用抽象的数据类型将数据和基于数据的操作封装在一起,构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的实现细节,只保留一些对外使用的方法或者接口来与外部发生联系。系统的其他对象只能通过封装在数据外层的一些有权限的操作(方法)来与这个对象发生交互。也就是我们无需知道对象内部的实现细节,但可以
Save_Helot
·
2020-09-15 10:10
Java进阶
java
对象
封装
封装的好处
【
Java进阶
四】抽象类和接口
抽象类抽象类是在定义的时候使用abstract关键字修饰的类。抽象类要注意以下几点:抽象类不能被实例化,实例化工作应该在子类完成。抽象方法必须由子类来进行重写。只要包含一个抽象方法的类,他就必须是抽象类,不管是否含有其他正常的方法。子类的抽象方法不能和抽象类的抽象方法同名abstract不能和final并列修饰同一个类abstract不能和private、static、final并列修饰同一个方法
Save_Helot
·
2020-09-15 10:10
Java进阶
java
抽象类和接口
面试
【
Java进阶
二】理解继承
继承面向对象三大特性:封装、继承和多态。继承是我们“复用”代码的途径之一。关于继承主要说明以下几点。子类继承父类成员变量当子类继承了某个类之后,便可以使用父类中的成员变量或者叫属性,但是并不是完全的继承父类的所有成员变量。1、能够继承父类的public和protected成员变量,不能够继承父类的private成员变量2、对于父类的包访问权限成员变量,如果子类和父类在同一个包下,则子类能够继承。否
Save_Helot
·
2020-09-15 10:10
Java进阶
java
面向对象
继承
我的
Java进阶
之路——static关键字
static关键字解决的问题一种是:只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本不创建任何对象。另一种情形是,希望某个方法不与包含它的类的任何对象关联在一起。——《java编程思想》e.g.对于第一种情况:classA{staticinti=1;}Aa1=newA();Aa2=newA();因为i定义为静态变量,所以a1.i和a2.i指向的是同一个存储空间,他们具有相同的
六个番茄
·
2020-09-15 10:54
Java
java
static关键字
Java进阶
之常用API
Objects类在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。publicstaticvoidmain(String[]args){Stringa="a";Stringb="b";Sys
大蒜头的季节
·
2020-09-15 09:29
Java进阶
java
字符串
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他