zhaoyunfullmetal
码龄14年
关注
提问 私信
  • 博客:121,389
    社区:7,076
    128,465
    总访问量
  • 42
    原创
  • 428,872
    排名
  • 30
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2010-11-05
博客简介:

等价交换

查看详细资料
个人成就
  • 获得58次点赞
  • 内容获得21次评论
  • 获得133次收藏
创作历程
  • 2篇
    2016年
  • 37篇
    2015年
  • 1篇
    2014年
  • 1篇
    2013年
  • 2篇
    2012年
成就勋章
TA的专栏
  • spring
    2篇
  • 小杂文
    2篇
  • JDK源码解析
    1篇
  • 算法
    20篇
  • 数据结构
    5篇
  • android应用
  • 赚钱
    1篇
  • 面试
    2篇
  • C++
    2篇
  • Linux
    3篇
  • CSAPP
    4篇
  • 应用密码学
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

欧拉定理与费马小定理

欧拉定理与费马小定理进来回顾了下欧拉定理,笔记整理一下。剩余数系统要讲欧拉定理,我们最好先了解下剩余数系统。完全剩余数系统(Complete residue system (CRS) modulo n: ZnZ_n )的定义是: A set of n integers such that no two are congruent modulo n. 摸n之后结果不同的全部n个值构成了完
原创
发布博客 2016.02.12 ·
2050 阅读 ·
0 点赞 ·
5 评论 ·
0 收藏

PowerPC架构下Linux系统读写PCI设备

最近需要完成一个linux系统下的PCI驱动程序,然而处理器是PowerPC架构,以为在linux用户态就可以实现,但是发现不行。上一篇文章中通过I/O端口访问了PCI设备,但是x86家族之外的的处理器都不为端口提供独立的地址空间,因此PowerPC下无法直接通过地址用in/out方法来访问PCI设备。于是我使用另外一种机制:将PCI设备的空间映射到内存中。实现思路完成PCI驱动代码,确保特定的P
原创
发布博客 2016.01.21 ·
2579 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

Linux读取PCI设备的信息

读取PCI信息最近想要在linux系统下用代码读取PCI的设备信息,查看了以下网上的代码,稍微修改就可以了,现在贴出来以备以后使用。当然想要查看PCI的其他信息也只要在此基础继续修改读取更多的PCI信息就行。#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/io.h>#define PCI_MAX_BUS 25
原创
发布博客 2015.12.17 ·
5100 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

CSAPP——实验三 内存攻击(二)

内存攻击承接上文,本文继续介绍《Hardware/Software Interface》的实验三。Level 2: FirecrackerYour task is to get bufbomb to execute the code for bang() rather than returning to test(). Before this, however, you must set globa
原创
发布博客 2015.12.09 ·
2330 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

CSAPP——实验三 内存攻击(一)

《Hardware/Software Interface》实验三 是内存攻击,通过注入多余的数据造成缓存溢出从而改变栈中的数据,进而改变进程的运行轨迹。这个实验能帮助我们加深理解函数间调用的过程以及栈空间的使用,是非常棒的一个实验。实验环境: Ubuntu 64位 操作系统内存攻击实验分为4个level ,每个level的处理过程差不多,难度整体是在上升。为了更好地理解整个实验,我们先看一下相关的
原创
发布博客 2015.12.09 ·
1810 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

CSAPP——实验二 拆炸弹

《Hardware/Software Interface》实验二 是拆炸弹,也是实验里面比较有意思的一个实验,实验能帮助我们加深理解函数的调用过程,提升用GDB调试代码的能力,话不多说,把实验内容附上。附实验环境: 64位Linux操作系统拆炸弹实验总共有六个阶段,难度也是在逐步加大,每个阶段都要求你输入一些信息,只有提供恰当合适的正确信息,才会拆炸弹成功进入下一个阶段,那么如何获得正确的信息,就
原创
发布博客 2015.12.06 ·
15124 阅读 ·
16 点赞 ·
1 评论 ·
78 收藏

CSAPP——实验一 位运算

最近学习了Coursera上面的《Hardware/Software Interface》 。该课源自于华盛顿大学计算机专业,华盛顿大学将该课搬到了Coursera,现在已经是公开课性质的,视频完全可以自由下载。课程链接如下:Coursera–Hardware/Software Interface这门课的大部分内容是对应于书《深入理解计算机系统》,该书的英文名称是《Computer Systems:
原创
发布博客 2015.12.05 ·
7093 阅读 ·
1 点赞 ·
0 评论 ·
11 收藏

Linux下模拟验证NAT功能

Linux下模拟验证NAT功能NAT(网络地址转换)功能能够方便内网与外网(通常是Internet)连接,既减少了有效IP的使用量又保护了内网主机的信息。Linux下的NAT功能嵌入在Linux最新一代防火墙Netfilter中,并提供给用户操作接口Iptables,相关知识可以查看网上资料。最近我通过两台安装了Linux的电脑搭建环境,验证了NAT功能的正确性。(我也是有够无聊的….
原创
发布博客 2015.12.03 ·
1922 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

编程珠玑——取样总结

取样问题问题描述:程序的输入包含两个整数m和n,其中m小于n。输出是0~n-1范围内的m个随机整数,要求:每个数选择出现的概率相等,且按序输出。问题中最重要的要求是概率相同。假设m=2,n=5,那么每个数都应该以2/5的概率被选中,直观的会想到用这样的代码实现:if((rand()%5)<2)然而这样做是不对的,编程珠玑12章对这个问题进行了详细的介绍。本文于是总结了编程珠玑中等概率取样问题的几种解
原创
发布博客 2015.11.09 ·
946 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

编程珠玑——快速排序总结

快速排序快速排序是二十世纪最伟大的10大算法之一。如何写好一个快速排序通常不是一件容易的事,同时面试中或者实际应用中也经常要用到快速排序。编程珠玑第11章专门介绍了快速排序,涉及到了基本的算法思想实现和一些优化,这里进行简单的总结以便以后快速的回忆。基本思想快速排序用到了分治,它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此
原创
发布博客 2015.11.07 ·
1830 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

分治算法求子数组的最大和

求最大子数组和也是一个非常经典的题目。此题目在leetcode,《编程之美》,《算法导论》,《编程珠玑》中都提到了,这是一个能显著体现出算法设计重要性的题目。通过不断地优化算法设计,该题目能够不断以更好更快的时间被解决。先看一下题目描述: 题目描述: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时
原创
发布博客 2015.11.03 ·
1285 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

二分查找

二分查找二分查找是一种用于有序数列的折半查找算法。二分查找优点是比较次数少,查找速度快,平均性能好;时间复杂度为O(lgN)。因此二分查找也成为了面试中的常问问题。但是要写出一个完全正确的二分查找并不容易,下面我们先来看个错误的二分查找。(以下大部分是对编程珠玑章节的总结)错误的二分查找int binarySearch(vector<int> x,int t){ int mid,l=0;
原创
发布博客 2015.10.28 ·
3032 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

牛顿迭代法实现平方根函数

牛顿迭代法实现平方根函数平方根函数Sqrt() 用来求一个数的平方根,如何实现这个函数?有多种方法,这里记录一种比较常用的牛顿迭代法。牛顿迭代法 牛顿迭代法(Newton·s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而
原创
发布博客 2015.10.20 ·
3604 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

C++的重写和隐藏

C++的重写是指派生类重新定义基类的虚函数;隐藏通常是指的子类隐藏父类的方法,面试中遇到了类似两者结合的问题,特此整理下缕缕思路。背景父类如下:class Tfather{public: Tfather(void); virtual ~Tfather(void); virtual void virFunc(int a,float b);};Tfather::Tfathe
原创
发布博客 2015.10.18 ·
2140 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线段树

线段树本文总结自己学习线段树的一些知识点。我最初是通过区间最值查询问题学习到线段树,查询一个区间的最值可以使用RMQ离线算法,该离线算法需要O(nlgn)的预处理时间和O(1)的查询时间。但是一个区间的某个值修改后,又需要重新计算,对于区间的值频繁的修改的情况,RMQ离线算法并不合适。线段树确是可以针对区间的值频繁的修改的情况作出应对。线段树是用O(lgn)的时间处理修改,用O(lgn)的
原创
发布博客 2015.10.17 ·
1021 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

找工作总结(一)

实习面试经历从今天年初就开始着手复习CS相关的知识,希望今年校招能找到一个不错的工作,所以在3月4月的时候就开始找实习,面试了几家公司之后,最终因为自己的准备不充分,知识相对匮乏还是没能找到心仪的实习公司,现特此整理一下过去的实习面试经历,为以后自己的道路提供经验借鉴。腾讯腾讯的实习笔试规模很大,考查的知识面还挺广的,然而笔试就挂掉了(依稀记得有个题目是问JavaScript的闭包
原创
发布博客 2015.10.17 ·
1186 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Leetcode题目整理

Leetcode题目整理最近一直在整理之前刷的leetcode的题目,考虑了好久用什么整理,最终选择了gitBook…(当然支持中文不太好),整理的网上链接在这里: Leetcode题目题目是按照leetcode上的分类来分类的,题型相似的题目会尽量放在一起,每个题目尽量整理多个方法。其中的很多方法都是抄子leetcode讨论区(这些方法代码写的好一些),但是作为自己的面试复习材料我就偷懒了(自己
原创
发布博客 2015.10.14 ·
2301 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

C++中的虚函数

本文虽是起了个想要把C++中虚函数彻底透彻介绍的标题,但实际上只是本人记录虚函数一些要点的文章。最近读了《Effective C++》,里面有几个关于虚函数的条款,以前对于虚函数不太了解,看了条款之后发现需要记录下来加深自己的印象。多态基类的析构函数要为虚函数这一点也正是多态的体现,假设有两个类Father,Son:class Father{string name;
原创
发布博客 2015.09.17 ·
758 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Cache——缓存数据结构实现

Cache——缓存缓存是临时存放数据的区域,缓存的运行速度比内存快得多,设计好一个缓存结构能够帮助我们更快地运行程序。 进来在阿里面试的时候也遇到设计一个缓存的问题,同时leetcode和Hihocoder上都出现了设计缓存的问题,因此特此整理出来以便后续回忆。设计思路本文将最为常见的缓存的设计思路,学习操作系统的时候,我们直到一个内存置换的算法:LRU(Least Recently Used)。
原创
发布博客 2015.09.16 ·
6665 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

清华秘籍: android开发者也能发大财—广告收益分析

android开发者也能发大财—广告收益分析最近小学弟问我: ”学长,你们编android应用程序的是不是都是diao丝?” 看着学弟的天真问话, 我竟无言以对, 只好露出一丝微笑。 学弟又说:“iOS编程都是高富帅,我要学iOS,学长你快教iOS编程!!!”。 作为学长一定要告诉学弟,无论是iOS还是android编程都是可以赚大钱的,所以我对小学弟说:“我必须得教你android,然后等你
原创
发布博客 2015.09.10 ·
4314 阅读 ·
1 点赞 ·
2 评论 ·
6 收藏
加载更多