广州一模

学期开始时我向政教处主任申请外宿,经过谈话后,他批准我先按照原来的方式(半宿,中午在宿舍休息)进行,并且定下了我在广州一模的目标,如果我5科总分上不了600分,就以后必须返校住宿。

    本以为广州一模的难度不会很大(以前高二时候参加过一次,考得560左右,排到当时高三中的30几名),按照自己之前的水平,稍微努力就能够越过这个分数。可是,或许是我太粗心了,我又无意犯了之前一样的错。我在数学上再次失足。

语文:107 (原目标:105 上次考试:94)

数学:104 (原目标:125 上次考试:134)

英语:129

物理:113 (原目标:125 上次考试:128)

理科基础:144

总分:597

    当数学科成绩出来时,我就完全绝望了。当最后一科的成绩——物理出来时,我悲哀了大半天。要是物理那题不会粗心把“区域一”写成“区域二”,又能挽回4分,不就达标了吗?

    虽然对这次整体成绩很不满意,但是我还是对自己语文的进步感到很开心。之前好几次我语文都上不了100分,经过一段时间努力之后,做题明显有感觉了,而且突然发现做语文现代文简直是一种享受!o(∩_∩)o…哈哈!

    旧同桌仁兄居然科科上110,以总分605考得物理科的最高分。其实,从他平时的考试我就看出他进步得超快!我现在的成绩还是距离高考理想的分数远呢。我要报南京大学,至少需要620以上分数。

画皮

最近几乎每天都至少看上一篇聊斋,一般是睡觉前看。原本我以为睡觉前看文言文是很枯燥无聊的,能够帮助入睡,但想不到聊斋的故事却那么有趣,特别是《粉蝶》《画皮》《画壁》。文言简洁却内容充实丰富,很适合慢慢琢磨。我看了《画皮》之后,发觉怎么和电影看的那个有那么大不同?好像剧情都改得面目全非了。不信看看原文和电影版,对比一下:

继续阅读

在多线程环境下使用局部数组引起的假“内存泄漏”

呼~~~~一直担忧的问题被一个在班上不怎么聪明的我总算解决了……

    昨晚那位网友说了他朋友的一句话,“要彻底搞清楚C语言的原理,必须要深入到指令一层去理解。你写一行C代码,编译器会生成什么样的指令,要做到心中有数。”我当时还是觉得写好程序不一定要把语言的原理研究得那么深啊。看来我错了,正是因为我对我所用的工具的原理没有深刻把握,才会在很多线程的情况下使用大栈空间的,最终导致了好长时间都不能解决的内存占用问题。

    一直担忧的内存泄漏问题,今天晚上心血来潮就计划立即解决掉它,反正过年也是闲着。我本来直觉上认为内存泄漏现象是和我博客插件里使用了以前做得不怎么规范的CPrettyText数据库才发生的。但今晚的实验证明和它没有关系,它也不存在什么内存泄漏的地方。由此也证明我在编写服务器时用的memory内存泄漏检测工具失效的判断是不成立的。问题根源是在多线程的栈空间分配上。

    这是我多年多线程编程以来都没有了解到的问题。

    首先,为了加快服务器的响应速度,我的homeserver并不是采用一般的双线程监听,而是很多个(例如300)来同时工作的,这么多个线程抢着响应,保证了较快的速度。这些线程从开始工作一直到服务器被重启或者关闭时才结束,也就是说在服务器运行过程中不会去主动释放线程资源。

    然后,我在博客插件里使用了几个几百KB大的局部数组变量,由栈空间分配。有的是直接嵌套在函数內,有的是直接嵌套在if之类的结构体中。之所以使用栈空间的原因是不想使用堆空间去分配,在插件中不能用memory内存泄漏检测工具的分配函数。

    当多个线程被调用,同时进入了博客插件中去时,就分配了一定的栈空间,而这些空间又是不能及时回收的,除非结束服务器或者使用其他内存整理工具。所以就导致了虚拟内存一直增大的现象。

    我一开始也不知道是栈空间上的问题。只是今晚用注释法寻找漏洞时,发现就和它相关了。而且,我还尝试使用一个很大的局部变量,例如int t[KB(1000)];这样不断刷新页面,让多个线程进入到博客插件中,结果发现内存占用飞一般地增大!

    同时,我也得到这样一个推论。原来的homeserver的虚拟内存会随着多个线程进入而使栈空间增大从而导致内存占用增大,而这种增大不会一直持续下去。因为工作的线程数目是有限的,当所有的线程都被使用过时,它们的栈空间都达到了各自的极限,就再也不会增大了。

    不知道我的分析是否正确,请大家指点!

MyQQ3.0(2009-1-25)发布

MyQQ3.0下载

该版本协议学习与分析见:

2009ProtAnalyze.zip

MyQQ3.0插件的的WebQQ: webqq.xwsm.net

MyQQ is a cross-platform library for communication which uses a TencentQQ-like

protocol to communicate with friends on the Internet. It can work well now and

maintained by Huang Guan ([email protected]).

If you are interested in MyQQ and have improved it, I suggest you that you send

your source code to me then everyone will know your work and thank you!

注意:本软件以及源代码仅供学习研究使用。所用协议皆属个人业余的黑匣分析结果。

Developer List:

小虾

千月(改进myqq.c界面)

Windows编译:

需要Mingw32(Devcpp的bin也可以)。

打开控制台,在当前目录下执行

make -C src clean all

Linux编译:

在终端里执行

make -C src -flinux.mak clean all

继续阅读

寒假六天计划

和之前两次放假一样,学校总是喜欢到将要放假的那一天宣布坏消息。这次本来公开宣布,在家庭报告书也写好,高三全体学生将要放12天假的消息,却又给实验班的学生制定了额外补课计划,从而将12天假期缩短为6天。使得本来可以到冰天雪地的加拿大去冲个热水凉的计划都报废了(瞎想的)。

    既然六天,就六天也没所谓了。我们在学校看着别人过年好了,大伙儿都没表示多大反对的态度,因为到高三了,做这种事情的人少了。一是从高一开始叛逆到今收不到任何效果,所以也不抱希望;二是少玩几天多上几天课也对自己没有多大不好。

    我回到家里,按照放假前定下的计划,第一二天拿下QQ2009协议,发布MyQQ2009。第三四天过节,第五六天才在自由放松的同时做试卷的。不知道我这样给自己高考复习的时间安排得是否得当。我发觉自己每次考试都几乎会犯同样一个错误,就是……考砸一科。我说的考砸了不是考不到平常的分数,而是比平常的分数要低将近一半。同学们都说我会潜水,但我知道是自己状态不好。所以,我想方设法把文化课的成绩稳定下来。寒假补课期间的外宿申请也是我的计划之一。

    以前觉得两个月的假期也一转眼过去,现在六天的假期转眼已过了一天。谋事在人,成事在天,希望寒假的计划会按期进行。

我的人生目标?!

昨天下午,一位暨南大学的副校长莅临一中进行一个“大学与人生”的专题讲座。一开始,我有点鄙视他,理由很简单,一中的副校长给我的印象差极了。未等他的讲座开始几分钟,我发现我错了,我竟被他精彩的言词诱惑住了,完全进入他营造的活跃氛围之中。他的讲座可以和王国权,陈安之的相媲美了。当他问道我们高三学生有哪位有明确的人生目标时,我毫不犹豫地把手举得很高。

    我很早就有了一个明确的人生目标,但是随着时间的推移,也在不断地完善。我的人生目标,也可以算是我的梦想。我梦想以后自己不仅是一名发明家,又是一名企业家。我的创造计划分两步进行,第一步是研制一种帮助人们工作的远程机器人,这种机器人能被广泛地使用,并且像计算机一样进入将来的寻常百姓家。人们在上班的时候可以通过使用远程机器人来看家或者照看小孩。身在另一半地球,仍然可以通过卫星使用远程机器人来和地球另一半的人交往。第二步是研制一种具有初步人工智能的机器人,虽然没有人那样的感情与智慧,但是能帮人干活,例如帮你拿东西,帮你脱衣服、洗衣服,帮你购物、开店,甚至帮你打官司,做保镖等。

    总的来说,我的人生目标本质就是给人类服务,给人们的生活带来便利和精彩。虽然这个目标还很遥远,但是我时刻准备着。我写过操作系统,写过网络程序,研究了神经网络算法,也算是给以后的道路做铺垫!给我加油吧,大家!