2006年01月12日

  71
  后来我们在校园的主干道旁边摆了张桌子,用电视机盒子做了个募捐箱,用红纸裱上,后面的墙上贴了张海报“法学院XX级的XX同学不幸得了地中海贫血症……”洋洋洒洒数百字,其中有一半以上是解释此病是如何如何凶险,另一半在说明患者如何如何的品学兼优。这张告示显然很符合大众心理,也就是说你非他妈得个什么绝症,还要是个学习成绩好的书呆子,才有人同情,才有人鸟。这就是目前我们大学里认定什么才叫国家栋梁的标准。
  那天发生的事情真他妈的喜剧,我们在路的一边摆上桌子,大部分大学生朋友们远远的看到血红的募捐箱后,纷纷靠另一边走,胆大的边走边抬头看我们后面墙上写的是什么,胆小的干脆不敢抬头,装做什么都没看见,如避虫豸。个别的忘了戴眼镜的傻X因为看不清楚,跑到桌子跟前去看,看完后真是后悔万分,不过看都看了,没有办法,还是掏出钱包,摸索半天,然后很大方的抽出五块钱扔到箱子里面,之后还要问用不用签名,给不给加学分……
  那天,百分之九十的人都好象没有长眼睛,他们茫然的从我们面前走过去了,从那空洞的眼神中,我能感觉到传说中的“恐惧感”——害怕掏钱……还有一些求知欲很强的人,他们只对地中海贫血症感兴趣,但他们对是谁得的丝毫不感兴趣,这符合鲁迅笔下的中国人,我们拥有最好的看客,他们很喜欢看热闹,至于是什么热闹就无所谓了,只要和自己利益不相关就好。
  据我所知,我们学校款爷不少,据一次调查显示,我们校区学生一天的经济消费超过30万……,那天,我们募捐到的钱是一百八十五元整,其中有一百是蓝深的。
  
  72
  不知道这年头大学里的爱情值几个钱……一百算多的了吧?
  当时,蓝深她是低着头的,好象不认识我们一样,径直走到桌子前,匆匆的把手中的钱塞进了箱子。我一直死死的盯着她,也许她能感觉到我如火般的目光,她的脸是那样的红……之后,她转过身就走了……我很想大吼一声,很想把那张钱掏出来撕掉……
  阿尘在医院里躺了两天了,连三五都去看过了,难道阿尘期望的就是你那点钱吗?你是怎么想的啊……我爱的女人,你就是这样的吗?你长着一付美丽清纯的外表,却有一颗如此冷漠的心,你的身体是不是干净的我已经不想再去追究,可是你的心,竟让我如此的失望……
  烘烘烈烈的募捐活动终于在校管的干涉下草草结束了,带着红色袖标的他们强调,我们这种不经批准的行为如果再继续下去,将会受到惩罚……
  在此数年之前起,我们的师长就经常唠叨,“你们很幸福,生活在这样一个温暖的社会,生活中充满了关爱……”类似的话听的多了,我们也就当真了。那年,可能是因为还没有长大,所以还有勇气去怀疑,并喊出来。我想说的是,我在遭受磨难的人面前,看到更多的是冷漠的表情和虚伪的热情,大多数人都匆匆的在自己的路上走着,大多数人都是沉默的,在钢筋铁骨林立的大都市中,大家的心都变成石头了……
  或许我没有权力说这样的话,假如生病的人不是阿尘,假如陷入泥沼的不是我爱的人,我也许将成为那沉默的大多数中的一员,任何一个聪明的人都会这样做,如果你不顺从强大的主流力量,等待你的只有灭亡……毕竟少数人的力量,是有限的……我想不通那些喜欢向上帝祈祷的人,我们为什么要信仰上帝,它带给我们的只有残酷的自然选择定律和虚幻的幸福,我们为什么不能紧紧抱在一起,让上帝滚到他妈的一边去……
  
  73
  除了失望,那天还算有令人高兴的消息,我傍晚抽空去看紫衣的时候,告诉了他阿尘生病的事,她特地去炖了鸡汤让我捎给阿尘,并且告诉我等阿尘出院了每天就让我带着他一起去她那吃饭。我听了以后心理稍微有点塌实,这么说阿尘出院后可能就不会挨饿了,只要不总象以前那样饿着,估计还有治愈的希望。同时,让我高兴的另一个点是紫衣居然对阿尘——我的朋友这么热心,是不是她对我有什么额外的意思呢?
  正在我们兄弟几个开会,绞尽脑汁为给阿尘筹钱想办法的时候,楼下传来了叮光叮光的响声,很象谁家死了人后请的仪仗队,其实只是我们学校里的一个摇滚乐队而已,他们隔一段日子就要去排练一次,主要目的是为了不让乐器生锈,因此我们每隔一段时间也要遭受一次痛苦。阿飞看似突然有了灵感,他一拍脑壳,道“有了,我有个绝对好的主意,……”阿飞一口气说了一大堆,把我们都搞的很是糊涂,在我们还对他的计划将信将疑的时候,他就开始行动了,他就是这样一个急性子。
  阿飞的意思是要在学校里搞一个校园摇滚演唱会,将全部的票房收入用来捐助阿尘,又风光又体面。我简直无从想象应该怎么实施这个计划,有很多问题似乎难以解决,比如谁会来唱?谁又会来听?而且,先别说收入,能不赔就已经是成功的了。我以前在文艺部做干事的时候曾参加过一场校园演唱会的组织活动,当时最大的一个难题就是没有听众,后来多亏了团委老师,她下令,每班必须解决十个名额的观众,党员和班级干部要以身作则,必须到场,凡参加演唱会者都有学分可加,这样后会场才勉强坐满,而且在演出的时候骂声不断,你说这样的活动可能会赚钱吗?不过也不能太绝对,还是有可能赚到一点钱的,就拿那次我组织过的演唱会来说,等散会后我们把观众扔上台的矿泉水瓶子收集一下居然够兄弟几个出去撮一顿的。真不知道阿飞是怎么想的……
  
  74
  如果从某个角度来分类,那么世界上大体只有两种人,一种是信仰上帝的人,他们的特点是服从命运的安排;另一种是信仰自己的人,他们宁愿相信自己是上帝,他们安排自己和别人的命运。前者的人生多安稳,但在人海中容易被淹没;后者人生多坎坷,但容易鹤立人群,也容易成为被众人打击的对象,阿飞完全属于后者。
  阿飞是一个值得我敬佩的人,在生活中他是这样一个男人,假如他不是在哭,就会在笑,他把所有的感觉都可以划归为两类——快乐和悲伤,在此两种感觉的指导下,他也把所有的事也归结到两类——可以和不行。这样的人似乎极端,但,很聪明!
  不知通过什么途径,阿飞联系到重庆电视台进行了专题报道,因此吸引了各大高校的主要乐队来到演唱会义演,这对于他们来说是一次免费的自我展示机会,所以报名者是争先恐后,惟恐错过卖命的机会。观众的数量也远远超出了我们的预想,不仅坐着的位置被占光,连过道都挤满了人,而且直到结束没有一个人提前退场。这是因为主持人最后将从所有参加本场演唱会的人中抽出三对男女提供全程免费的两日短途旅游。无疑这对于严重饥渴的蛙哥和龙妹是一次绝好的配对机遇,才五块钱的门票,值了!当然也有些人仅仅是抱着上一次电视的目的,以后好有机会对自己的儿子说“你老爹当年可是上过电视的人!”我上铺的君子是此类人的代表,那天大家围着电视看演唱会的转播时,他几次惊呼“你们看,快看,那个,第二排那个是我!!”定睛细看,你会发现屏幕里有个后脑勺长的象冬瓜的人,确实好象是该君子……
  最大的受益人莫过于阿尘,他也是有生以来第一次在电视上出头露面,而且成为全场的焦点,最绝的是最后当主持人宣布将征得的捐款全部赠给阿尘治病的时候,我和阿飞陪同阿尘高歌了一曲爱的奉献,为了这一曲我们私下里在学校附近的练歌房唱了无数遍,导致此练歌房附近百米没活人敢接近,用阿飞的话就是“杀人不用刀,只听歌声飘”。而当时的情况是台下所有人都在伴唱,阿尘感动的热泪盈眶,此氛围波及到台下,散场后地面是一片潮湿。
  第二天重庆青年报做了专题报道,名为《世间最动人的歌》,随后,慰问信象雪花般的向阿尘飞来,卖废纸的钱都到了两位数……
  阿尘至少已经是万元户了……,但,也许这离生命还很遥远……
  
  75
  幸运之星再次砸在阿尘的头上,在《重庆青年报》报道此事后的第二天,重庆市第一人民医院决定免费给阿尘做亲属骨髓移植手术。
  知道这个消息的那天晚上,阿尘笑的好开心啊,他做东在学校附近最大的一家饭店请所有愿意去的人吃饭,当然出于很多原因,到场的只有几个人。君子不去因为他们不屑于和这个假装病入膏肓的人有过多的来往,有一些善良的混混不去是因为他们不好意思花阿尘的钱,总之,到场的没有几个人。
  阿尘不听我们的劝阻,执意要敬我们每个人一杯,本来就不会喝酒的他一圈下来就满脸通红了,他用颤抖的声音说“老子从生下来起就没敢想过有一天我能来到这样一个大城市,没有想到还他妈的能考上大学,没想到能认识你们这么的哥们们,知道吗,我农村在老家从小和我一起玩到大的哥们都在干什么吗?他们的孩子都和狗一边高了,他们和他们爹娘一样开始在地里刨食了,只有我一个人,离开了,就我一个……我他妈的真高兴啊!能活到这份上,我他娘的知足了!”
  每一个都被阿尘有点含糊的话语逗得直笑,我也在符合大家笑,但那只是皮在笑。
  其实我在想什么叫幸福,也许每个人的幸福的概念都不一样,来自农村的阿尘,他认为能活着,能离开那种满手沾满红土的生活就是幸福。也许他的幸福在别人眼里看着很卑微,但我却好羡慕他,因为我甚至都不知道什么叫幸福,从小,我就很难快乐起来,我从来没有为衣食有过担忧,从来没有遇到什么不能解决的困难,我的父母已经为我打点好了一切。我很少哭,却也很难笑,因为我找不到自己的幸福,我不知道自己所做的每一件事是为了什么,不知道自己究竟为了什么而活着。我曾以为得到理想的爱情就是幸福,满足自己身体的需要就是幸福,可是事实似乎好象不是那样的,因此我很难受,每一天,每一小分,每一秒,我不知道自己应该做什么,或者不知道自己正在做的有什么意义,这种痛苦,你们能懂么?

  76
  过了几天,我们的校园里出现了两个老人,他们的装束看起来很滑稽。那个老头的上身穿着很土休闲西服,而下面却穿着那种用灰布缝制的裤子,脚上穿的是一双很土的皮鞋,老太太头上扎着一个花头巾——可以看出来是她身上唯一一件崭新的物品。一看就知这些是从地摊上买来的廉价商品。
  有一个年轻人搀扶着他们,他不断的用手比比划划,可以看出来是在给两位老人解说什么,老人的脸上不时露出菊花般的笑容,我是说他们满脸的皱纹和褶子象花瓣一样舒展开来……
  那是阿尘和他的父母,阿尘和我叨咕好几天了,他说要借着手术的机会顺便让他的老父老母到重庆来转转,这是一次难得的机会。这让我想起了我的父母,他们经常说等老了要去乡下过安静的田园生活。
  晚上吃饭的时候,阿尘执意要我和阿飞一起去吃,毕竟只要是陪哥们的父母,我们都答应了。阿尘嘱咐我们说暂时不要提他的病的事情,想必他怕他的父母担心所以没有告诉他们详情。
  我们在一家勉强可以称做饭店的餐馆坐了下来,阿尘把菜单递给我们,让我们先点,我和阿飞不好意思拒绝,就点了两个最便宜的青菜,随后阿尘很熟练地点了几个菜,有水煮肉片,红烧肉,酸菜鱼……我能理解,他的父母和他是一样地搀肉呵……
  如果不知道是阿尘的父母,我想我一定会叫他们爷爷奶奶的,和我的父母比,同样是四五十岁的人,可看着居然有那么大的差距……他们是腼腆的,很少说话,只会不时的往我们碗里夹肉,看起来他们很高兴,毕竟自己的儿子长大了,知道孝顺他们了……
  吃过饭,阿尘打算陪父母去看重庆的夜景,他拿出五十块托我和阿飞去学校的招待所帮他定了一间普通的标间,他说一定要定有洗澡间和电视的,他说他想让他的爹娘也享受一下城里人的生活……我听了,心里很酸……
  
  77
  阿尘才走不一会,阿飞的传呼响了起来。不用问,就知道是他的女人找他了,阿飞说“扬扬,不好意思,你自己去帮阿尘订房间吧,我家里的葡萄架子又倒了。”说完他吐了吐舌头,跨上他的破摩托一拧油门走了……
  又是在这样一个深沉的夜,又是我一个人走在路上。我想起了这样一个问题,在阿尘的心里,爹娘是最重要的;在阿飞的心里,他的女人是最重要的;那在我的心里是什么最重要呢?就象以前我所说的一样,任何一件小事都能引起我深沉的思考,只要我有足够的空闲。由此可推知,大学生之所以喜欢思考问题,有很多是因为太无聊。
  我在想着什么在我心中最重要的问题时,一股香风扑面而来,除了嗅觉,还有第六感告诉我,附近有美女,这显然打断了我的思考,我顺着香味扭过头去寻找。
  原来是一个婀娜多姿的女人,她穿着超短裙和露出后背的体恤,她的翘翘的屁股随着叮叮的脚步声一舞一舞,她的皮肤在路灯下反射着白皙的光芒。虽然只能看到背影,但这足已能让一个热血青年的血液沸腾。我突然想起一个人,那身段太象她了,如果她也是那样的打扮,一定不会逊色……随后,我满脑子都飘舞着翘翘的屁股,这让我无暇继续沉重的思考,我脑海里突然出现了触目惊心的两个字“强奸”,我全身的肌肉都开始紧绷,我的身体好象被一个魔鬼占据了,他不断的对我说“去,强奸她,去,强奸她……”我没有停下我的脚步,我的腿带着我继续向前走去,那女孩离我越来越远了……随后我开始痛恨自己为什么出现这样可耻的想法,我充满了自责,或许压抑太久了吧,我好象好久没有手淫了,他妈的……
  我到了学校招待所后所做的第一件事不是去给阿尘订房间,而是跑到厕所了趁着关于性感女郎的记忆没有消失前把我所有的躁动排出了体外……在射出的一刹那,我忽然又想起那个问题——什么在我心中是最重要的呢……
  
  78
  阿尘的爹娘来到重庆的第三天,他们才去了医院。阿尘为了不让他的父母担心,对他的父母扯了慌,说只是要抽血,所以我们也不敢陪他去医院做手术,尽量把他的病轻描淡写。
  第二天,阿尘回来了,他已经送走了他的爹和娘,可以看出他们在分别的时候阿尘有多么悲伤。我很急于知道情况怎么样了,我问阿尘,“你怎么这么快就回来啊?手术做了吗?是不是狗日的医院又反悔了?不给你做了?”阿尘的鼻子抽动了两下,眼泪一下就涌了出来,他一边哭一边重复着说“我不是俺爹娘亲生的,我不是俺爹娘亲生的……”
  事情是这样的,在手术前的血液化验中,医生发现阿尘父母的血型和他的不符,从血液分析,他们与他之间没有直接的亲属关系,无法进行骨髓移植……后来不得不向阿尘的父母追问他的身世,结果掩埋了二十多年的秘密直到那一刻才知晓,阿尘是个拣来的弃婴……
  后来我听别人说当时医院里的场面很感人,在化验结果出来后,阿尘流着泪求主治医生帮他对他的父母隐瞒病情;当阿尘的父母号啕大哭时,阿尘跪在他们面前抱着他们的腿说“爹,娘,我永远都只是你们的儿子;爹,娘,我不会离开你们……”
  直到最后离开,阿尘的爹娘都不知道他们儿子的生命已经掐指可数了。老实本分的他们更多的可能只是害怕捡来的儿子知道事情真相后会离弃他们,毕竟这么多年,他们把所有的心血都倾注在阿尘身上了啊,就算是亲儿,父母给的爱也超不过如此了。
  我想说的是,那次虽然阿尘哭了很久,可在我眼里,他永远是最坚强的男人!
  
  79
  阿尘哭了很久后,劳累的他睡着了。我坐在他旁边,可眼前一片茫然。
  阿尘的血型叫什么RH血型,是一种稀有的血型,所以给他输一次血十分地不容易,血是本市的医院是从上海的血液库里现调过来的,自然价格也不是一般的贵。
  可怜的阿尘每个月都至少要去医院一次,用很多钱来维持他贫贱的生命。医生说还有唯一的一个治疗方案,就是找到RH血型的初生婴儿,用脐带血干细胞进行移植手术。这种血型的人本来就少之又少,何况找到一个初生的婴儿又是有多难!就算能找到,也不知道阿尘能不能坚持到那一天,每个月两千多的药费,他又能坚持多久呢?
  我生于一个富裕的家庭,阿尘是我的最好朋友,如今他正在遭受着地狱般的痛苦,可是我只能看着他……我想我会拿出我的全部来换取一个生命的存在的,我无法忍受某一天,一个朝夕相处的知心朋友去了另一个世界,而我似乎还很幸福的苟活着。可是,我的父母他们不会答应的,他们无法容忍我拿他们的钱去做这样一件对他们毫无意义的事,他们都是商人,精明的商人,没有回报的事情他们是不会做的。
  阿尘哭了很久后,劳累的他睡着了。我做在他旁边,眼前一片茫然。
  我看着他受苦,却无法给他更多。我有点害怕看到他了,我怕看到他那憨厚的有可能消失笑容,怕看到他瘦瘦的有可能消失的身影,怕知道他的一切消息,我心里充满了自责,我不知道该怎么做。我真想是我得了他妈的这病,而不是阿尘……生活对于穷人来说总是残酷的,这就是为什么穷人总是力图改变它,而只有富人才能享受它的缘故吧……
  我最后看了他一眼,轻轻的关上门,走了出去……我真希望这一切没有发生,只是一个玩笑。重庆的天,还是阴的……
  
  80
  此时此刻,我好希望有个女人陪着我,或许,我需要只是一个温暖的拥抱吧……
  我想起了蓝深,但我马上又强迫自己把她给忘掉了。我不得不想起紫衣,也许她可以成为我的替补吧,我总觉的自己的心里有一个位置,是空缺的,留给别人的。
  好久没有去紫衣那里了……
  如果冲动不会受到惩罚,我的紫衣姐姐将会永远喜欢坐在那小阁楼的窗口边,她喜欢眺望那窗子外的世界,她总是凝神锁眉,象一个涅磐的高僧……
  我推门进去后,看到紫衣姐姐像平时一样静静地坐在那,一个玉石雕琢的美人。她抬头看到我后慌张地把桌子上的一个日记本塞到抽屉里。
  姐姐,你也写日记呀
  她笑了笑,晶莹的脸蛋泛起红霞
  你的同学阿尘怎么样了?
  ……
  我大概把阿尘的情况给她讲完后,她的眼睛又流出那份疼痛的光……
  姐姐,我好难过啊,我帮不了阿尘,我不知道自己该做什么,我很怕呀……说着说着我的眼泪就流了出来……本来,我是没有流泪的冲动的,好比一个摔倒的孩子,只有身边有大人的时候他才会哭泣……姐姐,姐姐,我唤着她的名字,趴在了她的怀里,她没有拒绝,把手放到我的脑袋上,轻轻地抚摩着……
  扬扬,你已经尽力了,阿尘不会怪你的,能有你这个朋友,他就已经很高兴了,不要难过了,事情会好起来的,现在,最关键的要他不要放弃自己,我们都会帮助他,能帮多少就会帮多少,他会好起来的,不要难过……
  晚上,和叫阿尘过来一起吃饭,我给你们做好吃的!
  我抬起头,感觉她不是一般的美,在那段阴沉沉的日子里,她,成了我的太阳……

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)

  61
  蒹葭苍苍,白露为霜。所谓伊人,在水一方。
  我永远都记得第一次看到的紫衣姐姐,她的云鬓飘逸,她的柳眉飞扬,她的朱唇如樱,她的皎面如霜……她身着紫色旗袍,雍雅从容,娇而不俗,华而不浮,她只需淡淡的一笑,露出那一点点皓玉般的牙齿 ,便令人久久心醉……
  她给我端了杯茶,接茶杯的时候,我的手能感觉到她指稍的冰凉,那哪里是茶啊,我还没等喝完就醉了,手一抖给洒到了腿上……紫衣姐姐赶紧递给我毛巾,她的毛巾都飘着一股香味。我的脸早已经羞的通红,低头又发现自己的穿着实在太猥亵,我真后悔没有穿一身体面的衣服,为了不给她造成不好的印象,我早早就告退了……
  后来,雪儿在紫衣的帮助下不久就找到了工作,我以后就很少见到她了,不过也就是因为雪儿,我认识了紫衣姐姐。后来慢慢的了解我才知道她是个二十八岁的女人,有过一次婚姻,有一个孩子,交给别人寄养了,离婚五年了,至今都是独身一个人生活。
  她和我说,她也是给别人打工的,她所在的这家游戏室是一个后台很硬的人开的,里面全都是老虎机,每天有很多学生到这赌博,有的一天就输进去几千块,她跟我说,后来她不忍心看到这些孩子输的这么惨,就开始限制他们购分的数量,有些人居然还骂她……“哎,这些孩子……”她叹了口气……
  我是说,送雪儿去上班后,我回到了紫衣姐姐的屋子,借向她报告情况的机会多看几眼,然而我得到的却是更多。她说我是个善良的小弟弟,临走时告诉我,以后有空来做客,但不准做她的顾客。我听了后心里好高兴。
  现在回想起来,已记不清后来的一年中,有多少个日子是在那间小阁楼中度过的,男人这一生中,有红尘相伴的日子又能有几回呢?
  
  62
  那次因为我的撮合,狗日的和三五谈起了恋爱,发展到后来他们居然过起了同居生活。最初,狗日的经常一脸春风的来找我摆他昨晚上又干了几次几次的,我听了后不仅没有任何热情的反应,还有一点恶心。阿飞经常晚上不回来,据说他和她的女友开了一个广告工作室,白天那是工作的地点,晚上就成了情人幽会的小屋了。阿尘的心理压力很大,他一个星期要去医院去复诊一次,每次都要花很多钱,他也一直不再和我说他的病的事情,他已经花了两千多了,其中有一大部分是借我们的,这样的情况下他还坚持每天坚持做兼职,早上早早起来送报纸,晚上挨个寝室送牛奶,一直送到半夜……一个月赚那点钱还不够去医院的。
  不知道是什么的原因,那段日子我经常会遇到蓝深,蓝深已经不是以前那个爱笑的蓝深,她每次都低着头走路,她的一头黑发撒到脸上,遮住了悲伤,微笑,和所有的秘密。如今她和阿尘已经成了陌路人了,我为了阿尘,开始痛恨她,鄙视她,但,说句实话,她在我的心里还是那么美,可是,每一次,每一次,我只能默默的看着她,那忧伤的影子……
  高中的时候,我有个理想,就是考上一所知名的大学,且先不说这个理想是谁强加给我的,总之,那时,因为我拼命的努力,没有时间去思考这些,最后,我成功的实现了自己的“理想”,我来到了这,所谓的乐园,然后发现,自己其实不知道什么是理想……但我知道,理想不是他妈的考大学,考上大学再他妈的考研,考上研再他妈的找一个好工作,找到一个好工作后再他妈的找个好女人,结婚,生孩子……这些不是他妈的理想,这只是我妈的理想……可是理想是什么?可是我的理想又是什么呢,我不知道,我不知道……说实在的,我宁可把找到一份真正的爱情做为自己的理想,哪怕,只找到一个喜欢我的我亦喜欢的女人,能和我上床的女人……
  
  63
  紫衣姐姐坐在靠窗子那边,我坐在她的对面,我们中间隔着一张不大的茶几。有几株爬山虎沿着墙爬到了窗沿,它们绿油油的爪子调皮的从窗口伸了进来,风一吹,还会招手。坐在那,我和她说起阿尘,她的眼神充满同情,和她说起阿飞和他的女人,她的眸子也流露出感伤,和她说起理想的时候,她就用手捂着嘴笑了,她笑的时候总是用手捂着,可能是怕被别人看到她那对可爱的小虎牙。
  我说,姐姐,我的理想很可笑吧?她又什么没有说,只是在掩着嘴笑,我心里想,你就不能帮我实现我的理想吗?我想要你啊,我想探求你的身体,探求你的每一个不为人知的秘密啊!
  起初,每天无聊的时候,我总会找些借口去姐姐那里去玩,为了避免没有话说的尴尬,每次去之前我都要精心准备好当天要说的话题,并用笔写在纸片上。为了看到她的笑颜,我也要准备一些笑话,我曾想过要准备几个荤缎子来试探一下她,或者也叫勾引,这是男人一贯的伎俩,可是我一看到她那笑颜,心就畏缩了,我才知道,一颗纯洁的心,它的力量是那么的大,大的让男人所有的邪念无法升起。她是一个表里不一的女人,她有着无比华艳的外表,却有一颗纯净无比的心!据我所知,更多的女人,则是相反的……
  
  64
  到了大学后,我们终于正大光明的摆脱长达十几年的管制,象一个小孩子一样整天蹦呀跳呀的去追求阳光,追求自由。依旧做着小孩子事情的我们最难以容忍别人说类似这样的话“你怎么这么不成熟啊……”当时我们在想,靠,我都会抽烟会喝酒会想女人了,别老一天他妈的把成熟不成熟挂在嘴边;当时,我们最喜欢的话就是“你好成熟啊……”通常我们一群哥们都是这样彼此夸奖对方。
  两年后,我开始思考成熟这个名词,得出的结论让我大吃一惊,原来这两年我这个成熟的男人连什么是他妈的成熟都不知道!当我开始思索成熟的标准这个问题时,我也开始终夜失眠了。
  那段日子,我喜欢在夜快深的时候到外边散步,我喜欢漫无目的的走,这习惯似乎注定了我以后的人生。起初我选择这样一个时间的原因是我以为这个时候是周边里最宁静的时候,适合思考关于类似成熟标准的问题,到了外面才发现原来也很多人和我有一样的想法,因此校园里竟是人来熙往,我出来散步的目的也就随之发生改变,我开始去观望那些象行星一样围绕着大树或草丛转圈的情侣,开始去观察他们手上偷偷摸摸的小动作,并且,做这些事的时候,乐此不疲……
  如果有一天我发现我观察的行星发生了过分亲密的碰撞,我便无法控制自己身体的某一部分,此时此刻我唯一能做的就是,回到寝室,用手来安慰自己,幻想自己有一天也成为那行星中的一颗,就这样,日子竟也一天一天的过去了……
  我本来想告诉大家,快乐原来可以来得如此简单,但现在我又在想,这样的快乐算快乐吗?
  
  65
  有一天,快午夜十一点的时候,我依旧在散步。我下意识地往紫衣姐姐的店子走去,我很想知道这么晚了她在做些什么。走到了她的屋子附近,发现已经关门了,但屋里面的灯还是亮着的,里面还不断传出哗啦啦的水声……
  我发现门边上有一道小小的缝隙,一些光就是从这里透出来的,这无疑是个惊喜的发现,这个发现让我的内心世界开始了长达一刻钟的挣扎,看吧,对不起紫衣,不看吧,对不起自己,我又在想,就算我看了,紫衣也不少块肉啊,何况我一直是多么渴望能看到一个真实女人的胴体啊!可是我不能这样做啊,我一直很鄙视这样的人的,我希望看到的是自愿展示给我的美丽的身体,而不是象这样一相情愿地偷偷摸摸地去偷窥。我建立了一个又一个去偷窥的理由,然后又一个一个的把它们推翻,我感觉自己陷在泥沼中,每挣扎一次就往下沉一点……
  就在我的上下半身激烈地斗争的时候,屋里的水声停止了,紫衣姐姐大概已经洗完了,这个时候,尽管我有些失望,但内心却平静了许多,回去吧……
  在卫生间里洗澡的我,把水开的很大,想用那冰冷的水浇熄身体中熊熊燃烧的火焰,可那种火焰用水能浇灭吗?我只能再一次的用手去平熄它,哗哗的水声反倒成了我的掩护了……

  66
  第二天,由于觉得自己做了愧心事,不敢再去紫衣姐姐那里玩。入夜十分,我的心象长了草一样,什么也做不进去,心里老想着紫衣屋子里哗哗的水声,我终于忍不住了,决定过去看看,哪怕只听听声音也好。
  都十一点多了,怎么人还那么多呢,有点不对劲啊……啊!是紫衣姐姐的屋子门口围了很多人。我用最快的速度跑过去。
  只见人群中间,两个保安揪着一个人,那个人戴着一付厚厚的眼镜,把头埋的很低,一看就知道是我们学校的学生。紫衣姐姐披着外衣,在旁边抽涕,我分开人群,走到她旁边,“姐姐,怎么了?你怎么了?”旁边围观的一个人说那个小子偷看别人洗澡,被抓住了!我心脏一紧,无语了……沉默了两秒中后,一股怒火突然从我心底升了起来,我飞起一脚朝那小子的肚子踹过去,他一下就被我踢趴下了!我心里骂着“操,这是你他妈的能看的吗,我他妈的都没舍得看,你他妈的胆子还肥啊!操!”旁边的保安把我给拦住了,说“我们回到保安处会处理的,轻点,别给踢死了!”说罢往那小子身上吐了口痰……
  我把惊魂未定的紫衣姐姐扶到屋里,把围观的人群驱散,把门关上,坐到她旁边,那是我第一次离她这么近,况且她只穿着睡衣。我很想把她揽入怀中,于是我抬起手来,在空中划了几个圈,最后还是没敢向她的腰伸过去,只轻轻的拍了拍她的肩膀……她突然转过身趴到我怀里,大哭,所有的鼻涕和眼泪淌到了我的衣襟上,这突如其来的好运让我不知所措……
  她断断续续地,一边抽涕一边说话,但具体说了些什么我没怎么听清,一方面是因为处在极度悲伤中的女人会丧失部分语言能力,另一方面是因为处在充血状态下的男人,很难静下心来分析女人在说什么,总之,那时我在努力做一件事,就是努力用手抱起她的身体,因为不想让她碰到,碰到我身体上一个硬硬的部位……
  我得感谢那个偷窥的色狼,假如那天不是他,很可能挨踹的就是我;假如那天不是他,我也没有机会抱着这样一个美人;假如那天不是他,我以后每天夜半的时候也不能正大光明的来到紫衣住处陪她……
  那天晚上十二点多的时候,我还是离开了紫衣姐姐的房间,临走的时候我告诉她,以后如果她愿意,我每天晚上都来陪她到这个时候,保护她不再遭受任何人的侵犯!我说这话的时候脑海中出现了一个词——引狼入室……
  我想,那天晚上我是有机会暂停我的手爱生涯的,可是,做为一个尚且还不是禽兽的人,我不想占有一个还流着泪的女人……
  
  67
  上帝好象是这么造物的,他让已经拥有的人拥有的更多,让没有的人一直失去。
  阿尘在送奶的时候突然昏倒,我让我想起了关于上帝的那条理论。他倒在楼梯的拐角处,他倒在地上,身上穿的衣服和裂了很多缝的水泥地面一样破,他嘴角渗出血丝,但为了不让装奶瓶的箱子滚下楼去,一只手还死死的抠着箱子沿……
  我们一群人七手八脚把他抬到校医院,结果简陋且弱智的校医院根本没有办法解决问题,医生说他必须马上转到了市人民医院……本来我答应去陪紫衣到她的店子关门的,但阿尘出了这么大的事情,我不能不管啊,于是我校医院的医生一起随车去了医院,当时脚上还穿着拖鞋……
  那天之前,我他妈的从来都没有听说过还有种病叫地中海贫血症,根据名字判断应该是来自地中海一带的洋病,连做梦都没有出过国的阿尘居然得了洋病……我不知道这种病是属于什么性质的病,但根据他用药的价格就知道不是什么好病,他一边输血一边还要注射什么去铁胺,注射一次就花了七百多……后来,从医生和学校老师的对话中又了解到一些,医生说这种病源于遗传,因过度疲劳和营养不良诱发,目前根治的办法只有一个就是通过亲属的骨髓移植来根治……平时靠定期输血和注射去铁胺来维持……
  当我听到这些后,我的心在抽搐呵,这不是和白血病有的一拼吗?这对于一贫如洗的阿尘来说意味着什么?青春,我脑海中突然出现青春这个词,原来它是那么的宝贵,只有将要消逝的时候我们才会注意,我无法想象一直拥有青春的阿尘将有可能离开这个世界,离开我;我无法想象一直喜欢冲我傻笑的阿尘,将把他的笑容凝固在那张还透着孩子气的脸上……
  阿尘快要死了,他快要死了,我脑海里无法控制不去想死亡这个敏感的关键词,一幕幕往事象放电影一样出现在我脑海里,那年,他还不是手里拿着一盒其实是拣来的避孕套冲我傻笑么?那年,他还不是和我们一起象蟑螂一样在操场上飞快的爬么?那年,我们还不是一起排着队往广告牌上撒尿么?可他现在躺在白色的床单上,可是他现在一动也不动,象个死人一样……我操你妈,我操你妈上帝,我操,我操……
  
  68
  凌晨的时候,医生让我们不用担心了,阿尘的脉搏已恢复正常,同行的人散去后,我坐在床边照看着他,我是第一次这么仔细的观察和我一起生活了两年多的他,阿尘的眼角居然出现了一丝皱纹了,阿尘的颧骨看着那么高,原来是因为没有肉的缘故啊,阿尘手上有那么厚的老茧,想必他除了手淫,还经常握锄头……我突然有种冲动,想告诉他,阿尘,我爱你,胜过爱美女啊,我宁可一辈子和你一起过单身汉的日子,一起用手去爱,只要不失去你这个哥们……
  我不知道是什么时候睡着的,醒来的时候日已将午。我是躺在床上的,身上还盖着衣服,我一抬头,又看到了阿尘那付憨厚的笑脸。
  “你没死啊!”我习惯性的吼到。
  “其实我这是老毛病了,高中的时候犯过一次,没花多少钱,过几天就好了,我早知道知道自己得的是什么地中海贫血了,你们不要那么担心!我现在最担心的就是又花了多少钱,重庆好是好,可看个病真他妈的贵!”
  阿尘那不以为然的表情让我心里放松了很多,我开始后悔自己昨晚白白为他流了那么多眼泪了,辅导员老师来了,带了几斤时下的最便宜的水果,还有一份看不出真假的关心,她让阿尘不要担心,说学校会帮助他的,让他先在医院里修养一个星期,医疗费学校会帮助解决一部分……
  老师临走时把我叫到门口,问我有没有阿尘父母的联系方式,我摇摇头,说“费用不是学校给解决吗?”她说“学校根本没有能力管这些,我才和系里协商,学校最多只能给报一千,一方面回去后再让班委组织一下给他捐款,医生说半年内最好能做骨髓移植手术,要不有生命危险,况且手术还需要他亲属的骨髓……”我说好,我一会儿找机会问问他,知道后给您打电话!
  听完老师的话后,我心里又开始沉重起来,我应该怎么和阿尘说呢……
  
  69
  从小就在城市里长大的我,一直以为自己已经是个坚强的男子汉了,很小起,我自己就会洗衣服,会煮饭,会照顾自己,过独立的生活,我向来以这些为荣。现在想起来,感觉有点可悲,其实这些生活常识都是做为一个人必须学会的东西,可现在的孩子,活的都倒退了……
  某一年,我的一个好朋友,一个叫阿尘的从农村里走出来的朋友,用他的生活告诉我了什么叫真正的男人。
  那天,在老师走了之后,我想了许久,决定把真实的情况告诉阿尘,我认为一个男人,应该勇敢的去接受这些现实,无论它有多么残酷。
  躺在床上的阿尘静静地听完了我所有的话,他沉默了很久很久,之后,他抬起头,眼睛瞪的大大,看着窗外……窗外只有一棵半枯的梧桐,还有不知名的鸟儿欢快的蹦来蹦去。
  他的语速很缓慢,很从容,他说:
  “我的老家,看着一点都不美,那里只有一片红褐色的土地。很小的时候起,俺爹和俺娘就告诉我一定要好好读书,要不我就将永远爬不出那块红色的土地。我是在县城读的高中,当时,我考上高中,全家人都很高兴,爹说要送我去学校,我没让,我当时是不懂事,怕被别人笑话啊。也许你没有见过我的父母,如果哪一天你看到了,你一定会管他们叫爷爷奶奶的……我高一的时候,也曾象现在这样晕过去一次,就那一次,让他们一下老了十几岁……他们的背是驼着的,他们的头发是白花花的,他们的皮肤是象老树皮一样的,他们是我的父母,是我的父母啊,我还想着等我毕业了让他们平平静静的度过后半生呢,你说我能告诉他们吗?告诉他们有用吗?……其实,我早就知道我的病了,但我一直相信自己能挺过去,挺到我有足够的钱,到时我会做手术的,我还没有活够,我还没有自己的女人呢……,哈哈哈……”
  阿尘说完后笑了,可我没有办法笑,这就是男人和男孩的区别吧……
  
  70
  我回学校和辅导老师说明了阿尘的意思,老师听了后摇摇头,说“现在的孩子真不懂事,自己在外边出什么事都不和家里人说……”“操”,我在心里暗骂,究竟是谁不懂事啊!
  阿尘他们班上已经发动大家给他捐款,共计八百一十二块整,其中大额钞票主要是平时和我们玩的很好的流氓们,流氓们和阿尘有个共同的特点,就是都穷的叮光响……也许只有穷人才能体谅穷人吧,不过我理解那些生活条件好的君子们,本来我也应该是君子中的一员的,我的家庭从小就想把我教育成君子,很小的时候父母就不让我和穷人家的孩子玩,按他们的话说就是“农村人,素质低,不要被带坏了……”;遇到要饭乞讨的,他们又会说,“不要理他们,他们都是骗子,吃的比我们都好,你爸妈赚钱可不容易啊……”;看电视时播有关见义勇为的事迹的片子时,他们又郑重的警告我“平时你可别关闲事!爸妈把你养这么大不容易!”我就是在这样一个传统的中国家庭长大的,身边的每个人都希望把我培养成君子,可惜目前的情况是我不仅没有成为君子,还与小人为伍,不知道我老妈知道后会怎么想,毕竟我让他们失望了。
  我们正商量着在全校搞个募捐活动的有关事宜时,狗日的来了,啪!他很大方的把一打崭新的钱甩到桌子上,共有六张,都是一百的!这小子平时经常在走廊里吼“谁他妈的给我看看一百块是什么样的啊!”偶尔也喊“我好想吃肉啊!”你看,穷疯了的人就是这个样子,廉耻和自尊对于穷人都是奢侈的。所以我们都劝他把钱收起来,留一张就够了,他想了想拿起一张揣自己兜里了,然后趴到我耳朵边上说“我他妈的还没有吃饭呢,那五百里有四百是三五的意思……”我拍了拍他的肩膀,心里一热,这他妈的才叫男人呵~。

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)

  51
  我从来都没有想清楚这个问题,手淫到底是不是一件耻辱的事情。我看过的很多书上说这是人在青春期的正常现象,对身体并没有危害,最大的危害乃是来源于心理的自责。我不懂什么叫自责!我用的是自己的手,为什么还要自责呢?当然,这也不是一件光彩的事,即使有一部分人可以勇敢的说出来,但所有人都会在背着别人的地方去干这件事。
  如果能够抗拒那种力量,有谁愿意选择手呢?那种爱是原始的,痛苦的,是孤独的,无助的……那些白花花的生命流入下水道的意义呢?是为了不让这些罪恶的种子在不该发芽的时候发芽吗?,是为了救赎自己不断被欲望淹没的灵魂吗?到底是为了什么呢?
  
  52
  大三开学后,似乎一切很正常,似乎一切又都不正常。大一开学的时候,我们喜欢展示自己从家乡带回来的土特产,大二的时候,我们喜欢到处分发自己家乡的名烟,大三的时候,很多人来了,把包裹一扔就不见了人影,他们把所有的热情都放在自己心仪的女人身上了……君子和我们的区别也越来越不明显,君子们也开始学会抽烟喝酒,君子们也开始明目张胆的追求异性,君子们变的和男人越来越接近了……
  阿尘倒真是个哥们,他到了学校后第一件事就是找我。当时我差点被他感动的落泪。
  阿尘客套了几句后才小心翼翼的和我说他下面最近很不对头,小便的时候很痛,而且还有点红肿,怀疑自己得了性病,让我帮他看看是怎么回事。听完阿尘说的话后我感到无比的震惊,我的脑海里浮现出一个人的面孔——蓝深!
  
  53
  一个处在青春期,尚且还算纯情的男人有一件事很难以承受,那就是有一天他突然知道了他心爱的已经女人已成为了男人的坐骑,而且,骑手不是他自己……
  阿尘以下的话如同一个晴天霹雳劈在我的心上,他想了半天后,结结巴芭地说“我,我只和蓝深有过一次那样的接触……”
  “什么叫那样的接触?什么叫那样的接触……”我咆哮着……之后,一拳腮了过去……没有任何防备的阿尘猝然倒在地上……过了一会,他缓慢的爬起来,他用他那深褐色的眼睛看着我,嘴角的血一滴一滴地落在了地上,和血一起流淌的是时间和少年的悲伤,直到我看到他那深褐色的眼睛里,泛出晶莹而又洁白的光芒……
  我默默的转过身去,我不知道该往哪走,莫大的校园里,没有一个可以包容悲伤的地方,我不知道往哪个方向走,我已经看不清楚前方的路,我的眼前同样泛起一片白光,白色光芒里的世界,好象我们降临时第一眼看到的那个世界,上帝,请告诉我,我们为何而生?
  二十岁那年,我没有经历爱情,更没有经历过失恋,所以我不知道自己为什么会为女人流眼泪,会为假象的爱去伤害我的朋友,两年来,我们同过甘共过苦,我们彼此倾诉对方的心事,我们一起分享彼此的愉悦和悲伤,而我在他最需要帮助的时候,给了他致命的打击,他做错了什么?他不该告诉我他的隐私吗?那他还能对谁诉说?我是他唯一值得信任的朋友;他不该和他的女朋友====吗?谁规定相爱着的年轻的他们非要经过我的批准才能====……唯一不应该的是阿尘他不应该得了性病,全世界的男人都得了性病也不应该轮到他啊……可是蓝深呢?所有的错,所有的错都是蓝深造成的吗?有谁知道在我眼里她的一身蓝是世界上最洁白无暇的颜色,有谁知道当这洁白不再无暇的时候,一个男人的梦,也将永远的破碎了……
  蓝深,我最亲爱的蓝深,我宁愿,是我得了那身脏病,我宁愿用我一生的名誉和健康去换取你洁白无暇的身体,可是,你为什么会是那样的一个女人,你为什么让爱你的男人心碎……我没有办法骗自己,没有办法再用那样的眼神看着你远去的背影,在看到你的时候,我的心里不再泛起涟漪,那泛起的,将是泪的光芒……
  
  54
  我坐在那棵柳树下,用了两包烟的时间去思考,我面对荷花池而坐,我不想让别人看到我是一个经常流泪的男人,尤其是为这样的事。我鼓起勇气做出一个决定,向阿尘道歉,并帮助他治好他的病,从此开始忘掉蓝深。
  我的钱已经给阿飞治病用去了很多了,但我还是一咬牙,把最后全部的钱从取款机里提了出来,我不知道除了钱,还能用什么来表达我的友谊……回去的路上,我就发觉自己好象没有办法实施我刚做出的决定的最后一条,真不凑巧,我竟在路上遇见了蓝深……远远的我就看到了她,无论光线有多么暗,我都能分辨出她那娇美的身影,我低着头,装做没看见的样子,继续往前走,但我的脚步,明显的放慢了……
  “扬扬,小心撞到树哦~”
  这黄鹂一样甜甜的声音穿过我的耳膜,落到我的心底,几乎让我忘了持续了几个小时的悲伤,我开始怀疑刚才所发生的一切是否是真实存在的……我没有办法继续装出冷漠的样子,我抬起头,向她苦涩的一笑,然后强迫自己低下头不去看她,我还用的着看么,只需这一眼,我今夜又将难以入眠……我痛苦地埋头向前走着,回味着从她口中传出的每一个可爱的音节……幸运的男人,看树的时候撞到美女;倒霉的男人看美女时撞到树,据我回忆,当时我是后者……
  
  55
  我们学校的住宿条件在整个重庆市是出了名的差,不知情的人会被每栋宿舍华丽的外表所欺骗,我们这一界的每一个无知青年都成了受害者,当年学校打着装修的名义提高了不少住宿费,其实上做的只是在每栋楼上加了厚度,并且贴了漂亮的瓷砖以掩饰做过的修改,你可能听说过建好的楼可以加高,但你可能没有听说过楼还可以加“厚”,我们的宿舍楼就是加厚了的楼,加厚的部分给每个寝室增加了一个独立的厕所,我之所以称之为厕所而不称之为卫生间的原因是,它根本就不卫生!试想在那样一个狭小的空间里居然还有个可以排泄大小便的地方?那就是我们的寝室,我们住在里面,吃在里面,拉在里面……不出意外的话,这种情况将持续四年,我所说的意外是被开除……
  我提到我们的厕所,是因为这厕所让我永生难忘的还有另外一个原因!
  我匆匆忙忙赶回寝室找阿尘谢罪,回寝室的路我太熟悉了,闭着眼睛都能找到,附近的苍蝇也是如此,它们不睁眼靠闻味也能找到,阿尘的寝室门口围了一群人,这让我心里一惊!
  我问他们寝室的大狗发生了什么事情,大狗说阿尘在厕所里,两个多小时一直都没有出来,水龙头一直开着,也听不见声音……我冲到厕所门口,我冲里面喊,阿尘,你在里面干什么呢?快出来啊!阿尘,对不起,是我错了,原 谅 我,好吗?阿尘,厕所里很臭,被熏死了多不值得啊,阿尘,水费很贵的,再不出来大狗他们要扁你了……我不知道我都说了些什么,我胡乱的喊着,我喊着喊着眼泪就出来了,消失了几天的阿飞忽然出现了,他把我推开,一脚把门踹开,门开之后我看见阿尘赤裸着身体倚墙而坐,头放在腿上,手垂在地上,手腕处还有血慢慢的往下流,那是我第一次亲眼看到传说中的割脉……

  56
  我给阿尘随便套了件衣服遮羞,我们把他送到了校医院。
  似乎情况没有我想象的那样糟糕,医生把了一下他的脉后说,“没有什么事,先输瓶葡萄糖就好了,昏迷的原因可能是因为血糖太低了,一看他的脸就知道他是严重贫血症患者,而且最近一段时间好象营养不良。”那请问医生,他手上的伤不会有什么影响吗?医生回答我说只不过是表皮伤而已,稍微包扎一下就好了。
  病房里很静,只有我和阿飞留下来看护阿尘,一瓶葡萄糖快输完了,我赶紧去医务室找护士来拔针,发现所有的人都不见了踪影,他们应该去吃饭了吧,或许在哪个房间里打牌,我知道一时半会我是找不到他们的了,毕竟军训的时候我们还在这住过一段日子,我太了解这的情况啦,我虽然生气的骂了几句脏话,但心里不是很生气,这在我们校医院是极为正常的事,毕竟是国家工作部门嘛!我打算亲自给阿尘拔针头。大一的时候因为病毒性感冒在校医院打了四回水,有三回是自己拔的针头,我想我已经很熟练了……
  就在我给阿尘拔针的时候,他醒过来了,他只说了一个字——“啊!”“你他妈的还知道痛啊,你为什么干傻事!就算我不对你也不能折腾自己啊,你真不想活了也别害我啊,我们不是说过以后要挂也要一起挂的嘛,我真想打你狗日的!”阿尘说“我当时确实是很难过,就去冲了会凉,可能水太凉了吧,当时就觉得头很晕,然后就什么都不知道了……”“那你为什么要割伤自己的手腕啊?”“什么,割什么啊?”他一低头看到自己手上缠的纱布后一脸疑惑……阿飞这时说话了,“我刚想起来,可能是这么回事,他们寝室的厕所门后头有颗钉子露了出来,我刚才踹门的时候总觉得刮到了什么……”阿飞说完后,我和阿尘跳起来就去打阿飞,我们把别的床上的枕头拿起来互相投掷,穿着鞋子在床上蹦来蹦去,把医院变成了儿童乐园,找到了一种童年的感觉。
  后来怕医生们回来看到屋子里一片的狼籍后骂我们,我们就逃走了……直到今天,我还是没有看过真实的割脉……
  
  57
  关于友谊,我现在想说点什么,我从来没有就这个问题深刻思考过,没有看过关于它的严格定义,更没有给它定义过,在我眼里的友谊就是——当阿尘告诉我他因为我喜欢的女孩而得性病的时候我一拳腮倒了他,就是当我把我所有的生活费拿给他去治病的时候,他突然紧紧的抱住我,眼泪象女人一样哗哗的流,我俩一边哭一边一起骂对方“我操你的,别哭了……”
  阿尘对我说“求你不要再提起这件事,除了你自己,不要再告诉任何一个人”他说话的时候眼泪在眼眶里打着圈圈,他的嘴唇在颤抖,他的眼睛茫然的看着前方……
  不就是性病么?大男人的,不要怕,又不是绝症,你别哭了!
  我不是为了这个,我,我……请你永远不要再提蓝深了吧,本来我也不配她,她其实是一个好女孩,让我忘了她吧……
  可是为什么呢?你说出来呀……
  不要再提了,不要,好吗……
  好,我不提了,我答应你……以后你要做什么我都会支持你!
  ……
  ……
  那次和阿尘的谈话时,我脑子里充满了迷惑,他的每句话让人听了都没有头绪,其实就是一堆废话,关于此事到底是什么样子的,我还是没有搞清,但,我不能再和阿尘提起这件事,我不想看他有一天真的崩溃了,我也不想自己再次失控腮他一拳,人有时必须糊涂,才能苟且没有悲伤的活着……但这件事的发生,却在我心底留下了很多谜,那些等待我去破解的谜,那些让人无法预料的谜底,会不会让我疯掉,我不知道……我好怕,我好象迷失的孩子,一个在大雾中行走的孩子,我发现我还看不清这世界,我发现,有很多人和事,我还不懂……我象一个迷路的孩子,在大雾中胡乱的走着……
  
  58
  九月中旬,一个无聊至极的下午,有难得一见的太阳,天气其热无比,美女抓住这个机会穿的更加大胆,一个个举着花伞在太阳底下争芳斗艳。如果你偶尔在地上发现一滩滩鲜血请不要害怕,那只是男人的鼻血而已。
  我带着我的色狼专用墨镜,穿着夏威夷度假专用的花裤衩,在美女的香气中漫无目的地徘徊,一路上“不小心”撞了十个美人,因此遭骂了五次,挨翻白眼四次。那个没有骂我也没有翻我白眼的是一个上身穿着白色半截袖衬衫,下身穿着黑色长裤的女孩,是我唯一真正不小心撞到的女孩,她不仅没有骂我,还和我说对不起,她的身上不仅没有香味,还有一股重重的油烟味。她露出的半截胳膊是雪白的颜色,她的鬓角被汗水打湿,贴在红彤彤的脸蛋上,她长的并不是很漂亮,但却让周围那些精心打扮过的美女黯然失色。
  我悄悄地尾随在她后面,想多看几眼,或者是想探求更多的信息。这叫把握机遇,按阿飞的哲学来解释就是你不能等美女来撞你,你要主动去撞美女;你也不能等美女来尾随你,你要主动尾随她!我充分理解并运用了他的指导思想。
  那女孩有着雪白的皮肤,我在见到她的第一眼时,我就给取好了一个名字——雪儿。象我们这种经常在红粉里穿梭的男人会不自觉的养成一个习惯,就是给和自己有关系或可能有关系的女孩按她们的特点取好名字,便于分类管理和对症下药,我的女人大概有三类,分别是红尘蓝尘和龙的传人,比如蓝深就是我的蓝尘,三五则是龙的传人,我马上将要提到的女人应该属于红尘吧……我说的不是雪儿——她的名字叫紫衣。
  
  59
  话说我尾随着雪儿走了几分钟后,来到了我们学校后门那片繁华的商业区兼最大的垃圾场,她一转弯一下进到了一家叫纵横四海的餐馆,并直接走进了厨房……我本应该预料到她不是学生的,毕竟我撞到她的时候她没有骂我,从这一点我就早应该预料到她不是大学生的。
  我不知道我是该失望好还是高兴好,她不是大学生,按通常的说法,她和我不是一个世界的人;换种角度,她不是大学生,她也没有作为大学生才有的种种劣根,她是个思想尚还纯洁的女孩。或者,我根本就没有过什么邪恶的想法,我只是想多看几眼,既然看都看完了,那还在这发愣干什么,我打算转身往回走的时候,听到雪儿走进的那家餐馆里传出激烈的骂声,还有哭泣声,那家的老板娘是个肥婆,她一手叉腰,一手指着雪儿,上下的肥唇错动,暴雨般的口水倾盆而泻。我看不过去了,我忍不住了,我有过那种痛苦的体验,高中时我的政治老师也是个肥婆,当年我坐第一排,因此养成了上政治课穿雨衣的习惯。雪儿哭的很伤心,她的衣襟都被自己眼泪,汗水,还有肥婆的口水给打湿了……我决定拔刀相助!
  “同学,想吃啥子?”我刚一进去,那肥婆利马换了一付笑脸,微笑着对我说话。
  “离我远点,别嘣我身上,真恶心!”我指着她的嘴说,那肥婆脸一下红了。
  我找了一张桌子坐下,把雪儿叫了过去,我微笑着对她说“能给我倒杯茶吗?”雪儿一边用衣袖擦眼泪,一边低着头去给我倒茶。我说,你坐下来,她看了看那个肥婆,对我说“我还是站着吧,要不又挨骂了……”
  “她为什么骂你呢?”雪儿靠近我耳朵小声的说“刚才我用新的杯子给别人倒茶,被她看见了”,我看了看手中的一次性塑料杯子,“这东西本来不就是一次性的吗?”雪儿小声说“我们店里平时都是用用过的杯子的,甚至有时候客人没有喝完的茶她都不让倒!”“啊,我靠,这样太恶心了吧”雪儿冲我笑笑说“不过你放心,你的杯子是新的,一般我都会尽力给你们用新杯子的!”我听了这话后心里这个难受啊,多好的一个女孩啊,我他妈的真想把这些黑店给查了,假如我有这个能力的话……现实真无奈。后来我又问她多大,一个月的工资是多少,她说她十四岁,一个月300,管吃管住,靠,这不是违法雇佣童工吗?
  后来听完雪儿的话,我无比气愤,便去和老板娘理论,正在唇枪舌战的时候,一个身穿工商制服的人进来了,我心中大喜,活该你倒霉!
  
  60
  此官人进门后第一句话是“姐,啷个回事?……”
  ……
  我们小的时候,眼中的世界总是那么的公平,长大后才慢慢发现,我们看到的,只是它的外表。这世界有太多的不公平,有些人生下来就开始享受富贵荣华,而有些人却注定要遭受苦难,幸运的是,我是前者,而雪儿,一个为了供哥哥读书而到城市打工的不满十四岁善良的农村孩子,却无力拧转命运,在这偏僻嘈杂的角落默默的成为了弱势群体中的一员。
  斜挂山头的夕阳,血红的夕阳,把雪儿的影子托的长长的,她失业了……我站在她旁边,不知道该做些什么……或许,我很快就可以忘了这件事,可是雪儿呢,她的路该怎么走呢……
  雪儿说“大哥,没有关系,我晚上先去姐姐那住一晚,明天再去找工作,我以前经常被炒,都习惯了”
  “姐姐?你还有亲人在这?”“她不是我亲姐姐,她是我们店子旁边的那个游戏室的。”“哦,这样吧,一会我陪你去她那,明天早上我来找你,陪你一起去找工作。”
  就这样我第一次见到了紫衣,雪儿称之为姐姐的女人……
  我对这个生活了两年多的校园原来是那么的不熟悉,居然不知道在商业区还有一家专供赌博的游戏室,更不知道在那样一间不起眼的小阁楼中,居然还深藏着一位娇艳非凡的女人……

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)

  41
  我骑着阿飞的爱马,在午夜十分,来到了和猫一样的女人约好的地点,我已经做好了逃跑的准备,所以很警惕的左看右看,他妈的只有一个美女坐在那抽烟,也没有我想找的人啊!
  一声猫叫,不,是象猫一样的藐音传到我耳边,再加上阿飞爱马发出的强大噪音,我几乎听不清声音是哪传来的,既然恐龙还没有出现,所以我就熄了火,不会就是那美女在招呼我吧,只见她站起身来,向我走过来……
  她嘴上叼着烟,由于光线有点昏暗,我看不清她到底有没有穿衣服,哦,原来是披了一张鱼网,还是已经破掉了的……在她的的烟一闪一闪的光亮下,发现她居然长着一张可以倾国的脸,我是说如果我是此国的君主。猫一样的女人,迈着猫一样轻盈的脚步,扭动着她的小蛮腰向我步步逼近……
  我操他奶奶的,这个社会是进步了,互联网这东西真他妈的是高科技,连妓女现在都上网做生意了。象猫一样的女人和我进入正题的第一句话就是“日一次300,做不做?我有住处……”
  我承认听到这句话后我马上充血了,但我还是逃走了,走的时候义正言辞的对她说“对不起,你找错人了”本来我是想说的对不起,你的价太贵了,我承受不起……但,毕竟人都是要面子的,我怎么好意思告诉她我身上只带了买避孕套的钱,还只能买国产的。临走的时候我想,这样一个漂亮的女人,不是我的女朋友,而是鸡,这世界乱了,真是乱了……
  我年轻的时候有个毛病,就是我和我的小弟弟都易冲动,它经常硬,害的我直不起腰做人,那天我在回去的路上,差点把阿飞爱马的油箱顶漏了……
  我回到寝室的时候已经凌晨1点多了,打过手铳的君子们都安逸的睡着了,所以整个寝室散发着一股子精子的味道,我怕吵醒他们,就又跑到走廊的那个窗口去解决问题,手拧了很久的油门再握那话,居然用力过猛,第二天早上起来发现自己的“头”都肿了……你知道,这就叫祸不单行……

  42
  整日忙于上网的我,忘了蓝深已是阿尘的人了,忘了连阿飞都有女朋友了,也忘了大学里居然还有期末考试……
  只有在快考试的时候,才能看出我们和猪有什么不同,平时我们和猪过的生活差不多,但是,现在我们会看书!我找我的课本,发现有两门课的书都不见了,我怀疑是君子拿去给他们的师妹了送人情了,这帮狗日的,真后悔当初发了新书连名字都懒的写……
  没有办法,我只能去书店另买两本,到了书店他妈的吓我一跳,两本烂书加起来要一百多……是我们学校的出版社出的,所以狠心赚我们的钱,不过这样的事也不见怪了,人师就是这样,不宰学生宰谁啊?不禁让我想起了报纸上说的那句屁话“穷什么也不能穷了教育……”
  
  43
  还没有迈出书店的门,阿飞也骂骂咧咧地进来了,哈,原来我不是最惨的,他居然丢了三门课的书,随后听到阿飞惊呼“这么他妈的贵!”他回头冲我一笑,我马上知道了什么意思,我贴给了他20多,身上也所剩无几了……我说阿飞啊,你这样下去也不是办法啊,想办法赚点钱啊,你瞧你那样,穿的衣服象“摩的”似的,满面油灰,和你在一起走都丢人! “哈,你真说对了,我当初买摩托就是想做摩的的,只是我不知道该怎么开始,帮我合计一下……”
  后来,阿飞真的做起了摩的,是我知道的大学生里唯一的摩的,他给我们学校带来的一个重大改变是:傍晚的后门多了一个“长的还可以的摩的,常有体重超过75公斤的重量级MM排队坐车,因此此处经常造成轻微交通堵塞”
  阿飞第一次出车的那天晚上,我和阿尘为阿飞壮胆,一起到了学校的后门,阿飞特意搞了一个迷彩帽带上,他把帽檐拉的很低,生怕别人认出来,我和阿尘则离的远远的,怕丢人。后门进进出出的人很多,就是没有人注意骑在烂摩托上的阿飞,这样挺了半个多小时,阿飞沉不住气了,跑过来找我们,阿尘说没有人坐是不是因为车太破的原因啊,阿飞想了想说“外面做摩的的车比这还烂的多的是,关键问题是大家不相信我是做摩的的,哪有长的这么帅的小伙做摩的的啊”我和阿尘听了后不约而同的往地上吐了口痰。
  后来我们商量后决定在实施一系列的计划,包括“在校园里广泛张贴海报,做一长便挟式广告牌挂在车头,我和阿尘分别假装乘客和阿飞谈价钱以让别人知道他其实是摩的。”海报写是写了,就是很快就会被人撕掉,所以我们决定放弃第一个方案,第二天晚上,我们又来到了后门,阿飞停好车,在车上做稳后,阿尘飞快地跑过去把广告牌立在车边,让后跑过来和我一起观察情况,阿飞象昨天那样低着头,还点了一支烟壮胆,但可以看出他的手在抖……过了一会他示意我们去当托,我和阿尘对望了一下,都不好意思……阿飞在那急的要命……
  “喂,去陈家湾走不走?”一个挺着大肚子,浑身散发着酒气的男人走过去问阿飞,阿飞一脸兴奋的样子朝我们打了个手响,然后响亮的说“走,上车吧!”我们后来好象隐约听到胖子说“你这做摩的的真怪,还穿着西服!”
  那天是阿飞的第一个生意,而且那天只有这一个,除去油费和烟钱,他共赚了负一块……
  
  44
  自从阿飞晚上出车后,他的生活也开始好起来了,每天都能吃饱饭了,至于吃的好不好,那是另一回事。
  期末考试很快就到了,我们也变成了好孩子,每天通宵达旦的看书,为了生活阿飞每天依旧要出车,但他都是带着书去,利用等人的机会在路灯下看书,每次路过后门,看到他趴在摩托车上看书,不知为什么,我的心都会有些痛……
  据我所知,阿飞是个孤儿。那是军训的时候,有一次我们喝酒,他喝醉后自己说出来的,他说他只有一个妈妈,他是一个遗腹子,他不知道自己的父亲是谁,他狠狠的说,如果他知道自己的父亲是谁,一定会亲手杀了他。
  这是一个落俗的故事,一个漆黑的夜晚,一个穷人家的女孩被强暴后,怕自己可怜的父母受到打击,而忍着伤痛和泪水隐瞒了下来,几个月后,她怀孕了……阿飞说,妈妈生下她那年还没有现在的他大,生下他之后,妈妈就离开了人世,我不敢想象那会是怎么样一个场面,洁白的床单被一个少女的鲜血染红了,那时,阿飞还是一个婴儿,不知道他的哭泣是否因为悲伤……
  原来阿飞说的是真的,他说他之所以来政法大学是因为他的梦想是做一名警察……
  那次考试考的我们心里都没有底,但后来成绩出来时,我们都平安的过了,而且以后的考试中我们都没有挂过科……莫非那句话是真的“善有善报”
  假期,我和阿飞留在了学校,阿尘不得不回家去帮助老父老母经营家里的那几亩生命般重要的土地,阿飞留下的原因是为了她,或者还有一个原因,按他的话是,“我是只蜗牛,一个背着家走的人……”是啊,他的姥姥姥爷都已经去逝了,他应该回哪呢……
  我不想回家的原因听起来有点幼稚,我需要自由,无论我长多大,我的父母都会把我当小孩看,在父母面前的我们,永远都长不大……所以我不想在他们身边
  
  45
  零零年的夏天异常的热,尤其是在重庆,流动的风掀起的热浪都能把人灼伤,我一个人呆在寝室里甚是无聊,昨晚上了一个通宵的网,一无所获,还累个半死,早上回来也来覆去睡不着,就觉得心理堵的慌,找不到活着的乐趣。
  电话响了起来,听了这声音后让我很兴奋,估计又是哪个MM上钩了,可惜阿飞出车去了,没有车在手边真是不方便,尽管是破车,但骑着,也算是有车的人……
  喂,快帮我找一下杨扬,我有急事!
  你是……哪个?我就是杨扬。
  阿扬,快点到第三军医院,阿飞出事了,你一定要快,要快,多带点钱,越多越好!!!
  ……
  ……
  是蓝深打来的电话,我一直都不知道她也留校了,我没有完全搞清楚是怎么回事,只知道阿飞出了车祸,碰巧被正在街上的蓝深遇到了……我带上银行卡,里面也只有不到四百了,又去隔壁寝室凑了几百,到后门叫了一辆摩的。
  路上我不断的催师傅快点,我有点很担心,还有点想哭的感觉。我一路上想着昨天晚上阿飞回来后笑呵呵的问我还有多少钱,我很防备的说“估计过两天就挨饿了,没有钱了”他居然甩给一张十块的,说“没有关系,只要有我吃的,就有你吃的,没钱就和我说,不能让你饿着啊……”那是他做摩的赚的啊……
  到了医院门口,下了车,我一路飞奔到了医院挂号处,我问护士刚才有一个被撞伤的人现在在哪?小护士手往急救室一指,我顺着她指的方向看过去,刚好门打开了,几个身穿白大褂的医生推着一辆手术车,它是用白床单盖着的……
  我一下愣在那了,眼泪象决堤的洪水涌了出来……我的阿飞……

  46
  “阿扬,你傻站在那做什么啊?我等你半天了!带了多少钱,阿飞在119病房躺着呢……”蓝深走了过来,她还是喜欢穿着一身浅蓝色的连衣裙。
  “他,没有死啊!”
  “你说什么丧气话啊,不过他现在状况也不是很好,虽然颅骨没有裂,但不知道颅内有没有出血,现在拍CT拍不出来,需要住院观察,我们已经欠了医院五百多了,如果要住院的话还需要交两千块钱的押金……”
  我们一边说一边往阿飞的病房走,推开119病室的门,一眼看到阿飞躺在床上,脑袋缠了绷带,身上还穿着血迹斑斑的衣服,他看到我来了,想努力撑起身子坐起,我冲过去一把抱住他,我说你他妈的没有死啊,你没死啊,你骗了我多少眼泪你知不知道,等你好了我一定要干你一顿!!!我骂着骂着眼泪忍不住就流了出来……阿飞早已哭的泣不成声。
  蓝深买来了晚饭,阿飞在撞击中有轻微的脑震荡,暂时不能吃东西,而且时不时到要呕吐,在我们吃东西的时候他就吐了三次,每次他一恶心蓝深就放下筷子去给他拿盆子接,看着蓝深忙碌的背影,我的心在颤抖,一个多么好的女孩啊,阿尘真的很有福气……
  晚上,我去给家里打电话,希望能从家里要三千块钱把阿飞的住院费垫上,结果挨了一顿臭骂,我告诉我妈我有一个很好的同学生了病住院需要钱,结果她说别人生病关你什么事啊,老娘养你一个就够累的了,还要养别人#¥#@,她一直在那喋喋不休,我忍不住了,我说“去你妈的,老子以后不管你要钱了,行不?”然后我挂了电话,心里的失落感倍增……
  我回到病房,阿飞看出我的脸色有点不对,就问我怎么了,我说你好好养病,不要担心钱,说话的时候我的脑海里浮现出我的CD机,还有手上带着的这快五星上将镶钻表……
  我正在和蓝深商量晚上谁在这守夜的时候,一个小巧的女孩走了近来,她向我们问好之后便做到了阿飞的床边,她是阿飞的女人。蓝深说“这下我们不用争了……”
  
  47
  在回学校的路上,我第一次和蓝深在这么深的夜里并肩走着,尽管,这里的夜空不是那么蓝,也没有象宝石一样的星星一闪一闪,但偶尔拂面的微风,打起她的裙尾,露出她那细腻如玉的肌肤,轻轻的触到了我身体,她的发稍飘起,沁人心悱的发香,吹入了我的心底,这样的夜我的一生中能有几次呢?那时那刻,真他妈的希望阿飞多象这样撞几次……
  蓝深,我想问你一个问题?我鼓起勇气对她说。
  她侧过头,冲我莞尔一笑,路边的垂柳随之轻摇……
  你真的,爱阿尘吗?我颤抖着说出这句话来,然后憋着气,开始害怕听到让我流泪的话……
  阿扬,你真的懂阿尘吗?你了解我吗?或者,你了解你自己吗?
  听到蓝深这句话后,我愣住了,什么意思呢,到底是什么意思呢?我确实,好象不懂,连我自己都不懂……
  我们默默的走完了这段路,然而,关于她这段话的含义,一年后我才懂,那个时候,我懂这句话的时候,我把我的眼泪,都流光了……
  
  48
  去医院看阿飞的第二天早晨,我早早的起来了,把我的CD找出来,准备去当铺换点钱,我之所以这么做,是因为我是个重情义的人!,当然,更主要的是我想让更多的人知道这一点,尤其是蓝深!一想到这,我就不心痛了,大大方方的在搜罗我值钱的东西准备去当铺换钱给阿飞付医药费。
  当我带着一大包东西刚要出门,一抬头见阿飞正晃晃悠悠的扶着墙壁艰难的爬楼梯……
  “你哈儿啊,伤的这么重,你不老实在医院里呆着跑回来干什么啊,我不是说教你不用为了钱着急吗?你这么大了怎么不听话啊,竟让哥们担心,妈的!”,我不停的骂着他……
  “你的马子呢,她在哪?”阿飞慢慢的抬起头,一脸的泪水……他用颤抖的声音说“她,走了……”“什么?她走了?走哪去?”“她,不要我了,昨天来就是和我说分手的……”“婊子养的!!!,我操他妈!!!•#¥%%…”“不要骂了,不要骂了,是我让她走的,你不知道,你什么都不知道……,不要骂她……”
  那个暑假,阿飞在寝室的床上躺了半个多月,他拒绝去医院,拒绝吃药,连饭都我逼者他吃的,他象一个患了老年痴呆症的老人,喜欢用无神的眼睛盯着空气中飞来飞去的苍蝇……为了照顾他,我般到了他的寝室住,因此深更半夜经常被他的梦呓吵醒,他一遍又一遍的重复着“你不是想飞吗,我带你飞啊,我带你飞啊,我爱你,我爱你,我真的爱你啊……”
  
  49
  有一天,我看阿飞的状态还可以,我坐在他旁边,想和他吹吹牛,我问他,你知道自己睡觉的时候总说梦话吗,而且,而且,每次都说一样的……?阿飞表情很不自然,想了想后问我听到了什么,我说“大哥,你真搞笑,那有象你那么说梦话的,什么飞呀,爱呀的……靠”阿飞的脸红了,他小声的说,“其实,我没有睡着,我这么说不就是想让你听到么!”,“我不懂,我听到有鸡巴用啊,我又不是你女人……”,“哎呀,直说了吧,我的电话本上有她的电话号,你就不会帮我打个电话告诉她我每天梦里都提到她……”
  原来,梦话还可以有这样的作用啊!在以后的日子里,我也试过这招,每每泡美眉遇上不顺手的时候,就去喝酒,喝完酒赶紧让朋友帮忙给美眉打个电话告诉她我喝酒出事了,然后马上醉倒,再然后就是满嘴有目的性的梦话,把匆匆忙忙赶到身边的她感动的一塌糊涂……总之,女人,是感性的动物,你要抓住她的弱点……
  我继续问阿飞,我给她打电话可以,但我应该怎么说呢?阿飞说,“我给你解释一下我梦话的意思吧!我刚认识她不久的时候,她说她想飞,她说她宁愿做一只麻雀……我告诉她,你没有翅膀,一样可以飞的,之后我买了摩托车,经常半夜带她去兜风,我让她闭上眼睛,把自己的手臂张开,幻想自己是只麻雀……,我还告诉她,以后,我会带着她,去更高的地方飞……”我听完阿飞的话后点点头,若有所思……“好,我知道该怎么说了,越煽情越好,对么?”“对,怎么煽情怎么说!但,千万不要说是我让你给她打电话的!”“好,我又不是哈儿,你等着吧,我这就去!”
  
  50
  我已经忘了当年自己在电话里是怎么和阿飞的女人讲的了,只记得我把话说完时便听见电话那头传来阵阵嘤嘤的哭声,我知道,事情已经搞定了。
  后来的大学的日子里,我数不清自己究竟做过多少回这样的和事姥,延续了多少有情人在大学里的爱情,做这样的事其实没有什么难度,只需要一个必备条件–把谎言说的连自己都分不清是真是假,这不是开玩笑,我曾经被自己的谎言感动地哭过好多回,就更别提听我传话的女人了……
  我告诉阿飞,她女人晚上要过来看他,阿飞苍白的脸一下就有的血色,眼神里也重新有了神采,这莫非就传说中的爱情的力量吗?我问阿飞,你为什么爱她呢?阿飞很深沉的对我说“因为,她可以和我上床……”
  大学时的我,虽然自己没有经历过爱情的洗礼,但毕竟听的多了,见的多了,缠和的多了,也便有了些自己对爱情的理解。或许是我身边的人都是下流坯子吧,不管他们是能饱饭的还是吃不饱的,他们每搁一段时间都会在半夜的走廊里大喊,“给我个女人干吧”之类的话,那是他们憋了好久的力量,从里到外,从下到上,是从丹田深处喷发而出的呐喊,那声音在整栋楼里久久徘徊,此伏比起……他们喊过之后,便去厕所,去蚊帐里,去那些阴暗的不为人知的角落,他们象农民伯伯那样用手撒种,他们把种子撒在卫生纸上,便池里,撒在一切不和适宜的地方,每一天不知有多少生命匆匆奔赴必死的战场,它们无从选择,因为,这里缺乏土地,即使有,也是不准随便开垦的……青春时期男人的爱情,正是一种对于土地的渴望啊……
  傍晚,阿飞的女人来了,那是阿飞在床上躺了将近半个月之后脸上第一次出现那么灿烂的笑容,她们先是抱头痛哭,然后是欢声笑语,然后是他女人的尖叫和他爽朗的笑声,估计八成是阿飞的手掐了他女人的屁股,我还听到了他们接吻时的允吸声……躲在门后偷听的我好累呵,何况当时我的腰已经直不起来了……
  在床上躺了半个多月的阿飞,他的病似乎一下子都好了,当天晚上和她的女人出去后就没有回来,是去种田去了吧,我一这么想,局部的血液就开始沸腾了,是不是我也应该找块地了呢?我在心里这么寻思着……

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)

  26
  有一天正在寝室和阿尘、狗日的斗地主,突然电话响了起来,狗日的去接的,他接了大约三分钟才朝阿尘喊说是找他的。阿尘接完电话后回来说是三五打来的,大概意思是她是要考研,所以她今天搬到外边去住了,为了庆祝乔迁之喜,她请我们去她的新家晚吃饭。
  趁阿尘接电话的时候,狗日的偷偷问我给阿尘打电话的是哪个妞,声音怎么恁个甜。说到这里我简单介绍一下狗日的是何人,他姓苟名日,所以我们叫他狗日的,也不知道当年他父母给他起名字时怎么想的,莫非想让他一出世起就名满天下?在重庆,几乎每天都有人提起他的名字,比如婆娘骂街时,一口一个狗日的。听阿尘说狗日的家很穷,因此他从小就营养不良,小学起就下地干活,浑身晒的漆黑,脸长的三分象人七分象鬼,而且头奇大无比,但也就凭这个大头才考到这,打破了他们村从建国起就没有出过大学生的记录。但,不幸的是,自从狗日的来到这狗日的城市后,花花世界让他把当警察的伟大理想活活变成了“哪个美女愿意让他日一次,他可以马上去死 ”。
  阿尘问我去不去,我说“你以为她心肠那么好?她是想让我们帮她搬东西!”阿尘想想后同意了我的看法,于是他说那就不去,让蓝深她们帮着搬好了,估计东西也不多……”我一听蓝深也会去,马上改口说“也好,能蹭顿饭也不错,最近你老他妈的蹭我的,去,干麻不去!”我不得不承认,美女对我来说是最原始的动力,从我的青春期开始。
  我们转身准备去找三五了,狗日的不让走,他说“那我的午饭怎么办?不能白赢了啊!”我们刚才斗地主的赌注就是今天午饭,就是为了这顿午饭我们从早上打到晚上,“还吃鸡毛午饭,没得了!”我这么说着,但还是扔下了一张3块钱的饭票。我知道狗日的身上一分钱都没有了。
  
  27
  那天发生的事情如果非要我描述,我会觉得害羞。
  关于我们像棒棒一样抗着三五的大包小包搬家而蓝深和三五在旁边充当拉拉队,关于我们去餐馆点菜时我和阿尘竟挑价格十分昂贵的点,关于饭桌上三五同学热情异常的给我夹菜让我食欲大减,这些都没有什么值得说的,要说的是那天晚上我被他们几个狗娘养的灌地二麻二麻之后的事,现在,就从我快醒来那一刻说起。
  那是一间新装修好的房间,风格类似法国没落贵族的客厅(值钱的东西都被买光了),屋子里飘满了紫罗兰的清香,其====粼幼判履嗟奈兜溃勇涞厥降拇翱谕鋈ツ芸吹铰斓姆毙牵绻厍炷芸吹椒毙堑幕啊?br />   那是一张很大的床,淡蓝色的床单的床上躺着的那个英俊帅气的男人就是我。我睁开眼睛,她是侧躺着的,面对着我,她的睫毛长又长,她的肌肤白又白,原来蓝色包装着的是这样一个如此美丽的女郎,我轻轻的把她的头懒在怀里,而她顺从的把整个身体都靠了过来,她欲滴的娇唇让我忍不住把嘴贴了上去,她的手从我衬衣伸进去,抚摩我的胸膛,我感觉的我身上所有能被解开的扣子都被接解开了……
  人家都说男人的臂长等于女人的腰围,可我的胳膊怎么连蓝深的一半都围不到,等我解开这个谜题时发出少女被强奸时才能发出的尖叫。哎呦妈呀,原来躺在我怀里的大尤物是三五,我他妈的是被她压醒的,我本能的一脚蹬过去,反冲力让我从床上滚到了地上,我彻底的被摔醒了。
  三五赶紧下床扶我起来,我没说话,还顺手打开了她递过来拉我的手。我跑到卫生间,用冷水洗了把脸,然后整理衣冠,顺便检查一下自己有没有失贞,干这些用了半个小时的时间。
  后来,我回去,看到三五正坐在床上哭,哭声惨到好象死了亲爹一般,我正考虑自己是否应该跟着她一道哭,但我后来胃一阵反,忍了一晚上没有吐出来的啤酒现在都出来了,三五看到我吐了,愣了一下,之后哭的更惨了……

  28
  我的童年,在一个四合院里,里面还住着和我年龄相仿的两个小孩,一个是男孩,一个是女孩。
  那个男孩姓楚,也就是我前面说过的那个二毛,二毛只是他其中的一个外号,他小的时候我们经常叫他楚大逼,北方的人可能会知道,楚(音译)这个字是捅的意思,后来我们长大了一些,知道这个名字很不雅观,于是便给他改了一个比较文雅的外号,叫“欧野楚”,欧野,是oh~yeath的音译,是我们初中在一起看A片时学到的,那里面的女郎叫床时就经常说oh~yeath,后来英文水平进步了才知道是“噢,我快到了”的意思。
  欧野楚小时侯经常和我争论女人怎么才能生小孩这个问题,他的观点是男人和女人只要亲了嘴就能怀孕,而我则坚持男人和女人要尿尿的地方接触才可以。这个问题争了好几年,直到小学毕业。提起童年这件事,是想说明我们生于七、八十年代的人性启蒙很晚,哪里象现在的小孩子,什么都知道,甚至连====的各种体位,知道的比我们都多。
  我十九岁那年,可以说是被人诱奸,行凶者是三五,可三五却在别人面前混淆行凶者和受害者的身份。在这事发生之前,我以为自己是个对性很了解的人,可这事发生了后我才知道关于性,我唯一懂的只是手淫。
  那天,我在三五家的厕所里头脑混乱,我记不清几分钟前发生了什么,我不知道该怎么证明自己是否失去了贞操,最后我选择了一个力所能及的办法,那就是手淫,我知道,如果自己已经干了那事,就无法在短时间内成功,半个小时后,我的胳膊酸了,我放弃了,因为一想起这是在三五家的厕所,我就软了,而当时确实在三五家的厕所,因此我不能不想这事,这就是通常我们所说的强迫症。
  那天,在三五家的客厅,我连着抽了一包烟,头脑终于冷静了下来,我想通了,要想知道事实真相,只能从三五那方面下手了,这时,天快亮了,我准备回寝室了。我到卧室门口看了三五一眼,发现三五早已哭累了,现在睡的正香,嘴角还挂着他妈的一丝笑容。
  
 ?9
  这个城市一年到头很难见到几次阳光,因此我们常常在黄昏醒来,并且误以为是黎明。
  从三五那象一个刚被糟蹋过的少女一样晃晃悠悠的回到学校后,发现自己没有带寝室的钥匙,幸好苟日的寝室开着门,他的床是空的,估计又去通宵了。我冲到他寝室一头扎倒在采希袒毯龊黾渥隽艘桓鲐危缓蠡肷砝浜沟谋幌判眩┖靡路兆急赋缘阍绲愫笕ド仙峡危蚍⒁幌率奔洹=峁⒊镜牡嚼慈梦业募苹泼鹆耍抢凑椅页酝矸沟摹?br />   我后一脸惊恐,他告诉了我一个好消息和一个坏消息,好消息是一个女人今天找了我很多次,坏消息是那个女人是三五。妈妈哦,本来我都忘光的,也没有觉得怎么害怕,一听阿尘这么说可把我黑的半死。
  我揪起阿尘的领子,握起拳头想抡他一拳。你个狗日的真没有良心,昨天晚上怎么把我一个人扔到那,你他妈的太不够意思了,要不是看在我们是哥们的份上我今天打死你。于是阿尘破天荒的请我吃饭来赔罪。其实我是不可能和阿尘动手的,只看在他那一米八的身高,和结实精壮的身体的份上……
  
  30
  我们是在去食堂的路上碰到已经消失了一个多月的阿飞的,只见他篷头乱发,面无血色,衣冠不整,也是一付刚被强奸的样子,他见到我们憋了好久才说出一句话,“给我买个馍吃吧!”
  我们去食堂,打了三碗牛肉面,阿飞狼吞虎咽的吃了两碗半,外加所有碗里的汤,吃完后,他才满意的打着饱嗝问我要烟。“烟个屁,有的吃就不错了,我们也快进入饥荒年代了”“烟屁?你倒是提醒了我”阿飞说罢就哈下腰在地上四处瞟,一会儿工夫他手里就找到了三个烟屁,“要不要?”他问我和阿尘,我们都摇摇头,惊讶的看着他,没想到他不是在开玩笑,真的点着抽了起来,还一脸陶醉的样子……
  我和阿尘看着没有语言了,不过当时我们确实没有想到半年后我们都成了捡烟屁的高手。
  阿飞把最后一个烟屁抽完后拍拍肚皮,神秘嘻嘻的冲我们笑了一笑,“一会我带你们去看一样东西,保管吓你们一跳!”


  31
  我们随阿飞来到了学校的后门,后门的路两边到处开满了小饭馆,因此此处的垃圾也是异常的多,腐烂的饭菜经过发酵,散发出的味道可以和粪便相媲美。
  就在路边的一个角落,阿飞停了下来,那地方的最大特点是除了腐烂的饭菜还真的有很多粪便,这一定是那些脸长的和屁股一样厚的人拉的,这事我就干过一次。
  我和阿尘环顾四周,什么也没有发现,你没有搞错吧,美女在哪?–什么美女,我又没有说是美女,不过,和美女有一个地方相同,都可以骑!阿飞说罢走到垃圾堆旁,象变魔术一样地把一张遮雨布一掀,使一辆很烂的摩托车展现在我们面前。
  “哇靠,你从哪偷来的?”阿尘惊呼道。“阿尘,你积点口德好不好!这明显是阿飞捡来的嘛!”“都在放屁,这是老子花了一千块钱从二手市场买的!”
  那是一辆嘉陵牌125型摩托,估计上世纪八十年代的产品,从外壳看大约有三成新,这说明它的原主人对它爱护有方,但还是能看出来它的主要骨架已经伤痕累累,也许它曾让几个它曾经的主人架鹤西归,这是我看到阿飞的爱马第一眼的感受。后来经事实证明,这车最大的特点就是象女人一样每个月来一次月经,主要表现是每隔一个月左右,化油器的螺丝就会松掉,往下漏油。
  就是这辆烂摩托,在以后两年的生活中带给了我们多余的痛苦和快乐,尤其是阿飞–至今为止我还能清楚的想起两年后阿飞临走时说的那句话,他是流着泪呜咽着说的“平生,我最爱骑的两样东西,一个是我的摩托,一个是我的女人,现在,只有我的摩托不会抛弃我……”
  
  32
  在我这一生中,我犯过不少恶劣的不可原谅的应该受到上帝惩罚的错误,可是幸亏没有所谓的上帝,否则不仅仅只是我一个人要遭到雷击。
  在我这一生中,我想自己在三五之前还没有那样伤害过一个女孩。她的腰固然粗,可长相也没有到影响市容的地步,而且具她自己讲,她爱我。而我现在才知道,这世上能找到只爱我的人的人并不多–或者说十分的稀少,现在围在我身边的女人,或者是围在我钱包旁边的女人,她们说句我爱你,就象放一个屁那么容易。
  一个长的不漂亮的女孩,如果她主动象你示爱,那是需要付出别人几倍的勇气的。无论以前她有多么坚强,她那颗赤裸在你面前的心,面对着她爱的人,也会变的脆弱,易受伤害……我不知道年少的自己为什么那么残忍,用那么卑劣的手段去对待一个爱自己的女人。
  
  33
  和三五那件事发生或不到一个星期,此事已传到了很多人的耳中,包括那些君子,阿尘,阿飞还有蓝深,以前君子实在躲不过和我狭路相逢时还能勉强和我打个招呼,可是现在他们改为吐痰了……君子憎恶我,因为他们认为我诱奸纯洁的女孩。我的朋友耻笑我,因为我他们认为我诱奸这么丑的女孩……
  蓝深终于找我谈话了,因为她是三五唯一的朋友。面对蓝深一个漂亮的我喜欢的女孩时,我羞愧难当,心里充满了对三五的懊恼,于是一个恶毒的计划在我的脑海中诞生了……
  34
  狗日的兴高采烈的找我,向我汇报昨晚的战绩,“阿扬,你小子真够意思,把一个处让给我¥%••……”我问他干的爽不爽,他说爽是爽,只是时间太短了,我说没有关系,处男都这么短,以后就会长的。他笑嘻嘻的问我的时间是不是很长,我心里在想,大概会很长吧,因为我和我的手做的时候时间就比较长……
  晚上我躺在床上,心里宽慰了许多,这个计划如今已经被成功的实施了,狗日的的成功对我的重要意义有三“1 三五和狗日的干时还是个处女,那就说明我现在还是清白的,2 三五以后不会再来纠缠我了,3 蓝深对我的厌恶也会涣然冰释,朋友们也不会再耻笑我,简单点说,我成功的逃避了自己所有的责任。我不想过分的谴责自己,因为大多数男人,在他们成长的路上总是先学会逃避责任然后才学会承担责任的,而有的人一辈子都学不会负责。
  当晚,在我的梦里,那天发生的事,再次重演。
  我和狗日的还有三五坐在那家小酒管里,我忘了自己究竟说了多少昧对良心的谎话灌三五喝了很多酒,最后醉的象头死猪,我和狗日的费了好大力气把她拖回她的住处,然后狗日的在我的教唆下便留了下来……
  我似乎听到了三五在亲吻狗日的的时候嘴里喊的是我的名字;我似乎看了她酒醒后哭泣的脸;似乎闻到了淌在床单上象未盛开的玫瑰花蕾一样颜色的处女的血……但,那时的我只会在梦里良心感到不安,我醒来的时候,只会想到这事不久就会传到蓝深我的朋友,那些君子的耳中,因为很相信狗日的的那张象大喇叭一样的嘴。我和三五间,将不会再有瓜葛。想到这些,我就兴高采烈。而我需要做的是,竭力忘记那天夜里,恍惚间应该是我主动抚摸了三五……
  
  35
  世事依旧太平,时间以其正常的速度流逝,大学里的那帮莘莘学子依旧井然有序的干着自己不该做的事–翘课,在不该睡觉的时候睡觉,整夜的上网,考试作弊,同居……
  他们中有些是成功的人,经常拿奖学金,固然他们有一些实力,但仍不放过可以作弊的机会。我和无可救药的那帮人私下讨论认为,为了不挂课适当的作弊情有可原,为了拿奖学金作弊则是罪恶滔天!你知道,我们经常这样五十步笑百步……
  还有些成功的人,他们获得了自己的爱情,暂且先不考虑他们是否知道什么是爱情,至少他们打着考研的大旗在外边租起了房子,过起了同居生活,如果床不结实,则每天夜里床都会摇晃,他们从此有了固定的苟合场地,彼此相互满足了生理和心理的需要,他们不必再象我们一样做那件龌龊至极的事–手淫,他们在大把大把的花着父母的血汗钱,而他们的父母在家里是那么骄傲的对邻居说“瞧俺家孩子,要考研了

  36
  和别人比,我的大学生活极不成功。我想学好,可是学不好;我想学坏,可又学不坏,我在这两者之间徘徊……,给人的感觉是颓废。
  我想学坏的具体表现是,我一直在试图尝试一个女人,一个真正的女人,每每这个念头持续过久,所引起的唯一后果便成了–手淫。只有在手淫后我才能忘却什么,规规矩矩做些自己应该做的事,而不是去浏览黄色网页,翻阅色情画报,象一只发情的公狗一样在大街上四处张望……
  我的个子不算矮,我长的还是有点帅,我想找一个女人对我来说并不是件多么困难的事情,但是我很腼腆。当面对女孩时,就算我只有一点点不良的念头,我的脸都会变的通红或者不知所措……所以我经常上网,在网上大胆的裸露自己的想法,最初,我在键盘上敲出那样的话时,我的脸一样会象火烧一样发热,尤其是当我被对方痛骂时……后来,在网上,我已经可以象一个禽兽一样满口说的是下流卑劣肮脏的话,丝毫没有内疚感……
  到后来,我逐渐知道,很多人是和我一样的,也可以说网络是一个供人类倾斜兽性的虚拟垃圾场,在这里,你可以看到人类更真实的一面,我们只是一个个装满欲望的躯壳–有的人暴露,便成了垃圾,有的人伪装,便成了君子……
  
  37
  大二的后半年,我最喜欢做的事有两件,第一件是上网,第二件是骑着阿飞的破摩托去见网友,做这两件事的时候我总是乐此不疲。
  有人可能要问我不是最喜欢手淫吗?男人谁他妈的想用手啊,假如自己有女人的话,古人告诉我们铁杵都能磨成针,何况那根看似坚强的生殖器呢,我们用手,实属被逼上梁山。总之,我上网是为了泡妹妹,我泡妹妹是为了戒掉手淫。
  当然我不是一直用下半身思考的人,在我眼里,性和爱是分开,我也试图爱过,并希望以此化解我的性压抑,可是我爱的人我却不敢爱,我在大学里唯一爱过的一个女孩是蓝深,我的铁哥们的马子……
  当那天看到阿尘和蓝深手牵着手并肩走在校园里时,一种悲凉凄惨的感觉忽的勇上了我的心头。那时那刻,我真想揍阿尘一顿,可是我没有理由去那样做,或者,很可能反过来被阿尘揍一顿……她毕竟是我最好的朋友的女人啊,我只能打消这个念头,悄悄的,在心里喜欢她……
  这种绝望让我开始变的孤僻,开始喜欢一个人独处。我于是天天上网,希望能用肉体上的东西来弥补心灵的缺憾,我知道自己这样做真的很幼稚,可是我们年轻的时候谁没做过幼稚的事情呢?
  
  38
  大二下的时候,阿飞也有了自己的女人,听说那个女孩大他五岁。
  这事对于我来说很突然,记得那次阿飞骑着他的破摩托回来时,后坐上居然做着一个漂亮的女孩,那个女孩长的非常漂亮,我是说当女孩和他的破摩托相映衬的时候。
  从前阿飞偶尔离校,有了女人后是偶尔回学校;从前阿飞不注意打扮,从不买新衣服,有了女人的阿飞开始注意打扮,经常抢我的衣服穿;从前阿飞三天抽一包烟,有了女人后一天抽三包,或者确切的说,一天要花更多的时间来拣烟屁……有了爱情滋润的阿飞,从此变的更有忍耐力,面色更苍白,身体更加瘦弱,债台从此高筑……
  
  39
  阿飞说他爱他的女人,我不知道他说的是真是假,因为我连什么是爱都不知道,我只知道,只要一个女人长的漂亮,我就可能爱上她,这应该是人类最朴素的爱情了吧。
  阿飞爱他的女人不要紧,他向我借钱的频率也随着他的爱增加了,每次远远的看到他走来,我做的第一件事就是把兜里的大面值钞票(注:超过五元的)藏起来,请不要说我自私,因为我跟本不喜欢他的女人,如果他的女人爱他,还能看着他在苦难中折磨,并且还忍心花他的钱吗?我没有爱过,但是我知道,什么叫对你好!当然,这也许只是我自己的一个借口罢了,即使那个女人很好,我也同样不能拿自己的钱去给别人的爱情添砖加瓦,比如阿尘和蓝深……
  爱情对于我来说是奢侈品,可是对于比我还困难的阿尘和阿飞,还有许许多多 花着父母血汗钱的大学生难道不更是奢侈品吗?或许我说这些是有种一种吃不到葡萄说葡萄酸的心理。假如有一天,我也能找到我的她,我会告诉自己,年轻人,免不了犯错误,青春的错误,是美丽的……
  
  40
  我说过我大二的时候,最喜欢做的事是上网和骑着阿飞的爱马去见网友,因此我记不清自己在网上曾非礼过多少女孩,我和他的爱马见网友的时候受过多少惊吓……网上最喜欢见面的多是食肉恐龙……
  每次,我在网上,打开QICQ,都疯狂的加着重庆的女人。最初,我在验证里打的话是“我们可以做情人吗?”第一次说这话的时候我脸红且心跳,而且,记得那天我挨了不少骂,并且连累了我的妈妈和祖先;后来我愤怒了,在验证里说“我们可以一夜情吗?”说这话的时候,我的脸还是很红,结果我再次连累了我的妈妈和祖先;我也曾试过很文雅的去说,比如我曾费劲心思编了一首很含蓄的诗“一夜情虽短,露水缘却深”我把它用在验证里,结果很多人通过了我的验证,之后她们和我说的第一句话是“你刚才说的那句是什么意思啊?我不懂”结果,这次是我先糟蹋她们的母亲的,可见重庆的文化教育还跟不上……
  绝望的我开始自暴自弃,有一天我在验证里的首发阵容是“我想日你,你愿意吗?”我终于成功了,她说她愿意–一个叫“猫一样的女人”的女人……

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)

  15
  晚上十点半,我和阿尘已经整装待发了,临走前阿尘还特意带上了两个避孕套,可见这小子是下定了决心今晚要牛刀初试。
  走在通往校门口的荫道上,我们亲眼目睹了路边椅子上的板条是怎么断的,一个屁股大点的地儿却要承受两个人的重量能不断吗!
  阿尘的眼睛闪着荧荧的绿光,尤其当看到一对对野鸳鸯在那破坏公物的时候,他更是忍无可忍得说了一句经典“日,好逼都让狗操了。”我说“你他妈的还嘀咕啥啊,一会你也是要当狗的人了。”他傻笑了一下,咕嘟咽下一口吐沫。
  我们来到了和那MM约定好的红岩广场,等人的时候,阿尘一直在埋怨我下午把时间定地这么晚,害的他几个小时一直在欲火中煎熬,虚度了年华,我说你懂个屁啊,这个时候是见面的最好时机,其一,十一点,女性容易产生性幻想,时间上容易直奔主题,其二,十一点人迹稀少,环境适合直奔主题,其三,十一点寝室已经马上要关门,可以有理由直奔主题。阿尘又问,老大,什么是直奔主题啊?我真是没有语言了,我说你就是你爹娘直奔主题才出来的,懂没得,实在不懂今晚你在旁边看着,我教你!
  我们等到快十一点的时候,一位个子高挑,波涛汹涌的MM朝我们走过来,我看了阿尘下面一眼,发现那个地方很明显鼓了起来,此时我的心里也是悔恨万分,早知道当初真他妈的不该发扬风格。周围很静,那妹妹离我们越来越近,我和阿尘彼此都能听到对方的心跳……
  后来那美眉从我们身边走过去了,留下一阵香气,我们后边跑过来一个西装革履的男人一把把那个女的揽在怀里,“日,好逼都让狗操了”我和阿尘同时说……
  等到十一点十分的时候,属于阿尘的MM还没有出现,我开始怀疑阿尘那块烂表是不是不准,就建议他去问问一直站在我们旁边的一位男士,确定一下现在的时间。
  后来我们是连滚带爬地逃回学校的,本来我是不用逃的。事情的原因是这样的,阿尘去问为男士的时间时,发现那个男人其实不是男人,只能依稀从声音中辨别出来,她问阿尘“你是不是那个绝色好男人?”阿尘马上反应了过来,他指着我说,那个是……
  这件事后来成了我和阿尘的梦魇,为了健康起见,我们约定以后不准在饭前,也不准在饭后至完全消化前谈这事……
  
  16
  我一直没有告诉阿尘,那其实也是我第一次见网友,经过那次噩梦后,一个月内我彻底打消了在网上猎色的念头,甚至连手淫都没有了兴趣,没有性的干扰,结果让我在一个月后的期末考试中拿了一等奖学金。这就是我所说的“塞翁失马,福祸焉知”……”
  大一那年,我,阿尘,还有诸多象我们一样的混混,基本上顺利地通过了期末考试,没有几个人挂了科,挂科的反而多是那些每天认认真真读书的君子们。因此在君子们之间流传着这样一句话,“这世道乱了,坏人当道,好人吃亏……”。
  他们对我们已经忍无可忍了,但我能理解君子们,我们每天逃课,吃喝玩乐,把大部分时间用在泡女孩子上,只有个别的时候会看看书,考试却能安然无恙地通过,而且个别的还拿了奖学金,比如我。
  而他们呢,手里拿着书,可是脑子里想的往往是女人。性压抑给年轻人带来的坏处在君子们身上就能看出来了。这不是说我们这些人经常滥交,相反,时常和女孩子交往,偶尔看A片,能让我们正确地看待女人这个问题,还有个好处是我们在自慰的时候便有了足够的意淫素材。而有的君子为了得到素材,居然去女浴室偷窥……
  
  17
  认识阿飞,是在大二刚开学时的军训。我们学校也是够变态的了,居然把军训安排到大二,大二的时候,我们已经习惯了大学里懒散的生活,习惯了无拘无束,连君子在内都成了一群无组织无纪律的坏青年,而这时候军训带来的痛苦是可想而知的。这场军训带来的唯一好处就是认识了阿飞,这才有了后来闻名校园的的三个火枪手,即,阿尘、阿飞、和我–阿扬。
  大学的军训,毕竟是件新鲜事,尤其是听老前辈说还可以“发枪”。我突然想起儿时一个常玩的游戏,我和我的伙伴们手中持有完全不自动的烧火棍型步枪,这种枪最大的特点是无扳机,无震动,而且是声控发射,至于是否击中对方完全要凭对方的自觉。
  开始军训一个星期后,果然发枪了。发枪的那天,每个人的心情都很激动,军训以来第一个高潮出现了。枪发到手后,连长让我们检查手中的枪有什么毛病赶紧报告给他,以下的报告真是当今军事史上一大奇谈……
  甲:报告连长,我的枪没有扳机!
  乙:报告连长,我的枪没有枪拴!
  丙:报告连长,我的枪没有枪管!
  ……
  几乎每个人都做了类似如上的报告,这说明我们手中的装备未必强于儿时的烧火棍,它们很沉,十多斤重,大热天扛在肩上很容易中暑。但有一个人的报告不同,他说“报告连长,我的枪没装子弹”,那个人就是后来的阿飞,但当时我不知道他的名字。
  我,阿尘还有阿飞在一连,二连是我们的姐妹连,她们就在离我们不远的地方训练。我们有一个项目是练习打靶瞄准。为了调动大家的积极性,一连和二连的连长决定进行对抗性练习,于是我们在训练场上一字排开,趴在地上,对面是二连的女生。我们手中端着生了锈的三八大盖,而她们拿的是小巧的五四型冲锋枪,这让我们心理很不平衡,以致于趴在地上没有心情练习,有的人还睡着了被教官踢了好几脚。而我旁边的一个小子却丝毫没有怨言,很认真地在瞄准。他一脸淫笑,十分满足和快乐,我不解,于是在休息的时候向他请教。后来他获得快乐的方法在我们连中得到了普遍推广。以后的打靶中,我们把枪口对准二连女生的胸部、臀部,每勾一下扳机,嘴里同时给这一动作配音“啾”,然后脑袋里幻想着击中部位的柔软,不知不觉口水就淌下来了……诚然,这样做的确快乐多了。告诉我们这个聪明办法的小子就是阿飞。
  后来在休息的时候,我做过一个调查,一连几乎百分之百的战士打靶时都是这么熬过的。然而,这么干还有一个问题比较痛苦,其实男人意淫时趴在坚硬的地面上很不好受,太过投入时,下面会充血,充了血后的下等兵却被坚硬的地面硌地生疼。于是我们又悄悄地请教阿飞,这个问题应该怎么解决,阿飞神秘地笑一笑,拿起手中的枪,用刺刀在地上挖了一个小坑,说,“这样就硌不到了”……高,真是高啊!我们都发出了赞叹。于是,后来的打靶练习中,我们起立时,很多人趴过的地面上都有一个小坑,看到这些坑后,阿飞却在笑,后来,经过我仔细观察,发现他趴过的地方并没有坑,只是他在训练半途时都会向教官请一次假上厕所。我一下明白了,操,这小子自己去厕所打靶,而让我们这些兄弟在这苦苦地挖战壕……
  这就是阿飞给我的第一印象–不仅聪明而且缺德!
  
  18
  还记得我们军训那年,重庆的天特别热,在这个蒸笼里的女人们都有一种冲动–想把自己脱地一丝不挂。于是行走在大街上的重庆女人,你必须仔细看才能发现她们实际上穿着衣服。女人这样的穿着,经常让走在旁边的男人突然撞到树上,何况坐在车里的司机呢!这也是重庆多发车祸的一个原因吧。
  然而,在这样的情况下,却有一群人被迫把自己裹地严严实实,活象一堆会走路的绿皮粽子,他们是大学生。如果从变态的角度来分析,人大体可以分成两类,一类用虐待他人的方式获得快感,一类则从他人的被虐待中获得快感,这就是所谓的“SM”,我们的教官属于前者。
  那一年军训中记忆尤深的是,一天,我和阿尘、阿飞先后被教官选定为差劲生,编在一起特别培训。特别培训的方式主要有以下两种,第一,在烈日下曝晒,直到其中一个先昏倒,连长说这叫“站军姿”;第二,趴在地上往前爬,直到其中一个大腿血肉模糊,连长说这叫“匍匐前进”。在进行第一项训练时,趁教官不在,我们商量后决定一起昏倒,于是,在站了一个小时零八分时,我们三个集体向后倒下去,像三个仰壳的王八。
  这并没有吓着连长,他看到后赶紧跑过来训话,大概意思是让我们三个赶快起来,别压坏了身下的女同学。事情是这样的,我们倒下去前,碰巧遇上二连的女战士在我们身后休息,所以我们才放心地倒在了花丛中。阿飞说:“连长,不是不想起来,是真的没有力气站起来了,连腿在内,浑身都很软。”,其实浑身最酥软的应该是阿尘,他躺在了一直心仪的女孩怀中,我看到了那个女孩子脸色羞红,眼神中充满了爱怜,手臂不自觉地把阿尘的脑袋轻轻托起……
  连长毕竟是连长,他过来挨个把我们象王八一样翻过来,说“那就不用起了,给我练习匍匐前进,直到把裤子磨烂!”起初,我们三个象练习自由式的乌龟,以每分钟一米的速度向前====,连长看到后,跑过来挨个在我们屁股上踹了一脚。之后,我们象逃命的蟑螂,飞快地向前爬着,一直爬到了操场的围墙下,等连长发现时,我们已经爬过了围墙,爬到了校外的马路上,酝酿了重庆市区的一场交通大堵塞。
  这下可把连长吓坏了,他和我们的辅导员亲自赶到现场,当时我们三个趴在地上,确实已经没有力气起来,路上的汽车已经连起了长龙 。我趴在地上,在昏过去之前做的最后一件有意义的事是,把视线调整到一定的角度,这个角度刚好能看到辅导老师的短裙里穿的黑色内裤。
  
  19
  军训的最后一天我们三个是在医院里度过的,我们讨论最多的是关于辅导员老师的内裤颜色的问题。
  我们不愧是兄弟,简直心灵相通,在我告诉他们我临昏迷时观察到的景象时,阿飞和阿尘都大笑,原来他们也充分利用了这个机会。我们的分歧是,我和阿尘都说辅导老师穿的是黑色内裤,只有阿飞坚持说她没有穿。当时我和阿尘的态度非常坚决,现在我想起却有点犹豫了,我想起那之前我和阿尘接受的性教育来源于欧美的A片,欧美风格的特点是女主角统统剃干净了体毛,实际上那天看到的那片黑很可能不是布料的颜色。但当时我们还是争论了很久,最后聊天的主题很自然地从辅导员身上扩展到了全体女性。看到这的女同志大可不必惊讶和害怕,所有男人在一起谈论最多的都是关于女人。只想不说的男人才值得注意和防备,据我所知,性压抑容易引起性变态和性暴力,这是科学家说的……
  我们三个火枪手的行动造成的后果是,让连长受到了上级的处分,这一消息大快人心,一连所有受过摧残的花朵竞相奔走,很快就传到了医院里。我们受到的待遇是英雄般的,床头丢满了鲜花和水果,几乎系里所有人都知道或想知道我们的名字。
  第二天早晨,阿尘和阿飞正在做梦,一个一身蓝色的女孩子轻轻地推开门,怯生生地走到了阿尘床边,我看到了赶紧想把阿尘叫醒,那个女孩就是传说中阿尘以前的相好。
  阿尘睡觉时象头死猪,哼哼了两声翻个身又睡了。于是,我想下床把他揍醒,女孩制止了我,我借机会打量她,发现她的眸子里好象隐藏了很多忧郁,就和她的一身蓝色一样……她的确很漂亮,怪不得阿尘迷上了她。可是她为什么看上阿尘这个小子一直是个迷,让我想三天三夜都想不出阿尘有什么吸引女人的地方,何况是这么漂亮的女孩子。当时我想着想着居然吃起醋来,心里非常郁闷,干脆就跑到厕所里发泄去了……
  我回来的时候女孩子已经走了,阿尘和阿飞还象死猪一样睡着……
  
  20
  那段日子,每天总有这样一个时候,一个美丽的小护士走到我面前,说“脱”,然后我用非常缓慢的动作把裤子褪到后腰,露出屁股,在她弯下腰的时候,我尽力抓住每一个机会直勾勾地看着她,视线正好能顺利穿过脖领与胸口第一个口子间的空隙。每次打完针我都要跑到厕所里趁记忆变的模糊前在大脑里幻想和她那个的情景,幻想着她娇生生地低吟“注意,我插进去了……”那时,针头的进入对我来说已经代表了更深刻的含义,毕竟那是我和她唯一的结合方式……
  阿尘和阿飞在打针的时候脑袋里也未必想着好事,被插后我们经常会在厕所里相遇,这件事就可以证明。
  我们三个本来想在医院多住几天的,三餐免费,空调开着,医药费报销,还有漂亮的小护士为你服务。这种生活才是社会主义啊!
  但,一切随着那个老女人的出现而改变了……
  第四天的早晨,我们等了好久那个小护士都没有出现,突然屋门被粗暴地推开了,一个满脸褶子的老年妇女走了进来,她虽然也是穿着洁白的护士服,可是怎么看都不象白衣天使,她的腰是那么粗,乳房虽然大,但是却下坠到小腹的位置。那天,当针头轮番插入我们臀部的时候,我们都有种被强暴的感觉。
  可以说做这个决定是我们的自由意愿,也可以说做这个决定是被迫的,总之,我们住了四天后就出院了……

 21
  大学的日子里,有时候,我会感到莫名的无聊,于是,为了调节一下生活,偶尔也会象君子们那样去上上课。
  那天,我决定去听节课感受一下大学生活,前天晚上打好招呼,让阿尘第二天早点起来去教室帮我占个座位。
  我讨厌占位置,也讨厌占位置的人,主要原因是–我很懒,所以我讨厌过于勤快的人。据我观察,我们学校的女生很热衷于占位置,她们一个人就占一大排,宁可空着也不让别人做,俗话说这叫占位不拉屎。我讨厌自私的女人,所以那时的我发过一条毒誓,以后坚决不娶大学时喜欢占位置的女人,
  七点四十左右,我急匆匆的从床上爬起来,左手持一根油条,右手持一杯豆浆,赶到教室,找了一圈,发现阿尘这个傻X象哈儿一样的蹲在墙角。
  “你他妈的来这么早,一个位置都没有占着,干什么吃去了?”阿尘无辜的说“老大,你别怪我啊,我来的时候位置就已经被占光了……”我环视一周,发现几乎所有的桌子上都仍着几本破书或纸片。这些就是她们占位置的法宝,好比公狗在电线秆子底下撒的尿一样。
  我心里暗骂着 ,走到一排还没有人来的位置,把桌面上的书全都收起来,随手扔到了墙角的纸篓里,阿尘有点害怕,我说“你他妈的还愣在那干嘛,过来坐啊。”我心里其实也怕,我深知道世界上有种动物非常凶猛,轻易不能招惹,男人都知道,这种动物学名叫“女人”。
  十分钟后,踏着上课的铃声,一群女生从教室的后门鱼贯而入,大约有一个排的人往我们这个方向走了过来。阿尘的手开始抖了,我他妈的也害怕啊,这七八个女人中至少有半数的体重是在我之上的,根据这地面的震动就知道了。
  片刻,为首的女生娇呼了一声“妈呀,昨天晚上明明把书放到这了啊?怎么不见了呢……,谁这么缺德啊!”另一个女生说“算了,反正是都是《党的生活》不值钱,我们不是在前排也占了八个位置吗?”又一个女生说“我也占了一排呢,但那些位置只放了报纸,早被缺德的人扔了,现在的大学生真没素质!”
  我听着她们的对话心里这个来气啊,但又不能发作。那几个女生坐下后,其中一个向我们走过来,她问“同学,你们有没有看到桌子上的书啊?”“没有”我冷冷的回答。她继续说“同学,这个位置是我们占的,麻烦你们还给我。”我说“凭啥啊?”她一下毛了,冲我喉“你这人怎么这么没有道德啊,简直是不要廉耻#¥•#%•%¥•#¥……”最后,我只说了一句话“小姐,我想对你说的话你自己都说了……”
  幸亏讲台上的那个老头及时的咳嗽了两声,避免了一场血案的发生。后来,她一屁股坐在了我的椅子上,地面随之一震,她那肥大的臀部险些把我挤掉在地上,我日哦,我见过不要脸的婆娘,但是就没有见过象她这样不要脸的。如果她那张脸不象板砖,如果她那腰身不象水桶,那天我算是拣了个便宜,然而现实却是残忍的,操他妈,那节课我是咬着牙挺过的……
  好不容易挺过了这节课,我逃出了教室,在走廊里抽了一支烟,才想起阿尘还在灾区,于是准备回去救他。我发现原先属于我的那半个位置上已坐了一个女孩,由于地方狭窄,那个女孩的身体都快贴到阿尘身上了,阿尘一脸的陶醉,面泛桃花,我定睛一看,那女孩居然是他以前相好的那个……
  操,我更郁闷了,或许,这就是傻人有傻富吧……
  
  22
  快到吃午饭的时候,阿尘风扯扯地跑到我的圈里找我,他一见到我就上气不接下气的说“阿扬,想问你一个事儿,请女生吃饭,该吃什么好?”我爱理不理的说“问你自己兜里的钱吧,它们比我清楚!”,这次我的回答聪明多了,记得上次他也是这样跑来问我“阿扬,请女生吃饭该吃什么好?”我给他的建议是去吃火锅,结果他把我身上的钱都抢走了。
  也不知道是哪辈人留下的传统,男人请女人吃饭是天经地义的事,尤其是在大学里。也许她们也知道男人请她们吃饭只是一个圈套,但为了上面那张嘴,有些女人宁可让下面那张嘴冒风险。阿尘是个好男人,对于贪嘴的女人简直是有求必应,但他从来都不利用饭局勾引女人,别人都说他有男人的风度,但我认为,阿尘其实是有色心没色胆。
  阿尘这顿饭吃的可真够久,下午三点多才回来。他又兴匆匆的跑来找我,跟我说他也是吃过西餐的人了,我心里一惊,天啊,那东西吃一次至少要上百啊,这么说他这个月的经济危机又要提前到来了,我怎能忍心眼睁睁的看着他活活饿死……
  后来,更让我感到吃惊的是,他又说这顿饭是一个女孩请的,我松了一口气,但心里泛着一点点醋意,再后来,听完阿尘说完整个事情的经过后,我的醋意全无,胃里却开始冒酸水。原来请阿尘吃饭的不是漂亮的蓝衣女孩,而是上午和我抢坐的肥肥……
  事过多年,这个肥肥的名字我早已经忘记了,或者一直就不想知道。只记得当时我们都管她叫“D35-35-35”,简称三五,这不是在说一种烟的名字,而是说此女人的胸围、腰围、臀围都是35,整个看起来象只水桶。
  
  23
  不知道有多少人想过这样一个问题,男人和女人做爱是面对面合理还是像狗一样面对背合理……
  我在大学时虽然没有具体实践过,但曾在理论上深刻研究过这个问题。
  我大二那年,在图书馆中发现了一本史书,是北京某教授编撰的,我只用了一天的时间便如饥似渴的读完了。此书的名字是《人类性史进化论》。此书所证明的结论是做爱的姿势与体位的变化乃是促成由猿进化成人的最重要的原因。他的大概理由是自从人类学会了面对面做爱后,便可看到对方的表情变化,长此以往,原先单纯的动物交配行为便转化为复杂的爱情行为,人才之所以为人。
  可见,对于性这个问题我从一开始就学会客观的对待,我每次想到这个问题都是抱者严肃的态度的,可是我的下身却免不了充血,我已经得到了丰富的理论知识,做为一个正常的青年,我更想去实践一下啊。
  在青年心理学的课堂上,我们的导师一本正经的教育我们正在成长的这段时期要正确的看待性,不要对性太好奇,不要把时间用在追求性上,要建立自己崇高的共产主义理想,虽然我们亦知道长辈们说的有理,可我们真他妈的做不到,处在性压抑状态下的我们怎么可能不对性感兴趣呢?说这话的人是饱汉不知饿汗饥啊。
  其实每天夜里临睡时,我免不了要胡思乱想,想着想着就充起血来了,而我又能怎么办呢,我也在想,也许此时此刻,就在这个校园里,亦有许多女性同志同在思春,本来我们可以互相帮助,共同灭火的,可是,所谓的道德是不允许我们这样做的。这是实在没有办法的办法,我选择了手。
  我的第一次在16岁时就献给了自己的左手,可见左撇子也难逃自赎的命运。
  阿尘送给我的十只避孕套只剩下两只了,其余八支都在和自己的手====时用掉了,让我心理稍微有点安慰的是,阿尘的套子大多也是这样物进其用的,但或许他的机会来了吧,我想起了那个蓝衣女孩,并深深的咽了口口水……
  
  24
  我在重庆混的那几年,天空经常是飘着鸡毛小雨的,这让我倍感压抑。在这样的天气里,我分不清黑天和白夜,于是,我总躺在自己的那张堆满垃圾的床上,用被烟头烫的伤痕累累的蚊帐把自己遮地牢牢的,怕君子看到自己,更怕自己看到君子。
  如果早上起来,发现天上能看到太阳,这便构成了今天逃课的理由,毕竟课常有而太阳不常有。我们一群色狼在校园里,大街上,任何一个美女可能出现的地方守侯着她们的出现,我们管这种行为叫打望。每每我们会找到一个美女必经之地,在那附近潜伏起来,比如女厕所、超市、一切能刺激女人消费欲和虚荣心的地方。
  打望,如果有条件,配备一副墨镜是必需的,这倒不是怕阳光刺痛了眼睛,而是为了不让美女发现你目光正扫射着她的关键部位。曾经,阿尘在打望一个美女的乳沟时被她发现了,结果差点挨了一耳光,第二天我们便买了墨镜。
  大街上的美女是来来往往,可惜,一个都不认识我们,我只能干咽着口水,阿尘看的也是面红耳赤。这时阿飞便语重心长地对我们说“孩子们,你们要好好学习,以后看上哪个就要哪个……”
  每次打望归来,我们都会努力读书好几天,正是这些原始的理想推动了我们前进,促使我们奋斗。我告诉了大家我的秘密,稍微有点感到惭愧,因为那时的我真的不知道什么是崇高的理想,君子们知道吗?我只知道,作为一个凡人的我在没有满足这些最基本的物质生活条件前,理想是不可能超脱欲望的。
  我二十岁那年,是个热血青年,一看到身材好的女人浑身的血液就接近沸腾。我二十岁那年,没有什么崇高的理想,要说有,那只有一个–尝尝真正的女人是什么滋味。
  
  25
  自从阿尘和蓝衣女孩关系开始密切起来后,我和阿尘的关系开始疏远了。他没有做错什么,错的是我,是我看不惯他身边有个美女,我是希望阿尘过的好,希望自己的朋友过的比自己好,但那是因为他们过的确实没有自己好,一旦他们过的比自己好时,我就受不了了,这就是所谓的失衡感吧。
  那天中午,我正寻思着一会吃什么,阿尘跑过来找我,说她的相好要请我去蒙古人吃午饭,能省一顿算一顿,我当然乐不得的答应了。
  当我和阿尘到了学校附近的那家小餐馆时,看到一个东西后,我的食欲利马全无。那个东西就是先前我说过的身材象水桶的三五。最后我还是硬着头皮坐了下来,阿尘先把我介绍给她们,然后他又把她们介绍给我,我没有记住三五叫什么名字,只记住了蓝衣女孩的名字叫蓝深。
  本来,我是个巧舌如簧的人,可那天中午我没有说什么话,变的沉默寡言。后来,蓝深居然给我碗里夹菜,这让我很感动,因为再没有什么比美女的口水更香的了,阿尘见状,心里有点不平衡,便在底下嘀咕“我也想吃,我也够不到啊”,这话不幸被三五听到了,于是她夹了一筷子肥肉扔到了阿尘碗里。
  这顿饭快吃完的时候,蓝深对我说话了“阿扬同学,我替我小妹向你道个欠,那天在教室里是我们的不对!”我赶紧满脸堆笑地接应“哪里哪里,是我们不对,不应该抢你们的位置”我们就这样假惺惺的彼此客套着,在客套时,我的余光不小心瞟到三五,发现她面带娇羞,好象在直勾勾的看着我,我的心不禁打了个寒战。
  最后客套的结果是,那顿饭是我买的单。我提出要买单时只是想客套一下,谁知道这两个小娘们居然也不跟我争了,这时,我他妈的才知道自己中计了……

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)


  我是一个拄着拐棍的疲惫的精子,一个寻找着生命的精子,我带着关于生命的错综复杂而又无聊至极的秘密,我和其他精子一起盲目地奔跑,我没有什么机会,我跑得不太好,我深一脚浅一脚,我跌跌撞撞,除了奔跑我无所事事,我不能停下喘息,也不能四处张望,因为我是在潮湿而黑暗的下水道里,而不是在有着花朵和光明的天堂之中。
  (摘改于—石康的《支离破碎》)
  
  1
  回忆起来,我们的青春好象是这么消逝的:我们一直试图尝试那些我们没有做过的东西,追求一些脱离现实甚远的理想,感叹自己提早到来的沧桑,伪装自己在体内萌动的各种欲望,我们经常大彻大悟,然后发现自己原来对这个世界一无所知……我们在一个个未知的迷题中挣扎,徘徊,我们经常会在探索关于生命的奥秘中迷失自己,于是一种绝望的感觉在我们心底油然而生……
  
  2
  我们因为爱而生,因为爱而爱,因为爱而死。从我们诞生在这个世界的那一时刻起,我们就无法回避关于爱的一切,这是我们与其他动物的区别之一。
  
  人之初,在很长很长的一段日子里,我们将不可避免的忍受着因为爱的渴望而引起的煎熬,在那个热血很容易沸腾的年代,我们学会了用手去爱自己——但,请不要认为自己的灵魂是那样的肮脏,请记住,手爱也是种爱,它是对自己灵魂的救赎,对他人的负责——人,要先学会爱自己才能爱别人……
  
  3
  青春总是伴随着一些快乐和更多的伤感,在青春的路上走着的人,更多的是找路的人……
  看不到自己影子的年轻人,请不要彷徨,那是因为你们背对着黑暗……
  不要再为迷茫产生无助的恐惧,我们只需并肩朝前走,朝着能感觉到光明的温度……
  
  4
  总有那么一天,我们的某些回忆,就象燃剩的烟灰,风一吹,便碎了……
  在碎之前,我愿用笔把它们保留……
  那些回忆好象一个个的脚印,一部分留在了不应该走的路
  如果你们看到,请绕而避之……
  
  5
  在一个夜深的时刻,在一个青烟缭绕的屋子里,我开始粘合那些有关爱的记忆碎片……
  请试图保持着微笑去看……
  
  6
  我十八岁那年不幸考入了大学,因此认识了很多混蛋,最出格的两个便成了我的铁哥们。
  我大学里的两个铁哥们分别叫阿尘和阿飞,他们管我叫阿扬,我不喜欢这个名字,因为和阳痿的阳谐音。
  当年,我们住的那趟走廊里流行这样一句问候词,就像问“今天你吃了吗?”一样自然,那句话是“今天你手淫了吗?”
  带头大哥是阿尘,在那次心理学院组织的关于大学生手淫的社会调查中,他把自己手淫的频率,每次的时间,用什么方法,在什么地点都如实填在报告单上了,因此他被一些君子在背后扣上厚颜无耻的帽子,所谓君子是这样的一群人,虽然他们也会在床铺上,厕所里,洗澡间等隐秘的地方干着同样龌龊的事,但他们没有承认的勇气,他们的勇气都用来在背后品论别人了,我说君子们也干这事不是瞎猜,你看他们手上的老茧就知道了……
  大一时我住在一个废弃的垃圾场里,一天,地面上堆满了瓜果皮,吃剩的猪食,装过尿的可乐瓶,擦过鼻涕的卫生纸,还有用过的避孕套……等等,惨不忍睹,结果那天的卫生大检查中我们圈被评为脏乱差之最的圈,这到没什么,关键是那只用过的避孕套让团委老师临走前说了一句话,她说“扔这个的人明天到我办公室来一趟……”
  这些宝贝中只有避孕套是我扔的,其实我也不想让它这么名目张胆地躺在地上,记得昨晚扔之前我好象随便从《花花公子》上扯了一页给裹住了,估计是君子中的一位被那页吸引了,然后顺便我的罪证露了出来,这让屋里的其他七位君子非常不安,他们无法想象自己住了半年的圈居然在不知不觉中成了淫窝。我其实也很冤枉,但我哑巴吃黄连有苦说不出……
  
  7
  那是一个月前的一天,阿尘把我拉到他住的圈,我看到他一层一层地掀开发了霉的铺盖,从最底层掏出了一个小纸盒,他把一串像口香糖的东西拉了出来,对我说这就是传说中的避孕套。“避孕套,也称安全套”,阿尘又补充说。我说你别把我当成和你一样的白痴,这东西我小学就见过。
  第一次看到这东西确实是在小学,当时我们还是一群小屁孩,一天在学校的操场上踢球,我的一个叫二毛的兄弟伙当守门员,突然一个冒着热气的“气球”从旁边的居民楼上飞了下来,落点是二毛的天灵盖,乳白色半透明的液体从他的额头一直流到嘴角,我们都恶心死了,以为那是大鼻涕。二毛坚持说那不是大鼻涕,他说大鼻涕是没有味道的,而这个有味道,我们不信,他就用手指沾了点放到嘴里尝了尝,因此感动了我们,便排队去闻了闻,有的也学二毛尝了,果真有味……于是,我们便认为那不是大鼻涕。后来,二毛把捡来的那个“气球”吹的老大,拿在手里玩了好几天,后来被他爸看到了,一巴掌乎碎了……
  我说我见过,没有撒谎,但是没有用过的我却没见过,所以我还是对阿尘手里这东西感到稀奇。阿尘把那链安全套从中间撕开,很大方地给了我一半,我查了一下,有十个,他拍了拍我肩膀说“哥们,党已经把子弹发给你了,用在正地方啊!”。
  当时我还是处男,但毕竟有过初恋,而阿尘连女孩子的手都没有碰过。

  8
  卫生大检查的那天晚上,我失眠了。我一直在思考,明天该怎么和辅导员解释地上的那个避孕套。我想告诉她我以为那东西是气球,所以拿来玩,但遗憾的是,我已经不是小学生了。或者,我说那东西我只是拿来吹气球玩的,但没有办法解释那东西里面装着的乳白色液体;我还可以说那乳白色液体其实不是精液,但,它又应该是什么呢?就这样想着想着我睡着了……
  早晨八九点钟的阳光刺痛了我的眼睛。我发现自己醒了,我来不及打扮自己。十五分钟后,我已经站在一张办公桌前,由于紧张,腿肚子一直在发抖,镜头推移到办公桌后面,有一个身穿着超短西装裙的半老徐娘,翘着二郎腿靠在椅子上,她就是我们系团委的辅导老师,据说她曾经诱奸过我的一个师兄。她戴着一副金边眼镜,眼镜框反射过来的闪闪金光让我不敢抬头看从她超低胸罩下露出的半个已经开始下垂的乳房。
  “抬起头来!”
  我吓地腿一抖,抬起头,恍惚间发现原来她没有带胸罩。
  “知道自己犯了什么错误了吗?你身为一个大学生居然在学校里公然干这种事。”
  我的汗渗透了体恤。
  “这事如果上报到学校是要被开除的,知道吗!”
  “老师,我知道您是关心我,可是您误会了,其实那个东西我只是拿来当气球玩的……”
  “当气球玩?耍我那,那气球里的东西是怎么回事!”说罢,她把一个塑料袋拍在了办公桌上,就是====局里用来装证物的那种。袋子里装着我扔的那个东西,而那里面是我的子孙后代。
  她什么时候把它也带走了?可够狠的,我想我一承认就完了,所以决定……
  “老师,那里面是奶油,是我倒进去玩的。”说罢,我把那个袋子打开,学着小时侯二毛的样子用手指沾了点,尝了尝……
  我忍住恶心,没有吐出来,还冲她微笑了一下……看你还怎么办!
  没想到的一件事发生了,她把袋子里的套子拿出来,一仰脖,全都喝了……
  “不要以为老师我这些年的饭白吃了,这东西我经常喝,分明是精液!!!”
  她的饭是没有白吃,而我的饭肯定是白吃了,我哇的一下,昨天的饭都出来了……
  
  9
  早晨八九点钟的阳光刺痛了我的眼睛,我发现自己还没有醒。一身冷汗地蜷在床上,原来是梦啊,我穿好衣服,特地没有吃早餐,因为已经没了食欲……鉴于梦中情景,决定放弃昨天编了很久的谎言。就说实话吧……
  十分钟后,我站在了办公桌前,她身上果然还穿着超短西装裙,还有那副金边眼镜……我仔细地看了看她的胸部,却是带了胸罩的。
  “呵~~,东张西望什么呢啊,还这么不老实!”说这话时她是面带微笑的,而我总感觉这笑容里有点淫荡。
  “老师,我全招,我向您说实话,不过您千万别把我开除了……”
  “要开除你就不找你谈了,你说吧!”
  “老师,其实那个避孕套是我昨晚,昨晚自慰时用的,带上那个比较,比较有感觉……我还没有女朋友况且我一直把你们的谆谆教诲牢记在心中,怎么可能把女生带到寝室里那个……”
  说完后,我的脸红了,她的脸比我还红,我知道,我没有事了……
  幸亏当年校委会起草校规时没有规定手淫有罪,否则我的大学生涯就终止在大一了。
  
  10
  我们圈的君子们见我毫发无伤大摇大摆地回到了寝室,心里非常郁闷,他们暗自在背地骂这世道没有天理,居然我这种人还能来读大学。
  我起先想不通,后来想通了一点,他们恨我可能主要是因为我大一时过于招摇,身边总围着一群又一群的美女,或者,因为我太诚实,把手淫这事当成做报告一样讲给别人听。或者,因为我太随便,刚来这个圈时每天晚上给他们讲荤段子,但我记得他们当时好象笑得很开心……
  我想应该是我错了,比如身边总围着美女这事,因为我是校艺术团里唯一的男性,每次美女们排练舞蹈或者演出,那些沉重的音响设备便理所当然地压在我背上,从仓库到体育馆的那二里路上,我撒下过多少血和汗……而我只能眼巴巴的看着她们。我曾诉过苦,但别人都说我是捡了便宜又卖乖,只有阿尘理解我,他说我真可怜,撑死了眼睛饿死了铞,我想我是错了,早知现在,当初就不应该加入这个狗屁团……
  手淫这事是向来君子们引以为耻的(他们只干不承认),可是我克制不了,这是我在没有性伴侣的年轻时代发泄性欲的唯一办法,我想我错了,我应该象报纸上写的一位君子那样爬到女生寝室强奸别人……
  当初给他们讲黄段子的本意也不是想毒害他们,我以为他们听了后会很快乐,他们看上去确实很快乐,但其实他们是在笑我是个傻X,笑我是个下流胚子。我想我错了,当初我应该给他们讲达尔文的进化论才是……
  
  11
  因为这件事,从那以后我背上了色狼之名。每个君子看到我时,都好象躲瘟神一样避开我,经常我走在路上,前前后后一百米没有君子。
  那天从办公室回来以后,阿尘急匆匆地跑来找我,当时我正蹲在窗台上抽烟,他的拳头一把捶在我肩上,“你小子可以啊,这么快就搞出成绩了,怪不得昨天三缺一找不到你,原来躲在床上打靶啊,快说说那妞长得怎么样,是哪个系的?”我不想在兄弟面前再丢脸,就扯了个谎说“长的还凑合,但不是学生,网上钓的。”“操,你小子行啊,真是闷头骡子日死驴啊,我现在就去上网!”我真后悔骗他说我在网上钓到一个妞,这小子把我口袋里剩下的最后两块钱都刮走上网去了。
  
  12
  说起阿尘,我想起了一个月前他曾热烈追求过的那个女孩。阿尘那段日子在食堂吃饭时总是魂不守舍,我严刑拷打了一下午他才招。他说他看上了一个女孩,那个女孩总坐在食堂的一个角落里吃饭,一天被他瞄上了。我说,“好啊,我说你小子经常有好位置不坐,偏要拉着我在角角里受罪。”后来在阿尘的指点下,我也看到了那个女孩,她,瓜子脸,一头飘逸的披肩发,身上穿了一套深蓝色的贴身连衣裙,感觉很性感,但我可以肯定她是处,当我把这告诉阿尘时他说我瞎掰,我说,你他妈的明白啥,你看她屁股后面的印子,分明穿的是平角内裤,不是三角,更不是杜蕾丝。阿尘傻傻地笑着,我又建议他试试就知道了。
  后来据阿尘说,那个女的和他搭讪上了,那女还和他在一间教室里上过自习,我觉得首先,搭讪的主动者一定是阿尘,至于上自习这事,应该是人家先坐在教室里,这小子尾随其后坐到了边上。但究竟是怎样的情况我确实不是很清楚。
  一个月后,阿尘在心理学系组织的那次活动中成了名人,被君子们所唾弃,他再也没有和我提过那个和他搭讪的女孩。关于这件事我的看法是,其实那个女孩未必会因为知道阿尘手淫就不理他,关键是阿尘知道并让别人知道自己手淫后失去了装好男人的勇气。流言最大的破坏力在于摧毁一个人的自信,而不在于破坏他的社会关系。
  
  13
  这个大学里的每个人都经常有无事可做的感觉,我更是典型,因为待着实在无聊,我便跑到网吧去看阿尘打猎,介此消磨时光。
  网吧就在寝室楼下,学校在这点上很开明,为了方便大学生不务正业,在学校里开了大大小小十余家网吧和卡拉OK,我知道阿尘常去那家叫做“牛人”的,好处是此网吧的机器里没有安装护花使者这个软件,大概当初这个软件的设计者本意是希望它能够有效地保护那些如花似玉的女孩子纯洁的思想不受到玷污,可据我所知现在的女大学生没有几个思想能达到老师们所期望的纯洁,我们校的女孩子都喜欢在牛人上网,原因很简单,可以放肆地看自己想看的东西,我能理解她们,她们的内心其实也渴望被蹂躏。在牛人上网的男人希望找到能让自己糟蹋的女人,而女人则希望找到能糟蹋自己的男人,他们只能通过网络做媒,因为这里没有所谓的道德,对于每个人来说,道德大部分是做给别人看的。
  进了网吧,我直奔最偏僻的角落,我知道阿尘喜欢挑这样的地方,可见他是作贼心虚,阿尘果然没有让我失望,我在角落里找到了他,当时只见他瞪着血红的眼睛,直勾勾地看着屏幕,脸都快贴到屏幕上了,不时还能听到他吞口水的咕咚声,屏幕上打开了两个窗口,Realplayer中播放着一部分辨率很低的A片,隐私部位还有马赛克,另一个窗口是QICO的对话框。阿尘用一指禅艰难地一下一下点击着键盘。
  绝色好男人:你好!
  绝色好男人:你怎么不说话啊?
  绝色好男人:你在做什么啊?
  绝色好男人:我们可以聊聊吗?
  看了这个呆瓜以上打的话,我真是气坏了,这哪里是打猎啊,这他妈的不是在浪费宝贵的青春和金钱吗?我一把推开阿尘,他直到这时才发现自己身后有人,吓地赶紧把A片的窗口关了,回头看到是我,才放下心来,我说“靠,紧张个屁啊,你那东西大人不爱看,是用来教育小学生的。
  我坐到电脑前,替阿尘把马子。
  绝色好男人:我日你妈,你怎么不说话!
  银色女孩:你怎么骂我啊,骂人可不对啊!
  绝色好男人:靠,骂你是轻的,还想日你呢
  银色女孩:好啊,这总比骂人好,你在哪?
  ……
  ……
  银色女孩:好,晚上十一点见,不见不散哦~~
  阿尘在我后面看地瞠目结舌,差点口吐白沫,其实这也是出于我意料之外的,我只是想骂她泻气,却没想到无心插柳柳成荫,莫非重庆的女子是受虐症多发的群体?多年后的我对这个问题依然疑惑着……
  
  14
  下线后,我和阿尘去食堂吃晚饭。每个人都打了五角的米饭,但我的数量明显是阿尘的两倍,这没什么稀奇的,上过大学的人都知道,在食堂打饭就跟中彩票一样,需要运气。阿尘这小子不服气,我错就错在说了一句刺激他的话,我说“男人嘛,不要斤斤计较,人家这样分配也是有道理的,瞅你长得那副球不拉鸡的样子,人家能多给吗!”愤怒的阿尘一把抢过我的餐盘回到打饭的人那评理,他端着两个餐盘问打饭的胖师傅:“哎,都是五角的你为撒子给他那么多给我这么少?”那厮听了二话没说一勺子上来把我盘子里的饭舀下去一半扔回饭桶里,然后对阿尘说:“这样你满意了吧 ?”这下我怒了,随口说出一句“我日你妈!”虽然刚才我还教育阿尘不要斤斤计较,其实人就这味,有些事说别人能耐,放到自己身上就做不到了。那厮二话没说转身从案板上拿起一把菜刀,差点把我吓得尿裤子。别说我不男人,那刀在灯光下明晃晃的,可见真他妈快啊!兼顾身家性命和自尊,我对那拿刀的肥肥说“亲哥,你别生气,我他妈的骂他呢!”说这话时我的手指着阿尘……
  这事虽过去了,但还是对我有很大影响的,本来我想把下午刚钓到的那个妹妹据为己有的,毕竟我在网上的情圣只是一个虚名,都是用来忽悠象阿尘这样的傻X的,老子上了两个月的网,其实一个也没钓着,今天好不容易搞到一个也不容易啊!为了报答阿尘忍辱负重替肥肥挨骂,我决定这次不跟他抢了。今晚上那条大鱼让给他了,说到这我得解释一下,我刚才骗了阿尘说那妹妹明晚十一点约他见面,其实是今晚。
  随后发生的一切证明了古人说的那句话是对的“塞翁失马,福祸焉知”……

手淫时期的爱情(一)

手淫时期的爱情(二)

手淫时期的爱情(三)

手淫时期的爱情(四)

手淫时期的爱情(五)

手淫时期的爱情(六)

手淫时期的爱情(七)

手淫时期的爱情(八)

手淫时期的爱情(九)

手淫时期的爱情(十)

手淫时期的爱情(十一)

我是一个正宗的东北人,虽然这是转帖,但是对东北话的热爱是发自内心的~每当工作时,和老乡说说东北话,或者在电视上听到东北话,感到贼亲切!!

现在在东北的好多城市里,已经听不到真正的东北话了,就连赵本山大叔的东北话也逐渐变味儿。为什么会这样?就是因为很多人觉得东北话很土。我觉得,如果是一个外地人觉得东北话土也就算了,可是,咱们东北老乡不应该觉得自己的家乡话是土话啊,这是一种自卑的心理。为什么没有人觉得广东话土,上海话土呢?无非就是因为那里是经济发达的地方。所以,等到了咱们东北发达了,也让全国人民学习咱东北话,这是我的毕生志愿!
可是,我怕等不到那个时候东北话就已经消亡了!!至此,我发表这篇文章,希望东北的老乡们在家乡的话一定要讲东北话,家乡话,不要让这个最贴近生活,最生动真实,最能反应人心理状态的方言从地球上消失!

 自:Club.ChinaRen.com
东北话是最能反应人精神状态的语言,也是最生动的一种语言。有好多特色词汇几乎是只能意会不能言传的。

比如说:“得(四声)瑟”这个词。我想了好久,也没有找到普通话的什么词汇能替代,正确解释是:得瑟是这样一个动作或状态,在别人看来一个人做这个动作或状态是希望引起别人的注意,但实际上那个人做动作的时候多数情况下并不是真想引起别人的注意!(有点绕嘴,但仔细想一下这个解释还是挺精确的)。
例句:外面这么冷,你穿这么少出去得瑟啥啊!
此外还有许多东北方言的特色词汇,请继续关注本贴,我将在稍后为大家奉上。也希望东北老乡们加以补充完善!
 自:Club.ChinaRen.com
鉴于未来可能会流行东北话,也为了使一些已经忘记了标准东北话怎么说的东北老乡们重新捡起家乡话,下面我给出了东北话速成手册。由于本人的经验,地域所限,可能还会有不够准确和不全面的地方,希望各位老乡不吝赐教!
 自:Club.ChinaRen.com
东北话速成手册(完整版):
 自:Club.ChinaRen.com
说明:手册里出现的拼音前面的字母是读音,后面的数字是声调。例如:da-4 jia-1 hao-3读做:大家好!
 自:Club.ChinaRen.com
第一部分:东北话发音规则
 自:Club.ChinaRen.com
一,平卷舌:
不区分平卷舌是东北话的显著特点,不过这个特点在许多城市里已经逐渐消失,希望大家重新捡起来,跟外人的时候说普通话,在家乡的时候不用费心的区分什么平卷舌,怪累的!
方法:可以把所有的zh,ch,sh全部读成z,c,s或反过来。最有意思的是有的地方是全部颠倒,及平舌全部读成卷舌,卷舌全部读成平舌。你可以选择上面三种方法中的一种加以练习。
练习:
出差(cu-1 cai-1),森林(shen-1 lin-2),算算术(suan-4 suan-4 su-4)。
 自:Club.ChinaRen.com
二,零声母:
东北方言中,如果是a开头的发音(及没有声母的情况下)时,在前面一律加上个n作开头。
练习:
安排(nan-1 pai),肮脏(nang-1 zhang-1),爱人(nai-4 yin-2),恩爱(nen-1 nai-4)。
 自:Club.ChinaRen.com
三,声母r
东北方言中,所有的r开头的声母一律读成y开头的声母。
练习:
本人(ben-3 yin-2),吃肉(ci-1 you-4),然后(yan-2 hou-4),热闹(ye-4 nao-4),软弱(yuan-3 yao-4)!
 自:Club.ChinaRen.com
四,声调
东北方言中,把许多普通话里第二声读成第三声,许多第一声读成第四声。例如:职,值,植,执全部读成zhi-3;孺,儒,濡,蠕全部读成ru-3;晶,晴,茎,泾,兢全部读成jing-4;国读做guo-3;福读作fu-3等等。
 自:Club.ChinaRen.com
五,其它
还有一些变音需要注意,uan变成an。如:卵石(lan-3 shi-2),暖气(nan-3 qi-4)等。另外,V和W不分(如新闻(xin-1 ven-2)),iu和ou不分,e和o不分(如破损(pe-4 shun-3)),j和q不分(如畸形(qi-2 xing-2),歼灭(qian-1 mie-4)),j和z不分(如俊俏(zun-4 qiao-4)),m和n不分等等情况更为复杂,学习起来有一定难度,在此不再赘述。
 自:Club.ChinaRen.com
六,特殊字变音
有些字变音无规律,下面给出几个常见的例子:
学(xiao-2),宿(xu-3),跃,乐(yao-4),纠(jiao-3),街(gai-1)等。
 自:Club.ChinaRen.com
以上是东北方言总体的读音规则,一些地区还有许多差异。以辽阳为界,辽阳以东以北的(含辽阳)基本上符合上述规则,而辽阳以西的说话带了些京津河北味儿,辽阳以南的又带了些山东味儿。不过大体上是一致的。东北虽然地域辽阔,可是说话却惊人的相似,这不能不说是一个奇迹!
 自:Club.ChinaRen.com
第二部分:特色词汇 (带*号需要特别注意,许多东北的年青人已经不会说了,可以请教长辈)
带###符号的需要特别记忆,属于常见词汇。
 自:Club.ChinaRen.com
*为方便大家查找,我是按照从字母A到Z的顺序给出特色词汇的。虽然总结比较辛苦,但我认为值了

东北方言 发音 普通话对照
挨排儿 :按顺序
* 懊糟 :ao-1 zao 发愁
* 熬啃 :nao-2 ken 饿,馋
二虎八鸡: 傻乎乎
扒拉: 拨弄
扒瞎: 说谎
半拉儿: ban-4 lar-3 一半儿
波罗儿盖:be-3 le ganr-4 膝盖
掰扯: 分析,计算
白唬:bai-2 hu能说(通常指能瞎说)
鼻嘎吧:bi-2 ga-2 ba 鼻屎
备不住: 有可能,也许
包源儿: 全部,全包了
冰流子: 冰柱
不靠谱(不靠盘儿): 不符实际
扯蛋:胡说八道
*呲哒: ci-1 da训斥
撮子:装垃圾的容器
刺挠: 痒
刺猫乎:ci-1 mao-1 hu-1 眼屎
藏猫儿乎: 捉迷藏
敞亮:形容一个人不藏心眼儿,大方直爽.
**打八刀: 离婚,分手
*打哑吧缠:故装不懂
打狼:最后一名
打奔儿: 1,接吻 2,停顿,卡壳
* 叨菜: 夹菜
点儿正(背) :运气好(坏)
耳残: er-3 chan-2 耳屎
二椅子:不男不女
###嗯呢:是
疙瘩(简称疙):地方
姑娘:女儿
旮旯儿:ga-3 la-2 角落
疙不溜脆:十分流利地
* 嘎:ga-3 :1,小气,吝啬 2,蛮不讲理
嘎:ga-4 超过,比下去
嘎拉:ga-3 la 贝壳
###高:放,搁
果:吸,吮
刚刚的:形容程度大,(可以修饰一切形容词)
嘎拉哈:ga-3 la ha-4 一种用动物关节做的儿童玩具(有失传的危险哟)
干仗(才知道这也是东北话,一直当普通话用呢,呵呵):打架
咯应: 讨厌(这么重要的词居然忘了,该打啊)
含拉子:han-2 la-2 zi 口水
虎了吧叽:同二虎八叽
忽悠:这个不用解释了吧,不会的来打我
* 划开拐: 想通了
###急眼:ji-1 yan-3 发火
迹哥:闹别扭
###嗑尘:ke-1 chen 1,难看 2,丢人
坑吃瘪肚:形容说话吞吞吐吐,一般是由于紧张或受辖制时无法准确表达自己的意思
老鼻子:很多
老么卡(刺)眼:形容又老又丑的人
老嘎瘩:兄弟姐妹里最小的那位
唠嗑:聊天
* 妈灵:ma-1 ling 蜻蜓
末了儿:最后了
磨叽:me-4 ji 罗嗦
卖呆儿:1,看热闹 2,发呆
尿性(东部方言):有骨气,真汉子
闹听;闹心
* 念三七儿:旁敲侧击
蔫吧:没精神,枯萎
pia-2迹:一种硬纸片做的游戏工具
七吃喀嚓: 麻利,干净利落
###欠儿蹬:缺心眼,找揍
气管子:打气筒
曲咕:小声说
戚儿:qier-3 客人
日日的:ri-2 ri-2 de 速度快
* 如作: ru-1 zuo 舒服
赛脸:明知不对,故意那样做
###啥:什么
水勒巴察:水性大
秃噜:失败,放开
土包子:土生土长地没见过大世面的人
###铁子=老铁:哥们,好朋友
妥了;行了,好了
无极六瘦:闲的没啥意思抓心挠肝的感觉
舞马长枪:张牙舞瓜
武武玄玄:同上
* 五迷三道:迷迷糊糊
稀里马哈: 马虎
邪乎: 厉害
###向着:偏袒
兴许:可能,也许
寻思:xin-2 si 思考,想
稀罕:喜欢
###一整(就):总是,动不动(就)……
有一嗑:you-3 yi-4 ke-2 有一拼,能比一下
杨了二正: 是形容一个人做事精力不集中的样子 做着事情心里却不知道想些什么其他的事情
咋整: 怎么办
作死:zuo-2 si-3 寻死
* 张程:办法,能力
抓瞎:毫无办法,无法解决
准保:保证,一定
###贼:非常,很
整一个:喝一个

实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:

其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那么“安”字就自然地排在字典的前部。如果您翻完了所有以“a”开头的部分仍然找不到这个字,那么就说明您的字典中没有这个字;同样的,如果查“张”字,那您也会将您的字典翻到最后部分,因为“张”的拼音是“zhang”。也就是说,字典的正文部分本身就是一个目录,您不需要再去查其他目录来找到您需要找的内容。

我们把这种正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。

如果您认识某个字,您可以快速地从自动中查到这个字。但您也可能会遇到您不认识的字,不知道它的发音,这时候,您就不能按照刚才的方法找到您要查的字,而需要去根据“偏旁部首”查到您要找的字,然后根据这个字后的页码直接翻到某页来找到您要找的字。但您结合“部首目录”和“检字表”而查到的字的排序并不是真正的正文的排序方法,比如您查“张”字,我们可以看到在查部首之后的检字表中“张”的页码是672页,检字表中“张”的上面是“驰”字,但页码却是63页,“张”的下面是“弩”字,页面是390页。很显然,这些字并不是真正的分别位于“张”字的上下方,现在您看到的连续的“驰、张、弩”三字实际上就是他们在非聚集索引中的排序,是字典正文中的字在非聚集索引中的映射。我们可以通过这种方式来找到您所需要的字,但它需要两个过程,先找到目录中的结果,然后再翻到您所需要的页码。

我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。

通过以上例子,我们可以理解到什么是“聚集索引”和“非聚集索引”。

进一步引申一下,我们可以很容易的理解:每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序。

(二)何时使用聚集索引或非聚集索引

下面的表总结了何时使用聚集索引或非聚集索引(很重要)。

动作描述
使用聚集索引
使用非聚集索引

列经常被分组排序



返回某范围内的数据

不应

一个或极少不同值
不应
不应

小数目的不同值

不应

大数目的不同值
不应


频繁更新的列
不应


外键列



主键列



频繁修改索引列
不应



事实上,我们可以通过前面聚集索引和非聚集索引的定义的例子来理解上表。如:返回某范围内的数据一项。比如您的某个表有一个时间列,恰好您把聚合索引建立在了该列,这时您查询2004年1月1日至2004年10月1日之间的全部数据时,这个速度就将是很快的,因为您的这本字典正文是按日期进行排序的,聚类索引只需要找到要检索的所有数据中的开头和结尾数据即可;而不像非聚集索引,必须先查到目录中查到每一项数据对应的页码,然后再根据页码查到具体内容。

(三)结合实际,谈索引使用的误区

理论的目的是应用。虽然我们刚才列出了何时应使用聚集索引或非聚集索引,但在实践中以上规则却很容易被忽视或不能根据实际情况进行综合分析。下面我们将根据在实践中遇到的实际问题来谈一下索引使用的误区,以便于大家掌握索引建立的方法。

1、主键就是聚集索引

这种想法笔者认为是极端错误的,是对聚集索引的一种浪费。虽然SQL SERVER默认是在主键上建立聚集索引的。

通常,我们会在每个表中都建立一个ID列,以区分每条数据,并且这个ID列是自动增大的,步长一般为1。我们的这个办公自动化的实例中的列Gid就是如此。此时,如果我们将这个列设为主键,SQL SERVER会将此列默认为聚集索引。这样做有好处,就是可以让您的数据在数据库中按照ID进行物理排序,但笔者认为这样做意义不大。

显而易见,聚集索引的优势是很明显的,而每个表中只能有一个聚集索引的规则,这使得聚集索引变得更加珍贵。

从我们前面谈到的聚集索引的定义我们可以看出,使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。在实际应用中,因为ID号是自动生成的,我们并不知道每条记录的ID号,所以我们很难在实践中用ID号来进行查询。这就使让ID号这个主键作为聚集索引成为一种资源浪费。其次,让每个ID号都不同的字段作为聚集索引也不符合“大数目的不同值情况下不应建立聚合索引”规则;当然,这种情况只是针对用户经常修改记录内容,特别是索引项的时候会负作用,但对于查询速度并没有影响。

在办公自动化系统中,无论是系统首页显示的需要用户签收的文件、会议还是用户进行文件查询等任何情况下进行数据查询都离不开字段的是“日期”还有用户本身的“用户名”。

通常,办公自动化的首页会显示每个用户尚未签收的文件或会议。虽然我们的where语句可以仅仅限制当前用户尚未签收的情况,但如果您的系统已建立了很长时间,并且数据量很大,那么,每次每个用户打开首页的时候都进行一次全表扫描,这样做意义是不大的,绝大多数的用户1个月前的文件都已经浏览过了,这样做只能徒增数据库的开销而已。事实上,我们完全可以让用户打开系统首页时,数据库仅仅查询这个用户近3个月来未阅览的文件,通过“日期”这个字段来限制表扫描,提高查询速度。如果您的办公自动化系统已经建立的2年,那么您的首页显示速度理论上将是原来速度8倍,甚至更快。

在这里之所以提到“理论上”三字,是因为如果您的聚集索引还是盲目地建在ID这个主键上时,您的查询速度是没有这么高的,即使您在“日期”这个字段上建立的索引(非聚合索引)。下面我们就来看一下在1000万条数据量的情况下各种查询的速度表现(3个月内的数据为25万条):

(1)仅在主键上建立聚集索引,并且不划分时间段:

Select gid,fariqi,neibuyonghu,title from tgongwen

用时:128470毫秒(即:128秒)

(2)在主键上建立聚集索引,在fariq上建立非聚集索引:

select gid,fariqi,neibuyonghu,title from Tgongwen

where fariqi> dateadd(day,-90,getdate())

用时:53763毫秒(54秒)

(3)将聚合索引建立在日期列(fariqi)上:

select gid,fariqi,neibuyonghu,title from Tgongwen

where fariqi> dateadd(day,-90,getdate())

用时:2423毫秒(2秒)

虽然每条语句提取出来的都是25万条数据,各种情况的差异却是巨大的,特别是将聚集索引建立在日期列时的差异。事实上,如果您的数据库真的有1000万容量的话,把主键建立在ID列上,就像以上的第1、2种情况,在网页上的表现就是超时,根本就无法显示。这也是我摒弃ID列作为聚集索引的一个最重要的因素。

得出以上速度的方法是:在各个select语句前加:declare @d datetime

set @d=getdate()

并在select语句后加:

select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())

2、只要建立索引就能显著提高查询速度

事实上,我们可以发现上面的例子中,第2、3条语句完全相同,且建立索引的字段也相同;不同的仅是前者在fariqi字段上建立的是非聚合索引,后者在此字段上建立的是聚合索引,但查询速度却有着天壤之别。所以,并非是在任何字段上简单地建立索引就能提高查询速度。

从建表的语句中,我们可以看到这个有着1000万数据的表中fariqi字段有5003个不同记录。在此字段上建立聚合索引是再合适不过了。在现实中,我们每天都会发几个文件,这几个文件的发文日期就相同,这完全符合建立聚集索引要求的:“既不能绝大多数都相同,又不能只有极少数相同”的规则。由此看来,我们建立“适当”的聚合索引对于我们提高查询速度是非常重要的。

3、把所有需要提高查询速度的字段都加进聚集索引,以提高查询速度

上面已经谈到:在进行数据查询时都离不开字段的是“日期”还有用户本身的“用户名”。既然这两个字段都是如此的重要,我们可以把他们合并起来,建立一个复合索引(compound index)。

很多人认为只要把任何字段加进聚集索引,就能提高查询速度,也有人感到迷惑:如果把复合的聚集索引字段分开查询,那么查询速度会减慢吗?带着这个问题,我们来看一下以下的查询速度(结果集都是25万条数据):(日期列fariqi首先排在复合聚集索引的起始列,用户名neibuyonghu排在后列)

(1)select gid,fariqi,neibuyonghu,title from Tgongwen where fariqi>’2004-5-5′ 

查询速度:2513毫秒

(2)select gid,fariqi,neibuyonghu,title from Tgongwen where fariqi>’2004-5-5′ and neibuyonghu=’办公室’

查询速度:2516毫秒

(3)select gid,fariqi,neibuyonghu,title from Tgongwen where neibuyonghu=’办公室’

查询速度:60280毫秒

从以上试验中,我们可以看到如果仅用聚集索引的起始列作为查询条件和同时用到复合聚集索引的全部列的查询速度是几乎一样的,甚至比用上全部的复合索引列还要略快(在查询结果集数目一样的情况下);而如果仅用复合聚集索引的非起始列作为查询条件的话,这个索引是不起任何作用的。当然,语句1、2的查询速度一样是因为查询的条目数一样,如果复合索引的所有列都用上,而且查询结果少的话,这样就会形成“索引覆盖”,因而性能可以达到最优。同时,请记住:无论您是否经常使用聚合索引的其他列,但其前导列一定要是使用最频繁的列。

(四)其他书上没有的索引使用经验总结

1、用聚合索引比用不是聚合索引的主键速度快

下面是实例语句:(都是提取25万条数据)

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=’2004-9-16′

使用时间:3326毫秒

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where gid<=250000

使用时间:4470毫秒

这里,用聚合索引比用不是聚合索引的主键速度快了近1/4。

2、用聚合索引比用一般的主键作order by时速度快,特别是在小数据量情况下

select gid,fariqi,neibuyonghu,reader,title from Tgongwen order by fariqi

用时:12936

select gid,fariqi,neibuyonghu,reader,title from Tgongwen order by gid

用时:18843

这里,用聚合索引比用一般的主键作order by时,速度快了3/10。事实上,如果数据量很小的话,用聚集索引作为排序列要比使用非聚集索引速度快得明显的多;而数据量如果很大的话,如10万以上,则二者的速度差别不明显。

3、使用聚合索引内的时间段,搜索时间会按数据占整个数据表的百分比成比例减少,而无论聚合索引使用了多少个

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi>’2004-1-1′

用时:6343毫秒(提取100万条) 

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi>’2004-6-6′

用时:3170毫秒(提取50万条)

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=’2004-9-16′

用时:3326毫秒(和上句的结果一模一样。如果采集的数量一样,那么用大于号和等于号是一样的)

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi>’2004-1-1′ and fariqi<’2004-6-6′

用时:3280毫秒

4 、日期列不会因为有分秒的输入而减慢查询速度

下面的例子中,共有100万条数据,2004年1月1日以后的数据有50万条,但只有两个不同的日期,日期精确到日;之前有数据50万条,有5000个不同的日期,日期精确到秒。

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi>’2004-1-1′ order by fariqi

用时:6390毫秒

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi<’2004-1-1′ order by fariqi

用时:6453毫秒

(五)其他注意事项

“水可载舟,亦可覆舟”,索引也一样。索引有助于提高检索性能,但过多或不当的索引也会导致系统低效。因为用户在表中每加进一个索引,数据库就要做更多的工作。过多的索引甚至会导致索引碎片。

所以说,我们要建立一个“适当”的索引体系,特别是对聚合索引的创建,更应精益求精,以使您的数据库能得到高性能的发挥。

当然,在实践中,作为一个尽职的数据库管理员,您还要多测试一些方案,找出哪种方案效率最高、最为有效。


二、改善SQL语句

很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:

select * from table1 where name=’zhangsan’ and tID > 10000

和执行:

select * from table1 where tID > 10000 and name=’zhangsan’

一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看有几个name=’zhangsan’的,而后再根据限制条件条件tID>10000来提出查询结果。

事实上,这样的担心是不必要的。SQL SERVER中有一个“查询分析优化器”,它可以计算出where子句中的搜索条件并确定哪个索引能缩小表扫描的搜索空间,也就是说,它能实现自动优化。

虽然查询优化器可以根据where子句自动的进行查询优化,但大家仍然有必要了解一下“查询优化器”的工作原理,如非这样,有时查询优化器就会不按照您的本意进行快速查询。

在查询分析阶段,查询优化器查看查询的每个阶段并决定限制需要扫描的数据量是否有用。如果一个阶段可以被用作一个扫描参数(SARG),那么就称之为可优化的,并且可以利用索引快速获得所需数据。

SARG的定义:用于限制搜索的一个操作,因为它通常是指一个特定的匹配,一个值得范围内的匹配或者两个以上条件的AND连接。形式如下:

列名 操作符 <常数 或 变量>



<常数 或 变量> 操作符列名

列名可以出现在操作符的一边,而常数或变量出现在操作符的另一边。如:

Name=’张三’

价格>5000

5000<价格

Name=’张三’ and 价格>5000

如果一个表达式不能满足SARG的形式,那它就无法限制搜索的范围了,也就是SQL SERVER必须对每一行都判断它是否满足WHERE子句中的所有条件。所以一个索引对于不满足SARG形式的表达式来说是无用的。

介绍完SARG后,我们来总结一下使用SARG以及在实践中遇到的和某些资料上结论不同的经验:

1、Like语句是否属于SARG取决于所使用的通配符的类型

如:name like ‘张%’ ,这就属于SARG

而:name like ‘%张’ ,就不属于SARG。

原因是通配符%在字符串的开通使得索引无法使用。

2、or 会引起全表扫描

Name=’张三’ and 价格>5000 符号SARG,而:Name=’张三’ or 价格>5000 则不符合SARG。使用or会引起全表扫描。

3、非操作符、函数引起的不满足SARG形式的语句

不满足SARG形式的语句最典型的情况就是包括非操作符的语句,如:NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE等,另外还有函数。下面就是几个不满足SARG形式的例子:

ABS(价格)<5000

Name like ‘%三’

有些表达式,如:

WHERE 价格*2>5000

SQL SERVER也会认为是SARG,SQL SERVER会将此式转化为:

WHERE 价格>2500/2

但我们不推荐这样使用,因为有时SQL SERVER不能保证这种转化与原始表达式是完全等价的。

4、IN 的作用相当与OR

语句:

Select * from table1 where tid in (2,3)



Select * from table1 where tid=2 or tid=3

是一样的,都会引起全表扫描,如果tid上有索引,其索引也会失效。

5、尽量少用NOT

6、exists 和 in 的执行效率是一样的

很多资料上都显示说,exists要比in的执行效率要高,同时应尽可能的用not exists来代替not in。但事实上,我试验了一下,发现二者无论是前面带不带not,二者之间的执行效率都是一样的。因为涉及子查询,我们试验这次用SQL SERVER自带的pubs数据库。运行前我们可以把SQL SERVER的statistics I/O状态打开。

(1)select title,price from titles where title_id in (select title_id from sales where qty>30)

该句的执行结果为:

表 ’sales’。扫描计数 18,逻辑读 56 次,物理读 0 次,预读 0 次。

表 ’titles’。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。

    

(2)select title,price from titles where exists (select * from sales where sales.title_id=titles.title_id and qty>30)

第二句的执行结果为:

表 ’sales’。扫描计数 18,逻辑读 56 次,物理读 0 次,预读 0 次。

表 ’titles’。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。

我们从此可以看到用exists和用in的执行效率是一样的。

7、用函数charindex()和前面加通配符%的LIKE执行效率一样

前面,我们谈到,如果在LIKE前面加上通配符%,那么将会引起全表扫描,所以其执行效率是低下的。但有的资料介绍说,用函数charindex()来代替LIKE速度会有大的提升,经我试验,发现这种说明也是错误的:

select gid,title,fariqi,reader from tgongwen where charindex(‘刑侦支队’,reader)>0 and fariqi>’2004-5-5′

用时:7秒,另外:扫描计数 4,逻辑读 7155 次,物理读 0 次,预读 0 次。

select gid,title,fariqi,reader from tgongwen where reader like ’%' + ’刑侦支队’ + ’%' and fariqi>’2004-5-5′

用时:7秒,另外:扫描计数 4,逻辑读 7155 次,物理读 0 次,预读 0 次。

8、union并不绝对比or的执行效率高

我们前面已经谈到了在where子句中使用or会引起全表扫描,一般的,我所见过的资料都是推荐这里用union来代替or。事实证明,这种说法对于大部分都是适用的。

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=’2004-9-16′ or gid>9990000

用时:68秒。扫描计数 1,逻辑读 404008 次,物理读 283 次,预读 392163 次。

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=’2004-9-16′ 

union

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where gid>9990000

用时:9秒。扫描计数 8,逻辑读 67489 次,物理读 216 次,预读 7499 次。

看来,用union在通常情况下比用or的效率要高的多。

但经过试验,笔者发现如果or两边的查询列是一样的话,那么用union则反倒和用or的执行速度差很多,虽然这里union扫描的是索引,而or扫描的是全表。

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=’2004-9-16′ or fariqi=’2004-2-5′

用时:6423毫秒。扫描计数 2,逻辑读 14726 次,物理读 1 次,预读 7176 次。

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where fariqi=’2004-9-16′ 

union

select gid,fariqi,neibuyonghu,reader,title from Tgongwen where  fariqi=’2004-2-5′

用时:11640毫秒。扫描计数 8,逻辑读 14806 次,物理读 108 次,预读 1144 次。

9、字段提取要按照“需多少、提多少”的原则,避免“select *”

我们来做一个试验:

select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc

用时:4673毫秒

select top 10000 gid,fariqi,title from tgongwen order by gid desc

用时:1376毫秒

select top 10000 gid,fariqi from tgongwen order by gid desc

用时:80毫秒

由此看来,我们每少提取一个字段,数据的提取速度就会有相应的提升。提升的速度还要看您舍弃的字段的大小来判断。

10、count(*)不比count(字段)慢

某些资料上说:用*会统计所有列,显然要比一个世界的列名效率低。这种说法其实是没有根据的。我们来看:

select count(*) from Tgongwen

用时:1500毫秒

select count(gid) from Tgongwen 

用时:1483毫秒

select count(fariqi) from Tgongwen

用时:3140毫秒

select count(title) from Tgongwen

用时:52050毫秒

从以上可以看出,如果用count(*)和用count(主键)的速度是相当的,而count(*)却比其他任何除主键以外的字段汇总速度要快,而且字段越长,汇总的速度就越慢。我想,如果用count(*), SQL SERVER可能会自动查找最小字段来汇总的。当然,如果您直接写count(主键)将会来的更直接些。

11、order by按聚集索引列排序效率最高

我们来看:(gid是主键,fariqi是聚合索引列)

select top 10000 gid,fariqi,reader,title from tgongwen

用时:196 毫秒。 扫描计数 1,逻辑读 289 次,物理读 1 次,预读 1527 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by gid asc

用时:4720毫秒。 扫描计数 1,逻辑读 41956 次,物理读 0 次,预读 1287 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by gid desc

用时:4736毫秒。 扫描计数 1,逻辑读 55350 次,物理读 10 次,预读 775 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi asc

用时:173毫秒。 扫描计数 1,逻辑读 290 次,物理读 0 次,预读 0 次。

select top 10000 gid,fariqi,reader,title from tgongwen order by fariqi desc

用时:156毫秒。 扫描计数 1,逻辑读 289 次,物理读 0 次,预读 0 次。

从以上我们可以看出,不排序的速度以及逻辑读次数都是和“order by 聚集索引列” 的速度是相当的,但这些都比“order by 非聚集索引列”的查询速度是快得多的。

同时,按照某个字段进行排序的时候,无论是正序还是倒序,速度是基本相当的。

12、高效的TOP

事实上,在查询和提取超大容量的数据集时,影响数据库响应时间的最大因素不是数据查找,而是物理的I/0操作。如:

select top 10 * from (

select top 10000 gid,fariqi,title from tgongwen

where neibuyonghu=’办公室’

order by gid desc) as a

order by gid asc

这条语句,从理论上讲,整条语句的执行时间应该比子句的执行时间长,但事实相反。因为,子句执行后返回的是10000条记录,而整条语句仅返回10条语句,所以影响数据库响应时间最大的因素是物理I/O操作。而限制物理I/O操作此处的最有效方法之一就是使用TOP关键词了。TOP关键词是SQL SERVER中经过系统优化过的一个用来提取前几条或前几个百分比数据的词。经笔者在实践中的应用,发现TOP确实很好用,效率也很高。但这个词在另外一个大型数据库ORACLE中却没有,这不能说不是一个遗憾,虽然在ORACLE中可以用其他方法(如:rownumber)来解决。在以后的关于“实现千万级数据的分页显示存储过程”的讨论中,我们就将用到TOP这个关键词。


到此为止,我们上面讨论了如何实现从大容量的数据库中快速地查询出您所需要的数据方法。当然,我们介绍的这些方法都是“软”方法,在实践中,我们还要考虑各种“硬”因素,如:网络性能、服务器的性能、操作系统的性能,甚至网卡、交换机等。


三、实现小数据量和海量数据的通用分页显示存储过程

建立一个web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。

更重要的是,对于非常大的数据模型而言,分页检索时,如果按照传统的每次都加载整个数据源的方法是非常浪费资源的。现在流行的分页方法一般是检索页面大小的块区的数据,而非检索所有的数据,然后单步执行当前行。

    最早较好地实现这种根据页面大小和页码来提取数据的方法大概就是“俄罗斯存储过程”。这个存储过程用了游标,由于游标的局限性,所以这个方法并没有得到大家的普遍认可。

后来,网上有人改造了此存储过程,下面的存储过程就是结合我们的办公自动化实例写的分页存储过程:

CREATE procedure pagination1

(@pagesize int,  –页面大小,如每页存储20条记录

@pageindex int   –当前页码

)

as

set nocount on

begin

declare @indextable table(id int identity(1,1),nid int)  –定义表变量

declare @PageLowerBound int  –定义此页的底码

declare @PageUpperBound int  –定义此页的顶码

set @PageLowerBound=(@pageindex-1)*@pagesize

set @PageUpperBound=@PageLowerBound+@pagesize

set rowcount @PageUpperBound

insert into @indextable(nid) select gid from TGongwen where fariqi >dateadd(day,-365,getdate()) order by fariqi desc

select O.gid,O.mid,O.title,O.fadanwei,O.fariqi from TGongwen O,@indextable t where O.gid=t.nid

and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id

end

set nocount off

以上存储过程运用了SQL SERVER的最新技术――表变量。应该说这个存储过程也是一个非常优秀的分页存储过程。当然,在这个过程中,您也可以把其中的表变量写成临时表:CREATE TABLE #Temp。但很明显,在SQL SERVER中,用临时表是没有用表变量快的。所以笔者刚开始使用这个存储过程时,感觉非常的不错,速度也比原来的ADO的好。但后来,我又发现了比此方法更好的方法。

笔者曾在网上看到了一篇小短文《从数据表中取出第n条到第m条的记录的方法》,全文如下:

从publish 表中取出第 n 条到第 m 条的记录: 
SELECT TOP m-n+1 * 
FROM publish 
WHERE (id NOT IN 
    (SELECT TOP n-1 id 
     FROM publish)) 

id 为publish 表的关键字 

我当时看到这篇文章的时候,真的是精神为之一振,觉得思路非常得好。等到后来,我在作办公自动化系统(ASP.NET+ C#+SQL SERVER)的时候,忽然想起了这篇文章,我想如果把这个语句改造一下,这就可能是一个非常好的分页存储过程。于是我就满网上找这篇文章,没想到,文章还没找到,却找到了一篇根据此语句写的一个分页存储过程,这个存储过程也是目前较为流行的一种分页存储过程,我很后悔没有争先把这段文字改造成存储过程:

CREATE PROCEDURE pagination2
(
@SQL nVARCHAR(4000),    –不带排序语句的SQL语句
@Page int,              –页码
@RecsPerPage int,       –每页容纳的记录数
@ID VARCHAR(255),       –需要排序的不重复的ID号
@Sort VARCHAR(255)      –排序字段及规则
)
AS

DECLARE @Str nVARCHAR(4000)

SET @Str=’SELECT   TOP ’+CAST(@RecsPerPage AS VARCHAR(20))+’ * FROM (‘+@SQL+’) T WHERE T.’+@ID+’NOT IN 
(SELECT   TOP ’+CAST((@RecsPerPage*(@Page-1)) AS VARCHAR(20))+’ ’+@ID+’ FROM (‘+@SQL+’) T9 ORDER BY ’+@Sort+’) ORDER BY ’+@Sort

PRINT @Str

EXEC sp_ExecuteSql @Str
GO

其实,以上语句可以简化为:

SELECT TOP 页大小 *

FROM Table1

WHERE (ID NOT IN

          (SELECT TOP 页大小*页数 id

         FROM 表

         ORDER BY id))

ORDER BY ID

但这个存储过程有一个致命的缺点,就是它含有NOT IN字样。虽然我可以把它改造为:

SELECT TOP 页大小 *

FROM Table1

WHERE not exists

(select * from (select top (页大小*页数) * from table1 order by id) b where b.id=a.id )

order by id

即,用not exists来代替not in,但我们前面已经谈过了,二者的执行效率实际上是没有区别的。

既便如此,用TOP 结合NOT IN的这个方法还是比用游标要来得快一些。

虽然用not exists并不能挽救上个存储过程的效率,但使用SQL SERVER中的TOP关键字却是一个非常明智的选择。因为分页优化的最终目的就是避免产生过大的记录集,而我们在前面也已经提到了TOP的优势,通过TOP 即可实现对数据量的控制。

在分页算法中,影响我们查询速度的关键因素有两点:TOP和NOT IN。TOP可以提高我们的查询速度,而NOT IN会减慢我们的查询速度,所以要提高我们整个分页算法的速度,就要彻底改造NOT IN,同其他方法来替代它。

我们知道,几乎任何字段,我们都可以通过max(字段)或min(字段)来提取某个字段中的最大或最小值,所以如果这个字段不重复,那么就可以利用这些不重复的字段的max或min作为分水岭,使其成为分页算法中分开每页的参照物。在这里,我们可以用操作符“>”或“<”号来完成这个使命,使查询语句符合SARG形式。如:

Select top 10 * from table1 where id>200

于是就有了如下分页方案:

select top 页大小 *

from table1 

where id>

      (select max (id) from 

      (select top ((页码-1)*页大小) id from table1 order by id) as T

       )     

  order by id

在选择即不重复值,又容易分辨大小的列时,我们通常会选择主键。下表列出了笔者用有着1000万数据的办公自动化系统中的表,在以GID(GID是主键,但并不是聚集索引。)为排序列、提取gid,fariqi,title字段,分别以第1、10、100、500、1000、1万、10万、25万、50万页为例,测试以上三种分页方案的执行速度:(单位:毫秒)

页  码
方案1
方案2
方案3

1
60
30
76

10
46
16
63

100
1076
720
130

500
540
12943
83

1000
17110
470
250

1万
24796
4500
140

10万
38326
42283
1553

25万
28140
128720
2330

50万
121686
127846
7168


从上表中,我们可以看出,三种存储过程在执行100页以下的分页命令时,都是可以信任的,速度都很好。但第一种方案在执行分页1000页以上后,速度就降了下来。第二种方案大约是在执行分页1万页以上后速度开始降了下来。而第三种方案却始终没有大的降势,后劲仍然很足。

在确定了第三种分页方案后,我们可以据此写一个存储过程。大家知道SQL SERVER的存储过程是事先编译好的SQL语句,它的执行效率要比通过WEB页面传来的SQL语句的执行效率要高。下面的存储过程不仅含有分页方案,还会根据页面传来的参数来确定是否进行数据总数统计。

– 获取指定页的数据

CREATE PROCEDURE pagination3

@tblName   varchar(255),       – 表名

@strGetFields varchar(1000) = ’*',  – 需要返回的列 

@fldName varchar(255)=”,      – 排序的字段名

@PageSize   int = 10,          – 页尺寸

@PageIndex  int = 1,           – 页码

@doCount  bit = 0,   – 返回记录总数, 非 0 值则返回

@OrderType bit = 0,  – 设置排序类型, 非 0 值则降序

@strWhere  varchar(1500) = ”  – 查询条件 (注意: 不要加 where)

AS

declare @strSQL   varchar(5000)       – 主语句

declare @strTmp   varchar(110)        – 临时变量

declare @strOrder varchar(400)        – 排序类型


if @doCount != 0

  begin

    if @strWhere !=”

    set @strSQL = "select count(*) as Total from [" + @tblName + "] where "+@strWhere

    else

    set @strSQL = "select count(*) as Total from [" + @tblName + "]"

end  

–以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况

else

begin


if @OrderType != 0

begin

    set @strTmp = "<(select min"

set @strOrder = " order by [" + @fldName +"] desc"

–如果@OrderType不是0,就执行降序,这句很重要!

end

else

begin

    set @strTmp = ">(select max"

    set @strOrder = " order by [" + @fldName +"] asc"

end


if @PageIndex = 1

begin

    if @strWhere != ”   

    set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from [" + @tblName + "] where " + @strWhere + " " + @strOrder

     else

     set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from ["+ @tblName + "] "+ @strOrder

–如果是第一页就执行以上代码,这样会加快执行速度

end

else

begin

–以下代码赋予了@strSQL以真正执行的SQL代码

set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from ["

    + @tblName + "] where [" + @fldName + "]" + @strTmp + "(["+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["+ @fldName + "] from [" + @tblName + "]" + @strOrder + ") as tblTmp)"+ @strOrder


if @strWhere != ”

    set @strSQL = "select top " + str(@PageSize) +" "+@strGetFields+ "  from ["

        + @tblName + "] where [" + @fldName + "]" + @strTmp + "(["

        + @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["

        + @fldName + "] from [" + @tblName + "] where " + @strWhere + " "

        + @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder

end 

end   

exec (@strSQL)

GO

上面的这个存储过程是一个通用的存储过程,其注释已写在其中了。

在大数据量的情况下,特别是在查询最后几页的时候,查询时间一般不会超过9秒;而用其他存储过程,在实践中就会导致超时,所以这个存储过程非常适用于大容量数据库的查询。

笔者希望能够通过对以上存储过程的解析,能给大家带来一定的启示,并给工作带来一定的效率提升,同时希望同行提出更优秀的实时数据分页算法。


四、聚集索引的重要性和如何选择聚集索引

在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:

1、分页速度一般维持在1秒和3秒之间。

2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。

虽然在超大容量情况下,这个分页的实现过程是很快的,但在分前几页时,这个1-3秒的速度比起第一种甚至没有经过优化的分页方法速度还要慢,借用户的话说就是“还没有ACCESS数据库速度快”,这个认识足以导致用户放弃使用您开发的系统。

笔者就此分析了一下,原来产生这种现象的症结是如此的简单,但又如此的重要:排序的字段不是聚集索引!

本篇文章的题目是:“查询优化及分页算法方案”。笔者只所以把“查询优化”和“分页算法”这两个联系不是很大的论题放在一起,就是因为二者都需要一个非常重要的东西――聚集索引。

在前面的讨论中我们已经提到了,聚集索引有两个最大的优势:

1、以最快的速度缩小查询范围。

2、以最快的速度进行字段排序。

第1条多用在查询优化时,而第2条多用在进行分页时的数据排序。

而聚集索引在每个表内又只能建立一个,这使得聚集索引显得更加的重要。聚集索引的挑选可以说是实现“查询优化”和“高效分页”的最关键因素。

但要既使聚集索引列既符合查询列的需要,又符合排序列的需要,这通常是一个矛盾。

笔者前面“索引”的讨论中,将fariqi,即用户发文日期作为了聚集索引的起始列,日期的精确度为“日”。这种作法的优点,前面已经提到了,在进行划时间段的快速查询中,比用ID主键列有很大的优势。

但在分页时,由于这个聚集索引列存在着重复记录,所以无法使用max或min来最为分页的参照物,进而无法实现更为高效的排序。而如果将ID主键列作为聚集索引,那么聚集索引除了用以排序之外,没有任何用处,实际上是浪费了聚集索引这个宝贵的资源。

为解决这个矛盾,笔者后来又添加了一个日期列,其默认值为getdate()。用户在写入记录时,这个列自动写入当时的时间,时间精确到毫秒。即使这样,为了避免可能性很小的重合,还要在此列上创建UNIQUE约束。将此日期列作为聚集索引列。

有了这个时间型聚集索引列之后,用户就既可以用这个列查找用户在插入数据时的某个时间段的查询,又可以作为唯一列来实现max或min,成为分页算法的参照物。

经过这样的优化,笔者发现,无论是大数据量的情况下还是小数据量的情况下,分页速度一般都是几十毫秒,甚至0毫秒。而用日期段缩小范围的查询速度比原来也没有任何迟钝。

聚集索引是如此的重要和珍贵,所以笔者总结了一下,一定要将聚集索引建立在:

1、您最频繁使用的、用以缩小查询范围的字段上;

2、您最频繁使用的、需要排序的字段上。


结束语:

本篇文章汇集了笔者近段在使用数据库方面的心得,是在做“办公自动化”系统时实践经验的积累。希望这篇文章不仅能够给大家的工作带来一定的帮助,也希望能让大家能够体会到分析问题的方法;最重要的是,希望这篇文章能够抛砖引玉,掀起大家的学习和讨论的兴趣,以共同促进,共同为公安科技强警事业和金盾工程做出自己最大的努力。

最后需要说明的是,在试验中,我发现用户在进行大数据量查询的时候,对数据库速度影响最大的不是内存大小,而是CPU。在我的P4 2.4机器上试验的时候,查看“资源管理器”,CPU经常出现持续到100%的现象,而内存用量却并没有改变或者说没有大的改变。即使在我们的HP ML 350 G3服务器上试验时,CPU峰值也能达到90%,一般持续在70%左右。

本文的试验数据都是来自我们的HP ML 350服务器。服务器配置:双Inter Xeon 超线程 CPU 2.4G,内存1G,操作系统Windows Server 2003 Enterprise Edition,数据库SQL Server 2000 SP3

2006年01月06日

Doug Tidwell , 高级程序员, IBM 大学合作部

2006 年 1 月 04 日

本文讨论将正则表达式与 Java ResourceBundle 相结合的一种数据验证技术。Java 语言对正则表达式的支持可以大大简化数据验证。您可以将数据与正则表达式进行比较,如果它们匹配,则知道数据是有效的。另一方面,Java ResourceBundle 包含翻译好的字符串,用于匹配用户机器上的当前语言和国家设置。ResourceBundle 中的字符串通常是出现在应用程序中的文本,但是也可以是特定于某个地区的任何东西。

您将实践一个示例应用程序,该应用程序从 ResourceBundles 获得正则表达式,并将它们用于数据验证(请参见 下载 小节)。通过这种方法,就可以用一块代码来验证很多不同类型的数据。更妙的是,随着更多 ResourceBundle 的添加,还可以验证更多类型的数据,并且不用更改这段代码中的任何一行。

本文的示例应用程序是在 Eclipse 中用 Visual Editor 构建的。Visual Editor 是一种用于构建图形化界面的开放源码工具。为了构建自己的应用程序,您需要在计算机上安装 Eclipse 和 Visual Editor 包(请参阅 参考资料)。这个示例应用程序只是举例说明了验证数据的一种技巧,所以这种方法可用于任何 Java 应用程序。

示例应用程序

我不想花太多的时间讨论这个示例应用程序的所有细节,我只关注其中的数据验证方面的技巧。这个应用程序验证输入到输入域中的邮政编码。您可能知道,在世界的不同地方,邮政编码千差万别。有的是数字,有的则包含字母。即使同是由数字组成的邮政编码,在不同地方其长度也不尽相同。有的国家以特定的模式排列字母和数字,而另外一些国家则采用更自由的格式。所有这些格式都可以用正则表达式来描述。例如,在美国邮政编码是一个五位数,后面还可能跟有一个破折号加一个四位数。清单 1 展示了描述这种格式的正则表达式:


清单 1. 用于美国邮政编码的正则表达式


[0-9]{5}(-[0-9]{4})?


除了格式不同外,邮政编码并不总是被称为邮政编码。例如,美国将邮政编码称为 ZIP Code。ResourceBundle 的一种常见用法就是处理这种类型的与地区有关的差异。用于美国的 ResourceBundle 可能包含短语 "Enter your ZIP Code",而在用于加拿大的 ResourceBundle 中,相应的短语可能是 "Enter your postal code"。我在本文中演示的技巧也是从 ResourceBundle 获得用于有效邮政编码的正则表达式。

为了使这个示例简单化,您将创建一个只有一个输入域和一个 Validate 按钮的 Swing 应用程序。用户在输入域中输入文本,然后单击该按钮。如果数据与当前的正则表达式匹配,则应用程序显示一条消息,表明邮政编码有效。因为应用程序使用不同的 ResourceBundle,所以正则表达式随着有效数据的规则的变化而变化。由于正则表达式是从文本文件中装载的一个字符串,所以当添加对新类型的邮政编码的支持时,不需要更改代码。

您将在 Eclipse 中使用 Eclipse Visual Editor 和 Eclipse Java Development Tool 的一些特性来构建这个应用程序。您可以在几乎所有开发环境中使用这种技巧。这里的代码应该可以在任何基于 Eclipse 的产品中运行,例如 Rational Application Developer(请参阅 参考资料)。

图 1 展示了该应用程序在 Eclipse Visual Editor 中的样子:


图 1. Eclipse Visual Editor 中的示例应用程序
Eclipse Visual Editor 中的示例应用程序

Visual Editor 提供了四种查看应用程序的方式。在屏幕的顶端是应用程序的可视化图像,源代码在底端。Eclipse 还提供了两个视图 —— Properties 视图和 Java Beans 视图 —— 可以通过这两个视图来处理应用程序。所有这些查看应用程序的方式都是由 Eclipse Modeling Framework (EMF) 控制的。由于已经有一些关于 EMF 的完整书籍,所以我不会再谈更多的细节。从程序员的角度来看,重要的一点是,任何视图中的变化都会自动发送到其他视图。例如,如果您使用 Properties 视图将一个对象的背景颜色设为绿色,那么可视化图像和源代码也会自动更新。


运行初始的示例应用程序

首先来看一个已经创建好的应用程序(参见 下载 小节)。图 2 展示了这个应用程序的运行界面:


图 2. 输入有效数据时的示例应用程序
输入有效数据时的示例应用程序

在图 2 中,用户输入了有效的数据,并单击了 Validate 按钮。如果数据无效,那么将出现图 3 所示的界面:


图 3. 输入无效数据时的示例应用程序
输入无效数据时的示例应用程序

清单 2 展示了如何使用 清单 1 中的正则表达式来验证数据:


清单 2. 使用正则表达式


Pattern pc = Pattern.compile("[0-9]{5}(-[0-9]{4})?");
Matcher m = pc.matcher(postalCode.getText());
if (m.matches())
{
  validLabel.setText("Your postal code is valid.");
  validLabel.setForeground(Color.BLUE);
}
else
{
  validLabel.setText("Your postal code is not valid.");
  validLabel.setForeground(Color.RED);
}


清单 2 中的两条反馈消息通常会被翻译成其他语言。您还将通过使用这里展示的技巧来 “翻译” 正则表达式。与一般的翻译不同,将正则表达式转换成国际化版本是数据格式专家的工作,而不是语言专家的工作。


具体化字符串

Eclipse 为代码的国际化提供了一个方便的特性。首先单击 Source > Externalize Strings…,如图 4 所示:


图 4. Externalize Strings… 主菜单
Externalize Strings... 主菜单

Eclipse 查看 Java 代码,以发现应该放入到 ResourceBundle 中的字符串。您将看到类似图 5 所示的对话框:


图 5. Externalize Strings 对话框
Externalize Strings 对话框

在图 5 中列出的所有字符串中,对话框顶部的空白字符串不需要翻译。(反馈消息的初始值是一个空白字符串。)取消对第一个字符串的选择,然后单击 NextFinish。Eclipse 创建一个新的名为 com.ibm.developerworks.Messages 的类,这个类从 messages.properties 文件获取字符串。


处理国际化代码

具体化代码之后,Eclipse 修改初始的类,将字符串移入 messages.properties 文件,并创建一个名为 Messages 的新类。Messages 类有一个名为 getString() 的静态方法,应用程序将使用该方法来获得字符串的值。

Messages 类在内部使用 ResourceBundle。清单 3 展示了生成的用于创建 ResourceBundle 的代码:


清单 3. 创建 ResourceBundle


public class Messages {
  private static final String BUNDLE_NAME =
      "com.ibm.developerworks.messages"; //$NON-NLS-1$

  private static final ResourceBundle RESOURCE_BUNDLE =
      ResourceBundle.getBundle(BUNDLE_NAME);


稍后我将更详细地谈到如何创建 ResourceBundle

所有字符串的值都在 messages.properties 文件中,如清单 4 所示:


清单 4. messages.properties 文件


LocalizedValidator.1=News Gothic
LocalizedValidator.2=Validate
LocalizedValidator.3=[0-9]{5}(-[0-9]{4})?
LocalizedValidator.4=Your postal code is valid.
LocalizedValidator.5=Your postal code is not valid.
LocalizedValidator.6=Exit
LocalizedValidator.7=Localized Data Validator
LocalizedValidator.8=Enter your postal code, then click Validate:


从技术上说,该文件是 com/ibm/developerworks/messages.properties,但是您不必关心这个细节。生成的代码可以正确无误地找到该文件。


使用 ResourceBundle 来验证数据

当使用 Eclipse Externalize Strings 功能创建 .properties 文件时,它修改了应用程序,以便同时获取正则表达式和程序中所有其他可翻译的文本,如清单 5 所示:


清单 5. 通过 ResourceBundle 使用正则表达式


Pattern pc = Pattern.compile(Messages.getString("LocalizedValidator.3"));
//$NON-NLS-1$
Matcher m = pc.matcher(postalCode.getText());
if (m.matches())
{
  validLabel.setText(Messages.getString("LocalizedValidator.4"));
//$NON-NLS-1$
  validLabel.setForeground(Color.BLUE);
}
else
{
  validLabel.setText(Messages.getString("LocalizedValidator.5"));
//$NON-NLS-1$
  validLabel.setForeground(Color.RED);
}


注意,Pattern.compile() 方法使用 Messages.getString() 方法来获得正则表达式的值。当需要验证数据时,代码首先获得字符串 LocalizedValidator.3,然后使用它来验证邮政编码。反馈消息也是从 properties 文件获得的。


如何装载 .properties 文件

至此,主应用程序已经可以使用 “翻译” 好的正则表达式了。所有字符串的值都来自 messages.properties 文件,那么,如何装载这些字符串的不同版本呢?答案取决于 ResourceBundle 是如何创建的。

无论何时运行一个 Java 程序,它都有一个特定的地区。地区由两个字母的语言代码和两个字母的国家代码来指定,这些代码是由 ISO 标准定义的。地区代码还有一个不常用的变种部分,用于更精确地指定特定的地区。下面是一些例子:

  • en_US 是 U.S. English 地区。
  • en_CA 是 Canadian English 地区。
  • fr_CA 是 French Canadian 地区。
  • en 是 English 地区。
  • en_US_UNIX 是 U.S. English 地区的 UNIX 变种。至于该变种的意义及其用法,是由应用程序的编写者定义的。

当创建一个新的 ResourceBundle 时,Java 运行时根据当前的地区查找文件。例如,如果当前地区是 en_US,那么 Java 运行时依次查找以下文件:

  1. messages_en_US.properties
  2. messages_en.properties
  3. messages.properties

ResourceBundle 收集翻译好的字符串时,在 messages_en_US.properties 中发现的任何字符串都具有比 messages_en.properties 和 messages.properties 中具有相同名称的字符串更高的优先级。如果运行时没有发现任何特定于地区的文件,那么它将使用 messages.properties 中的字符串。

记住,创建 ResourceBundle 的代码指定了文件名 messages.properties。该文件名不会随着地区的改变而改变,这意味着您的代码也不需要做出更改。您只需指定这个文件名,Java 运行时可以自动得出应该装载哪个特定于地区的文件。


特定于地区的 .properties 文件

一个特定于地区的 .properties 文件只包含不同于更通用的 .properties 文件的字符串。例如,如果 messages_en.properties 文件包含 LocalizedValidator.9=What is your favorite color? 这一行,那么 messages_en_GB.properties 文件可能包含 LocalizedValidator.9=What is your favourite colour?。如果只有这个英国化的字符串是 en_GB 地区所特有的,那么 messages_en_GB.properties 文件只需包含这个字符串。当代码向 ResourceBundle 请求任何其他字符串时,如果 messages_en.properties 中有这样的字符串,就使用其中的字符串。如果 messages_en.properties 文件中没有那样的字符串,则使用 messages.properties 中的版本。如果这一系列的 .properties 文件中都没有被请求的字符串,就会抛出 java.util.MissingResourceException 异常。

清单 6 展示了美国地区的 .properties 文件所特有的一些行:


清单 6. en_US(美国)地区特有的值


LocalizedValidator.4=Your ZIP Code is valid.
LocalizedValidator.5=Your ZIP Code is not valid.
LocalizedValidator.8=Enter your ZIP Code, then click Validate:


这里惟一的变化是使用 "ZIP Code" 代替 "postal code"。可用默认的正则表达式验证该数据。

英国的邮政编码有六种不同的格式,还有一个特殊的值 GIR 0AA,如清单 7 所示。(为了便于阅读,清单 7 中的正则表达式被分成两行,实际上只有一行。)


清单 7. en_GB(英国)地区特有的值


LocalizedValidator.3=
   [A-Z]([0-9]|[0-9]{2}|[A-Z][0-9]|[A-Z][0-9]{2}|[0-9][A-Z]
   |[A-Z][0-9][A-Z]) [0-9][A-Z]{2}|GIR 0AA
LocalizedValidator.8=Enter your postcode, then click Validate:


用于澳大利亚的正则表达式包括州或地区的简称,需要的空格(一个或两个),以及一个四位数,如清单 8 所示:


清单 8. en_AU(澳大利亚)地区特有的值


LocalizedValidator.3=(ACT|NSW|NT|QLD|SA|TAS|VIC|WA)( |  )[0-9]{4}
LocalizedValidator.8=Enter your Australian postal code, then click Validate:


加拿大的邮政编码格式是字母、数字、字母、一个空格、数字、字母、数字,如清单 9 所示:


清单 9. en_CA(加拿大)地区特有的值


LocalizedValidator.3=[A-Z][0-9][A-Z] [0-9][A-Z][0-9]
LocalizedValidator.8=Enter your Canadian postal code, then click Validate:


清单 10 展示了德国地区特有的值。德国的邮政编码是一个五位数:


清单 10. de(德国)地区特有的值


LocalizedValidator.2=Validieren
LocalizedValidator.3=[0-9]{5}
LocalizedValidator.4=Ihre Postleitzahl ist gÜltig
LocalizedValidator.5=Ihre Postleitzahl ist ungÜltig!
LocalizedValidator.6=Beenden
LocalizedValidator.7=NLS Datenvalidatung
LocalizedValidator.8=Geben Sie Ihre Postleitzahl ein



在运行时设置地区

现在您已经定义了 .properties 文件,接下来应该用两种方法中的一种来测试这些文件。第一种方法是在运行应用程序的时候设置 user.languageuser.country 这两个系统属性。在 Eclipse 环境中,可以右键单击一个类名,然后选择 Run… 菜单,如图 6 所示:


图 6. Run… 菜单
Run... 菜单

在 Run 对话框中,可以设置 Java VM 选项,以改变默认的语言和地区,如图 7 所示:


图 7. 在 Run 对话框中设置 Java VM 参数
在 Run 对话框中设置 Java VM 参数

-D 选项用于定义系统属性。您可以在命令行中使用相同的语法,例如:

java -Duser.language=en -Duser.country=AU com.ibm.developerworks.LocalizedValidator


第二种方法是在应用程序中设置地区。通过 Locale.setDefault() 方法可以在代码中设置默认的地区。清单 11 展示了如何改变 LocalizedValidator 类的 main() 方法:


清单 11. 在应用程序中设置默认的地区


public static void main(String[] args) {
  String language = "";
  String country = "";
  if (args.length > 0)
    language = args[0];
  if (args.length > 1)
    country = args[1];
  Locale.setDefault(new Locale(language, country));
  LocalizedValidator nv = new LocalizedValidator();
  nv.show();
}


如果在命令行没有指定参数,则使用用户计算机的默认地区。如果没有命令行参数,则代码 new Locale("", "") 只是创建默认的地区。

也可以在 Run 对话框中设置命令行参数,如图 8 所示:


图 8. 在 Run 对话框中设置命令行参数
在 Run 对话框中设置命令行参数

图 9 展示了指定了参数 en AU 的情况下应用程序的界面:


图 9. 用于澳大利亚地区(en_AU)的示例应用程序
用于澳大利亚地区(en_AU)的示例应用程序

用参数 de 运行示例应用程序时,将得到如图 10 所示的界面:


图 10. 用于德国地区(de)的示例应用程序
用于德国地区(de)的示例应用程序

结束语

本文展示了如何将正则表达式与 Java 语言的国际化支持相结合来验证不同类型的本地化数据。通过这种技巧,您可以支持新的数据类型,而不用更改任何代码。例如示例应用程序,如果您想添加对波兰的邮政编码的支持,那么只需创建一个 messages_pl.properties 文件。这样就在没有更改任何代码的情况下添加了对新数据类型的支持。(如果您想知道的话,那么告诉您,用于波兰的邮政编码的正则表达式是 [0-9]{2}-?[0-9]{3}。)

示例应用程序原封不动地使用 Eclipse 生成的 Messages 类。这个类能满足这个例子的要求,但是,应用程序启动时会装载 ResourceBundle,并且直到下次运行应用程序时才能重新装载 ResourceBundle。如果您想更改代码,以便动态地改变 ResourceBundle,那么需要修改 Messages 类,使它的字段和方法不是静态的。这做起来不难,但是您还需要修改和维护 Messages.java 文件。就把这个任务作为练习吧。

还应该认识到,Swing 提供了 javax.swing.JFormattedTextField 类。利用这个类可以为文本域定义一个掩码。例如,您可以使用掩码 (###) ###-####,使用户只能在文本域中输入有效的美国的电话号码。您可以使用与这里相同的技巧来从一个本地化的 ResourceBundle 中获得掩码字符串。

JFormattedTextField 类有明显的优势,因为它可以在用户输入时验证数据,为用户提供直接的反馈。但是掩码字符串不如正则表达式那么灵活。例如,您可以为美国的 ZIP Code 编写掩码 ##########-####,但是不能同时使用这两个掩码。如果一个掩码字符串足以处理一组本地化数据类型,那么从 ResourceBundle 获得掩码字符串就是本技巧的一个很好的用途。(请参阅 参考资料,以找到关于扩展 JFormattedTextField 类的行为的文章。)



下载

描述 名字 大小  下载方法
The final version of the sample application j-validating-LocalizedValidator.zip 14KB  FTP
The original (nonlocalized) version of the sample j-Validator.zip 7KB  FTP
关于下载方法的信息 获取 Adobe® Reader®