摘要: 没有枚举之前: 在没有枚举之前,我们想列举一些相关的常量,我们会采用如下的方式:interface ActionInterface { public static final int RIGHT = 0; public static final int LEFT = 1;}然后在某个类似于下面的方法中,使用这些常量:public void playWithInterface(int num) { switch (num) { case ActionInterface.RIGHT: System.out.println("RIGHT"); b... 阅读全文
posted @ 2013-03-27 15:35 丿黑色丶幽默丨灬 阅读(1695) 评论(0) 推荐(2) 编辑
摘要: 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰。(而外部类不可以:外部类只能使用public和默认的)。内部类分为:成员内部类、局部内部类、静态内部类、匿名内部类几种内部类的共性:A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号,比如Outer.class和Outer$Inner.class。B、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。成员 阅读全文
posted @ 2013-03-22 12:49 丿黑色丶幽默丨灬 阅读(764) 评论(0) 推荐(3) 编辑
摘要: 用 js有很久了,但都没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)。这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵。学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧1、数组的创建vararrayObj=newArray(); //创建一个数组vararrayObj=newArray([size]); //创建一个数组并指定长度,注意不是上限,是长度vararrayObj=newArray([element0[,element1[,...[,elementN]]]]); //创建一个 阅读全文
posted @ 2013-03-13 19:23 丿黑色丶幽默丨灬 阅读(3632) 评论(1) 推荐(1) 编辑
摘要: sql语言中有没有类似C语言中的switch case的语句?? 没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 select getdate() as 日期, case month(getdate()) when 11 then '十一' when 12 then '十二' else substring('一二三四五六七八九十', month(getdate()),1) end + '月' as 月份=================================================CAS 阅读全文
posted @ 2013-03-12 15:55 丿黑色丶幽默丨灬 阅读(3539) 评论(0) 推荐(0) 编辑
摘要: Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。1:了解四大基本组件Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。 Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。 典型的动作类型有:M AIN(activity的门户)、VIEW、PICK、EDIT 等。而动作对应的数据则以URI 的形式进行表示。例如:要查看一个人... 阅读全文
posted @ 2013-02-28 17:18 丿黑色丶幽默丨灬 阅读(972) 评论(0) 推荐(0) 编辑
摘要: package-info.java对于经常使用外部包的程序员来说应该是熟悉陌生人。因为不是专门开发包的程序员很少需要关注它,而又常在其他包中看到他,眼很熟。它到底有哪些特性和作用及如何使用呢?程序员讲究动口不如动手,何不创建一个试试。打开Eclipse,new class,哦!创建失败,‘-’ 作为特殊字符不允许在类名称里出现,什么情况。原来它本来就是个特例当然得用特别方法创建,记事本上,好了成功了。我喜欢追根问底,还什么特殊的,google 吧,果然有先辈,转过来收藏了。原文地址:http://strong-life-126-com.iteye.com/blog/806246特点:首先,它不 阅读全文
posted @ 2013-02-20 16:03 丿黑色丶幽默丨灬 阅读(12236) 评论(0) 推荐(2) 编辑
摘要: java中注解的使用与实例 (二)java 注解,从名字上看是注释,解释。但功能却不仅仅是注释那么简单。注解(Annotation) 为我们在代码中添加信息提供了一种形式化的方法,是我们可以在稍后 某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据),常见的作用有以下几种:生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。在编译时进行格式检查。如@override 放在方法 阅读全文
posted @ 2013-02-20 15:25 丿黑色丶幽默丨灬 阅读(24719) 评论(1) 推荐(2) 编辑
摘要: hibernate.cfg.xml<!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> <?xml version='1.0' encoding='gb2312'?> <!--表明解析本XML文件的DTD文档位置,DTD是Document Type Definition 的缩写,即文档类型的定义,XML解析器使用DTD文档来检查XML文件的合法性。 hibernate.sourceforge.net/hibern 阅读全文
posted @ 2013-02-19 17:05 丿黑色丶幽默丨灬 阅读(36475) 评论(1) 推荐(7) 编辑
摘要: JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。StringBuffer与 StringBuilder两个基本上差不多,只是StringBuffer是线程安全,可以不需要额外的同步用于多线程中;StringBuilder是非同步,运行于多线程中就需要使用着单独同步处理,但是速度就比StringBuffer快多了;二者之间 阅读全文
posted @ 2013-02-16 17:24 丿黑色丶幽默丨灬 阅读(11190) 评论(0) 推荐(2) 编辑
摘要: 反射和代理机制是JDK5.0提供的java新特性,反射的出现打破了java一些常规的规则,如,私有变量不可访问。但反射和代理在学习过程中也是一个比较难理解的知识点。本人曾经学过一段时间的反射和代理,但好长时间不用好像有点生疏了,当时学的时候就理解的不是很透彻,这次总结算是重新学习一遍吧,如果有什么错误,请大家拍砖:先看一下,Java反射机制主要提供了以下功能:•在运行时判断任意一个对象所属的类。•在运行时构造任意一个类的对象。•在运行时判断任意一个类所具有的成员变量和方法。•在运行时调用任意一个对象的方法一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变 阅读全文
posted @ 2013-02-16 16:53 丿黑色丶幽默丨灬 阅读(3236) 评论(0) 推荐(1) 编辑
摘要: 本站文章为 Kenan 原创,转载请注明转自Kenan的博客 http://kenan1992.qzone.qq.com首先声明对于什么java ee的 自学不需要编程的基础,但是需要你的刻苦和努力,付出100%的努力,相信你终会有收获的那一天!!!各位同学加油!o(∩_∩)o 哈哈,,,,,,一,开发工具的使用,初期使用记事本,Edit Plus ----》Eclipse ----》myeclipse对于初学者来说,初期用记事本等直接编写代码有利于我们了解java代码的底层运作,对于经过一段时间锻炼以后呢 ,你就可以转到eclipse上了,eclipse是一个开源的java开发工具,非常非常 阅读全文
posted @ 2013-02-16 16:11 丿黑色丶幽默丨灬 阅读(18639) 评论(3) 推荐(7) 编辑
摘要: 注解目前非常的流行,很多主流框架都支持注解,而且自己编写代码的时候也会尽量的去用注解,一时方便,而是代码更加简洁。 注解的语法比较简单,除了@符号的使用之外,它基本与Java固有语法一致。Java SE5内置了三种标准注解: @Override,表示当前的方法定义将覆盖超类中的方法。 @Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。 @SuppressWarnings,关闭不当编译器警告信息。 上面这三个注解多少我们都会在写代码的时候遇到。Java还提供了4中注解,专门负责新注解的创建。@Target表示该... 阅读全文
posted @ 2013-02-16 16:05 丿黑色丶幽默丨灬 阅读(83262) 评论(6) 推荐(11) 编辑
摘要: 在JDK1.5中,String类增加了静态方法format(Stringformat,Objects...args),format(Locall,Stringformat,Objects...args)。该方法可以将各类数据按照指定的格式以字符串形式输出。其中format参数指定了输出的格式,而args则是一系列等待被格式化的对象。该方法与c语言中printf函数的用法有一定的相似性。下面我们着重讨论一下format参数的格式及含义。format参数中可以包含不需要转化的字符串,这些字符串是你写什么,最终就输出什么。同时还包含一些特殊格式的内容,来指定将哪个对象来转换,以及转换成什么形式。这种 阅读全文
posted @ 2013-02-16 00:30 丿黑色丶幽默丨灬 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 在JDK1.5中,String类增加了静态方法format(Stringformat,Objects...args),format(Locall,Stringformat,Objects...args)。该方法可以将各类数据按照指定的格式以字符串形式输出。其中format参数指定了输出的格式,而args则是一系列等待被格式化的对象。该方法与c语言中printf函数的用法有一定的相似性。下面我们着重讨论一下format参数的格式及含义。format参数中可以包含不需要转化的字符串,这些字符串是你写什么,最终就输出什么。同时还包含一些特殊格式的内容,来指定将哪个对象来转换,以及转换成什么形式。这种 阅读全文
posted @ 2013-02-16 00:29 丿黑色丶幽默丨灬 阅读(1369) 评论(0) 推荐(0) 编辑
摘要: 一. 获取当前系统时间和日期并格式化输出:import java.util.Date;import java.text.SimpleDateFormat;public class NowString {public static void main(String[] args) {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.println(df.format(new Date()));// new Date()为获取当前系统时间}}二. 在数据库里的 阅读全文
posted @ 2013-02-16 00:27 丿黑色丶幽默丨灬 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种形式的new语句,如下所示: new <类或接口> <类的主体> 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。如果匿名类对另一个类进行扩展,它的主体可以访问类的成员、覆盖它的方法等等,这和其他任何标准的类都是一样的。如果匿名类实现了一个接口,它的主体必须实现接口的方法。java 代码interface 阅读全文
posted @ 2013-02-16 00:19 丿黑色丶幽默丨灬 阅读(5128) 评论(0) 推荐(1) 编辑
摘要: 基本概念多线程程序在较低的层次上扩展了多任务的概念:一个程序同时执行多个任务,通常,每一个任务称为一个线程,它是线程控制的简称。可以同时运行一个以上线程的程序称为多线程程序。多进程与多线程的区别:每个进程拥有自己的一整套变量,而线程则共享数据。相关接口•Runnable◦ 方法 void run()◦可由Runnable对象构成Thread,不要调用Thread类或者Runable对象的run方法,直接调用run方法,只会执行同一个线程中的任务,而不会启动新的线程。应该调用Thread.start方法,这个方法将创建一个执行run方法的新线程。•Callable◦方法 V call() thr 阅读全文
posted @ 2013-02-14 13:15 丿黑色丶幽默丨灬 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 1:start():用于开始执行run()方法中定义的线程体2:sleep():调整java运行时间,指定调用线程的睡眠时间3:jion():用于调用线程等待本线程结束4:yield():暂时停止调用线程并将其放在队列末尾,等待另一轮执行,使同一优先级的其他线程有机会运行import java.io.PrintWriter;public class MethodTest {static PrintWriter out = new PrintWriter(System.out,true);public static void main(String[] args) {FristThread fr 阅读全文
posted @ 2013-02-14 13:15 丿黑色丶幽默丨灬 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 注:这个例子来自“安卓巴士”,经阅读,理解,写此文章说明:这个例子实现了Android中常见的许多服务,下面是实现的截图接下来,以源代码的方式分析这个例子1.MainActivity--主界面这个类主要是实现用户所看到的这个Activity,其中包含了一系列的按钮,用户点击按钮执行相应的动作,所以在这个类中主要是对按钮的定义和对按钮绑定相应的监听器,下面是实现的代码:package lovefang.stadyService;import android.app.Activity;import android.os.Bundle;import android.widget.Button;imp 阅读全文
posted @ 2013-02-12 00:01 丿黑色丶幽默丨灬 阅读(1572) 评论(0) 推荐(0) 编辑
摘要: 注:本例来自“安卓巴士”首先,这是实现的效果图这个例子几乎涵盖了Android的所有组件,以下截图是代码文件:由于代码文件太大,在这里不贴出源码,下面给出源码的下载地址,欢迎大家下载学习!http://download.csdn.net/detail/dlutbrucezhang/5061329 阅读全文
posted @ 2013-02-11 16:12 丿黑色丶幽默丨灬 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: 注:本文来自“安卓巴士”Android面试题1. 下列哪些语句关于内存回收的说明是正确的? (b )A、 程序员必须创建一个线程来释放内存B、 内存回收程序负责释放无用内存C、 内存回收程序允许程序员直接释放内存D、 内存回收程序可以在指定的时间释放内存对象2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException3. Math.round(11.5)等于多少(... 阅读全文
posted @ 2013-02-11 15:34 丿黑色丶幽默丨灬 阅读(22821) 评论(1) 推荐(4) 编辑
摘要: 注:本文来自“友盟杯”,仅在此阅读,学习这个文章主要是讲Android开发的四大组件,本文主要分为一、Activity详解二、Service详解三、Broadcast Receiver详解四、Content Provider详解外加一个重要组件 intent的详解。一、Activity详解Activty的生命周期的也就是它所在进程的生命周期。一个Activity的启动顺序:onCreate()——>onStart()——>onResume()当另一个Activity启动时:第一个Activity onPause()——>第二个Activity onCreate()——> 阅读全文
posted @ 2013-02-11 15:26 丿黑色丶幽默丨灬 阅读(192972) 评论(14) 推荐(30) 编辑
摘要: 注:这个例子来自“安卓巴士”,仅在此学习,阅读下面给出实现各个组件的源代码:1.下拉框实现--Spinnerpackage com.cellcom; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widge.. 阅读全文
posted @ 2013-02-11 15:17 丿黑色丶幽默丨灬 阅读(6356) 评论(2) 推荐(2) 编辑
摘要: 注:此文章来自“博客园”博主,在此借鉴问题背景SQL查询54问?1、问题背景本文中的SQL语句都是基于下面几张表的,这也是比较经典的用于数据库教学的数据库例子。(1)/*员工人事表employee */emp_nochar(5)Not nullprimary key员工编号emp_namechar(10)Not null员工姓名sexchar(1)Not null性别deptchar(4)Not null所属部门titlechar(6)Not null职称date_hireddatetimeNot null到职日birthdaydatetimeNull生日salaryintNot null薪水 阅读全文
posted @ 2013-02-10 01:44 丿黑色丶幽默丨灬 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 给出一个数组,要求查找出这个数组中按顺序排第K大的数字。思路:利用快速排序的思想,把数组中的元素分治,并计算中间值的位置,如果是K,则这个数就是第K大的数字,如果比K小,那么再次利用快速排序分治中值以后的数据,如果比K大,则排序前面的数字,直到找到K的位置。下面给出C++实现的代码:#include <cstdlib> #include <iostream> using namespace std; int partition(int data[],int first,int last) //¿ìËÙÅÅ 阅读全文
posted @ 2013-01-30 19:18 丿黑色丶幽默丨灬 阅读(2950) 评论(0) 推荐(0) 编辑
摘要: 排序算法无疑是学习数据结构中的重点内容,本文将给出排序算法的汇总。下面是具体的实现:#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 1000000 int Array[N]; int Temp[N]; //1、冒泡排序 void BubbleSort(int a[],int n){ int i,j; int temp; int tag; for(i=n-1;i>0;i--){ tag = 0; for(j=0;j<i;j++) ... 阅读全文
posted @ 2013-01-28 00:47 丿黑色丶幽默丨灬 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 在排序算法中,冒泡排序是一个很经典的算法,最初的冒泡排序一直要运行n-1次,但是其中有些事不必要的操作,例 如,当没有两个数据发生交换时,就可以结束运行。 本文介绍的一种方法是对上述条件的改进,即不仅对尾数据进行条件判断,同时还对头数据进行条件判断,当头数据不发生交换时需要完成一些改进,下面给出实现的源代码:#include <cstdlib> #include <iostream> using namespace std; void exchange(int& a,int& b) { int temp; temp=a; a=b; b=temp; } v 阅读全文
posted @ 2013-01-28 00:43 丿黑色丶幽默丨灬 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 我们学数据结构的时候会学到多种排序算法,基本上都是基于比较的排序,下面的这个排序算法并不是基于比较,确切的说它是基于cpu调度算法实现的,这个算法的作者称之为--睡眠排序。 它的基本思想是,对一组数据进行排序,不能存在负数值,这个数是多大,那么就在线程里睡眠它的10倍再加10,不是睡眠和它的数值一样大的原因是,当数值太小时,误差太大,睡眠的时间不比输出的时间少,那么就会存在不正确的输出结果。 下面给出JAVA版本的代码,其中包含注释:public class SleepSort { public static void main(String[] args) { ... 阅读全文
posted @ 2013-01-27 11:11 丿黑色丶幽默丨灬 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果。这些要求包括:执行计算与数学运算、转换数据、解析数值、组合值和聚合一个范围内的值等。下表给出了T-SQL函数的类别和描述。函数类别作用聚合函数执行的操作是将多个值合并为一个值。例如 COUNT、SUM、MIN 和 MAX。配置函数是一种标量函数,可返回有关配置设置的信息。转换函数将值从一种数据类型转换为另一种。加密函数支持加密、解密、数字签名和数字签名验证。游标函数返回有关游标状态的信息。日期和时间函数可以更改日期和时间的值。数学函数执行三角、几何和其他数字运算。元数据函数返回数据库和数据库对象的属性信息。排名函数 阅读全文
posted @ 2013-01-21 18:10 丿黑色丶幽默丨灬 阅读(1919) 评论(0) 推荐(0) 编辑
摘要: 一、流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。 流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,而不能读它。 实际上,流的源端和目的端可简单地看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端,只是 阅读全文
posted @ 2013-01-20 19:07 丿黑色丶幽默丨灬 阅读(54578) 评论(4) 推荐(18) 编辑
摘要: Java中的参数传递机制一直以来大家都争论不休,究竟是“传值”还是“传址(传引用)”,争论的双方各执一词,互不相让。不但“菜鸟”们一头雾水,一些“老鸟”也只知道结果却说不出所以然来。我相信看过下面的内容后,你就会明白一些。先看基本类型作为参数传递的例子:public class Test1 { public static void main(String[] args) { int n = 3; System.out.println("Before change, n = " + n); changeData(n); Syst... 阅读全文
posted @ 2013-01-20 18:56 丿黑色丶幽默丨灬 阅读(1719) 评论(1) 推荐(2) 编辑
摘要: sql语句优化原则性能不理想的系统中除了一部分是因为应用程序的负载确实超过了服务器的实际处理能力外,更多的是因为系统存在大量的SQL语句需要优化。为了获得稳定的执行性能,SQL语句越简单越好。对复杂的SQL语句,要设法对之进行简化。常见的简化规则如下:1)不要有超过5个以上的表连接(JOIN)2)考虑使用临时表或表变量存放中间结果。3)少用子查询4)视图嵌套不要过深,一般视图嵌套不要超过2个为宜。连接的表越多,其编译的时间和连接的开销也越大,性能越不好控制。最好是把连接拆开成较小的几个部分逐个顺序执行。优先执行那些能够大量减少结果的连接。拆分的好处不仅仅是减少SQL Server优化的时间,更 阅读全文
posted @ 2013-01-01 19:53 丿黑色丶幽默丨灬 阅读(6432) 评论(2) 推荐(7) 编辑
摘要: 在平常的开发中我们常常遇到不仅仅只是导出excel报表的情况。有时候也需要导出pdf或者CSV报表。其实原理都差不多。刚开始本来不打算也这篇博客介绍这个的。感觉这篇博客和前面的博客有点雷同。原理基本都一样。但想了想。有时候可能有些童鞋遇到这样的需求会无从下手。所以还是记录下来。帮助一下那些需要这个需求的童鞋。如果你对前面几篇博客的原理都搞明白了。这篇博客你完全可以不看了。仅仅只是代码的实现不同而已。好了。下面我们来看一下需求吧。这个图就是我们的需求 就像你看到的一样。我们的需求就是列表内容是从数据库中读出来的。而我们想把从数据库得到的这个列表导出pdf、c... 阅读全文
posted @ 2012-11-21 13:21 丿黑色丶幽默丨灬 阅读(1471) 评论(0) 推荐(0) 编辑
摘要: 本文主要详解了Java语言的8大排序的基本思想以及实例解读,详细请看下文: 阅读全文
posted @ 2012-08-01 14:51 丿黑色丶幽默丨灬 阅读(4051) 评论(4) 推荐(3) 编辑
摘要: java汉诺塔测试 阅读全文
posted @ 2012-07-31 15:07 丿黑色丶幽默丨灬 阅读(1997) 评论(1) 推荐(1) 编辑
摘要: Java的日期格式化常用方法 阅读全文
posted @ 2012-07-31 11:22 丿黑色丶幽默丨灬 阅读(3616) 评论(0) 推荐(0) 编辑
摘要: 本文讨论的不是Java异常处理的一般性原则,因为这些原则已经被大多数人熟知。 我们要做的是分析各种可称为“反例”(anti-pattern)的违背优秀编码规范的常见坏习惯,帮助读者熟悉这些典型的反面例子。 阅读全文
posted @ 2012-07-23 11:41 丿黑色丶幽默丨灬 阅读(2178) 评论(0) 推荐(4) 编辑
摘要: 从追MM谈Java的23种设计模式 阅读全文
posted @ 2012-07-05 15:48 丿黑色丶幽默丨灬 阅读(1429) 评论(1) 推荐(4) 编辑
摘要: jquery 元素选择器集合 阅读全文
posted @ 2012-07-04 11:43 丿黑色丶幽默丨灬 阅读(14494) 评论(1) 推荐(5) 编辑
摘要: Jquery 操作 Select 选项集合! 阅读全文
posted @ 2012-07-03 10:22 丿黑色丶幽默丨灬 阅读(2217) 评论(0) 推荐(1) 编辑