自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (17)
  • 收藏
  • 关注

原创 SQL server 2005 开始安装后sa无法登录问题的解决方法

<br />1.使用Management Studio Express,用“Windows身份验证”登录,选中SQL服务器名,右击鼠标选择属性,在服务器属性选项页面,选择“安全性”,将服务器身份验证由“Windows身份验证”改为“SQL Server和Windows身份验证”,单击确定。 <br /><br />2.使用SQL Server 2005外围应用配置器,选择“服务和连接的外围应用配置器”,选SQL Express-->Database Engine-->服务,先停止,再启动,重

2010-11-09 20:03:00 914

原创 ThreadLocal

ThreadLocal我的理解,觉得蛮好懂的. java的同步机制,大概是通过: 1.synchronized; 2.Object方法中的wait,notify; 3.Threa

2010-10-18 14:41:00 575

原创 Java中的IO流心得

 一、IO流的三种分类方式  1.按流的方向分为:输入流和输出流  2.按流的数据单位不同分为:字节流和字符流  3.按流的功能不同分为:节点流和处理流  二、IO流的四大抽象类:  字符流:Reader Writer  字节流:InputStream(读数据)  OutputStream(写数据)

2010-10-14 14:38:00 522

原创 题目

一、面向对象的特征有哪些方面  1.抽象:  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。  2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,

2010-10-14 14:22:00 417

原创 java中用来生成随机数的函数:Random()

1、Random对象的生成         Random类包含两个构造方法,下面依次进行介绍:         a、public Random()该构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数,然后使用这个种子数构造Random对象。          b、public Random(long seed)                        

2010-10-14 13:48:00 6194 2

java内存管理技巧

其实从理论上来讲java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么N多理由来证明它确实占内存呢?

2010-10-14

[Java.GUI可视化界面编辑器].keygen

eclipse的Gui界面设计编辑器:designer插件的注册机

2010-03-26

[Java.GUI可视化界面编辑器].Designer_v5.0.0_for_Eclipse3.1

eclipse里的gui界面设计插件。 个人认为MyEclipse里面的那个界面编辑器不太好用,所以另外找了这个~ 需要注册机,但是由于受上传文件大小限制,只好另外上传啦,各位见谅~

2010-03-26

java做的mp3播放器

包含源代码~~~ 一个看起来挺小巧的mp3播放器,整个项目用java完成。

2010-03-26

qq农场 源代码 以及 种菜的分析

rar压缩包.里面很多分解现摘取一个文件内容--对菜的分析: {"farmlandStatus":[{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888073,"r":1241911324},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888073,"r":1241906800},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888074,"r":1241906822},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888067,"r":1241906799},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888067,"r":1241888067},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888066,"r":1241888066}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":613} //现在挖掉了一个 {"farmlandStatus":[{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888073,"r":1241911324},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888073,"r":1241906800},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888074,"r":1241906822},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888067,"r":1241906799},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888067,"r":1241888067},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913554}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":613} //再搞掉一个 四个菜 {"farmlandStatus":[{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888073,"r":1241911324},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888073,"r":1241906800},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888074,"r":1241906822},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888067,"r":1241906799},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913617},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913554}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":613} //只有一个菜了 {"farmlandStatus":[{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913751},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913752},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241888074,"r":1241906822},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913744},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913617},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913554}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":613} //没菜了 //B 位 表示有没菜 http://happyfarm.xiaoyou.qq.com//api.php?mod=user&act=run&flag=1&ownerId=520320605 {"farmlandStatus":[{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913751},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913752},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913843},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913744},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913617},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913554}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":613} //于是我种了一个菜 //b位表示有没有菜, q: {"farmlandStatus":[ {"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913751},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241913957,"r":1241913957},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913843},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913744},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913617},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913554}], "items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":715} //刷新这一个菜 {"farmlandStatus":[ {"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913751},{"a":3,"b":1,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":1241913957,"r":1241913957},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913843},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913744},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913617},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1241913554}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":715} //小猪的四个菜 {"farmlandStatus":[{"a":2,"b":6,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":16,"l":9,"m":9,"n":{"82554432":1,"252889125":1,"305642469":1,"371125960":1,"254136628":1,"281874675":1,"63499348":1},"o":0,"p":[],"q":1240258169,"r":1240294169},{"a":2,"b":6,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":20,"l":12,"m":14,"n":{"305642469":1,"82554432":1,"371125960":1,"254136628":1,"281874675":1,"63499348":1},"o":0,"p":[],"q":1240279829,"r":1240315829},{"a":2,"b":6,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":20,"l":12,"m":12,"n":{"305642469":1,"82554432":1,"371125960":1,"254136628":1,"281874675":1},"o":0,"p":[],"q":1240279829,"r":1240315829}, {"a":2,"b":6,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":20,"l":12,"m":13,"n":{"252889125":1,"305642469":1,"82554432":1,"371125960":1,"254136628":1,"281874675":1,"63499348":1},"o":0,"p":[],"q":1240269029,"r":1240305029}, {"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1240294229},{"a":0,"b":0,"c":0,"d":0,"e":1,"f":0,"g":0,"h":1,"i":100,"j":0,"k":0,"l":0,"m":0,"n":[],"o":0,"p":[],"q":0,"r":1240294229}],"items":{"1":{"itemId":1},"2":{"itemId":2}},"exp":0}

2010-01-16

操作系统课程设计模拟内存分配

首次适应和循环首次适应算法模拟内存分配2008-07-01 09:40/******************************** 内存管理模拟程序 *******************************/ #include<iostream.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #include <time.h> #include <windows.h> /*定义宏*/ #define TotalMemSize 1024 /*划分的物理块的大小,地址范围0~1023*/ #define MinSize 2 /*规定的不再分割的剩余分区的大小*/ #define getpch(type) (type*)malloc(sizeof(type)) /*定义内存块*/ typedef struct memBlock { struct memBlock *next;/*指向下一个块*/ int stAddr; /*分区块的初始地址*/ int memSize; /*分区块的大小*/ int status; /*分区块的状态,0:空闲,1:以被分配*/ }MMB; /*定义全局变量*/

2010-01-15

操作系统---虚拟存储器管理

//页式存储管理方案,LRU算法 #include<iostream> using namespace std; int const Stack_Size=4; int Count_Page=0; int lackofpage=0; struct stack{ int Page[Stack_Size]; int Head; }; struct stack Stack; int IsPageInStack(int PageID) //判断要访问的页面是否在内存中 { int ID; for(ID=0 ; ID < Stack_Size ; ID++ ) { if(Stack.Page[ID] == PageID) return ID;

2010-01-15

操作系统---排斥与共享(代码+实验报告)

一、实验内容 ① 由用户指定要产生的进程及其类别,存入进入就绪队列。    ② 调度程序从就绪队列中提取一个就绪进程运行。如果申请的资源被阻塞则进入相应的等待队列,调度程序调度就绪队列中的下一个进程。进程运行结束时,会检查对应的等待队列,激活队列中的进程进入就绪队列。运行结束的进程进入over链表。重复这一过程直至就绪队列为空。    ③ 程序询问是否要继续?如果要转直①开始执行,否则退出程序。 二、实现方法 /* */ #include #include #include struct PCB { int flag; //1为生产者,2为消费者 int numLabel; }; typedef struct QNode { PCB data;//数据域 struct QNode* next;//指针域 }QNode, *QueuePtr; typedef struct { QueuePtr front;//队头指针 QueuePtr rear;//队尾指针 }LinkQueue; typedef struct LNode { QueuePtr data; struct LNode *next; }LNode, *LinkList; void QueueInit(LinkQueue& Q)//初始化队列

2010-01-15

os课程设计 模拟内存分配

操作系统课程设计模拟内存分配实验报告 1.需求分析 (1)模拟操作系统在内存的分配以及回收所用内存的运行过程,分别采用首次适应法,最佳适应法和最差适应法来进行. (2)本程序的运行实际上不用输入测试数据,它能利用随机函数生成测试数据,对于用户来讲,可以直接观察运行结果,十分方便易用. (3)输出的形式是将内存分配形象成一个表,里面包括内存每个区...............

2010-01-15

汇编语言程序设计实例

1.简单的字处理程序 2.求若干十进制数平均值,并输出 3.计算字符出现次数 4.统计学生分数 5.筛选负数取其绝对值之和 6.将数组分成正数和负数 7.16位无符号数排序 8.七段码(分支程序) 9.产生随机数(中断调用) 10.数p.w的个数

2009-10-25

《计算机组成原理题解指南》附答案 简答题目,选择题(主要)

第四章 主存储器 1.主存储器的性能指标有哪些?含义是什么? 存储器的性能指标主要是存储容量. 存储时间、存储周期和存储器带宽。 在一个存储器中可以容纳的存储单元总数通常称为该存储器的存储容量。 存取时间又称存储访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。 存储周期是指连续两次独立的存储器操作(如连续两次读操作)所需间隔的最小时间。 存储器带宽是指存储器在单位时间中的数据传输速率。 2.DRAM存储器为什么要刷新?DRAM存储器采用何种方式刷新?有哪几种常用的刷新方式? DRAM存储元是通过栅极电容存储电荷来暂存信息。由于存储的信息电荷终究是有泄漏的,电荷数又不能像SRAM存储元那样由电源经负载管来补充,时间一长,信息就会丢失。为此必须设法由外界按一定规律给栅极充电,按需要补给栅极电容的信息电荷,此过程叫“刷新”。 DRAM采用读出方式进行刷新。因为读出过程中恢复了存储单元的MOS栅极电容电荷,并保持原单元的内容,所以读出过程就是再生过程。 常用的刷新方式由三种:集中式、分散式、异步式。 …… 第二部分:其他题型 一、选择题: 1、完整的计算机系统应包括    。  A、运算器、存储器、控制器  B、外部设备和主机  C、主机和实用程序      D、配套的硬件设备和软件系统 ……

2009-10-25

《计算机组成原理》第四版 课后习题参考答案 白中英 戴志涛 李贞等

第一章 1. 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。 2. 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。 3. 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。 4. 主要设计思想是:存储程序通用电子计算机方案,主要组成部分有:运算器、逻辑控制装置、存储器、输入和输出设备 5. 存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。 6. 每一个基本操作称为一条指令,而解算某一问题的一串指令序列,称为程序。 7. 取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是指令流。 8. 半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。

2009-10-25

《计算机组成原理》课后习题参考答案 白中英

第一章 1. 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。 2. 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。 3. 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。 4. 主要设计思想是:存储程序通用电子计算机方案,主要组成部分有:运算器、逻辑控制装置、存储器、输入和输出设备

2009-10-25

深入了解MFC中的文挡/视结构

深入了解MFC中的文挡/视结构 李泽宇 金 刚 熊联欢 姜 军 (华中理工大学图象识别与人工智能研究所) Visual C++ 5.0 以其功能强大、用户界面友好而倍受程序员们的青睐。但是,在当前的Microsoft 基本类库4.2 版本中,大约有将近200 个类,数千个函数,加之Microsoft 公司隐藏了一些技术细节,使得人们深入学习MFC变得十分困难。 MFC的AppWizard可以生成三种类型的应用程序:基于对话框的应用、单文档应用(SDI)和多文档应用(MDI)。前两者的结构较简单,本文不再赘叙。笔者拟从MFC中的文档/视结构入手,分析一些函数的流程,并解决编制MDI 应用程序过程中的一些常见问题。

2009-10-17

一些常用的简单的算法大全

算法大全 文章由 算法源码吧(www.sfcode.cn)收集 一、数论算法 1.求两数的最大公约数 function gcd(a,b:integer):integer; begin if b=0 then gcd:=a else gcd:=gcd (b,a mod b); end ;

2009-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除