自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枯荣

世界无限大

  • 博客(340)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 inline assembly

GCC-Inline-Assembly-HOWTOInline Assembly with DJGPPLinasm - Linux Assembly

2024-02-01 10:27:28 117

转载 gcc __builtin_expect特性

__builtin_expect 说明 - 简书

2022-02-21 16:12:25 181

转载 bloom filter

深入浅出BloomFilter原理 - 知乎

2022-01-12 19:35:17 164

原创 技术是生产力,组织决定生产关系

《大型网站技术架构演进与性能优化》中的一句话,深以为然,组织关系或者说生产关系,需要适应生产力的发展。

2022-01-05 01:04:42 780

原创 C++何时使用引用,何时使用指针?

如果你有一个变量,其目的是用来指向另一个对象,但是也有可能不指向任何对象,那么你应该使用pointer,因为你可以将pointer设为nullptr。如果这个对象必须代表一个对象,也就是说你的设计不允许这个对象为null,那么你应该使用reference....

2021-09-13 23:32:39 291

原创 C++ const与指针的修饰顺序

如果关键字const出现在*左边,表示被指物是常量;如果出现在*右边,表示指针本身是常量;如果出现在*两边,表示被指物和指针都是常量。char greeting[] = "Hello"char *p = greeting; // non-const pointer, non-const dataconst char* p = greeting; // non-const pointer, const datach...

2021-08-06 00:56:42 266

原创 优雅地合并冲突

git push时发现有冲突,保持原commit的完整性,使用优雅的命令:git pull --rebasegit pull --rebase #衍合服务器最新代码git status #查看有哪些冲突的文件vi 冲突文件 #打开文件后搜索<<<<<<<与>>>>>>>之间的内容,就是冲突的地方,修改冲突行,保存退出。git add 冲突文件 #添加修改后的文件到缓存区git rebase --continue

2021-07-20 16:29:32 96

原创 由std::common_type知道的?:运算符的不为人知的规则

std::common_type的原理大概是true? A : B, 而true是个常量,为啥A : B的类型是common type呢?这里参见:https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2012/e4213hs1(v=vs.110)?redirectedfrom=MSDNRemarksThe conditional operator (? :) is a ternary oper

2021-07-19 17:58:50 301 1

原创 MySQL将数据按周聚合(自定义周的起始日)

$week_start = 0   // 0- 6: 周日-周六SELECT: if ($week_start == 0) { $_date_show_ = "CONCAT_WS('~', subdate(Fdate,date_format(Fdate,'%w')-$week_start), subdate(Fdate,date_format(Fdate,'%w')-$week_end

2017-12-07 13:18:24 4313 1

原创 时间序列线段树

可以以O(log2(n))的时间复杂度处理任何日期序列的区间点修改和统计问题,例如维护区间和、区间内最大最小值平均数、区间内最大公因数、区间内的逆序数个数。以下为一个维护时间序列RMQ(区间最小值)的例子<?php/** * Description: 时间序列线段树 * */define("INFINITE", pow(2, 64));class TSSegTree {

2017-01-23 11:12:52 1109

原创 Freedom and discipline

自由与自律 所谓自由,不是随心所欲,而是自我主宰。 --康德词典中对自由的定义是:在法律规定的范围内,随自己意志活动的权利。康德的道德哲学理论中,人作为理性存在物,其意志应当是自由的,自由是人的一种天赋权利,是每个人由于他的人性而具有的独一无二的、原生的、与生俱来的权利。一个人只有作为纯粹意志存在物而不是作为一个自然的存在物,他才是自我决定的,才能“为自己立法”,才能在立法时不服从异己意志。简

2016-09-08 12:05:58 1269

原创 利用gcc对C语言的语句内嵌表达式扩展定义lambda宏

/* * 不支持g++和clang * */#include #include #include // 定义lambda宏#define lambda(return_type, function_body)\({\ return_type $this function_body\ $this;\})#define $ lambda#

2015-11-30 10:18:58 2430 1

原创 在22岁的某个夜里怀念高中的某一天

下午写代码的时候脑子一片混沌,沉闷的气氛感觉分外烦躁,手上没解决的问题也多的让人心烦。旁边的同事打开了窗子,外面的热风吹着隔壁工地的灰尘进来。这感觉突然就像高中的某个下午,一边幻想着别的事情一边糊涂地做完一份试卷交掉然后坐在自己的课桌上,在草稿纸上涂涂画画。值日的同学已经开始打扫除,灰尘弥漫在整个教室里.我还是赖在座位上,幻想着哪天高考完了,可以认真学一遍VC++,去一个软件公司当程序员,可以开发

2015-08-31 08:27:36 1180 4

原创 在闵大荒的某个晚上

封陪的第三天。“电子运动会”狂欢后的晚上,快结束时一个人走回房间。还是不想看书,于是默默到阳台上抽一根烟。风吹得好凉快,原来传说中很热的上海的夏天也不过如此。远处好像有好多星星,仔细看了一下证明还是我想多了,只是盘旋在空中等待降落虹桥机场的飞机而已。孤独感好像又来了。所以我还是去看会书吧。

2015-08-05 22:29:38 1080

原创 x64cpu与IA32cpu中通用寄存器的差异

整理一下IA32处理器和x86-64处理器中通用寄存器的差异。    IA32既支持32位处理器,也向后兼容16位寄存器。IA32把16位的通用寄存器,标志寄存器和指令指针寄存器扩充为32位。段寄存器仍为16位。IA32 CPU中包含一组8个32位通用寄存器,用来存储整数数据和指针。它们的名字以%e开头,可以理解为对16位的extend。    这8个寄存器分别为eax, ebx,

2015-07-29 00:55:37 4916 1

原创 无题

命不能争,运可以造,弱者认命,强者抗命,能者求命,智者造命

2015-07-11 13:06:09 560

原创 使用位运算判断两个int值是否相等

int judge(int x, int y) { return !(x ^ y);}如果x和y相等,则各位都相等,异或值为0,取反即可

2015-07-03 23:40:18 8251

原创 使用异或交换指针的值

#include #include void inplace_swap(int *x, int *y) { *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y;}int main() { int x = 12; int y = 23; inplace_swap(&x, &y); printf

2015-07-03 00:45:31 1600

原创 醉笑陪公三万场,不用诉离觞

楼高日尽 望断天涯路 来时陌上初熏 有情风万里卷潮来 推枕惘然不见 分携如昨到处萍漂泊 浩然相对今夕何年 谁道人生无再少 依旧梦魂中 但有旧欢新怨 人生底事往来如梭 醉笑陪君三万场 不诉离伤 禅心已失人间爱 又何曾梦觉 这些个千生万生只在 踏尽红尘何处是吾乡

2015-07-01 11:19:03 1141

原创 也不知道怎么说

前天的时候在建湖和yw约会,又一次向她表白了,可是还是失败了。其实自己心里很清楚她不喜欢我,可是还是控制不住自己。其实我想明白了。她现在没有男朋友,那么我还是她的合法追求者。如果她哪天有了男朋友,那我绝不再去打扰她,并且永远祝福她。真的好喜欢,我愿意为她努力改变自己变得更好。我们都是在追求美好的爱情,谁也没有错。就算最后输了那又怎么样。所以我还会努力争取,同时要让自己变成一个更好的人。至于

2015-07-01 00:05:25 571

原创 答辩结束了

一直想做一个交易所撮合交易系统,苦于没有时间和机会。终于到了大学最后一学期的毕业设计,我果断选了朱斐一个水题,然后申请换题改成了自己想做的撮合引擎。毕业设计的题目就叫《通用金融证券撮合交易引擎的设计与实现》,总共历时3个多月,写了一万多行代码及论文相关文献。刚开题的时候我在织网下载了不少和撮合交易系统相关的论文,基本上系统地看了一遍,大体上了解了撮合交易系统的架构。3月的时候开始动工写代码,技

2015-06-05 01:08:17 1879 7

原创 终于懂得孤独是躲不开的单行道

6,7年前,当我还是个中学生的时候,每当晚上做完作业,看不进书时,都喜欢打开收音机,听着里面主播精选的情歌,或伤感或欢快。主持人和嘉宾讲述自己的生活、故事、还有情感困扰,我静静聆听,就好像看着另一头的世界。多彩、丰富、新鲜,充满了跌宕起伏,还有爱恨离别。而我总是这样听着,那时候除非放假回老家,不然都用不了电脑,也上不了网。我也会跟着幻想,等我高考结束,上了大学,生活将会怎么样? 没有老师和父母

2015-04-06 22:14:05 922

原创 这阵子的快乐和不顺

过年回来快一个月了, 因为组织架构的调整暂时没有什么事情可以做.不出意外的话我和yabo还有donxu将留守videoad的灯塔,原来的老板和经验足一点的同事组建新的中心. 突然就没人罩了,不过又有了新的机会.房租涨到了2200,感觉有点负担,就换到了隔壁1600的小房间. 一下子从大房间换到小房间确实有点落差, 整个空间都压抑了好多. 不过到底每月能省些钱买股票或者想买的东西了.毕设做的

2015-03-19 21:17:33 634

原创 适配器模式

将一个类的接口转成客户所希望的另外一个接口.使得由于接口不兼容而不能一起工作的类可以一起工作.在系统的数据和行为都正确, 但接口不符时, 应当考虑使用适配器, 主要应用于希望复用一些现存的类.Client ----> Target Adapteeclass Target { public void Request() { System.out.

2015-03-07 02:05:22 595

原创 观察者模式

又称发布-订阅模式, 定义了一个一对多的依赖关系, 让多个观察者对象同时监听某一个主题对象. 这个主题对象在自己的状态发生变化时, 会通知所有的观察者对象,让它们能主动更新自己.解偶的实现: 定义一个抽象主题接口,把所有观察着对象的引用保存在一个序列中, 每个抽象主题都可以有若干个观察者对象的引用. 抽象主题提供一个主题,可以在具体主题中实现观察着的增加和删除定义一个抽象观察者接口,

2015-03-07 01:33:15 617

原创 模板方法模式

模板方法模式,定义一个操作中算法的骨架,把一些步骤延迟到子类当中.模板方法可以使子类不改变一个算法的结构即可重新定义算法某些特定步骤.使用继承将重复的代码放在父类中,将特定的代码延迟到子类中. AbstractClass实现模板方法,定义算法的骨架公共内容, 在ConcreteClass中实现具体的相关算法import java.util.*;abstract class

2015-03-07 00:04:52 550

原创 外观模式

外观模式,为子系统中的一组接口提供一个更一致的界面,定义一个高层接口,这个接口使子系统更加易用. 使用外观类组合子系统的方法调用.用于将系统业务中不同层次的业务分离,便于维护import java.util.*;class SubSystem1 { public void method1() { System.out.println(" SubSystem1 m

2015-03-06 01:19:51 559

原创 抽象工厂模式

抽象工厂模式其实是一种最一般的工厂模式形态,简单工厂模式和工厂方法模式都可以看成抽象工厂模式的特殊实现.抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类import java.util.*;interface Ifunc1 { public void work1_1(); public void work1_2();}interfac

2015-03-06 01:07:01 590

原创 工厂方法模式

在普通的简单工厂方法中,简单工厂在创建对象时进行了必要的逻辑判断,选择实例化相关的类,但是这个操作违背了开闭原则,每次添加一种新的类型都需要修改工厂类. 所以可以使用工厂方法模式将实例化这个行为延迟到其子类,定义一个用于创建对象的接口,让接口的子类来决定实例化哪一个类. 如果添加新的类型,只需要添加新的类型的工厂就可以了.IFactory  -- 工厂接口一个具体的Operatio

2015-03-05 01:49:57 486

原创 策略模式

由策略抽象类或接口定义出一系列具体算法, 分别封装起来, 让各种算法策略之间可以相互替换, 让算法的变化不会影响到算法的客户. 使用上下文对象维护对算法对象的引用import java.util.*;interface Strategy { public void Algorithm();}class ConcreteStrategyA implements Strategy

2015-03-05 01:22:52 463

原创 简单工厂模式

把对象的实例化工作延迟到工厂类中进行import java.util.*;abstract class Operation { public abstract void Operate(); }class Operation1 extends Operation { public void Operate() { System.out.p

2015-03-05 00:41:46 533

原创 记于2015年大年初四

三十和年初一都是在家过的, 爷爷还有我和爸妈. 就是很平常的吃吃饭, 没有说太多的话. 跟以往两年差不多, 感觉年味已经递减到一个边界了. 很平常或者稍许热闹的环境, 还是那种寂寞无所事事的感觉.祝福短信啥的数量也一年比一年少, 毕竟熟人都一直在微信里, 自己的号码也随着曾经朋友同学们换手机换号不断被丢失了. 岁月年轮不停转动, 与以前那些同窗岁月里挚友们渐行渐远, 大家都各奔前途去了, 可怕

2015-02-22 17:00:19 1025

原创 Java方法调用绑定

将一个方法调用同一个方法主题关联起来称作绑定.若在程序执行前进行绑定叫做前期绑定,C语言只有一种绑定方式就是前期绑定.后期绑定就是根据运行时对象的类型进行绑定.后期绑定也称为动态绑定或者运行时绑定. 如果某语言实现后期绑定(C++,java),必须具有某种机制,以便在运行时能进行对象识别,从而调用恰当的方法. 也就是说,编译器一直不知道对象的类型,但是方法调用机制能找到正确的方法体,并加以

2015-02-17 00:00:22 1006

原创 Java类变量的初始化

按照变量定义的先后顺序初始化,没有手动初始化的赋予默认值. 变量在任何方法被调用之前初始化(包括构造器)

2015-02-15 00:26:28 525

原创 Java中的两种GC方式

取决于JVM的实现:1.停止-复制stop and copy暂停程序运行,把所有存活对象从当前堆复制到另一个堆,复制到新堆时保持紧凑排列,没有复制的全是垃圾. 效率较低2.标记-清扫mark and sweep从堆栈和静态存储区出发,遍历所有引用,找出存活对象,全部标记完后,对没有标记的堆中的对象进行释放,不发生复制动作.

2015-02-14 23:49:23 2064

原创 回家前的周六晚上

一个人独自看着论文.在想要不要再换个房子,附近梅陇小区同样的价钱可以租一个45平的一室户了.  独自在上海的这半年经历了很多事情,终于春节要回家了.没什么可以详述的,都是些生活点滴.对未来还是一样迷茫.而我已经23岁了.  再过了这半年就要毕业了,预毕业快乐

2015-02-07 18:02:25 591

原创 接口的意义

接口确定了某一特定对象所能发出的请求. 实现接口就是定义满足请求的代码.每一个可能的请求都有一个方法与之关联

2015-01-31 16:00:32 626

原创 smalltalk五个特性

1.万物皆为对象2.程序是对象的集合,通过发送消息来告知彼此要做的事情(消息是某个特定对象对特定方法的调用)3.每个对象都有自己的由其他对象构成的存储(对象的组合,通过组合创造新对象)4.每个对象都拥有其类型(每个对象是对应类型的实例instance)5.某一特定类型的所有对象可以接收同样的消息(多态性)对象具有状态\行为和标识

2015-01-31 15:29:31 1704 1

原创 java语言的设计目标

专注于克服开发和维护程序的复杂性, 所以java捆绑着设计模式

2015-01-31 14:32:58 785

原创 第一个mapreduce程序WordCount

提交于http://cloudcomputing.ruc.edu.cn/Chinese/problempage.jsp?id=1000package cn.edu.ruc.cloudcomputing.book.chapter05;import java.io.IOException;import java.util.StringTokenizer;import org.apache

2015-01-14 17:00:20 1175

进程的内存使用情况 苏州大学操作系统作业 孙俊彦大神

苏州大学操作系统作业(李培峰)4 进程的内存使用情况 编制一个程序列出系统中每个进程的内存使用情况。。。。。。MFC编写。by孙俊彦大神。特此分享,以攒人品,欢迎下载付分!

2014-06-09

MFC进程内存使用情况察看器

MFC编写的系统进程内存使用情况察看器。类似于任务管理器,可以列举出系统内的所有进程,并且列出每个进程的内存使用状况,包括进程名,ID,PageFaultCount,PeakWorkingSetSize......并且双击可以读取每个进程的前16字节数据。如果你是想交操作系统作业,你懂的,孙俊彦大神很饿

2014-06-09

苏州大学人机交互实验 T9键盘模拟器程序

苏州大学人机交互实验,实现一个T9键盘模拟器程序,由苏州大学孙俊彦大神完成,实验采用MFC技术,精品!

2014-04-21

苏州大学操作系统实验进程调度 孙俊彦

苏州大学操作系统实验作业,进程调度程序,使用MFC编写,数据文件附在项目中,实现了RR算法,SJF算法,优先级调度算法。由孙俊彦完成,欢迎下载付分!

2014-04-14

苏州大学操作系统实验-进程间通信-孙俊彦大神

苏州大学操作系统课程实验 进程间通信 通过进程p1创建进程p2,并从p1向p2发送消息,同时p1将数据写入内存共享区,然后p2接收到消息后到内存共享区读取数据,读取完成后向p1发送确认消息,p1收到确认消息后显示

2014-04-03

苏州大学人机交互实验-三角形绘制与面积计算-孙俊彦大神作品-MFC

苏州大学2011级人机交互作业,使用窗口界面计算三角形的面积和绘制出三角形,由孙俊彦大神使用MFC写成。

2014-03-24

状态压缩动态规划

详细介绍状态压缩类型的动态规划算法。状态压缩方法在动态规划中的使用

2013-08-16

RSA算法的基本加密原理

RSA素数算法详细讲解,RSA加密原理与实现。

2013-08-16

线段树及其应用

ACM竞赛中线段树的原理及应用。如何处理区间问题,区间快速求和求RMQ。将朴素O(n)的复杂度编程O(logn)

2013-08-16

CEvent使用教程

MFC事件对象CEvent全描述,适用于进程和线程处理。MFC必学

2012-11-24

C++ STL标准描述

STL所有模版类的用法全描述,表格形式查询,适合使用STL开发的程序员查阅

2012-11-24

ACM程序设计培训标准教程

ACM程序设计教程,详细易入门。搜索,动态规划,加上50道例题解析。

2012-11-24

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

TA关注的人

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